diff --git a/app/src/main/java/com/jens/automation2/Action.java b/app/src/main/java/com/jens/automation2/Action.java
index 215a085..57a92ef 100644
--- a/app/src/main/java/com/jens/automation2/Action.java
+++ b/app/src/main/java/com/jens/automation2/Action.java
@@ -24,6 +24,7 @@ public class Action
setBluetooth,
setUsbTethering,
setWifiTethering,
+ setBluetoothTethering,
setDisplayRotation,
turnWifiOn,turnWifiOff,
turnBluetoothOn,turnBluetoothOff,
@@ -31,7 +32,7 @@ public class Action
changeSoundProfile,
turnUsbTetheringOn,turnUsbTetheringOff,
turnWifiTetheringOn,turnWifiTetheringOff,
- enableScreenRotation, disableScreenRotation,
+ enableScreenRotation,disableScreenRotation,
startOtherActivity,
waitBeforeNextAction,
wakeupDevice,
@@ -54,6 +55,8 @@ public class Action
return context.getResources().getString(R.string.actionSetBluetooth);
case setWifiTethering:
return context.getResources().getString(R.string.actionSetWifiTethering);
+ case setBluetoothTethering:
+ return context.getResources().getString(R.string.actionSetBluetoothTethering);
case setUsbTethering:
return context.getResources().getString(R.string.actionSetUsbTethering);
case setDisplayRotation:
@@ -178,6 +181,13 @@ public class Action
else
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.actionTurnWifiTetheringOff));
}
+ else if(this.getAction().equals(Action_Enum.setBluetoothTethering))
+ {
+ if(this.getParameter1())
+ returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.actionTurnBluetoothTetheringOn));
+ else
+ returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.actionTurnBluetoothTetheringOff));
+ }
else if(this.getAction().equals(Action_Enum.setDisplayRotation))
{
if(this.getParameter1())
@@ -382,6 +392,9 @@ public class Action
case setWifiTethering:
Actions.setWifiTethering(context, getParameter1(), toggleActionIfPossible);
break;
+ case setBluetoothTethering:
+ Actions.BluetoothTetheringClass.setBluetoothTethering(context, getParameter1(), toggleActionIfPossible);
+ break;
case setDisplayRotation:
Actions.setDisplayRotation(context, getParameter1(), toggleActionIfPossible);
break;
diff --git a/app/src/main/java/com/jens/automation2/Actions.java b/app/src/main/java/com/jens/automation2/Actions.java
index f25a1f6..09150bb 100644
--- a/app/src/main/java/com/jens/automation2/Actions.java
+++ b/app/src/main/java/com/jens/automation2/Actions.java
@@ -321,16 +321,16 @@ public class Actions
{
Miscellaneous.logEvent("i", "Bluetooth Tethering", "Changing Bluetooth Tethering to " + String.valueOf(desiredState), 4);
- boolean state = Actions.isWifiApEnabled(context);
+// boolean state = isTetheringOn(context);
- if (toggleActionIfPossible)
- {
- Miscellaneous.logEvent("i", "Bluetooth Tethering", context.getResources().getString(R.string.toggling), 2);
- desiredState = !state;
- }
+// if (toggleActionIfPossible)
+// {
+// Miscellaneous.logEvent("i", "Bluetooth Tethering", context.getResources().getString(R.string.toggling), 2);
+// desiredState = !state;
+// }
- if (((state && !desiredState) || (!state && desiredState)))
- {
+// if (((state && !desiredState) || (!state && desiredState)))
+// {
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Class> classBluetoothPan = null;
Constructor> BTPanCtor = null;
@@ -372,7 +372,7 @@ public class Actions
}
}
}
- }
+// }
return true;
}
diff --git a/app/src/main/java/com/jens/automation2/ActivityManageRule.java b/app/src/main/java/com/jens/automation2/ActivityManageRule.java
index c69d9e8..0f6d0d8 100644
--- a/app/src/main/java/com/jens/automation2/ActivityManageRule.java
+++ b/app/src/main/java/com/jens/automation2/ActivityManageRule.java
@@ -1361,6 +1361,8 @@ public class ActivityManageRule extends Activity
items.add(new Item(typesLong[i].toString(), R.drawable.router));
else if(types[i].toString().equals(Action_Enum.setWifiTethering.toString()))
items.add(new Item(typesLong[i].toString(), R.drawable.router));
+ else if(types[i].toString().equals(Action_Enum.setBluetoothTethering.toString()))
+ items.add(new Item(typesLong[i].toString(), R.drawable.router));
else if(types[i].toString().equals(Action_Enum.setDisplayRotation.toString()))
items.add(new Item(typesLong[i].toString(), R.drawable.displayrotation));
else if(types[i].toString().equals(Action_Enum.waitBeforeNextAction.toString()))
@@ -1461,6 +1463,11 @@ public class ActivityManageRule extends Activity
newAction.setAction(Action_Enum.setWifiTethering);
getActionParameter1Dialog(ActivityManageRule.this).show();
}
+ else if(Action.getActionTypesAsArray()[which].toString().equals(Action_Enum.setBluetoothTethering.toString()))
+ {
+ newAction.setAction(Action_Enum.setBluetoothTethering);
+ getActionParameter1Dialog(ActivityManageRule.this).show();
+ }
else if(Action.getActionTypesAsArray()[which].toString().equals(Action_Enum.setDisplayRotation.toString()))
{
newAction.setAction(Action_Enum.setDisplayRotation);
diff --git a/app/src/main/java/com/jens/automation2/ActivityPermissions.java b/app/src/main/java/com/jens/automation2/ActivityPermissions.java
index 76738cb..90a529f 100644
--- a/app/src/main/java/com/jens/automation2/ActivityPermissions.java
+++ b/app/src/main/java/com/jens/automation2/ActivityPermissions.java
@@ -531,6 +531,12 @@ public class ActivityPermissions extends Activity
// https://stackoverflow.com/questions/32185628/connectivitymanager-requestnetwork-in-android-6-0
// addToArrayListUnique(Manifest.permission.CHANGE_NETWORK_STATE, requiredPermissions);
break;
+ case setBluetoothTethering:
+ //addToArrayListUnique(Manifest.permission.CHANGE_NETWORK_STATE, requiredPermissions);
+ addToArrayListUnique(Manifest.permission.BLUETOOTH, requiredPermissions);
+ addToArrayListUnique(Manifest.permission.BLUETOOTH_ADMIN, requiredPermissions);
+ addToArrayListUnique(Manifest.permission.WRITE_SETTINGS, requiredPermissions);
+ break;
case setWifi:
addToArrayListUnique(Manifest.permission.WRITE_SETTINGS, requiredPermissions);
// https://stackoverflow.com/questions/32185628/connectivitymanager-requestnetwork-in-android-6-0
diff --git a/app/src/main/java/com/jens/automation2/XmlFileInterface.java b/app/src/main/java/com/jens/automation2/XmlFileInterface.java
index 5c46930..b015e30 100644
--- a/app/src/main/java/com/jens/automation2/XmlFileInterface.java
+++ b/app/src/main/java/com/jens/automation2/XmlFileInterface.java
@@ -830,7 +830,6 @@ public class XmlFileInterface
return (triggerCollection);
}
-
private static Trigger readTrigger(XmlPullParser parser) throws IOException, XmlPullParserException
{
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6d9f0d3..e412a85 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -158,6 +158,7 @@
Bluetooth
USB Tethering
Wifi Tethering
+ Bluetooth Tethering
Display rotation
turn Wifi on
turn Wifi off
@@ -169,6 +170,8 @@
turn USB Tethering off
turn Wifi Tethering on
turn Wifi Tethering off
+ turn Bluetooth Tethering on
+ turn Bluetooth Tethering off
turn airplane mode on
turn airplane mode off
enable screen rotation