Pull evaluateGBDeviceCommand() and handle* methods up
Otherwise, MiSupport can't use 'em
This commit is contained in:
parent
4518e8819d
commit
8a26ce9d67
|
@ -69,93 +69,22 @@ public abstract class AbstractBTDeviceSupport extends AbstractDeviceSupport {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void handleGBDeviceCommand(GBDeviceCommandMusicControl musicCmd) {
|
|
||||||
Context context = getContext();
|
|
||||||
LOG.info("Got command for MUSIC_CONTROL");
|
|
||||||
Intent musicIntent = new Intent(GBMusicControlReceiver.ACTION_MUSICCONTROL);
|
|
||||||
musicIntent.putExtra("command", musicCmd.command.ordinal());
|
|
||||||
musicIntent.setPackage(context.getPackageName());
|
|
||||||
context.sendBroadcast(musicIntent);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void handleGBDeviceCommand(GBDeviceCommandCallControl callCmd) {
|
|
||||||
Context context = getContext();
|
|
||||||
LOG.info("Got command for CALL_CONTROL");
|
|
||||||
Intent callIntent = new Intent(GBCallControlReceiver.ACTION_CALLCONTROL);
|
|
||||||
callIntent.putExtra("command", callCmd.command.ordinal());
|
|
||||||
callIntent.setPackage(context.getPackageName());
|
|
||||||
context.sendBroadcast(callIntent);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void handleGBDeviceCommand(GBDeviceCommandVersionInfo infoCmd) {
|
|
||||||
Context context = getContext();
|
|
||||||
LOG.info("Got command for VERSION_INFO");
|
|
||||||
if (gbDevice == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
gbDevice.setFirmwareVersion(infoCmd.fwVersion);
|
|
||||||
gbDevice.setHardwareVersion(infoCmd.hwVersion);
|
|
||||||
gbDevice.sendDeviceUpdateIntent(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void handleGBDeviceCommand(GBDeviceCommandAppInfo appInfoCmd) {
|
|
||||||
Context context = getContext();
|
|
||||||
LOG.info("Got command for APP_INFO");
|
|
||||||
|
|
||||||
Intent appInfoIntent = new Intent(AppManagerActivity.ACTION_REFRESH_APPLIST);
|
|
||||||
int appCount = appInfoCmd.apps.length;
|
|
||||||
appInfoIntent.putExtra("app_count", appCount);
|
|
||||||
for (Integer i = 0; i < appCount; i++) {
|
|
||||||
appInfoIntent.putExtra("app_name" + i.toString(), appInfoCmd.apps[i].getName());
|
|
||||||
appInfoIntent.putExtra("app_creator" + i.toString(), appInfoCmd.apps[i].getCreator());
|
|
||||||
appInfoIntent.putExtra("app_uuid" + i.toString(), appInfoCmd.apps[i].getUUID().toString());
|
|
||||||
appInfoIntent.putExtra("app_type" + i.toString(), appInfoCmd.apps[i].getType().ordinal());
|
|
||||||
}
|
|
||||||
LocalBroadcastManager.getInstance(context).sendBroadcast(appInfoIntent);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void handleGBDeviceCommand(GBDeviceCommandSleepMonitorResult sleepMonitorResult) {
|
|
||||||
Context context = getContext();
|
|
||||||
LOG.info("Got command for SLEEP_MONIOR_RES");
|
|
||||||
Intent sleepMontiorIntent = new Intent(SleepMonitorActivity.ACTION_REFRESH);
|
|
||||||
sleepMontiorIntent.putExtra("smartalarm_from", sleepMonitorResult.smartalarm_from);
|
|
||||||
sleepMontiorIntent.putExtra("smartalarm_to", sleepMonitorResult.smartalarm_to);
|
|
||||||
sleepMontiorIntent.putExtra("recording_base_timestamp", sleepMonitorResult.recording_base_timestamp);
|
|
||||||
sleepMontiorIntent.putExtra("alarm_gone_off", sleepMonitorResult.alarm_gone_off);
|
|
||||||
sleepMontiorIntent.putExtra("points", sleepMonitorResult.points);
|
|
||||||
|
|
||||||
LocalBroadcastManager.getInstance(context).sendBroadcast(sleepMontiorIntent);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void handleGBDeviceCommand(GBDeviceCommandSendBytes sendBytes) {
|
public void handleGBDeviceCommand(GBDeviceCommandSendBytes sendBytes) {
|
||||||
sendToDevice(sendBytes.encodedBytes);
|
sendToDevice(sendBytes.encodedBytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void evaluateGBDeviceCommand(GBDeviceCommand deviceCmd) {
|
public void evaluateGBDeviceCommand(GBDeviceCommand deviceCmd) {
|
||||||
|
|
||||||
switch (deviceCmd.commandClass) {
|
switch (deviceCmd.commandClass) {
|
||||||
case MUSIC_CONTROL:
|
|
||||||
handleGBDeviceCommand((GBDeviceCommandMusicControl) deviceCmd);
|
|
||||||
break;
|
|
||||||
case CALL_CONTROL:
|
|
||||||
handleGBDeviceCommand((GBDeviceCommandCallControl) deviceCmd);
|
|
||||||
break;
|
|
||||||
case VERSION_INFO:
|
|
||||||
handleGBDeviceCommand((GBDeviceCommandVersionInfo) deviceCmd);
|
|
||||||
break;
|
|
||||||
case APP_INFO:
|
|
||||||
handleGBDeviceCommand((GBDeviceCommandAppInfo) deviceCmd);
|
|
||||||
break;
|
|
||||||
case SLEEP_MONITOR_RES:
|
|
||||||
handleGBDeviceCommand((GBDeviceCommandSleepMonitorResult) deviceCmd);
|
|
||||||
break;
|
|
||||||
case SEND_BYTES:
|
case SEND_BYTES:
|
||||||
handleGBDeviceCommand((GBDeviceCommandSendBytes) deviceCmd);
|
handleGBDeviceCommand((GBDeviceCommandSendBytes) deviceCmd);
|
||||||
break;
|
return;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
super.evaluateGBDeviceCommand(deviceCmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -2,11 +2,26 @@ package nodomain.freeyourgadget.gadgetbridge;
|
||||||
|
|
||||||
import android.bluetooth.BluetoothAdapter;
|
import android.bluetooth.BluetoothAdapter;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceCommand;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceCommandAppInfo;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceCommandCallControl;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceCommandMusicControl;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceCommandSendBytes;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceCommandSleepMonitorResult;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceCommandVersionInfo;
|
||||||
|
|
||||||
// TODO: support option for a single reminder notification when notifications could not be delivered?
|
// TODO: support option for a single reminder notification when notifications could not be delivered?
|
||||||
// conditions: app was running and received notifications, but device was not connected.
|
// conditions: app was running and received notifications, but device was not connected.
|
||||||
// maybe need to check for "unread notifications" on device for that.
|
// maybe need to check for "unread notifications" on device for that.
|
||||||
public abstract class AbstractDeviceSupport implements DeviceSupport {
|
public abstract class AbstractDeviceSupport implements DeviceSupport {
|
||||||
|
private static final Logger LOG = LoggerFactory.getLogger(AbstractDeviceSupport.class);
|
||||||
|
|
||||||
protected GBDevice gbDevice;
|
protected GBDevice gbDevice;
|
||||||
private BluetoothAdapter btAdapter;
|
private BluetoothAdapter btAdapter;
|
||||||
private Context context;
|
private Context context;
|
||||||
|
@ -40,4 +55,85 @@ public abstract class AbstractDeviceSupport implements DeviceSupport {
|
||||||
public Context getContext() {
|
public Context getContext() {
|
||||||
return context;
|
return context;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void evaluateGBDeviceCommand(GBDeviceCommand deviceCmd) {
|
||||||
|
|
||||||
|
switch (deviceCmd.commandClass) {
|
||||||
|
case MUSIC_CONTROL:
|
||||||
|
handleGBDeviceCommand((GBDeviceCommandMusicControl) deviceCmd);
|
||||||
|
break;
|
||||||
|
case CALL_CONTROL:
|
||||||
|
handleGBDeviceCommand((GBDeviceCommandCallControl) deviceCmd);
|
||||||
|
break;
|
||||||
|
case VERSION_INFO:
|
||||||
|
handleGBDeviceCommand((GBDeviceCommandVersionInfo) deviceCmd);
|
||||||
|
break;
|
||||||
|
case APP_INFO:
|
||||||
|
handleGBDeviceCommand((GBDeviceCommandAppInfo) deviceCmd);
|
||||||
|
break;
|
||||||
|
case SLEEP_MONITOR_RES:
|
||||||
|
handleGBDeviceCommand((GBDeviceCommandSleepMonitorResult) deviceCmd);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void handleGBDeviceCommand(GBDeviceCommandMusicControl musicCmd) {
|
||||||
|
Context context = getContext();
|
||||||
|
LOG.info("Got command for MUSIC_CONTROL");
|
||||||
|
Intent musicIntent = new Intent(GBMusicControlReceiver.ACTION_MUSICCONTROL);
|
||||||
|
musicIntent.putExtra("command", musicCmd.command.ordinal());
|
||||||
|
musicIntent.setPackage(context.getPackageName());
|
||||||
|
context.sendBroadcast(musicIntent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void handleGBDeviceCommand(GBDeviceCommandCallControl callCmd) {
|
||||||
|
Context context = getContext();
|
||||||
|
LOG.info("Got command for CALL_CONTROL");
|
||||||
|
Intent callIntent = new Intent(GBCallControlReceiver.ACTION_CALLCONTROL);
|
||||||
|
callIntent.putExtra("command", callCmd.command.ordinal());
|
||||||
|
callIntent.setPackage(context.getPackageName());
|
||||||
|
context.sendBroadcast(callIntent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void handleGBDeviceCommand(GBDeviceCommandVersionInfo infoCmd) {
|
||||||
|
Context context = getContext();
|
||||||
|
LOG.info("Got command for VERSION_INFO");
|
||||||
|
if (gbDevice == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
gbDevice.setFirmwareVersion(infoCmd.fwVersion);
|
||||||
|
gbDevice.setHardwareVersion(infoCmd.hwVersion);
|
||||||
|
gbDevice.sendDeviceUpdateIntent(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void handleGBDeviceCommand(GBDeviceCommandAppInfo appInfoCmd) {
|
||||||
|
Context context = getContext();
|
||||||
|
LOG.info("Got command for APP_INFO");
|
||||||
|
|
||||||
|
Intent appInfoIntent = new Intent(AppManagerActivity.ACTION_REFRESH_APPLIST);
|
||||||
|
int appCount = appInfoCmd.apps.length;
|
||||||
|
appInfoIntent.putExtra("app_count", appCount);
|
||||||
|
for (Integer i = 0; i < appCount; i++) {
|
||||||
|
appInfoIntent.putExtra("app_name" + i.toString(), appInfoCmd.apps[i].getName());
|
||||||
|
appInfoIntent.putExtra("app_creator" + i.toString(), appInfoCmd.apps[i].getCreator());
|
||||||
|
appInfoIntent.putExtra("app_uuid" + i.toString(), appInfoCmd.apps[i].getUUID().toString());
|
||||||
|
appInfoIntent.putExtra("app_type" + i.toString(), appInfoCmd.apps[i].getType().ordinal());
|
||||||
|
}
|
||||||
|
LocalBroadcastManager.getInstance(context).sendBroadcast(appInfoIntent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void handleGBDeviceCommand(GBDeviceCommandSleepMonitorResult sleepMonitorResult) {
|
||||||
|
Context context = getContext();
|
||||||
|
LOG.info("Got command for SLEEP_MONIOR_RES");
|
||||||
|
Intent sleepMontiorIntent = new Intent(SleepMonitorActivity.ACTION_REFRESH);
|
||||||
|
sleepMontiorIntent.putExtra("smartalarm_from", sleepMonitorResult.smartalarm_from);
|
||||||
|
sleepMontiorIntent.putExtra("smartalarm_to", sleepMonitorResult.smartalarm_to);
|
||||||
|
sleepMontiorIntent.putExtra("recording_base_timestamp", sleepMonitorResult.recording_base_timestamp);
|
||||||
|
sleepMontiorIntent.putExtra("alarm_gone_off", sleepMonitorResult.alarm_gone_off);
|
||||||
|
sleepMontiorIntent.putExtra("points", sleepMonitorResult.points);
|
||||||
|
|
||||||
|
LocalBroadcastManager.getInstance(context).sendBroadcast(sleepMontiorIntent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue