Loading quickstep/src/com/android/quickstep/SystemUiProxy.java +15 −10 Original line number Diff line number Diff line Loading @@ -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.UI_HELPER_EXECUTOR; import static com.android.quickstep.util.LogUtils.splitFailureMessage; import android.app.ActivityManager; import android.app.ActivityOptions; Loading Loading @@ -706,7 +707,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startTasks(taskId1, options1, taskId2, options2, splitPosition, splitRatio, remoteTransition, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startTasks"); Log.w(TAG, splitFailureMessage("startTasks", "RemoteException"), e); } } } Loading @@ -719,7 +720,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startIntentAndTask(pendingIntent, userId1, options1, taskId, options2, splitPosition, splitRatio, remoteTransition, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntentAndTask"); Log.w(TAG, splitFailureMessage("startIntentAndTask", "RemoteException"), e); } } } Loading @@ -735,7 +736,7 @@ public class SystemUiProxy implements ISystemUiProxy { pendingIntent2, userId2, shortcutInfo2, options2, splitPosition, splitRatio, remoteTransition, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntents"); Log.w(TAG, splitFailureMessage("startIntents", "RemoteException"), e); } } } Loading @@ -748,7 +749,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startShortcutAndTask(shortcutInfo, options1, taskId, options2, splitPosition, splitRatio, remoteTransition, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startShortcutAndTask"); Log.w(TAG, splitFailureMessage("startShortcutAndTask", "RemoteException"), e); } } } Loading @@ -764,7 +765,8 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startTasksWithLegacyTransition(taskId1, options1, taskId2, options2, splitPosition, splitRatio, adapter, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startTasksWithLegacyTransition"); Log.w(TAG, splitFailureMessage( "startTasksWithLegacyTransition", "RemoteException"), e); } } } Loading @@ -778,7 +780,8 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startIntentAndTaskWithLegacyTransition(pendingIntent, userId1, options1, taskId, options2, splitPosition, splitRatio, adapter, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntentAndTaskWithLegacyTransition"); Log.w(TAG, splitFailureMessage( "startIntentAndTaskWithLegacyTransition", "RemoteException"), e); } } } Loading @@ -791,7 +794,8 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startShortcutAndTaskWithLegacyTransition(shortcutInfo, options1, taskId, options2, splitPosition, splitRatio, adapter, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startShortcutAndTaskWithLegacyTransition"); Log.w(TAG, splitFailureMessage( "startShortcutAndTaskWithLegacyTransition", "RemoteException"), e); } } } Loading @@ -811,7 +815,8 @@ public class SystemUiProxy implements ISystemUiProxy { shortcutInfo1, options1, pendingIntent2, userId2, shortcutInfo2, options2, sidePosition, splitRatio, adapter, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntentsWithLegacyTransition"); Log.w(TAG, splitFailureMessage( "startIntentsWithLegacyTransition", "RemoteException"), e); } } } Loading @@ -823,7 +828,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startShortcut(packageName, shortcutId, position, options, user, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startShortcut"); Log.w(TAG, splitFailureMessage("startShortcut", "RemoteException"), e); } } } Loading @@ -835,7 +840,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startIntent(intent, userId, fillInIntent, position, options, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntent"); Log.w(TAG, splitFailureMessage("startIntent", "RemoteException"), e); } } } Loading quickstep/src/com/android/quickstep/util/LogUtils.kt +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,11 @@ import com.android.internal.logging.InstanceIdSequence import com.android.launcher3.logging.InstanceId 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 * framework (if needing to pass through an intent or such) and one used in Launcher Loading quickstep/src/com/android/quickstep/views/RecentsView.java +6 −0 Original line number Diff line number Diff line Loading @@ -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.SystemUiController.UI_STATE_FULLSCREEN_TASK; 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.DesktopTaskView.DESKTOP_MODE_SUPPORTED; import static com.android.quickstep.views.OverviewActionsView.FLAG_IS_NOT_TABLET; Loading Loading @@ -4725,6 +4726,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T return false; } if (mSplitSelectStateController.isBothSplitAppsConfirmed()) { Log.w(TAG, splitFailureMessage( "confirmSplitSelect", "both apps have already been set")); return true; } // Second task is selected either as an already-running Task or an Intent Loading @@ -4732,6 +4735,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T if (!task.isDockable) { // Task does not support split screen mSplitUnsupportedToast.show(); Log.w(TAG, splitFailureMessage("confirmSplitSelect", "selected Task (" + task.key.getPackageName() + ") is not dockable / does not support splitscreen")); return true; } mSplitSelectStateController.setSecondTask(task); Loading Loading
quickstep/src/com/android/quickstep/SystemUiProxy.java +15 −10 Original line number Diff line number Diff line Loading @@ -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.UI_HELPER_EXECUTOR; import static com.android.quickstep.util.LogUtils.splitFailureMessage; import android.app.ActivityManager; import android.app.ActivityOptions; Loading Loading @@ -706,7 +707,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startTasks(taskId1, options1, taskId2, options2, splitPosition, splitRatio, remoteTransition, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startTasks"); Log.w(TAG, splitFailureMessage("startTasks", "RemoteException"), e); } } } Loading @@ -719,7 +720,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startIntentAndTask(pendingIntent, userId1, options1, taskId, options2, splitPosition, splitRatio, remoteTransition, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntentAndTask"); Log.w(TAG, splitFailureMessage("startIntentAndTask", "RemoteException"), e); } } } Loading @@ -735,7 +736,7 @@ public class SystemUiProxy implements ISystemUiProxy { pendingIntent2, userId2, shortcutInfo2, options2, splitPosition, splitRatio, remoteTransition, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntents"); Log.w(TAG, splitFailureMessage("startIntents", "RemoteException"), e); } } } Loading @@ -748,7 +749,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startShortcutAndTask(shortcutInfo, options1, taskId, options2, splitPosition, splitRatio, remoteTransition, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startShortcutAndTask"); Log.w(TAG, splitFailureMessage("startShortcutAndTask", "RemoteException"), e); } } } Loading @@ -764,7 +765,8 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startTasksWithLegacyTransition(taskId1, options1, taskId2, options2, splitPosition, splitRatio, adapter, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startTasksWithLegacyTransition"); Log.w(TAG, splitFailureMessage( "startTasksWithLegacyTransition", "RemoteException"), e); } } } Loading @@ -778,7 +780,8 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startIntentAndTaskWithLegacyTransition(pendingIntent, userId1, options1, taskId, options2, splitPosition, splitRatio, adapter, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntentAndTaskWithLegacyTransition"); Log.w(TAG, splitFailureMessage( "startIntentAndTaskWithLegacyTransition", "RemoteException"), e); } } } Loading @@ -791,7 +794,8 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startShortcutAndTaskWithLegacyTransition(shortcutInfo, options1, taskId, options2, splitPosition, splitRatio, adapter, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startShortcutAndTaskWithLegacyTransition"); Log.w(TAG, splitFailureMessage( "startShortcutAndTaskWithLegacyTransition", "RemoteException"), e); } } } Loading @@ -811,7 +815,8 @@ public class SystemUiProxy implements ISystemUiProxy { shortcutInfo1, options1, pendingIntent2, userId2, shortcutInfo2, options2, sidePosition, splitRatio, adapter, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntentsWithLegacyTransition"); Log.w(TAG, splitFailureMessage( "startIntentsWithLegacyTransition", "RemoteException"), e); } } } Loading @@ -823,7 +828,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startShortcut(packageName, shortcutId, position, options, user, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startShortcut"); Log.w(TAG, splitFailureMessage("startShortcut", "RemoteException"), e); } } } Loading @@ -835,7 +840,7 @@ public class SystemUiProxy implements ISystemUiProxy { mSplitScreen.startIntent(intent, userId, fillInIntent, position, options, instanceId); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntent"); Log.w(TAG, splitFailureMessage("startIntent", "RemoteException"), e); } } } Loading
quickstep/src/com/android/quickstep/util/LogUtils.kt +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,11 @@ import com.android.internal.logging.InstanceIdSequence import com.android.launcher3.logging.InstanceId 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 * framework (if needing to pass through an intent or such) and one used in Launcher Loading
quickstep/src/com/android/quickstep/views/RecentsView.java +6 −0 Original line number Diff line number Diff line Loading @@ -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.SystemUiController.UI_STATE_FULLSCREEN_TASK; 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.DesktopTaskView.DESKTOP_MODE_SUPPORTED; import static com.android.quickstep.views.OverviewActionsView.FLAG_IS_NOT_TABLET; Loading Loading @@ -4725,6 +4726,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T return false; } if (mSplitSelectStateController.isBothSplitAppsConfirmed()) { Log.w(TAG, splitFailureMessage( "confirmSplitSelect", "both apps have already been set")); return true; } // Second task is selected either as an already-running Task or an Intent Loading @@ -4732,6 +4735,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T if (!task.isDockable) { // Task does not support split screen mSplitUnsupportedToast.show(); Log.w(TAG, splitFailureMessage("confirmSplitSelect", "selected Task (" + task.key.getPackageName() + ") is not dockable / does not support splitscreen")); return true; } mSplitSelectStateController.setSecondTask(task); Loading