Merge "Add logcat logs for splitscreen launch failures" into udc-qpr-dev am: 3137f65dcc
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23784840 Change-Id: I490a99f184fdb3d6432b93ea36ac79c0e8a51c66 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -19,6 +19,7 @@ import static android.app.ActivityManager.RECENT_IGNORE_UNAVAILABLE;
|
|||||||
|
|
||||||
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
|
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
|
||||||
import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
|
import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
|
||||||
|
import static com.android.quickstep.util.LogUtils.splitFailureMessage;
|
||||||
|
|
||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
import android.app.ActivityOptions;
|
import android.app.ActivityOptions;
|
||||||
@@ -706,7 +707,7 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
mSplitScreen.startTasks(taskId1, options1, taskId2, options2, splitPosition,
|
mSplitScreen.startTasks(taskId1, options1, taskId2, options2, splitPosition,
|
||||||
splitRatio, remoteTransition, instanceId);
|
splitRatio, remoteTransition, instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startTasks");
|
Log.w(TAG, splitFailureMessage("startTasks", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -719,7 +720,7 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
mSplitScreen.startIntentAndTask(pendingIntent, userId1, options1, taskId, options2,
|
mSplitScreen.startIntentAndTask(pendingIntent, userId1, options1, taskId, options2,
|
||||||
splitPosition, splitRatio, remoteTransition, instanceId);
|
splitPosition, splitRatio, remoteTransition, instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startIntentAndTask");
|
Log.w(TAG, splitFailureMessage("startIntentAndTask", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -735,7 +736,7 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
pendingIntent2, userId2, shortcutInfo2, options2, splitPosition, splitRatio,
|
pendingIntent2, userId2, shortcutInfo2, options2, splitPosition, splitRatio,
|
||||||
remoteTransition, instanceId);
|
remoteTransition, instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startIntents");
|
Log.w(TAG, splitFailureMessage("startIntents", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -748,7 +749,7 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
mSplitScreen.startShortcutAndTask(shortcutInfo, options1, taskId, options2,
|
mSplitScreen.startShortcutAndTask(shortcutInfo, options1, taskId, options2,
|
||||||
splitPosition, splitRatio, remoteTransition, instanceId);
|
splitPosition, splitRatio, remoteTransition, instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startShortcutAndTask");
|
Log.w(TAG, splitFailureMessage("startShortcutAndTask", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -764,7 +765,8 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
mSplitScreen.startTasksWithLegacyTransition(taskId1, options1, taskId2, options2,
|
mSplitScreen.startTasksWithLegacyTransition(taskId1, options1, taskId2, options2,
|
||||||
splitPosition, splitRatio, adapter, instanceId);
|
splitPosition, splitRatio, adapter, instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startTasksWithLegacyTransition");
|
Log.w(TAG, splitFailureMessage(
|
||||||
|
"startTasksWithLegacyTransition", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -778,7 +780,8 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
mSplitScreen.startIntentAndTaskWithLegacyTransition(pendingIntent, userId1,
|
mSplitScreen.startIntentAndTaskWithLegacyTransition(pendingIntent, userId1,
|
||||||
options1, taskId, options2, splitPosition, splitRatio, adapter, instanceId);
|
options1, taskId, options2, splitPosition, splitRatio, adapter, instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startIntentAndTaskWithLegacyTransition");
|
Log.w(TAG, splitFailureMessage(
|
||||||
|
"startIntentAndTaskWithLegacyTransition", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -791,7 +794,8 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
mSplitScreen.startShortcutAndTaskWithLegacyTransition(shortcutInfo, options1,
|
mSplitScreen.startShortcutAndTaskWithLegacyTransition(shortcutInfo, options1,
|
||||||
taskId, options2, splitPosition, splitRatio, adapter, instanceId);
|
taskId, options2, splitPosition, splitRatio, adapter, instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startShortcutAndTaskWithLegacyTransition");
|
Log.w(TAG, splitFailureMessage(
|
||||||
|
"startShortcutAndTaskWithLegacyTransition", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -811,7 +815,8 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
shortcutInfo1, options1, pendingIntent2, userId2, shortcutInfo2, options2,
|
shortcutInfo1, options1, pendingIntent2, userId2, shortcutInfo2, options2,
|
||||||
sidePosition, splitRatio, adapter, instanceId);
|
sidePosition, splitRatio, adapter, instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startIntentsWithLegacyTransition");
|
Log.w(TAG, splitFailureMessage(
|
||||||
|
"startIntentsWithLegacyTransition", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -823,7 +828,7 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
mSplitScreen.startShortcut(packageName, shortcutId, position, options,
|
mSplitScreen.startShortcut(packageName, shortcutId, position, options,
|
||||||
user, instanceId);
|
user, instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startShortcut");
|
Log.w(TAG, splitFailureMessage("startShortcut", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -835,7 +840,7 @@ public class SystemUiProxy implements ISystemUiProxy {
|
|||||||
mSplitScreen.startIntent(intent, userId, fillInIntent, position, options,
|
mSplitScreen.startIntent(intent, userId, fillInIntent, position, options,
|
||||||
instanceId);
|
instanceId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Failed call startIntent");
|
Log.w(TAG, splitFailureMessage("startIntent", "RemoteException"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,11 @@ import com.android.internal.logging.InstanceIdSequence
|
|||||||
import com.android.launcher3.logging.InstanceId
|
import com.android.launcher3.logging.InstanceId
|
||||||
|
|
||||||
object LogUtils {
|
object LogUtils {
|
||||||
|
@JvmStatic
|
||||||
|
fun splitFailureMessage(caller: String, reason: String): String {
|
||||||
|
return "($caller) Splitscreen aborted: $reason"
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return a [Pair] of two InstanceIds but with different types, one that can be used by
|
* @return a [Pair] of two InstanceIds but with different types, one that can be used by
|
||||||
* framework (if needing to pass through an intent or such) and one used in Launcher
|
* framework (if needing to pass through an intent or such) and one used in Launcher
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
|
|||||||
import static com.android.launcher3.util.MultiPropertyFactory.MULTI_PROPERTY_VALUE;
|
import static com.android.launcher3.util.MultiPropertyFactory.MULTI_PROPERTY_VALUE;
|
||||||
import static com.android.launcher3.util.SystemUiController.UI_STATE_FULLSCREEN_TASK;
|
import static com.android.launcher3.util.SystemUiController.UI_STATE_FULLSCREEN_TASK;
|
||||||
import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId;
|
import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId;
|
||||||
|
import static com.android.quickstep.util.LogUtils.splitFailureMessage;
|
||||||
import static com.android.quickstep.views.ClearAllButton.DISMISS_ALPHA;
|
import static com.android.quickstep.views.ClearAllButton.DISMISS_ALPHA;
|
||||||
import static com.android.quickstep.views.DesktopTaskView.DESKTOP_MODE_SUPPORTED;
|
import static com.android.quickstep.views.DesktopTaskView.DESKTOP_MODE_SUPPORTED;
|
||||||
import static com.android.quickstep.views.OverviewActionsView.FLAG_IS_NOT_TABLET;
|
import static com.android.quickstep.views.OverviewActionsView.FLAG_IS_NOT_TABLET;
|
||||||
@@ -4725,6 +4726,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (mSplitSelectStateController.isBothSplitAppsConfirmed()) {
|
if (mSplitSelectStateController.isBothSplitAppsConfirmed()) {
|
||||||
|
Log.w(TAG, splitFailureMessage(
|
||||||
|
"confirmSplitSelect", "both apps have already been set"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// Second task is selected either as an already-running Task or an Intent
|
// Second task is selected either as an already-running Task or an Intent
|
||||||
@@ -4732,6 +4735,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
|||||||
if (!task.isDockable) {
|
if (!task.isDockable) {
|
||||||
// Task does not support split screen
|
// Task does not support split screen
|
||||||
mSplitUnsupportedToast.show();
|
mSplitUnsupportedToast.show();
|
||||||
|
Log.w(TAG, splitFailureMessage("confirmSplitSelect",
|
||||||
|
"selected Task (" + task.key.getPackageName()
|
||||||
|
+ ") is not dockable / does not support splitscreen"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
mSplitSelectStateController.setSecondTask(task);
|
mSplitSelectStateController.setSecondTask(task);
|
||||||
|
|||||||
Reference in New Issue
Block a user