summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/Launcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r--src/com/android/launcher3/Launcher.java50
1 files changed, 17 insertions, 33 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 796de3fa0..d52191bf1 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -398,29 +398,8 @@ public class Launcher extends Activity
}
private Stats mStats;
-
FocusIndicatorView mFocusHandler;
-
- @Thunk boolean mRotationEnabled = false;
- private boolean mScreenOrientationSettingReceiverRegistered = false;
-
- final private BroadcastReceiver mScreenOrientationSettingReceiver =
- new BroadcastReceiver() {
- @Thunk Runnable mUpdateOrientationRunnable = new Runnable() {
- public void run() {
- setOrientation();
- }
- };
-
- @Override
- public void onReceive(Context context, Intent intent) {
- mRotationEnabled = intent.getBooleanExtra(
- Utilities.SCREEN_ROTATION_SETTING_EXTRA, false);
- if (!waitUntilResume(mUpdateOrientationRunnable, true)) {
- setOrientation();
- }
- }
- };
+ private boolean mRotationEnabled = false;
@Thunk void setOrientation() {
if (mRotationEnabled) {
@@ -431,6 +410,12 @@ public class Launcher extends Activity
}
}
+ private Runnable mUpdateOrientationRunnable = new Runnable() {
+ public void run() {
+ setOrientation();
+ }
+ };
+
@Override
protected void onCreate(Bundle savedInstanceState) {
if (DEBUG_STRICT_MODE) {
@@ -530,12 +515,6 @@ public class Launcher extends Activity
// In case we are on a device with locked rotation, we should look at preferences to check
// if the user has specifically allowed rotation.
if (!mRotationEnabled) {
- String updateOrientationBroadcastPermission = getResources().getString(
- R.string.receive_update_orientation_broadcasts_permission);
- registerReceiver(mScreenOrientationSettingReceiver,
- new IntentFilter(Utilities.SCREEN_ROTATION_SETTING_INTENT),
- updateOrientationBroadcastPermission, null);
- mScreenOrientationSettingReceiverRegistered = true;
mRotationEnabled = Utilities.isAllowRotationPrefEnabled(getApplicationContext());
}
@@ -562,6 +541,16 @@ public class Launcher extends Activity
}
}
+ @Override
+ public void onSettingsChanged(String settings, boolean value) {
+ if (Utilities.ALLOW_ROTATION_PREFERENCE_KEY.equals(settings)) {
+ mRotationEnabled = value;
+ if (!waitUntilResume(mUpdateOrientationRunnable, true)) {
+ mUpdateOrientationRunnable.run();
+ }
+ }
+ }
+
private LauncherCallbacks mLauncherCallbacks;
public void onPostCreate(Bundle savedInstanceState) {
@@ -2030,11 +2019,6 @@ public class Launcher extends Activity
public void onDestroy() {
super.onDestroy();
- if (mScreenOrientationSettingReceiverRegistered) {
- unregisterReceiver(mScreenOrientationSettingReceiver);
- mScreenOrientationSettingReceiverRegistered = false;
- }
-
// Remove all pending runnables
mHandler.removeMessages(ADVANCE_MSG);
mHandler.removeMessages(0);