Add app start source info of apps launched from launcher
Bug: 166614700
Test: Enable statsd log: "adb shell cmd stats print-logs"
adb logcat | grep statsd | grep "(48)"
The line may contain 0x100000->1[I] 0x110000->10[I]
that means 1=from launcher and 10=latency 10ms.
Change-Id: Iddaff7066b66e241ba58ec87129ddbe2c531dc7e
(cherry picked from commit 7bdf3574a3)
This commit is contained in:
@@ -26,10 +26,12 @@ import com.android.systemui.shared.system.InteractionJankMonitorWrapper;
|
||||
|
||||
import android.animation.AnimatorSet;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.app.ActivityOptions;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentSender;
|
||||
import android.os.Bundle;
|
||||
import android.os.CancellationSignal;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.launcher3.config.FeatureFlags;
|
||||
import com.android.launcher3.model.WellbeingModel;
|
||||
@@ -51,6 +53,7 @@ import com.android.quickstep.util.RemoteFadeOutAnimationListener;
|
||||
import com.android.quickstep.views.OverviewActionsView;
|
||||
import com.android.quickstep.views.RecentsView;
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
import com.android.systemui.shared.system.ActivityOptionsCompat;
|
||||
import com.android.systemui.shared.system.RemoteAnimationTargetCompat;
|
||||
|
||||
import java.util.stream.Stream;
|
||||
@@ -306,6 +309,15 @@ public abstract class BaseQuickstepLauncher extends Launcher
|
||||
Stream.of(WellbeingModel.SHORTCUT_FACTORY));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActivityOptions getActivityLaunchOptions(View v) {
|
||||
ActivityOptions activityOptions = super.getActivityLaunchOptions(v);
|
||||
if (activityOptions != null && mLastTouchUpTime > 0) {
|
||||
ActivityOptionsCompat.setLauncherSourceInfo(activityOptions, mLastTouchUpTime);
|
||||
}
|
||||
return activityOptions;
|
||||
}
|
||||
|
||||
public void setHintUserWillBeActive() {
|
||||
addActivityFlags(ACTIVITY_STATE_USER_WILL_BE_ACTIVE);
|
||||
}
|
||||
|
||||
@@ -77,6 +77,7 @@ import android.os.CancellationSignal;
|
||||
import android.os.Parcelable;
|
||||
import android.os.Process;
|
||||
import android.os.StrictMode;
|
||||
import android.os.SystemClock;
|
||||
import android.text.TextUtils;
|
||||
import android.text.method.TextKeyListener;
|
||||
import android.util.Log;
|
||||
@@ -350,7 +351,7 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
|
||||
private boolean mDeferOverlayCallbacks;
|
||||
private final Runnable mDeferredOverlayCallbacks = this::checkIfOverlayStillDeferred;
|
||||
|
||||
private long mLastTouchUpTime = -1;
|
||||
protected long mLastTouchUpTime = -1;
|
||||
private boolean mTouchInProgress;
|
||||
|
||||
private SafeCloseable mUserChangedCallbackCloseable;
|
||||
@@ -1828,7 +1829,7 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
|
||||
mTouchInProgress = true;
|
||||
break;
|
||||
case MotionEvent.ACTION_UP:
|
||||
mLastTouchUpTime = System.currentTimeMillis();
|
||||
mLastTouchUpTime = ev.getEventTime();
|
||||
// Follow through
|
||||
case MotionEvent.ACTION_CANCEL:
|
||||
mTouchInProgress = false;
|
||||
@@ -2461,7 +2462,7 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
|
||||
if (mDragController.isDragging()) {
|
||||
return false;
|
||||
} else {
|
||||
return (System.currentTimeMillis() - mLastTouchUpTime)
|
||||
return (SystemClock.uptimeMillis() - mLastTouchUpTime)
|
||||
> (NEW_APPS_ANIMATION_INACTIVE_TIMEOUT_SECONDS * 1000);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user