diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleIoThread.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleIoThread.java index 9e7cd8543..f8628ba4f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleIoThread.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleIoThread.java @@ -61,6 +61,8 @@ public class PebbleIoThread extends GBDeviceIoThread { private final PebbleProtocol mPebbleProtocol; private final PebbleSupport mPebbleSupport; + private final boolean mEnablePebblekit; + private boolean mIsTCP = false; private BluetoothAdapter mBtAdapter = null; private BluetoothSocket mBtSocket = null; @@ -152,6 +154,7 @@ public class PebbleIoThread extends GBDeviceIoThread { mPebbleProtocol = (PebbleProtocol) gbDeviceProtocol; mBtAdapter = btAdapter; mPebbleSupport = pebbleSupport; + mEnablePebblekit = sharedPrefs.getBoolean("pebble_enable_pebblekit", false); } @@ -346,7 +349,7 @@ public class PebbleIoThread extends GBDeviceIoThread { LOG.info(e.getMessage()); gbDevice.setState(GBDevice.State.CONNECTING); gbDevice.sendDeviceUpdateIntent(getContext()); - + mIsConnected = false; int reconnectAttempts = Integer.valueOf(sharedPrefs.getString("pebble_reconnect_attempts", "10")); while (reconnectAttempts-- > 0 && !mQuit) { LOG.info("Trying to reconnect (attempts left " + reconnectAttempts + ")"); @@ -377,9 +380,8 @@ public class PebbleIoThread extends GBDeviceIoThread { } private void enablePebbleKitReceiver(boolean enable) { - boolean force_untested = sharedPrefs.getBoolean("pebble_force_untested", false); - if (enable && force_untested) { + if (enable && mEnablePebblekit) { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(PEBBLEKIT_ACTION_APP_ACK); intentFilter.addAction(PEBBLEKIT_ACTION_APP_NACK); @@ -507,7 +509,7 @@ public class PebbleIoThread extends GBDeviceIoThread { setInstallSlot(appInfoEvent.freeSlot); return false; } else if (deviceEvent instanceof GBDeviceEventAppMessage) { - if (sharedPrefs.getBoolean("pebble_force_untested", false)) { + if (mEnablePebblekit) { LOG.info("Got AppMessage event"); sendAppMessageIntent((GBDeviceEventAppMessage) deviceEvent); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9fe36c74f..1d9e575b0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -33,7 +33,7 @@ General Settings Connect to device when Bluetooth turned on - Preferred audio player + Preferred Audioplayer Default Date and Time Sync time @@ -59,6 +59,8 @@ Mi Band address Pebble Settings + Allow 3rd Party Android App Access + Enable experimental support for Android Apps using PebbleKit Force Notification Protocol This option forces using the latest notification protocol depending on the firmware version. ENABLE ONLY IF YOU KNOW WHAT YOU ARE DOING! Enable untested features diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 4f10aaf0c..65b1cdcde 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -9,7 +9,7 @@ android:title="@string/pref_title_general_autoconnectonbluetooth" /> + + + + @@ -84,12 +99,6 @@ android:key="pebble_force_untested" android:summary="@string/pref_summary_pebble_forceuntested" android:title="@string/pref_title_pebble_forceuntested" /> -