diff --git a/app/src/main/java/com/jens/automation2/Action.java b/app/src/main/java/com/jens/automation2/Action.java index 73515b9..2a9fe2b 100644 --- a/app/src/main/java/com/jens/automation2/Action.java +++ b/app/src/main/java/com/jens/automation2/Action.java @@ -524,7 +524,7 @@ public class Action triggerUrl(context); break; case setBluetooth: - Actions.setBluetooth(context, getParameter1(), toggleActionIfPossible); + boolean result = Actions.setBluetooth(context, getParameter1(), toggleActionIfPossible); break; case setUsbTethering: Actions.setUsbTethering(context, getParameter1(), toggleActionIfPossible); diff --git a/app/src/main/java/com/jens/automation2/Actions.java b/app/src/main/java/com/jens/automation2/Actions.java index 1b438f7..96e053f 100644 --- a/app/src/main/java/com/jens/automation2/Actions.java +++ b/app/src/main/java/com/jens/automation2/Actions.java @@ -825,7 +825,7 @@ public class Actions public static Boolean setBluetooth(Context context, Boolean desiredState, boolean toggleActionIfPossible) { Miscellaneous.logEvent("i", "Bluetooth", "Changing bluetooth to " + String.valueOf(desiredState), 4); - +// mPhone.setDataEnabled(enable); try { BluetoothAdapter myBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); @@ -841,16 +841,16 @@ public class Actions if (!myBluetoothAdapter.isEnabled() && desiredState) { Toast.makeText(context, context.getResources().getString(R.string.activating) + " Bluetooth.", Toast.LENGTH_LONG).show(); - myBluetoothAdapter.enable(); - return true; + return myBluetoothAdapter.enable(); + //return true; } // deactivate if (myBluetoothAdapter.isEnabled() && !desiredState) { Toast.makeText(context, context.getResources().getString(R.string.deactivating) + " Bluetooth.", Toast.LENGTH_LONG).show(); - myBluetoothAdapter.disable(); - return true; + return myBluetoothAdapter.disable(); + //return true; } } catch (NullPointerException e) diff --git a/app/src/main/java/com/jens/automation2/ActivityMainTabLayout.java b/app/src/main/java/com/jens/automation2/ActivityMainTabLayout.java index 2d290b4..9c6a880 100644 --- a/app/src/main/java/com/jens/automation2/ActivityMainTabLayout.java +++ b/app/src/main/java/com/jens/automation2/ActivityMainTabLayout.java @@ -68,7 +68,7 @@ public class ActivityMainTabLayout extends TabActivity super.onResume(); Miscellaneous.setDisplayLanguage(this); // Miscellaneous.logEvent("i", "NFC", "ActivityMainTabLayout.onResume().", 5); - if(!(getIntent().getAction().isEmpty()) && getIntent().getAction().equals(NfcAdapter.ACTION_NDEF_DISCOVERED)) + if(!(getIntent().getAction() == null || getIntent().getAction().isEmpty()) && getIntent().getAction().equals(NfcAdapter.ACTION_NDEF_DISCOVERED)) { NfcReceiver.checkIntentForNFC(this, getIntent()); moveTaskToBack(true); diff --git a/app/src/main/java/com/jens/automation2/ActivityPermissions.java b/app/src/main/java/com/jens/automation2/ActivityPermissions.java index 5ddaffc..4a9b266 100644 --- a/app/src/main/java/com/jens/automation2/ActivityPermissions.java +++ b/app/src/main/java/com/jens/automation2/ActivityPermissions.java @@ -677,6 +677,8 @@ public class ActivityPermissions extends Activity addToArrayListUnique(Manifest.permission.BLUETOOTH, requiredPermissions); addToArrayListUnique(Manifest.permission.ACCESS_NETWORK_STATE, requiredPermissions); addToArrayListUnique(Manifest.permission.WRITE_SETTINGS, requiredPermissions); + if(Build.VERSION.SDK_INT >= 31) + addToArrayListUnique(Manifest.permission.BLUETOOTH_CONNECT, requiredPermissions); break; case setDataConnection: addToArrayListUnique(Manifest.permission.WRITE_SETTINGS, requiredPermissions); diff --git a/app/src/main/java/com/jens/automation2/Miscellaneous.java b/app/src/main/java/com/jens/automation2/Miscellaneous.java index 6e22f31..bcb34aa 100644 --- a/app/src/main/java/com/jens/automation2/Miscellaneous.java +++ b/app/src/main/java/com/jens/automation2/Miscellaneous.java @@ -1414,7 +1414,8 @@ public class Miscellaneous extends Service builder.setOnlyAlertOnce(true); - if(Settings.showIconWhenServiceIsRunning && notificationChannelId.equals(AutomationService.NOTIFICATION_CHANNEL_ID_SERVICE)) + //if(Settings.showIconWhenServiceIsRunning && notificationChannelId.equals(AutomationService.NOTIFICATION_CHANNEL_ID_SERVICE)) + if(notificationChannelId.equals(AutomationService.NOTIFICATION_CHANNEL_ID_SERVICE)) { if(BuildConfig.FLAVOR.equals(AutomationService.flavor_name_googleplay)) builder.setSmallIcon(R.drawable.crane); diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 5f1d165..5ac4c58 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -685,7 +685,7 @@ ontgrendeld Selecteer de gewenste status Schermstatus - Vanwege de oneindige wijsheid van Google is de laatste Android-versie waarvan bekend is dat deze functie werkt% 1 $ s. U kunt het configureren, maar het zal waarschijnlijk geen effect hebben. + Vanwege de oneindige wijsheid van Google is de laatste Android-versie waarvan bekend is dat deze functie werkt %1$s. U kunt het configureren, maar het zal waarschijnlijk geen effect hebben. Het afspelen van media regelen Opdracht Selecteren schakelaar afspelen/pauzeren diff --git a/fastlane/metadata/android/en-US/changelogs/149.txt b/fastlane/metadata/android/en-US/changelogs/149.txt new file mode 100644 index 0000000..bbdc228 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/149.txt @@ -0,0 +1,4 @@ +* Fixed: Crash when opening the application through the running service's notification +* Fixed: Crash when starting service and show service icon was deactivated in app settings +* Fixed: "Bluetooth connect" permission was not requested for turning Bluetooth on or off. +* Fixed: Another app started/stopped couldn't be added when UI language was Dutch. \ No newline at end of file