Merge "Query "post" targets only when rebuild complete."

This commit is contained in:
Joshua Trask
2021-12-08 20:38:15 +00:00
committed by Android (Google) Code Review
2 changed files with 10 additions and 7 deletions

View File

@@ -2736,7 +2736,7 @@ public class ChooserActivity extends ResolverActivity implements
}
@Override
public void onListRebuilt(ResolverListAdapter listAdapter) {
public void onListRebuilt(ResolverListAdapter listAdapter, boolean rebuildComplete) {
setupScrollListener();
maybeSetupGlobalLayoutListener();
@@ -2756,15 +2756,20 @@ public class ChooserActivity extends ResolverActivity implements
chooserListAdapter.updateAlphabeticalList();
}
if (rebuildComplete) {
getChooserActivityLogger().logSharesheetAppLoadComplete();
maybeQueryAdditionalPostProcessingTargets(chooserListAdapter);
}
}
private void maybeQueryAdditionalPostProcessingTargets(ChooserListAdapter chooserListAdapter) {
// don't support direct share on low ram devices
if (ActivityManager.isLowRamDeviceStatic()) {
getChooserActivityLogger().logSharesheetAppLoadComplete();
return;
}
// no need to query direct share for work profile when its locked or disabled
if (!shouldQueryShortcutManager(chooserListAdapter.getUserHandle())) {
getChooserActivityLogger().logSharesheetAppLoadComplete();
return;
}
@@ -2775,8 +2780,6 @@ public class ChooserActivity extends ResolverActivity implements
queryDirectShareTargets(chooserListAdapter, false);
}
getChooserActivityLogger().logSharesheetAppLoadComplete();
}
@VisibleForTesting

View File

@@ -1159,11 +1159,11 @@ public class ResolverActivity extends Activity implements
if (doPostProcessing) {
maybeCreateHeader(listAdapter);
resetButtonBar();
onListRebuilt(listAdapter);
onListRebuilt(listAdapter, rebuildCompleted);
}
}
protected void onListRebuilt(ResolverListAdapter listAdapter) {
protected void onListRebuilt(ResolverListAdapter listAdapter, boolean rebuildCompleted) {
final ItemClickListener listener = new ItemClickListener();
setupAdapterListView((ListView) mMultiProfilePagerAdapter.getActiveAdapterView(), listener);
if (shouldShowTabs() && isIntentPicker()) {