PORT-WIP - move to androidx.tracing.Trace

This commit is contained in:
Alex Sim committed 2026-03-09 12:24:35 +01:00
1 parent f455b2c540
commit 2229665e50
26 files changed
+53 -51

No files matched your search

+1
View File
@@ -258,6 +258,7 @@ dependencies {
implementation libs.androidx.window implementation libs.androidx.window
implementation libs.androidx.core.animation implementation libs.androidx.core.animation
implementation libs.androidx.material3 implementation libs.androidx.material3
implementation libs.androidx.tracing
implementation libs.material implementation libs.material
implementation libs.kotlinx.coroutines implementation libs.kotlinx.coroutines
+2
View File
@@ -8,6 +8,7 @@ baselineprofile = "1.4.1"
core = "1.17.0" core = "1.17.0"
annotation = "1.9.1" annotation = "1.9.1"
activity = "1.13.0-alpha01" activity = "1.13.0-alpha01"
tracing = "2.0.0-alpha01"
coreAnimation = "1.0.0" coreAnimation = "1.0.0"
dagger = "2.57.2" dagger = "2.57.2"
dexmaker = "1.2" dexmaker = "1.2"
@@ -101,6 +102,7 @@ androidx-slice-builders = { module = "androidx.slice:slice-builders", version.re
androidx-window = { module = "androidx.window:window", version.ref = "window" } androidx-window = { module = "androidx.window:window", version.ref = "window" }
androidx-fragment = { module = "androidx.fragment:fragment", version.ref = "fragment" } androidx-fragment = { module = "androidx.fragment:fragment", version.ref = "fragment" }
androidx-activity = { module = "androidx.activity:activity", version.ref = "activity" } androidx-activity = { module = "androidx.activity:activity", version.ref = "activity" }
androidx-tracing = { module = "androidx.tracing:tracing", version.ref = "tracing" }
annotation = { module = "androidx.annotation:annotation", version.ref = "annotation" } annotation = { module = "androidx.annotation:annotation", version.ref = "annotation" }
core = { module = "androidx.core:core", version.ref = "core" } core = { module = "androidx.core:core", version.ref = "core" }
dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" } dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" }
+1
View File
@@ -28,5 +28,6 @@ android {
dependencies { dependencies {
implementation libs.androidx.palette.ktx implementation libs.androidx.palette.ktx
implementation libs.androidx.tracing
compileOnly project(':flags') compileOnly project(':flags')
} }
@@ -34,13 +34,13 @@ import android.graphics.BitmapFactory.Options
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.os.Trace
import android.os.UserHandle import android.os.UserHandle
import android.text.TextUtils import android.text.TextUtils
import android.util.Log import android.util.Log
import android.util.SparseArray import android.util.SparseArray
import androidx.annotation.VisibleForTesting import androidx.annotation.VisibleForTesting
import androidx.annotation.WorkerThread import androidx.annotation.WorkerThread
import androidx.tracing.Trace
import com.android.launcher3.Flags import com.android.launcher3.Flags
import com.android.launcher3.icons.cache.StaticFlags.extendibleThemeManager import com.android.launcher3.icons.cache.StaticFlags.extendibleThemeManager
import com.android.launcher3.icons.BaseIconFactory import com.android.launcher3.icons.BaseIconFactory
@@ -50,7 +50,6 @@ import android.content.res.Configuration;
import android.hardware.display.DisplayManager; import android.hardware.display.DisplayManager;
import android.net.Uri; import android.net.Uri;
import android.os.Handler; import android.os.Handler;
import android.os.Trace;
import android.provider.Settings; import android.provider.Settings;
import android.util.ArraySet; import android.util.ArraySet;
import android.util.Log; import android.util.Log;
@@ -65,6 +64,7 @@ import android.window.DesktopExperienceFlags;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.tracing.Trace;
import com.android.launcher3.DeviceProfile; import com.android.launcher3.DeviceProfile;
import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.InvariantDeviceProfile;
@@ -1346,7 +1346,7 @@ public class TaskbarManager implements DisplayDecorationListener {
@Override @Override
public void onConfigurationChanged(Configuration newConfig) { public void onConfigurationChanged(Configuration newConfig) {
Trace.instantForTrack(Trace.TRACE_TAG_APP, "TaskbarManager", android.os.Trace.instantForTrack(android.os.Trace.TRACE_TAG_APP, "TaskbarManager",
"onConfigurationChanged: " + newConfig); "onConfigurationChanged: " + newConfig);
debugTaskbarManager("onConfigurationChanged: " + newConfig, displayId); debugTaskbarManager("onConfigurationChanged: " + newConfig, displayId);
@@ -23,11 +23,11 @@ import android.os.Binder.ProxyTransactListener;
import android.os.IBinder; import android.os.IBinder;
import android.os.Looper; import android.os.Looper;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.Trace;
import android.util.Log; import android.util.Log;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.tracing.Trace;
import com.android.launcher3.util.SafeCloseable; import com.android.launcher3.util.SafeCloseable;
import com.android.launcher3.util.TraceHelper; import com.android.launcher3.util.TraceHelper;
@@ -20,7 +20,6 @@ import android.animation.AnimatorListenerAdapter
import android.content.Intent import android.content.Intent
import android.graphics.PointF import android.graphics.PointF
import android.os.SystemClock import android.os.SystemClock
import android.os.Trace
import android.util.Log import android.util.Log
import android.view.Display.DEFAULT_DISPLAY import android.view.Display.DEFAULT_DISPLAY
import android.view.View import android.view.View
@@ -28,6 +27,7 @@ import android.window.TransitionInfo
import androidx.annotation.BinderThread import androidx.annotation.BinderThread
import androidx.annotation.UiThread import androidx.annotation.UiThread
import androidx.annotation.VisibleForTesting import androidx.annotation.VisibleForTesting
import androidx.tracing.Trace
import com.android.app.tracing.traceSection import com.android.app.tracing.traceSection
import com.android.internal.jank.Cuj import com.android.internal.jank.Cuj
import com.android.launcher3.Flags.enableAltTabKqsOnConnectedDisplays import com.android.launcher3.Flags.enableAltTabKqsOnConnectedDisplays
@@ -18,11 +18,12 @@ package com.android.quickstep;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.Looper; import android.os.Looper;
import android.os.Trace;
import android.os.UserManager; import android.os.UserManager;
import android.util.Log; import android.util.Log;
import android.view.ThreadedRenderer; import android.view.ThreadedRenderer;
import androidx.tracing.Trace;
import com.android.launcher3.BuildConfig; import com.android.launcher3.BuildConfig;
import com.android.launcher3.MainProcessInitializer; import com.android.launcher3.MainProcessInitializer;
import com.android.quickstep.util.QuickstepProtoLogGroup; import com.android.quickstep.util.QuickstepProtoLogGroup;
@@ -18,8 +18,8 @@ package com.android.quickstep.util
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Trace
import android.view.Display.DEFAULT_DISPLAY import android.view.Display.DEFAULT_DISPLAY
import androidx.tracing.Trace
import com.android.launcher3.provider.RestoreDbTask import com.android.launcher3.provider.RestoreDbTask
import com.android.launcher3.util.Executors import com.android.launcher3.util.Executors
import com.android.launcher3.util.LockedUserState import com.android.launcher3.util.LockedUserState
@@ -20,12 +20,12 @@ import static com.android.launcher3.LauncherAnimUtils.SCALE_INDEX_UNFOLD_ANIMATI
import static com.android.launcher3.LauncherAnimUtils.WORKSPACE_SCALE_PROPERTY_FACTORY; import static com.android.launcher3.LauncherAnimUtils.WORKSPACE_SCALE_PROPERTY_FACTORY;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.os.Trace;
import android.util.FloatProperty; import android.util.FloatProperty;
import android.util.MathUtils; import android.util.MathUtils;
import android.view.WindowManager; import android.view.WindowManager;
import androidx.core.view.OneShotPreDrawListener; import androidx.core.view.OneShotPreDrawListener;
import androidx.tracing.Trace;
import com.android.launcher3.DeviceProfile; import com.android.launcher3.DeviceProfile;
import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener; import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
@@ -122,15 +122,13 @@ public class LauncherUnfoldAnimationController implements OnDeviceProfileChangeL
} }
private void preemptivelyStartAnimationOnNextFrame() { private void preemptivelyStartAnimationOnNextFrame() {
Trace.asyncTraceBegin(Trace.TRACE_TAG_APP, Trace.beginAsyncSection(TRACE_WAIT_TO_HANDLE_UNFOLD_TRANSITION, /* cookie= */ 0);
TRACE_WAIT_TO_HANDLE_UNFOLD_TRANSITION, /* cookie= */ 0);
// Start the animation (and apply the transformations) in pre-draw listener to make sure // Start the animation (and apply the transformations) in pre-draw listener to make sure
// that the views are laid out as some transformations depend on the view sizes and position // that the views are laid out as some transformations depend on the view sizes and position
OneShotPreDrawListener.add(mLauncher.getWorkspace(), OneShotPreDrawListener.add(mLauncher.getWorkspace(),
() -> { () -> {
Trace.asyncTraceEnd(Trace.TRACE_TAG_APP, Trace.endAsyncSection(TRACE_WAIT_TO_HANDLE_UNFOLD_TRANSITION, /* cookie= */ 0);
TRACE_WAIT_TO_HANDLE_UNFOLD_TRANSITION, /* cookie= */ 0);
mPreemptiveProgressProvider.preemptivelyStartTransition( mPreemptiveProgressProvider.preemptivelyStartTransition(
/* initialProgress= */ 0f); /* initialProgress= */ 0f);
}); });
@@ -16,8 +16,8 @@
package com.android.quickstep.util.unfold package com.android.quickstep.util.unfold
import android.app.Activity import android.app.Activity
import android.os.Trace
import android.view.Surface import android.view.Surface
import androidx.tracing.Trace
import com.android.launcher3.Alarm import com.android.launcher3.Alarm
import com.android.launcher3.DeviceProfile import com.android.launcher3.DeviceProfile
import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener
@@ -16,8 +16,8 @@
package com.android.quickstep.util.unfold package com.android.quickstep.util.unfold
import android.os.Handler import android.os.Handler
import android.os.Trace
import android.util.Log import android.util.Log
import androidx.tracing.Trace
import com.android.systemui.unfold.UnfoldTransitionProgressProvider import com.android.systemui.unfold.UnfoldTransitionProgressProvider
import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener
@@ -17,8 +17,6 @@
package com.android.quickstep.views; package com.android.quickstep.views;
import static android.app.ActivityTaskManager.INVALID_TASK_ID; import static android.app.ActivityTaskManager.INVALID_TASK_ID;
import static android.os.Trace.traceBegin;
import static android.os.Trace.traceEnd;
import static android.view.Surface.ROTATION_0; import static android.view.Surface.ROTATION_0;
import static android.view.View.MeasureSpec.EXACTLY; import static android.view.View.MeasureSpec.EXACTLY;
import static android.view.View.MeasureSpec.makeMeasureSpec; import static android.view.View.MeasureSpec.makeMeasureSpec;
@@ -104,7 +102,6 @@ import android.graphics.Typeface;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
import android.os.SystemClock; import android.os.SystemClock;
import android.os.Trace;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.VibrationEffect; import android.os.VibrationEffect;
import android.text.Layout; import android.text.Layout;
@@ -139,6 +136,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.UiThread; import androidx.annotation.UiThread;
import androidx.core.graphics.ColorUtils; import androidx.core.graphics.ColorUtils;
import androidx.dynamicanimation.animation.SpringAnimation; import androidx.dynamicanimation.animation.SpringAnimation;
import androidx.tracing.Trace;
import com.android.internal.jank.Cuj; import com.android.internal.jank.Cuj;
import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.AbstractFloatingView;
@@ -1298,7 +1296,7 @@ public abstract class RecentsView<
@Override @Override
public void onViewRemoved(View child) { public void onViewRemoved(View child) {
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.onViewRemoved"); Trace.beginSection("RecentsView.onViewRemoved");
super.onViewRemoved(child); super.onViewRemoved(child);
// Clear the task data for the removed child if it was visible unless: // Clear the task data for the removed child if it was visible unless:
// - It's the initial taskview for entering split screen, we only pretend to dismiss the // - It's the initial taskview for entering split screen, we only pretend to dismiss the
@@ -1310,7 +1308,7 @@ public abstract class RecentsView<
clearAndRecycleTaskView((TaskView) child); clearAndRecycleTaskView((TaskView) child);
} }
} }
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
} }
private void clearAndRecycleTaskView(TaskView taskView) { private void clearAndRecycleTaskView(TaskView taskView) {
@@ -1329,7 +1327,7 @@ public abstract class RecentsView<
@Override @Override
public void onViewAdded(View child) { public void onViewAdded(View child) {
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.onViewAdded"); Trace.beginSection("RecentsView.onViewAdded");
super.onViewAdded(child); super.onViewAdded(child);
if (child instanceof TaskView) { if (child instanceof TaskView) {
mTaskViewCount++; mTaskViewCount++;
@@ -1340,7 +1338,7 @@ public abstract class RecentsView<
child.setLayoutDirection(mIsRtl ? View.LAYOUT_DIRECTION_LTR : View.LAYOUT_DIRECTION_RTL); child.setLayoutDirection(mIsRtl ? View.LAYOUT_DIRECTION_LTR : View.LAYOUT_DIRECTION_RTL);
mActionsView.updateHiddenFlags(HIDDEN_NO_TASKS, false); mActionsView.updateHiddenFlags(HIDDEN_NO_TASKS, false);
updateEmptyMessage(); updateEmptyMessage();
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
} }
@Override @Override
@@ -1938,7 +1936,7 @@ public abstract class RecentsView<
} }
// Start here to avoid early returns and empty cases which have special logic // Start here to avoid early returns and empty cases which have special logic
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.applyLoadPlan"); Trace.beginSection("RecentsView.applyLoadPlan");
TaskView currentTaskView = getTaskViewAt(mCurrentPage); TaskView currentTaskView = getTaskViewAt(mCurrentPage);
int[] currentTaskIds = null; int[] currentTaskIds = null;
@@ -1985,9 +1983,9 @@ public abstract class RecentsView<
// TaskIds will no longer be valid after remove and re-add, clearing mTopRowIdSet. // TaskIds will no longer be valid after remove and re-add, clearing mTopRowIdSet.
mAnyTaskHasBeenDismissed = false; mAnyTaskHasBeenDismissed = false;
mTopRowIdSet.clear(); mTopRowIdSet.clear();
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.applyLoadPlan.removeAllViews"); Trace.beginSection("RecentsView.applyLoadPlan.removeAllViews");
removeAllViews(); removeAllViews();
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
// If we are entering Overview as a result of initiating a split from somewhere else // If we are entering Overview as a result of initiating a split from somewhere else
// (e.g. split from Home), we need to make sure the staged app is not drawn as a thumbnail. // (e.g. split from Home), we need to make sure the staged app is not drawn as a thumbnail.
int stagedTaskIdToBeRemoved; int stagedTaskIdToBeRemoved;
@@ -2014,7 +2012,7 @@ public abstract class RecentsView<
// Add `mAddDesktopButton` as the first child. // Add `mAddDesktopButton` as the first child.
addView(mAddDesktopButton); addView(mAddDesktopButton);
} }
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.applyLoadPlan.forLoop"); Trace.beginSection("RecentsView.applyLoadPlan.forLoop");
// Add views as children based on whether it's grouped or single task. Looping through // Add views as children based on whether it's grouped or single task. Looping through
// taskGroups backwards populates the thumbnail grid from least recent to most recent. // taskGroups backwards populates the thumbnail grid from least recent to most recent.
@@ -2034,11 +2032,11 @@ public abstract class RecentsView<
// If we need to remove half of a pair of tasks, force a TaskView with Type.SINGLE // If we need to remove half of a pair of tasks, force a TaskView with Type.SINGLE
// to be a temporary container for the remaining task. // to be a temporary container for the remaining task.
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.applyLoadPlan.forLoop.createTaskView"); Trace.beginSection("RecentsView.applyLoadPlan.forLoop.createTaskView");
TaskView taskView = getTaskViewFromPool( TaskView taskView = getTaskViewFromPool(
containsStagedTask ? TaskViewType.SINGLE : groupTask.taskViewType); containsStagedTask ? TaskViewType.SINGLE : groupTask.taskViewType);
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.applyLoadPlan.forLoop.bind"); Trace.beginSection("RecentsView.applyLoadPlan.forLoop.bind");
if (taskView instanceof GroupedTaskView groupedTaskView) { if (taskView instanceof GroupedTaskView groupedTaskView) {
var splitTask = (SplitTask) groupTask; var splitTask = (SplitTask) groupTask;
groupedTaskView.bind(splitTask.getTopLeftTask(), groupedTaskView.bind(splitTask.getTopLeftTask(),
@@ -2056,10 +2054,10 @@ public abstract class RecentsView<
taskView.bind(((SingleTask) groupTask).getTask(), mOrientationState, taskView.bind(((SingleTask) groupTask).getTask(), mOrientationState,
mTaskOverlayFactory); mTaskOverlayFactory);
} }
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.applyLoadPlan.forLoop.addTaskView"); Trace.beginSection("RecentsView.applyLoadPlan.forLoop.addTaskView");
addView(taskView); addView(taskView);
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
// enables instance filtering if the feature flag for it is on // enables instance filtering if the feature flag for it is on
if (FeatureFlags.ENABLE_MULTI_INSTANCE.get()) { if (FeatureFlags.ENABLE_MULTI_INSTANCE.get()) {
@@ -2067,7 +2065,7 @@ public abstract class RecentsView<
} }
} }
// For loop end trace // For loop end trace
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
addView(mClearAllButton); addView(mClearAllButton);
@@ -2087,10 +2085,10 @@ public abstract class RecentsView<
setFocusedTaskViewId( setFocusedTaskViewId(
newFocusedTaskView != null ? newFocusedTaskView.getTaskViewId() : INVALID_TASK_ID); newFocusedTaskView != null ? newFocusedTaskView.getTaskViewId() : INVALID_TASK_ID);
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.applyLoadPlan.layouts"); Trace.beginSection("RecentsView.applyLoadPlan.layouts");
updateTaskSize(); updateTaskSize();
mUtils.updateChildTaskOrientations(); mUtils.updateChildTaskOrientations();
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
TaskView newRunningTaskView = mUtils.getDesktopTaskViewForDeskId(runningTaskViewDeskId); TaskView newRunningTaskView = mUtils.getDesktopTaskViewForDeskId(runningTaskViewDeskId);
if (newRunningTaskView == null) { if (newRunningTaskView == null) {
@@ -2145,7 +2143,7 @@ public abstract class RecentsView<
}); });
} }
traceBegin(Trace.TRACE_TAG_APP, "RecentsView.applyLoadPlan.cleanupStates"); Trace.beginSection("RecentsView.applyLoadPlan.cleanupStates");
if (mIgnoreResetTaskId != INVALID_TASK_ID && if (mIgnoreResetTaskId != INVALID_TASK_ID &&
getTaskViewByTaskId(mIgnoreResetTaskId) != ignoreResetTaskView) { getTaskViewByTaskId(mIgnoreResetTaskId) != ignoreResetTaskView) {
// If the taskView mapping is changing, do not preserve the visuals. Since we are // If the taskView mapping is changing, do not preserve the visuals. Since we are
@@ -2160,10 +2158,10 @@ public abstract class RecentsView<
if (isPageScrollsInitialized()) { if (isPageScrollsInitialized()) {
onPageScrollsInitialized(); onPageScrollsInitialized();
} }
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
// applyLoadPlan end trace // applyLoadPlan end trace
traceEnd(Trace.TRACE_TAG_APP); Trace.endSection();
} }
private boolean isModal() { private boolean isModal() {
@@ -45,7 +45,6 @@ import android.content.res.XmlResourceParser;
import android.graphics.Point; import android.graphics.Point;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.Rect; import android.graphics.Rect;
import android.os.Trace;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
@@ -59,6 +58,7 @@ import androidx.annotation.StyleRes;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.annotation.XmlRes; import androidx.annotation.XmlRes;
import androidx.core.content.res.ResourcesCompat; import androidx.core.content.res.ResourcesCompat;
import androidx.tracing.Trace;
import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.dagger.ApplicationContext; import com.android.launcher3.dagger.ApplicationContext;
+1 -1
View File
@@ -135,7 +135,6 @@ import android.os.Bundle;
import android.os.Parcelable; import android.os.Parcelable;
import android.os.StrictMode; import android.os.StrictMode;
import android.os.SystemClock; import android.os.SystemClock;
import android.os.Trace;
import android.os.UserHandle; import android.os.UserHandle;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.method.TextKeyListener; import android.text.method.TextKeyListener;
@@ -168,6 +167,7 @@ import androidx.annotation.RequiresApi;
import androidx.annotation.UiThread; import androidx.annotation.UiThread;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.core.os.BuildCompat; import androidx.core.os.BuildCompat;
import androidx.tracing.Trace;
import androidx.window.embedding.RuleController; import androidx.window.embedding.RuleController;
import com.android.launcher3.DropTarget.DragObject; import com.android.launcher3.DropTarget.DragObject;
+1 -1
View File
@@ -2,9 +2,9 @@ package com.android.launcher3
import android.annotation.TargetApi import android.annotation.TargetApi
import android.os.Build import android.os.Build
import android.os.Trace
import android.util.Log import android.util.Log
import androidx.annotation.UiThread import androidx.annotation.UiThread
import androidx.tracing.Trace
import com.android.launcher3.Flags.enableSmartspaceRemovalToggle import com.android.launcher3.Flags.enableSmartspaceRemovalToggle
import com.android.launcher3.LauncherConstants.TraceEvents import com.android.launcher3.LauncherConstants.TraceEvents
import com.android.launcher3.Utilities.SHOULD_SHOW_FIRST_PAGE_WIDGET import com.android.launcher3.Utilities.SHOULD_SHOW_FIRST_PAGE_WIDGET
@@ -29,12 +29,12 @@ import android.content.Context;
import android.graphics.Point; import android.graphics.Point;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.Rect; import android.graphics.Rect;
import android.os.Trace;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.tracing.Trace;
import com.android.launcher3.CellLayout.ContainerType; import com.android.launcher3.CellLayout.ContainerType;
import com.android.launcher3.celllayout.CellLayoutLayoutParams; import com.android.launcher3.celllayout.CellLayoutLayoutParams;
@@ -45,7 +45,6 @@ import android.animation.ObjectAnimator;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Trace;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.util.Log; import android.util.Log;
@@ -61,6 +60,7 @@ import androidx.annotation.VisibleForTesting;
import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.LinearSmoothScroller; import androidx.recyclerview.widget.LinearSmoothScroller;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import androidx.tracing.Trace;
import com.android.app.animation.Interpolators; import com.android.app.animation.Interpolators;
import com.android.launcher3.BuildConfig; import com.android.launcher3.BuildConfig;
@@ -22,9 +22,10 @@ import android.animation.AnimatorSet;
import android.animation.ObjectAnimator; import android.animation.ObjectAnimator;
import android.animation.TimeInterpolator; import android.animation.TimeInterpolator;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.os.Trace;
import android.util.FloatProperty; import android.util.FloatProperty;
import androidx.tracing.Trace;
import com.android.launcher3.anim.AnimatorPlaybackController.Holder; import com.android.launcher3.anim.AnimatorPlaybackController.Holder;
import java.util.ArrayList; import java.util.ArrayList;
@@ -109,7 +110,7 @@ public class PendingAnimation extends AnimatedPropertySetter {
if (Trace.isEnabled()) { if (Trace.isEnabled()) {
super.addOnFrameListener( super.addOnFrameListener(
animation -> Trace.setCounter( animation -> Trace.setCounter(
counterName, (long) (animation.getAnimatedFraction() * 100))); counterName, (int) (animation.getAnimatedFraction() * 100)));
} }
} }
@@ -36,7 +36,6 @@ import android.content.pm.ShortcutInfo;
import android.database.Cursor; import android.database.Cursor;
import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteException;
import android.os.Looper; import android.os.Looper;
import android.os.Trace;
import android.os.UserHandle; import android.os.UserHandle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
@@ -47,6 +46,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.core.util.Pair; import androidx.core.util.Pair;
import androidx.tracing.Trace;
import com.android.launcher3.Flags; import com.android.launcher3.Flags;
import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.InvariantDeviceProfile;
@@ -27,12 +27,12 @@ import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import static com.android.launcher3.util.Executors.MODEL_EXECUTOR; import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
import android.content.Context; import android.content.Context;
import android.os.Trace;
import android.util.Log; import android.util.Log;
import android.util.Pair; import android.util.Pair;
import android.view.View; import android.view.View;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.tracing.Trace;
import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.InvariantDeviceProfile;
import com.android.launcher3.LauncherModel; import com.android.launcher3.LauncherModel;
@@ -48,7 +48,6 @@ import android.content.pm.PackageInstaller.SessionInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutInfo;
import android.os.Bundle; import android.os.Bundle;
import android.os.Trace;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.provider.Settings; import android.provider.Settings;
@@ -59,6 +58,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.annotation.WorkerThread; import androidx.annotation.WorkerThread;
import androidx.tracing.Trace;
import com.android.launcher3.Flags; import com.android.launcher3.Flags;
import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.InvariantDeviceProfile;
@@ -23,11 +23,11 @@ import static com.android.launcher3.LauncherState.FLAG_NON_INTERACTIVE;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Trace;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import androidx.annotation.CallSuper; import androidx.annotation.CallSuper;
import androidx.tracing.Trace;
import com.android.launcher3.BaseActivity; import com.android.launcher3.BaseActivity;
import com.android.launcher3.LauncherRootView; import com.android.launcher3.LauncherRootView;
@@ -16,9 +16,9 @@
package com.android.launcher3.util; package com.android.launcher3.util;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.os.Trace;
import androidx.annotation.MainThread; import androidx.annotation.MainThread;
import androidx.tracing.Trace;
import kotlin.random.Random; import kotlin.random.Random;
@@ -22,7 +22,6 @@ import android.graphics.Rect;
import android.os.Handler; import android.os.Handler;
import android.os.Parcelable; import android.os.Parcelable;
import android.os.SystemClock; import android.os.SystemClock;
import android.os.Trace;
import android.util.Log; import android.util.Log;
import android.util.SparseArray; import android.util.SparseArray;
import android.util.SparseBooleanArray; import android.util.SparseBooleanArray;
@@ -37,6 +36,7 @@ import android.widget.RemoteViews;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.tracing.Trace;
import com.android.launcher3.CheckLongPressHelper; import com.android.launcher3.CheckLongPressHelper;
import com.android.launcher3.Flags; import com.android.launcher3.Flags;
@@ -55,7 +55,6 @@ import android.os.DeadObjectException;
import android.os.Parcelable; import android.os.Parcelable;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.SystemClock; import android.os.SystemClock;
import android.os.Trace;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.InputDevice; import android.view.InputDevice;
@@ -78,6 +77,7 @@ import androidx.test.uiautomator.StaleObjectException;
import androidx.test.uiautomator.UiDevice; import androidx.test.uiautomator.UiDevice;
import androidx.test.uiautomator.UiObject2; import androidx.test.uiautomator.UiObject2;
import androidx.test.uiautomator.Until; import androidx.test.uiautomator.Until;
import androidx.tracing.Trace;
import com.android.launcher3.testing.shared.ResourceUtils; import com.android.launcher3.testing.shared.ResourceUtils;
import com.android.launcher3.testing.shared.TestProtocol; import com.android.launcher3.testing.shared.TestProtocol;