Loading quickstep/src/com/android/quickstep/views/RecentsView.java +11 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.TaskStackChangeListener; import java.util.ArrayList; import java.util.function.Consumer; /** * A list of recent tasks. Loading Loading @@ -188,6 +189,14 @@ public abstract class RecentsView<T extends BaseActivity> private boolean mShowEmptyMessage; private Layout mEmptyTextLayout; private BaseActivity.MultiWindowModeChangedListener mMultiWindowModeChangedListener = (inMultiWindowMode) -> { if (!inMultiWindowMode && mOverviewStateEnabled) { // TODO: Re-enable layout transitions for addition of the unpinned task reloadIfNeeded(); } }; public RecentsView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setPageSpacing(getResources().getDimensionPixelSize(R.dimen.recents_page_spacing)); Loading Loading @@ -251,6 +260,7 @@ public abstract class RecentsView<T extends BaseActivity> super.onAttachedToWindow(); updateTaskStackListenerState(); Utilities.getPrefs(getContext()).registerOnSharedPreferenceChangeListener(this); mActivity.addMultiWindowModeChangedListener(mMultiWindowModeChangedListener); } @Override Loading @@ -258,6 +268,7 @@ public abstract class RecentsView<T extends BaseActivity> super.onDetachedFromWindow(); updateTaskStackListenerState(); Utilities.getPrefs(getContext()).unregisterOnSharedPreferenceChangeListener(this); mActivity.removeMultiWindowModeChangedListener(mMultiWindowModeChangedListener); } @Override Loading src/com/android/launcher3/BaseActivity.java +23 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -100,6 +103,14 @@ public abstract class BaseActivity extends Activity { super.onUserLeaveHint(); } @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; Loading Loading @@ -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. Loading Loading @@ -157,4 +176,8 @@ public abstract class BaseActivity extends Activity { mDeviceProfile = mDeviceProfile.getMultiWindowProfile(this, mwSize); } } public interface MultiWindowModeChangedListener { void onMultiWindowModeChanged(boolean isInMultiWindowMode); } } Loading
quickstep/src/com/android/quickstep/views/RecentsView.java +11 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.TaskStackChangeListener; import java.util.ArrayList; import java.util.function.Consumer; /** * A list of recent tasks. Loading Loading @@ -188,6 +189,14 @@ public abstract class RecentsView<T extends BaseActivity> private boolean mShowEmptyMessage; private Layout mEmptyTextLayout; private BaseActivity.MultiWindowModeChangedListener mMultiWindowModeChangedListener = (inMultiWindowMode) -> { if (!inMultiWindowMode && mOverviewStateEnabled) { // TODO: Re-enable layout transitions for addition of the unpinned task reloadIfNeeded(); } }; public RecentsView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setPageSpacing(getResources().getDimensionPixelSize(R.dimen.recents_page_spacing)); Loading Loading @@ -251,6 +260,7 @@ public abstract class RecentsView<T extends BaseActivity> super.onAttachedToWindow(); updateTaskStackListenerState(); Utilities.getPrefs(getContext()).registerOnSharedPreferenceChangeListener(this); mActivity.addMultiWindowModeChangedListener(mMultiWindowModeChangedListener); } @Override Loading @@ -258,6 +268,7 @@ public abstract class RecentsView<T extends BaseActivity> super.onDetachedFromWindow(); updateTaskStackListenerState(); Utilities.getPrefs(getContext()).unregisterOnSharedPreferenceChangeListener(this); mActivity.removeMultiWindowModeChangedListener(mMultiWindowModeChangedListener); } @Override Loading
src/com/android/launcher3/BaseActivity.java +23 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -100,6 +103,14 @@ public abstract class BaseActivity extends Activity { super.onUserLeaveHint(); } @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; Loading Loading @@ -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. Loading Loading @@ -157,4 +176,8 @@ public abstract class BaseActivity extends Activity { mDeviceProfile = mDeviceProfile.getMultiWindowProfile(this, mwSize); } } public interface MultiWindowModeChangedListener { void onMultiWindowModeChanged(boolean isInMultiWindowMode); } }