diff options
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 50 |
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); |