Fossil Hybrid HR: Allow switching already uploaded watchfaces with Intent

This commit is contained in:
Arjan Schrijver
2022-07-20 12:16:55 +02:00
parent 65a7ceab82
commit 5871a70d1f

View File

@@ -98,6 +98,7 @@ public class QHybridSupport extends QHybridBaseSupport {
public static final String QHYBRID_COMMAND_SET_BACKGROUND_IMAGE = "nodomain.freeyourgadget.gadgetbridge.Q_SET_BACKGROUND_IMAGE"; public static final String QHYBRID_COMMAND_SET_BACKGROUND_IMAGE = "nodomain.freeyourgadget.gadgetbridge.Q_SET_BACKGROUND_IMAGE";
public static final String QHYBRID_COMMAND_UNINSTALL_APP = "nodomain.freeyourgadget.gadgetbridge.Q_UNINSTALL_APP"; public static final String QHYBRID_COMMAND_UNINSTALL_APP = "nodomain.freeyourgadget.gadgetbridge.Q_UNINSTALL_APP";
public static final String QHYBRID_COMMAND_PUSH_CONFIG = "nodomain.freeyourgadget.gadgetbridge.Q_PUSH_CONFIG"; public static final String QHYBRID_COMMAND_PUSH_CONFIG = "nodomain.freeyourgadget.gadgetbridge.Q_PUSH_CONFIG";
public static final String QHYBRID_COMMAND_SWITCH_WATCHFACE = "nodomain.freeyourgadget.gadgetbridge.Q_SWITCH_WATCHFACE";
public static final String QHYBRID_COMMAND_DOWNLOAD_FILE = "nodomain.freeyourgadget.gadgetbridge.Q_DOWNLOAD_FILE"; public static final String QHYBRID_COMMAND_DOWNLOAD_FILE = "nodomain.freeyourgadget.gadgetbridge.Q_DOWNLOAD_FILE";
public static final String QHYBRID_COMMAND_UPLOAD_FILE = "nodomain.freeyourgadget.gadgetbridge.Q_UPLOAD_FILE"; public static final String QHYBRID_COMMAND_UPLOAD_FILE = "nodomain.freeyourgadget.gadgetbridge.Q_UPLOAD_FILE";
@@ -306,6 +307,7 @@ public class QHybridSupport extends QHybridBaseSupport {
globalFilter.addAction(QHYBRID_COMMAND_SET_WIDGET_CONTENT); globalFilter.addAction(QHYBRID_COMMAND_SET_WIDGET_CONTENT);
globalFilter.addAction(QHYBRID_COMMAND_UPLOAD_FILE); globalFilter.addAction(QHYBRID_COMMAND_UPLOAD_FILE);
globalFilter.addAction(QHYBRID_COMMAND_PUSH_CONFIG); globalFilter.addAction(QHYBRID_COMMAND_PUSH_CONFIG);
globalFilter.addAction(QHYBRID_COMMAND_SWITCH_WATCHFACE);
globalCommandReceiver = new BroadcastReceiver() { globalCommandReceiver = new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
@@ -377,6 +379,10 @@ public class QHybridSupport extends QHybridBaseSupport {
handleConfigSetIntent(intent); handleConfigSetIntent(intent);
break; break;
} }
case QHYBRID_COMMAND_SWITCH_WATCHFACE:{
handleSwitchWatchfaceIntent(intent);
break;
}
} }
} }
}; };
@@ -388,6 +394,13 @@ public class QHybridSupport extends QHybridBaseSupport {
watchAdapter.pushConfigJson(configJson); watchAdapter.pushConfigJson(configJson);
} }
private void handleSwitchWatchfaceIntent(Intent intent) {
String watchfaceName = intent.getExtras().getString("WATCHFACE_NAME", "");
if (watchfaceName != "") {
((FossilHRWatchAdapter) watchAdapter).activateWatchface(watchfaceName);
}
}
private boolean dangerousIntentsAllowed(){ private boolean dangerousIntentsAllowed(){
return GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getBoolean(DeviceSettingsPreferenceConst.PREF_HYBRID_HR_DANGEROUS_EXTERNAL_INTENTS, true); return GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getBoolean(DeviceSettingsPreferenceConst.PREF_HYBRID_HR_DANGEROUS_EXTERNAL_INTENTS, true);
} }