Loading core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java +10 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.Intent; import android.content.pm.IPackageManager; import android.content.pm.ResolveInfo; import android.os.AsyncTask; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.stats.devicepolicy.DevicePolicyEnums; Loading Loading @@ -286,7 +287,10 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { * <p>Returns {@code true} if rebuild has completed. */ boolean rebuildActiveTab(boolean doPostProcessing) { return rebuildTab(getActiveListAdapter(), doPostProcessing); Trace.beginSection("MultiProfilePagerAdapter#rebuildActiveTab"); boolean result = rebuildTab(getActiveListAdapter(), doPostProcessing); Trace.endSection(); return result; } /** Loading @@ -294,10 +298,14 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { * <p>Returns {@code true} if rebuild has completed. */ boolean rebuildInactiveTab(boolean doPostProcessing) { Trace.beginSection("MultiProfilePagerAdapter#rebuildInactiveTab"); if (getItemCount() == 1) { Trace.endSection(); return false; } return rebuildTab(getInactiveListAdapter(), doPostProcessing); boolean result = rebuildTab(getInactiveListAdapter(), doPostProcessing); Trace.endSection(); return result; } private int userHandleToPageIndex(UserHandle userHandle) { Loading core/java/com/android/internal/app/ChooserActivity.java +9 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.internal.app; import static com.android.internal.util.LatencyTracker.ACTION_LOAD_SHARE_SHEET; import static java.lang.annotation.RetentionPolicy.SOURCE; import android.animation.Animator; Loading Loading @@ -509,6 +511,8 @@ public class ChooserActivity extends ResolverActivity implements @Override protected void onCreate(Bundle savedInstanceState) { final long intentReceivedTime = System.currentTimeMillis(); mLatencyTracker.onActionStart(ACTION_LOAD_SHARE_SHEET); getChooserActivityLogger().logSharesheetTriggered(); // This is the only place this value is being set. Effectively final. mIsAppPredictorComponentAvailable = isAppPredictionServiceAvailable(); Loading Loading @@ -1538,6 +1542,10 @@ public class ChooserActivity extends ResolverActivity implements protected void onDestroy() { super.onDestroy(); if (isFinishing()) { mLatencyTracker.onActionCancel(ACTION_LOAD_SHARE_SHEET); } if (mRefinementResultReceiver != null) { mRefinementResultReceiver.destroy(); mRefinementResultReceiver = null; Loading Loading @@ -2665,6 +2673,7 @@ public class ChooserActivity extends ResolverActivity implements if (rebuildComplete) { getChooserActivityLogger().logSharesheetAppLoadComplete(); maybeQueryAdditionalPostProcessingTargets(chooserListAdapter); mLatencyTracker.onActionEnd(ACTION_LOAD_SHARE_SHEET); } } Loading core/java/com/android/internal/app/ChooserListAdapter.java +3 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.content.pm.ResolveInfo; import android.content.pm.ShortcutInfo; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.provider.DeviceConfig; Loading Loading @@ -667,8 +668,10 @@ public class ChooserListAdapter extends ResolverListAdapter { @Override protected List<ResolvedComponentInfo> doInBackground( List<ResolvedComponentInfo>... params) { Trace.beginSection("ChooserListAdapter#SortingTask"); mResolverListController.topK(params[0], mChooserListCommunicator.getMaxRankedTargets()); Trace.endSection(); return params[0]; } @Override Loading core/java/com/android/internal/app/ResolverActivity.java +11 −1 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import android.os.Bundle; import android.os.PatternMatcher; import android.os.RemoteException; import android.os.StrictMode; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.provider.MediaStore; Loading Loading @@ -98,6 +99,7 @@ import com.android.internal.app.chooser.TargetInfo; import com.android.internal.content.PackageMonitor; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.util.LatencyTracker; import com.android.internal.widget.ResolverDrawerLayout; import com.android.internal.widget.ViewPager; Loading Loading @@ -214,7 +216,11 @@ public class ResolverActivity extends Activity implements private UserHandle mWorkProfileUserHandle; protected final LatencyTracker mLatencyTracker = getLatencyTracker(); private LatencyTracker getLatencyTracker() { return LatencyTracker.getInstance(this); } /** * Get the string resource to be used as a label for the link to the resolver activity for an Loading Loading @@ -1433,6 +1439,7 @@ public class ResolverActivity extends Activity implements throw new IllegalStateException("mMultiProfilePagerAdapter.getCurrentListAdapter() " + "cannot be null."); } Trace.beginSection("configureContentView"); // We partially rebuild the inactive adapter to determine if we should auto launch // isTabLoaded will be true here if the empty state screen is shown instead of the list. boolean rebuildCompleted = mMultiProfilePagerAdapter.rebuildActiveTab(true) Loading @@ -1445,6 +1452,7 @@ public class ResolverActivity extends Activity implements if (shouldUseMiniResolver()) { configureMiniResolverContent(); Trace.endSection(); return false; } Loading @@ -1455,7 +1463,9 @@ public class ResolverActivity extends Activity implements } setContentView(mLayoutId); mMultiProfilePagerAdapter.setupViewPager(findViewById(R.id.profile_pager)); return postRebuildList(rebuildCompleted); boolean result = postRebuildList(rebuildCompleted); Trace.endSection(); return result; } /** Loading core/java/com/android/internal/app/ResolverListAdapter.java +10 −4 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.RemoteException; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.text.TextUtils; Loading Loading @@ -188,6 +189,7 @@ public class ResolverListAdapter extends BaseAdapter { * Otherwise the callback is only queued once, with {@code rebuildCompleted} true. */ protected boolean rebuildList(boolean doPostProcessing) { Trace.beginSection("ResolverListAdapter#rebuildList"); mDisplayList.clear(); mIsTabLoaded = false; mLastChosenPosition = -1; Loading Loading @@ -241,8 +243,10 @@ public class ResolverListAdapter extends BaseAdapter { mUnfilteredResolveList = originalList; } return finishRebuildingListWithFilteredResults(currentResolveList, doPostProcessing); boolean result = finishRebuildingListWithFilteredResults(currentResolveList, doPostProcessing); Trace.endSection(); return result; } /** Loading Loading @@ -402,8 +406,9 @@ public class ResolverListAdapter extends BaseAdapter { protected void processSortedList(List<ResolvedComponentInfo> sortedComponents, boolean doPostProcessing) { int n; if (sortedComponents != null && (n = sortedComponents.size()) != 0) { final int n = sortedComponents != null ? sortedComponents.size() : 0; Trace.beginSection("ResolverListAdapter#processSortedList:" + n); if (n != 0) { // First put the initial items at the top. if (mInitialIntents != null) { for (int i = 0; i < mInitialIntents.length; i++) { Loading Loading @@ -451,6 +456,7 @@ public class ResolverListAdapter extends BaseAdapter { mResolverListCommunicator.sendVoiceChoicesIfNeeded(); postListReadyRunnable(doPostProcessing, /* rebuildCompleted */ true); mIsTabLoaded = true; Trace.endSection(); } /** Loading Loading
core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java +10 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.Intent; import android.content.pm.IPackageManager; import android.content.pm.ResolveInfo; import android.os.AsyncTask; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.stats.devicepolicy.DevicePolicyEnums; Loading Loading @@ -286,7 +287,10 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { * <p>Returns {@code true} if rebuild has completed. */ boolean rebuildActiveTab(boolean doPostProcessing) { return rebuildTab(getActiveListAdapter(), doPostProcessing); Trace.beginSection("MultiProfilePagerAdapter#rebuildActiveTab"); boolean result = rebuildTab(getActiveListAdapter(), doPostProcessing); Trace.endSection(); return result; } /** Loading @@ -294,10 +298,14 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { * <p>Returns {@code true} if rebuild has completed. */ boolean rebuildInactiveTab(boolean doPostProcessing) { Trace.beginSection("MultiProfilePagerAdapter#rebuildInactiveTab"); if (getItemCount() == 1) { Trace.endSection(); return false; } return rebuildTab(getInactiveListAdapter(), doPostProcessing); boolean result = rebuildTab(getInactiveListAdapter(), doPostProcessing); Trace.endSection(); return result; } private int userHandleToPageIndex(UserHandle userHandle) { Loading
core/java/com/android/internal/app/ChooserActivity.java +9 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.internal.app; import static com.android.internal.util.LatencyTracker.ACTION_LOAD_SHARE_SHEET; import static java.lang.annotation.RetentionPolicy.SOURCE; import android.animation.Animator; Loading Loading @@ -509,6 +511,8 @@ public class ChooserActivity extends ResolverActivity implements @Override protected void onCreate(Bundle savedInstanceState) { final long intentReceivedTime = System.currentTimeMillis(); mLatencyTracker.onActionStart(ACTION_LOAD_SHARE_SHEET); getChooserActivityLogger().logSharesheetTriggered(); // This is the only place this value is being set. Effectively final. mIsAppPredictorComponentAvailable = isAppPredictionServiceAvailable(); Loading Loading @@ -1538,6 +1542,10 @@ public class ChooserActivity extends ResolverActivity implements protected void onDestroy() { super.onDestroy(); if (isFinishing()) { mLatencyTracker.onActionCancel(ACTION_LOAD_SHARE_SHEET); } if (mRefinementResultReceiver != null) { mRefinementResultReceiver.destroy(); mRefinementResultReceiver = null; Loading Loading @@ -2665,6 +2673,7 @@ public class ChooserActivity extends ResolverActivity implements if (rebuildComplete) { getChooserActivityLogger().logSharesheetAppLoadComplete(); maybeQueryAdditionalPostProcessingTargets(chooserListAdapter); mLatencyTracker.onActionEnd(ACTION_LOAD_SHARE_SHEET); } } Loading
core/java/com/android/internal/app/ChooserListAdapter.java +3 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.content.pm.ResolveInfo; import android.content.pm.ShortcutInfo; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.provider.DeviceConfig; Loading Loading @@ -667,8 +668,10 @@ public class ChooserListAdapter extends ResolverListAdapter { @Override protected List<ResolvedComponentInfo> doInBackground( List<ResolvedComponentInfo>... params) { Trace.beginSection("ChooserListAdapter#SortingTask"); mResolverListController.topK(params[0], mChooserListCommunicator.getMaxRankedTargets()); Trace.endSection(); return params[0]; } @Override Loading
core/java/com/android/internal/app/ResolverActivity.java +11 −1 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import android.os.Bundle; import android.os.PatternMatcher; import android.os.RemoteException; import android.os.StrictMode; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.provider.MediaStore; Loading Loading @@ -98,6 +99,7 @@ import com.android.internal.app.chooser.TargetInfo; import com.android.internal.content.PackageMonitor; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.util.LatencyTracker; import com.android.internal.widget.ResolverDrawerLayout; import com.android.internal.widget.ViewPager; Loading Loading @@ -214,7 +216,11 @@ public class ResolverActivity extends Activity implements private UserHandle mWorkProfileUserHandle; protected final LatencyTracker mLatencyTracker = getLatencyTracker(); private LatencyTracker getLatencyTracker() { return LatencyTracker.getInstance(this); } /** * Get the string resource to be used as a label for the link to the resolver activity for an Loading Loading @@ -1433,6 +1439,7 @@ public class ResolverActivity extends Activity implements throw new IllegalStateException("mMultiProfilePagerAdapter.getCurrentListAdapter() " + "cannot be null."); } Trace.beginSection("configureContentView"); // We partially rebuild the inactive adapter to determine if we should auto launch // isTabLoaded will be true here if the empty state screen is shown instead of the list. boolean rebuildCompleted = mMultiProfilePagerAdapter.rebuildActiveTab(true) Loading @@ -1445,6 +1452,7 @@ public class ResolverActivity extends Activity implements if (shouldUseMiniResolver()) { configureMiniResolverContent(); Trace.endSection(); return false; } Loading @@ -1455,7 +1463,9 @@ public class ResolverActivity extends Activity implements } setContentView(mLayoutId); mMultiProfilePagerAdapter.setupViewPager(findViewById(R.id.profile_pager)); return postRebuildList(rebuildCompleted); boolean result = postRebuildList(rebuildCompleted); Trace.endSection(); return result; } /** Loading
core/java/com/android/internal/app/ResolverListAdapter.java +10 −4 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.RemoteException; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.text.TextUtils; Loading Loading @@ -188,6 +189,7 @@ public class ResolverListAdapter extends BaseAdapter { * Otherwise the callback is only queued once, with {@code rebuildCompleted} true. */ protected boolean rebuildList(boolean doPostProcessing) { Trace.beginSection("ResolverListAdapter#rebuildList"); mDisplayList.clear(); mIsTabLoaded = false; mLastChosenPosition = -1; Loading Loading @@ -241,8 +243,10 @@ public class ResolverListAdapter extends BaseAdapter { mUnfilteredResolveList = originalList; } return finishRebuildingListWithFilteredResults(currentResolveList, doPostProcessing); boolean result = finishRebuildingListWithFilteredResults(currentResolveList, doPostProcessing); Trace.endSection(); return result; } /** Loading Loading @@ -402,8 +406,9 @@ public class ResolverListAdapter extends BaseAdapter { protected void processSortedList(List<ResolvedComponentInfo> sortedComponents, boolean doPostProcessing) { int n; if (sortedComponents != null && (n = sortedComponents.size()) != 0) { final int n = sortedComponents != null ? sortedComponents.size() : 0; Trace.beginSection("ResolverListAdapter#processSortedList:" + n); if (n != 0) { // First put the initial items at the top. if (mInitialIntents != null) { for (int i = 0; i < mInitialIntents.length; i++) { Loading Loading @@ -451,6 +456,7 @@ public class ResolverListAdapter extends BaseAdapter { mResolverListCommunicator.sendVoiceChoicesIfNeeded(); postListReadyRunnable(doPostProcessing, /* rebuildCompleted */ true); mIsTabLoaded = true; Trace.endSection(); } /** Loading