Allow non-resizable apps in split-screen (9/n)
Cleanup SizeCompatModeActivityController Bug: 176061101 Bug: 178327644 Test: pass existing Change-Id: If4bb5e082976725b80bda5a95880a24201b6c595
This commit is contained in:
@@ -144,18 +144,6 @@ oneway interface ITaskStackListener {
|
||||
*/
|
||||
void onTaskSnapshotChanged(int taskId, in TaskSnapshot snapshot);
|
||||
|
||||
/**
|
||||
* Called when the resumed activity is in size compatibility mode and its override configuration
|
||||
* is different from the current one of system.
|
||||
*
|
||||
* @param displayId Id of the display where the activity resides.
|
||||
* @param activityToken Token of the size compatibility mode activity. It will be null when
|
||||
* switching to a activity that is not in size compatibility mode or the
|
||||
* configuration of the activity.
|
||||
* @see com.android.server.wm.ActivityRecord#inSizeCompatMode
|
||||
*/
|
||||
void onSizeCompatModeActivityChanged(int displayId, in IBinder activityToken);
|
||||
|
||||
/**
|
||||
* Reports that an Activity received a back key press when there were no additional activities
|
||||
* on the back stack.
|
||||
|
||||
@@ -21,7 +21,6 @@ import android.compat.annotation.UnsupportedAppUsage;
|
||||
import android.content.ComponentName;
|
||||
import android.os.Binder;
|
||||
import android.os.Build;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
import android.window.TaskSnapshot;
|
||||
|
||||
@@ -162,12 +161,6 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
|
||||
public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken)
|
||||
throws RemoteException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressedOnTaskRoot(RunningTaskInfo taskInfo)
|
||||
throws RemoteException {
|
||||
|
||||
@@ -19,7 +19,6 @@ package com.android.wm.shell.common;
|
||||
import android.app.ActivityManager.RunningTaskInfo;
|
||||
import android.app.ITaskStackListener;
|
||||
import android.content.ComponentName;
|
||||
import android.os.IBinder;
|
||||
import android.window.TaskSnapshot;
|
||||
|
||||
import androidx.annotation.BinderThread;
|
||||
@@ -85,6 +84,4 @@ public interface TaskStackListenerCallback {
|
||||
default void onActivityRequestedOrientationChanged(int taskId, int requestedOrientation) { }
|
||||
|
||||
default void onActivityRotation(int displayId) { }
|
||||
|
||||
default void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken) { }
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ import android.app.IActivityTaskManager;
|
||||
import android.app.TaskStackListener;
|
||||
import android.content.ComponentName;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Message;
|
||||
import android.os.Trace;
|
||||
import android.util.Log;
|
||||
@@ -54,13 +53,12 @@ public class TaskStackListenerImpl extends TaskStackListener implements Handler.
|
||||
private static final int ON_TASK_MOVED_TO_FRONT = 12;
|
||||
private static final int ON_ACTIVITY_REQUESTED_ORIENTATION_CHANGE = 13;
|
||||
private static final int ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED = 14;
|
||||
private static final int ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED = 15;
|
||||
private static final int ON_BACK_PRESSED_ON_TASK_ROOT = 16;
|
||||
private static final int ON_TASK_DISPLAY_CHANGED = 17;
|
||||
private static final int ON_TASK_LIST_UPDATED = 18;
|
||||
private static final int ON_TASK_LIST_FROZEN_UNFROZEN = 19;
|
||||
private static final int ON_TASK_DESCRIPTION_CHANGED = 20;
|
||||
private static final int ON_ACTIVITY_ROTATION = 21;
|
||||
private static final int ON_BACK_PRESSED_ON_TASK_ROOT = 15;
|
||||
private static final int ON_TASK_DISPLAY_CHANGED = 16;
|
||||
private static final int ON_TASK_LIST_UPDATED = 17;
|
||||
private static final int ON_TASK_LIST_FROZEN_UNFROZEN = 18;
|
||||
private static final int ON_TASK_DESCRIPTION_CHANGED = 19;
|
||||
private static final int ON_ACTIVITY_ROTATION = 20;
|
||||
|
||||
/**
|
||||
* List of {@link TaskStackListenerCallback} registered from {@link #addListener}.
|
||||
@@ -263,13 +261,6 @@ public class TaskStackListenerImpl extends TaskStackListener implements Handler.
|
||||
.sendToTarget();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken) {
|
||||
mMainHandler.obtainMessage(ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED, displayId,
|
||||
0 /* unused */,
|
||||
activityToken).sendToTarget();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleMessage(Message msg) {
|
||||
synchronized (mTaskStackListeners) {
|
||||
@@ -383,13 +374,6 @@ public class TaskStackListenerImpl extends TaskStackListener implements Handler.
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED: {
|
||||
for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) {
|
||||
mTaskStackListeners.get(i).onSizeCompatModeActivityChanged(
|
||||
msg.arg1, (IBinder) msg.obj);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ON_BACK_PRESSED_ON_TASK_ROOT: {
|
||||
for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) {
|
||||
mTaskStackListeners.get(i).onBackPressedOnTaskRoot(
|
||||
|
||||
@@ -91,7 +91,6 @@ public class SizeCompatUIController implements DisplayController.OnDisplaysChang
|
||||
}
|
||||
}
|
||||
|
||||
// TODO move from SizeCompatModeActivityController from system UI.
|
||||
@Override
|
||||
public void onDisplayRemoved(int displayId) {
|
||||
mDisplayContextCache.remove(displayId);
|
||||
|
||||
@@ -27,7 +27,6 @@ import android.app.ActivityManager;
|
||||
import android.app.IActivityTaskManager;
|
||||
import android.content.ComponentName;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Message;
|
||||
import android.os.RemoteException;
|
||||
import android.testing.AndroidTestingRunner;
|
||||
@@ -234,14 +233,6 @@ public class TaskStackListenerImplTest {
|
||||
verify(mOtherCallback).onActivityRotation(eq(123));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOnSizeCompatModeActivityChanged() {
|
||||
IBinder b = mock(IBinder.class);
|
||||
mImpl.onSizeCompatModeActivityChanged(123, b);
|
||||
verify(mCallback).onSizeCompatModeActivityChanged(eq(123), eq(b));
|
||||
verify(mOtherCallback).onSizeCompatModeActivityChanged(eq(123), eq(b));
|
||||
}
|
||||
|
||||
/**
|
||||
* Handler that synchronously calls TaskStackListenerImpl#handleMessage() when it receives a
|
||||
* message.
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
<item>com.android.systemui.shortcut.ShortcutKeyDispatcher</item>
|
||||
<item>@string/config_systemUIVendorServiceComponent</item>
|
||||
<item>com.android.systemui.SliceBroadcastRelayHandler</item>
|
||||
<item>com.android.systemui.SizeCompatModeActivityController</item>
|
||||
<item>com.android.systemui.statusbar.notification.InstantAppNotifier</item>
|
||||
<item>com.android.systemui.toast.ToastUI</item>
|
||||
<item>com.android.systemui.wmshell.WMShell</item>
|
||||
|
||||
@@ -301,7 +301,6 @@
|
||||
<item>com.android.systemui.ScreenDecorations</item>
|
||||
<item>com.android.systemui.biometrics.AuthController</item>
|
||||
<item>com.android.systemui.SliceBroadcastRelayHandler</item>
|
||||
<item>com.android.systemui.SizeCompatModeActivityController</item>
|
||||
<item>com.android.systemui.statusbar.notification.InstantAppNotifier</item>
|
||||
<item>com.android.systemui.theme.ThemeOverlayController</item>
|
||||
<item>com.android.systemui.accessibility.WindowMagnification</item>
|
||||
|
||||
@@ -19,7 +19,6 @@ package com.android.systemui.shared.system;
|
||||
import android.app.ActivityManager.RunningTaskInfo;
|
||||
import android.app.ITaskStackListener;
|
||||
import android.content.ComponentName;
|
||||
import android.os.IBinder;
|
||||
|
||||
import com.android.systemui.shared.recents.model.ThumbnailData;
|
||||
|
||||
@@ -80,7 +79,6 @@ public abstract class TaskStackChangeListener {
|
||||
public void onTaskDescriptionChanged(RunningTaskInfo taskInfo) { }
|
||||
|
||||
public void onActivityRequestedOrientationChanged(int taskId, int requestedOrientation) { }
|
||||
public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken) { }
|
||||
|
||||
public void onBackPressedOnTaskRoot(RunningTaskInfo taskInfo) { }
|
||||
|
||||
|
||||
@@ -18,15 +18,14 @@ package com.android.systemui.shared.system;
|
||||
|
||||
import android.app.ActivityManager.RunningTaskInfo;
|
||||
import android.app.ActivityTaskManager;
|
||||
import android.window.TaskSnapshot;
|
||||
import android.app.TaskStackListener;
|
||||
import android.content.ComponentName;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.os.Trace;
|
||||
import android.util.Log;
|
||||
import android.window.TaskSnapshot;
|
||||
|
||||
import com.android.internal.os.SomeArgs;
|
||||
import com.android.systemui.shared.recents.model.ThumbnailData;
|
||||
@@ -88,13 +87,12 @@ public class TaskStackChangeListeners {
|
||||
private static final int ON_TASK_MOVED_TO_FRONT = 14;
|
||||
private static final int ON_ACTIVITY_REQUESTED_ORIENTATION_CHANGE = 15;
|
||||
private static final int ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED = 16;
|
||||
private static final int ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED = 17;
|
||||
private static final int ON_BACK_PRESSED_ON_TASK_ROOT = 18;
|
||||
private static final int ON_TASK_DISPLAY_CHANGED = 19;
|
||||
private static final int ON_TASK_LIST_UPDATED = 20;
|
||||
private static final int ON_TASK_LIST_FROZEN_UNFROZEN = 21;
|
||||
private static final int ON_TASK_DESCRIPTION_CHANGED = 22;
|
||||
private static final int ON_ACTIVITY_ROTATION = 23;
|
||||
private static final int ON_BACK_PRESSED_ON_TASK_ROOT = 17;
|
||||
private static final int ON_TASK_DISPLAY_CHANGED = 18;
|
||||
private static final int ON_TASK_LIST_UPDATED = 19;
|
||||
private static final int ON_TASK_LIST_FROZEN_UNFROZEN = 20;
|
||||
private static final int ON_TASK_DESCRIPTION_CHANGED = 21;
|
||||
private static final int ON_ACTIVITY_ROTATION = 22;
|
||||
|
||||
/**
|
||||
* List of {@link TaskStackChangeListener} registered from {@link #addListener}.
|
||||
@@ -247,13 +245,6 @@ public class TaskStackChangeListeners {
|
||||
requestedOrientation).sendToTarget();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken) {
|
||||
mHandler.obtainMessage(ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED, displayId,
|
||||
0 /* unused */,
|
||||
activityToken).sendToTarget();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTaskDisplayChanged(int taskId, int newDisplayId) {
|
||||
mHandler.obtainMessage(ON_TASK_DISPLAY_CHANGED, taskId, newDisplayId).sendToTarget();
|
||||
@@ -391,13 +382,6 @@ public class TaskStackChangeListeners {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED: {
|
||||
for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) {
|
||||
mTaskStackListeners.get(i).onSizeCompatModeActivityChanged(
|
||||
msg.arg1, (IBinder) msg.obj);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ON_BACK_PRESSED_ON_TASK_ROOT: {
|
||||
for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) {
|
||||
mTaskStackListeners.get(i).onBackPressedOnTaskRoot(
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* Shows a restart-activity button when the foreground activity is in size compatibility mode.
|
||||
*
|
||||
* // TODO remove this class after cleanup all dependencies.
|
||||
* @deprecated Use {@link com.android.wm.shell.sizecompatui.SizeCompatUIController}
|
||||
*/
|
||||
@Deprecated
|
||||
@SysUISingleton
|
||||
public class SizeCompatModeActivityController extends SystemUI {
|
||||
|
||||
@Inject
|
||||
SizeCompatModeActivityController(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() { }
|
||||
}
|
||||
@@ -18,7 +18,6 @@ package com.android.systemui.dagger;
|
||||
|
||||
import com.android.systemui.LatencyTester;
|
||||
import com.android.systemui.ScreenDecorations;
|
||||
import com.android.systemui.SizeCompatModeActivityController;
|
||||
import com.android.systemui.SliceBroadcastRelayHandler;
|
||||
import com.android.systemui.SystemUI;
|
||||
import com.android.systemui.accessibility.SystemActions;
|
||||
@@ -113,13 +112,6 @@ public abstract class SystemUIBinder {
|
||||
@ClassKey(ShortcutKeyDispatcher.class)
|
||||
public abstract SystemUI bindsShortcutKeyDispatcher(ShortcutKeyDispatcher sysui);
|
||||
|
||||
/** Inject into SizeCompatModeActivityController. */
|
||||
@Binds
|
||||
@IntoMap
|
||||
@ClassKey(SizeCompatModeActivityController.class)
|
||||
public abstract SystemUI bindsSizeCompatModeActivityController(
|
||||
SizeCompatModeActivityController sysui);
|
||||
|
||||
/** Inject into SliceBroadcastRelayHandler. */
|
||||
@Binds
|
||||
@IntoMap
|
||||
|
||||
@@ -23,7 +23,6 @@ import android.app.TaskInfo;
|
||||
import android.content.ComponentName;
|
||||
import android.os.Binder;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.os.RemoteCallbackList;
|
||||
@@ -52,15 +51,14 @@ class TaskChangeNotificationController {
|
||||
private static final int NOTIFY_ACTIVITY_UNPINNED_LISTENERS_MSG = 17;
|
||||
private static final int NOTIFY_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_FAILED_MSG = 18;
|
||||
private static final int NOTIFY_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED_MSG = 19;
|
||||
private static final int NOTIFY_SIZE_COMPAT_MODE_ACTIVITY_CHANGED_MSG = 20;
|
||||
private static final int NOTIFY_BACK_PRESSED_ON_TASK_ROOT = 21;
|
||||
private static final int NOTIFY_TASK_DISPLAY_CHANGED_LISTENERS_MSG = 22;
|
||||
private static final int NOTIFY_TASK_LIST_UPDATED_LISTENERS_MSG = 23;
|
||||
private static final int NOTIFY_TASK_LIST_FROZEN_UNFROZEN_MSG = 24;
|
||||
private static final int NOTIFY_TASK_FOCUS_CHANGED_MSG = 25;
|
||||
private static final int NOTIFY_TASK_REQUESTED_ORIENTATION_CHANGED_MSG = 26;
|
||||
private static final int NOTIFY_ACTIVITY_ROTATED_MSG = 27;
|
||||
private static final int NOTIFY_TASK_MOVED_TO_BACK_LISTENERS_MSG = 28;
|
||||
private static final int NOTIFY_BACK_PRESSED_ON_TASK_ROOT = 20;
|
||||
private static final int NOTIFY_TASK_DISPLAY_CHANGED_LISTENERS_MSG = 21;
|
||||
private static final int NOTIFY_TASK_LIST_UPDATED_LISTENERS_MSG = 22;
|
||||
private static final int NOTIFY_TASK_LIST_FROZEN_UNFROZEN_MSG = 23;
|
||||
private static final int NOTIFY_TASK_FOCUS_CHANGED_MSG = 24;
|
||||
private static final int NOTIFY_TASK_REQUESTED_ORIENTATION_CHANGED_MSG = 25;
|
||||
private static final int NOTIFY_ACTIVITY_ROTATED_MSG = 26;
|
||||
private static final int NOTIFY_TASK_MOVED_TO_BACK_LISTENERS_MSG = 27;
|
||||
|
||||
// Delay in notifying task stack change listeners (in millis)
|
||||
private static final int NOTIFY_TASK_STACK_CHANGE_LISTENERS_DELAY = 100;
|
||||
@@ -151,10 +149,6 @@ class TaskChangeNotificationController {
|
||||
l.onTaskSnapshotChanged(m.arg1, (TaskSnapshot) m.obj);
|
||||
};
|
||||
|
||||
private final TaskStackConsumer mOnSizeCompatModeActivityChanged = (l, m) -> {
|
||||
l.onSizeCompatModeActivityChanged(m.arg1, (IBinder) m.obj);
|
||||
};
|
||||
|
||||
private final TaskStackConsumer mNotifyTaskDisplayChanged = (l, m) -> {
|
||||
l.onTaskDisplayChanged(m.arg1, m.arg2);
|
||||
};
|
||||
@@ -250,9 +244,6 @@ class TaskChangeNotificationController {
|
||||
case NOTIFY_TASK_SNAPSHOT_CHANGED_LISTENERS_MSG:
|
||||
forAllRemoteListeners(mNotifyTaskSnapshotChanged, msg);
|
||||
break;
|
||||
case NOTIFY_SIZE_COMPAT_MODE_ACTIVITY_CHANGED_MSG:
|
||||
forAllRemoteListeners(mOnSizeCompatModeActivityChanged, msg);
|
||||
break;
|
||||
case NOTIFY_BACK_PRESSED_ON_TASK_ROOT:
|
||||
forAllRemoteListeners(mNotifyBackPressedOnTaskRoot, msg);
|
||||
break;
|
||||
@@ -489,17 +480,6 @@ class TaskChangeNotificationController {
|
||||
msg.sendToTarget();
|
||||
}
|
||||
|
||||
/**
|
||||
* Notify listeners that whether a size compatibility mode activity is using the override
|
||||
* bounds which is not fit its parent.
|
||||
*/
|
||||
void notifySizeCompatModeActivityChanged(int displayId, IBinder activityToken) {
|
||||
final Message msg = mHandler.obtainMessage(NOTIFY_SIZE_COMPAT_MODE_ACTIVITY_CHANGED_MSG,
|
||||
displayId, 0 /* unused */, activityToken);
|
||||
forAllLocalListeners(mOnSizeCompatModeActivityChanged, msg);
|
||||
msg.sendToTarget();
|
||||
}
|
||||
|
||||
/**
|
||||
* Notify listeners that an activity received a back press when there are no other activities
|
||||
* in the back stack.
|
||||
|
||||
Reference in New Issue
Block a user