diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bf6b829f2..f2e64c0f3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -28,6 +28,8 @@
+
+
doInBackground(Void... params) {
//toggle for synchronization
toggles.add(createPojo(context.getString(R.string.toggle_sync), "sync", android.R.drawable.ic_popup_sync));
+
+ //toggle for autorotation
+ toggles.add(createPojo(context.getString(R.string.toggle_autorotate), "autorotate", android.R.drawable.ic_menu_always_landscape_portrait));
return toggles;
}
diff --git a/app/src/main/java/fr/neamar/kiss/toggles/TogglesHandler.java b/app/src/main/java/fr/neamar/kiss/toggles/TogglesHandler.java
index 8617db12c..8910f0a1b 100644
--- a/app/src/main/java/fr/neamar/kiss/toggles/TogglesHandler.java
+++ b/app/src/main/java/fr/neamar/kiss/toggles/TogglesHandler.java
@@ -6,11 +6,10 @@
import android.media.AudioManager;
import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
+import android.provider.Settings;
import android.util.Log;
-
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-
import fr.neamar.kiss.KissApplication;
import fr.neamar.kiss.pojo.TogglePojo;
@@ -19,6 +18,7 @@ public class TogglesHandler {
private final WifiManager wifiManager;
private final BluetoothAdapter bluetoothAdapter;
private final AudioManager audioManager;
+ private final ContentResolver contentResolver;
/**
* Initialize managers
@@ -31,6 +31,7 @@ public TogglesHandler(Context context) {
this.wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
this.bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
this.audioManager = ((AudioManager) context.getSystemService(Context.AUDIO_SERVICE));
+ this.contentResolver = context.getContentResolver();
}
/**
@@ -54,6 +55,8 @@ public Boolean getState(TogglePojo pojo) {
return getTorchState();
case "sync":
return getSyncState();
+ case "autorotate":
+ return getAutorotationState();
default:
Log.e("wtf", "Unsupported toggle for reading: " + pojo.settingName);
return false;
@@ -85,6 +88,8 @@ public void setState(TogglePojo pojo, Boolean state) {
break;
case "sync":
setSyncState(state);
+ case "autorotate":
+ setAutorotationState(state);
default:
Log.e("wtf", "Unsupported toggle for update: " + pojo.settingName);
break;
@@ -171,4 +176,12 @@ private Boolean getSyncState() {
private void setSyncState(Boolean state) {
ContentResolver.setMasterSyncAutomatically(state);
}
+
+ private Boolean getAutorotationState() {
+ return android.provider.Settings.System.getInt(this.contentResolver,Settings.System.ACCELEROMETER_ROTATION, 0) == 1;
+ }
+
+ private void setAutorotationState(Boolean state) {
+ android.provider.Settings.System.putInt(this.contentResolver,Settings.System.ACCELEROMETER_ROTATION, (state) ? 1 : 0 );
+ }
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c24bbd36e..0d949918a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -90,6 +90,7 @@
Network data
Torch
Synchronization
+ Autorotate
Update wallpaper
Whoops… unable to launch that app.
History erased.