summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
authorKarthik Gopalan <quic_gkarth@quicinc.com>2022-03-15 15:11:06 +0530
committerThirupathi Reddy R <quic_treddyr@quicinc.com>2022-04-12 17:04:17 +0530
commit42c9c66a229b6e4beeae75947091b0b7d0d19bed (patch)
treee0168b93d71a6eaae67a81f195a64b0a38f3846a /services
parent56d6467dd88fb3f1381097905594ae9da4454894 (diff)
perf: Enable Animation-Boost & Activity Trigger
Enable Animation Boost & Activity Trigger, which was refactored. CRs-Fixed: 3158078 Bug: 226046354 Change-Id: Ie3858d2e0afc5e08bac9edb673f89ecef8f4218c
Diffstat (limited to 'services')
-rw-r--r--services/core/java/com/android/server/wm/Task.java6
-rw-r--r--services/core/java/com/android/server/wm/TaskFragment.java59
2 files changed, 32 insertions, 33 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index ba5e32891255..69c3c6e46346 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -195,7 +195,6 @@ import android.window.WindowContainerToken;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.app.ActivityTrigger;
import com.android.internal.app.IVoiceInteractor;
import com.android.internal.protolog.common.ProtoLog;
import com.android.internal.util.XmlUtils;
@@ -284,9 +283,6 @@ class Task extends TaskFragment {
// code.
static final int PERSIST_TASK_VERSION = 1;
- //ActivityTrigger
- static final ActivityTrigger mActivityTrigger = new ActivityTrigger();
-
private float mShadowRadius = 0;
/**
@@ -306,8 +302,6 @@ class Task extends TaskFragment {
// Do not move the root task as a part of reparenting
static final int REPARENT_LEAVE_ROOT_TASK_IN_PLACE = 2;
- public BoostFramework mPerf = null;
-
// The topmost Activity passed to convertToTranslucent(). When non-null it means we are
// waiting for all Activities in mUndrawnActivitiesBelowTopTranslucent to be removed as they
// are drawn. When the last member of mUndrawnActivitiesBelowTopTranslucent is removed the
diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java
index ad51387210d9..7f890fc7469c 100644
--- a/services/core/java/com/android/server/wm/TaskFragment.java
+++ b/services/core/java/com/android/server/wm/TaskFragment.java
@@ -82,6 +82,7 @@ import android.graphics.Point;
import android.graphics.Rect;
import android.os.IBinder;
import android.os.RemoteException;
+import android.util.BoostFramework;
import android.util.DisplayMetrics;
import android.util.Slog;
import android.util.proto.ProtoOutputStream;
@@ -93,6 +94,7 @@ import android.window.TaskFragmentInfo;
import android.window.TaskFragmentOrganizerToken;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.app.ActivityTrigger;
import com.android.internal.protolog.common.ProtoLog;
import com.android.internal.util.function.pooled.PooledFunction;
import com.android.internal.util.function.pooled.PooledLambda;
@@ -240,6 +242,12 @@ class TaskFragment extends WindowContainer<WindowContainer> {
@Nullable
private IBinder mFragmentToken;
+ //Perf
+ public BoostFramework mPerf = null;
+
+ //ActivityTrigger
+ static final ActivityTrigger mActivityTrigger = new ActivityTrigger();
+
/**
* Whether to delay the last activity of TaskFragment being immediately removed while finishing.
* This should only be set on a embedded TaskFragment, where the organizer can have the
@@ -1048,14 +1056,14 @@ class TaskFragment extends WindowContainer<WindowContainer> {
if (DEBUG_SWITCH) Slog.v(TAG_SWITCH, "Resuming " + next);
- // TODO(b/223439401) adjust the value-add
- // //Trigger Activity Resume
- // if (mActivityTrigger != null) {
- // mActivityTrigger.activityResumeTrigger(next.intent, next.info,
- // next.info.applicationInfo,
- // next.occludesParent());
- // }
+ //Trigger Activity Resume
+ if (mActivityTrigger != null) {
+ mActivityTrigger.activityResumeTrigger(next.intent, next.info,
+ next.info.applicationInfo,
+ next.occludesParent());
+ }
+ // TODO(b/223439401) adjust the value-add
// if (mActivityPluginDelegate != null && getWindowingMode() != WINDOWING_MODE_UNDEFINED) {
// mActivityPluginDelegate.activityInvokeNotification
// (next.info.packageName, getWindowingMode() == WINDOWING_MODE_FULLSCREEN);
@@ -1162,10 +1170,9 @@ class TaskFragment extends WindowContainer<WindowContainer> {
// to ignore it when computing the desired screen orientation.
boolean anim = true;
final DisplayContent dc = taskDisplayArea.mDisplayContent;
- // TODO(b/223439401) adjust the value-add
- // if (mPerf == null) {
- // mPerf = new BoostFramework();
- // }
+ if (mPerf == null) {
+ mPerf = new BoostFramework();
+ }
if (prev != null) {
if (prev.finishing) {
if (DEBUG_TRANSITION) {
@@ -1175,11 +1182,10 @@ class TaskFragment extends WindowContainer<WindowContainer> {
anim = false;
dc.prepareAppTransition(TRANSIT_NONE);
} else {
- // TODO(b/223439401) adjust the value-add
- // if(prev.getTask() != next.getTask() && mPerf != null) {
- // mPerf.perfHint(BoostFramework.VENDOR_HINT_ANIM_BOOST,
- // next.packageName);
- // }
+ if(prev.getTask() != next.getTask() && mPerf != null) {
+ mPerf.perfHint(BoostFramework.VENDOR_HINT_ANIM_BOOST,
+ next.packageName);
+ }
dc.prepareAppTransition(TRANSIT_CLOSE);
}
prev.setVisibility(false);
@@ -1191,11 +1197,10 @@ class TaskFragment extends WindowContainer<WindowContainer> {
anim = false;
dc.prepareAppTransition(TRANSIT_NONE);
} else {
- // TODO(b/223439401) adjust the value-add
- // if(prev.getTask() != next.getTask() && mPerf != null) {
- // mPerf.perfHint(BoostFramework.VENDOR_HINT_ANIM_BOOST,
- // next.packageName);
- // }
+ if(prev.getTask() != next.getTask() && mPerf != null) {
+ mPerf.perfHint(BoostFramework.VENDOR_HINT_ANIM_BOOST,
+ next.packageName);
+ }
dc.prepareAppTransition(TRANSIT_OPEN,
next.mLaunchTaskBehind ? TRANSIT_FLAG_OPEN_BEHIND : 0);
}
@@ -1458,13 +1463,13 @@ class TaskFragment extends WindowContainer<WindowContainer> {
return false;
}
- // TODO(b/223439401) adjust the value-add
- // //Trigger Activity Pause
- // if (mActivityTrigger != null) {
- // mActivityTrigger.activityPauseTrigger(prev.intent, prev.info,
- // prev.info.applicationInfo);
- // }
+ //Trigger Activity Pause
+ if (mActivityTrigger != null) {
+ mActivityTrigger.activityPauseTrigger(prev.intent, prev.info,
+ prev.info.applicationInfo);
+ }
+ // TODO(b/223439401) adjust the value-add
// if (mActivityPluginDelegate != null && getWindowingMode() != WINDOWING_MODE_UNDEFINED) {
// mActivityPluginDelegate.activitySuspendNotification
// (prev.info.packageName, getWindowingMode() == WINDOWING_MODE_FULLSCREEN, true);