Skip to content

Commit

Permalink
Merge pull request #312 from ilmich/autorotate-toggle
Browse files Browse the repository at this point in the history
Implemented autorotation toggle
  • Loading branch information
Neamar committed Nov 15, 2015
2 parents 6a69340 + 5ceb670 commit 8a5a9f4
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 2 deletions.
2 changes: 2 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
<!-- To read/write master sync status -->
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<!-- To autorotation toggle -->
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

<uses-feature
android:name="android.hardware.telephony"
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/java/fr/neamar/kiss/loader/LoadTogglePojos.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ protected ArrayList<TogglePojo> 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;
}
Expand Down
17 changes: 15 additions & 2 deletions app/src/main/java/fr/neamar/kiss/toggles/TogglesHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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
Expand All @@ -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();
}

/**
Expand All @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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 );
}
}
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
<string name="toggle_data">Network data</string>
<string name="toggle_torch">Torch</string>
<string name="toggle_sync">Synchronization</string>
<string name="toggle_autorotate">Autorotate</string>
<string name="menu_wallpaper">Update wallpaper</string>
<string name="application_not_found">Whoops… unable to launch that app.</string>
<string name="history_erased">History erased.</string>
Expand Down

0 comments on commit 8a5a9f4

Please sign in to comment.