From 5cc7bbdbb3cdce3040d2a4f091a4543c2d469579 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 12 Jun 2017 09:50:39 -0700 Subject: Removing dependency on onAttachedToWindow callback. When resizing in multi-window mode, the system reuses the decorView and may not call onAttachedToWindow. Bug: 62495747 Bug: 38463796 Change-Id: I949f8f8e37b5a4748947024df09097f15c940bf8 --- src/com/android/launcher3/Launcher.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'src/com/android/launcher3') diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 2de10030d..ec345a720 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -266,7 +266,6 @@ public class Launcher extends BaseActivity private Handler mHandler = new Handler(); private boolean mIsResumeFromActionScreenOff; private boolean mHasFocus = false; - private boolean mAttached = false; private PopupDataProvider mPopupDataProvider; @@ -456,6 +455,9 @@ public class Launcher extends BaseActivity if (mLauncherCallbacks != null) { mLauncherCallbacks.onCreate(savedInstanceState); } + + // Listen for broadcasts screen off + registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF)); } @Override @@ -1592,13 +1594,7 @@ public class Launcher extends BaseActivity public void onAttachedToWindow() { super.onAttachedToWindow(); - // Listen for broadcasts related to user-presence - final IntentFilter filter = new IntentFilter(); - filter.addAction(Intent.ACTION_SCREEN_OFF); - registerReceiver(mReceiver, filter); FirstFrameAnimatorHelper.initializeDrawListener(getWindow().getDecorView()); - mAttached = true; - if (mLauncherCallbacks != null) { mLauncherCallbacks.onAttachedToWindow(); } @@ -1607,10 +1603,6 @@ public class Launcher extends BaseActivity @Override public void onDetachedFromWindow() { super.onDetachedFromWindow(); - if (mAttached) { - unregisterReceiver(mReceiver); - mAttached = false; - } if (mLauncherCallbacks != null) { mLauncherCallbacks.onDetachedFromWindow(); @@ -1851,6 +1843,7 @@ public class Launcher extends BaseActivity public void onDestroy() { super.onDestroy(); + unregisterReceiver(mReceiver); mWorkspace.removeCallbacks(mBuildLayersRunnable); mWorkspace.removeFolderListeners(); -- cgit v1.2.3