diff options
author | Winson Chung <winsonc@google.com> | 2018-04-11 12:47:47 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2018-04-11 13:26:21 -0700 |
commit | 1a77c3dce1925bdba572341c973e30ca7bb8e693 (patch) | |
tree | 96bb1d8a43e6d58f7849dc259d7d3a1de403efa1 /src/com/android/launcher3/BaseActivity.java | |
parent | eeb084cb4b5fe19841289e8b3adf56e0a13ce614 (diff) | |
download | android_packages_apps_Trebuchet-1a77c3dce1925bdba572341c973e30ca7bb8e693.tar.gz android_packages_apps_Trebuchet-1a77c3dce1925bdba572341c973e30ca7bb8e693.tar.bz2 android_packages_apps_Trebuchet-1a77c3dce1925bdba572341c973e30ca7bb8e693.zip |
Reload the task list when multiwindow mode changes
Bug: 73097187
Change-Id: I05d8635f78451600cbb8a9c03515e60d3c32e1ae
Diffstat (limited to 'src/com/android/launcher3/BaseActivity.java')
-rw-r--r-- | src/com/android/launcher3/BaseActivity.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/launcher3/BaseActivity.java b/src/com/android/launcher3/BaseActivity.java index ae631a446..c15cde5f9 100644 --- a/src/com/android/launcher3/BaseActivity.java +++ b/src/com/android/launcher3/BaseActivity.java @@ -20,6 +20,7 @@ import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; import android.content.Intent; +import android.content.res.Configuration; import android.graphics.Point; import android.view.Display; import android.view.View.AccessibilityDelegate; @@ -33,6 +34,8 @@ import java.util.ArrayList; public abstract class BaseActivity extends Activity { private final ArrayList<OnDeviceProfileChangeListener> mDPChangeListeners = new ArrayList<>(); + private final ArrayList<MultiWindowModeChangedListener> mMultiWindowModeChangedListeners = + new ArrayList<>(); protected DeviceProfile mDeviceProfile; protected UserEventDispatcher mUserEventDispatcher; @@ -101,6 +104,14 @@ public abstract class BaseActivity extends Activity { } @Override + public void onMultiWindowModeChanged(boolean isInMultiWindowMode, Configuration newConfig) { + super.onMultiWindowModeChanged(isInMultiWindowMode, newConfig); + for (int i = mMultiWindowModeChangedListeners.size() - 1; i >= 0; i--) { + mMultiWindowModeChangedListeners.get(i).onMultiWindowModeChanged(isInMultiWindowMode); + } + } + + @Override protected void onStop() { mStarted = false; mForceInvisible = false; @@ -129,6 +140,14 @@ public abstract class BaseActivity extends Activity { } } + public void addMultiWindowModeChangedListener(MultiWindowModeChangedListener listener) { + mMultiWindowModeChangedListeners.add(listener); + } + + public void removeMultiWindowModeChangedListener(MultiWindowModeChangedListener listener) { + mMultiWindowModeChangedListeners.remove(listener); + } + /** * Used to set the override visibility state, used only to handle the transition home with the * recents animation. @@ -157,4 +176,8 @@ public abstract class BaseActivity extends Activity { mDeviceProfile = mDeviceProfile.getMultiWindowProfile(this, mwSize); } } + + public interface MultiWindowModeChangedListener { + void onMultiWindowModeChanged(boolean isInMultiWindowMode); + } } |