Merge "Making taskbar to stay stashed if user launches app for split screen view from all apps view" into tm-qpr-dev am: 4ffc71262d

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/20840305

Change-Id: Ia860db35051a564b00c6f1af54227fbda88ecad6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jagrut Desai
2023-02-15 23:53:38 +00:00
committed by Automerger Merge Worker
3 changed files with 15 additions and 4 deletions

View File

@@ -312,6 +312,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
@Override
public void onTaskbarIconLaunched(ItemInfo item) {
super.onTaskbarIconLaunched(item);
InstanceId instanceId = new InstanceIdSequence().newInstanceId();
mLauncher.logAppLaunch(mControllers.taskbarActivityContext.getStatsLogManager(), item,
instanceId);

View File

@@ -836,15 +836,17 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
launchFromTaskbarPreservingSplitIfVisible(recents, info);
}
mControllers.uiController.onTaskbarIconLaunched(info);
} catch (NullPointerException
| ActivityNotFoundException
| SecurityException e) {
Toast.makeText(this, R.string.activity_not_found, Toast.LENGTH_SHORT)
.show();
Log.e(TAG, "Unable to launch. tag=" + info + " intent=" + intent, e);
return;
}
}
mControllers.uiController.onTaskbarIconLaunched(info);
mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
}
} else if (tag instanceof AppInfo) {
@@ -858,8 +860,8 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
taskbarUIController.triggerSecondAppForSplit(info, info.intent, view);
} else {
launchFromTaskbarPreservingSplitIfVisible(recents, info);
mControllers.uiController.onTaskbarIconLaunched(info);
}
mControllers.uiController.onTaskbarIconLaunched(info);
mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
} else if (tag instanceof ItemClickProxy) {
((ItemClickProxy) tag).onItemClicked(view);

View File

@@ -17,6 +17,8 @@ package com.android.launcher3.taskbar;
import static android.app.ActivityTaskManager.INVALID_TASK_ID;
import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_APP;
import android.content.Intent;
import android.graphics.drawable.BitmapDrawable;
import android.view.MotionEvent;
@@ -74,7 +76,13 @@ public class TaskbarUIController {
protected void onStashedInAppChanged() { }
/** Called when an icon is launched. */
public void onTaskbarIconLaunched(ItemInfo item) { }
@CallSuper
public void onTaskbarIconLaunched(ItemInfo item) {
// When launching from Taskbar, e.g. from Overview, set FLAG_IN_APP immediately instead of
// waiting for onPause, to reduce potential visual noise during the app open transition.
mControllers.taskbarStashController.updateStateForFlag(FLAG_IN_APP, true);
mControllers.taskbarStashController.applyState();
}
public View getRootView() {
return mControllers.taskbarActivityContext.getDragLayer();
@@ -104,7 +112,7 @@ public class TaskbarUIController {
public void onExpandPip() {
if (mControllers != null) {
final TaskbarStashController stashController = mControllers.taskbarStashController;
stashController.updateStateForFlag(TaskbarStashController.FLAG_IN_APP, true);
stashController.updateStateForFlag(FLAG_IN_APP, true);
stashController.applyState();
}
}