summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/Utilities.java
diff options
context:
space:
mode:
authorRahul Chaturvedi <rkc@google.com>2015-05-19 18:02:16 -0700
committerRahul Chaturvedi <rkc@google.com>2015-06-01 16:50:50 -0400
commit7fc77cad3d06bd3647e550f7419e89116471240a (patch)
treee68308cd9e09774335e3339534e885edd0db124c /src/com/android/launcher3/Utilities.java
parentcadc29c7e55cc14526878e511a85ae6c9c7e23c7 (diff)
downloadandroid_packages_apps_Trebuchet-7fc77cad3d06bd3647e550f7419e89116471240a.tar.gz
android_packages_apps_Trebuchet-7fc77cad3d06bd3647e550f7419e89116471240a.tar.bz2
android_packages_apps_Trebuchet-7fc77cad3d06bd3647e550f7419e89116471240a.zip
Add the Allow Rotation setting to Launcher3.
This CL adds a Settings activity along with the code needed to provide a "Allow Rotation" setting to all phones and tablets. This setting is set to false for phones and true for tablets. On changing the setting from unlocked to locked, the launcher (and the Settings activity) will get locked to the orientation the user was in when he disabled "Allow Rotation". This is consistent with how the natural rotation feature of Android works. Change-Id: I8a1c59d1fa0bb9262530cad96e0a9bdbab0d9344
Diffstat (limited to 'src/com/android/launcher3/Utilities.java')
-rw-r--r--src/com/android/launcher3/Utilities.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index 256eba020..a9cbf6970 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -25,6 +25,7 @@ import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -67,6 +68,7 @@ import java.util.regex.Pattern;
* Various utilities shared amongst the Launcher's classes.
*/
public final class Utilities {
+
private static final String TAG = "Launcher.Utilities";
private static int sIconWidth = -1;
@@ -93,6 +95,8 @@ public final class Utilities {
static final String FORCE_ENABLE_ROTATION_PROPERTY = "launcher_force_rotate";
public static boolean sForceEnableRotation = isPropertyEnabled(FORCE_ENABLE_ROTATION_PROPERTY);
+ public static final String ALLOW_ROTATION_PREFERENCE_KEY = "pref_allowRotation";
+
/**
* Returns a FastBitmapDrawable with the icon, accurately sized.
*/
@@ -114,10 +118,15 @@ public final class Utilities {
return Log.isLoggable(propertyName, Log.VERBOSE);
}
- public static boolean isRotationEnabled(Context c) {
- boolean enableRotation = sForceEnableRotation ||
- c.getResources().getBoolean(R.bool.allow_rotation);
- return enableRotation;
+ public static boolean isAllowRotationPrefEnabled(Context context) {
+ SharedPreferences sharedPrefs = context.getSharedPreferences(LauncherFiles.ROTATION_PREF_FILE,
+ Context.MODE_MULTI_PROCESS);
+ boolean allowRotationPref = sharedPrefs.getBoolean(ALLOW_ROTATION_PREFERENCE_KEY, false);
+ return sForceEnableRotation || allowRotationPref;
+ }
+
+ public static boolean isRotationAllowedForDevice(Context context) {
+ return sForceEnableRotation || context.getResources().getBoolean(R.bool.allow_rotation);
}
/**