Merge "Autolaunch if one app in active profile and empty state in the inactive." into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-03-06 17:41:44 +00:00
committed by Android (Google) Code Review
3 changed files with 18 additions and 9 deletions

View File

@@ -388,6 +388,8 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
Button button = emptyStateView.findViewById(R.id.resolver_empty_state_button);
button.setVisibility(buttonOnClick != null ? View.VISIBLE : View.GONE);
button.setOnClickListener(buttonOnClick);
activeListAdapter.markTabLoaded();
}
private void showSpinner(View emptyStateView) {

View File

@@ -1339,9 +1339,12 @@ public class ResolverActivity extends Activity implements
+ "cannot be null.");
}
// We partially rebuild the inactive adapter to determine if we should auto launch
boolean rebuildCompleted = mMultiProfilePagerAdapter.rebuildActiveTab(true);
// isTabLoaded will be true here if the empty state screen is shown instead of the list.
boolean rebuildCompleted = mMultiProfilePagerAdapter.rebuildActiveTab(true)
|| mMultiProfilePagerAdapter.getActiveListAdapter().isTabLoaded();
if (shouldShowTabs()) {
boolean rebuildInactiveCompleted = mMultiProfilePagerAdapter.rebuildInactiveTab(false);
boolean rebuildInactiveCompleted = mMultiProfilePagerAdapter.rebuildInactiveTab(false)
|| mMultiProfilePagerAdapter.getInactiveListAdapter().isTabLoaded();
rebuildCompleted = rebuildCompleted && rebuildInactiveCompleted;
}
@@ -1401,8 +1404,8 @@ public class ResolverActivity extends Activity implements
if (numberOfProfiles == 1 && maybeAutolaunchIfSingleTarget()) {
return true;
} else if (numberOfProfiles == 2
&& mMultiProfilePagerAdapter.getActiveListAdapter().isListLoaded()
&& mMultiProfilePagerAdapter.getInactiveListAdapter().isListLoaded()
&& mMultiProfilePagerAdapter.getActiveListAdapter().isTabLoaded()
&& mMultiProfilePagerAdapter.getInactiveListAdapter().isTabLoaded()
&& (maybeAutolaunchIfNoAppsOnInactiveTab()
|| maybeAutolaunchIfCrossProfileSupported())) {
return true;

View File

@@ -87,7 +87,7 @@ public class ResolverListAdapter extends BaseAdapter {
private final ResolverListCommunicator mResolverListCommunicator;
private Runnable mPostListReadyRunnable;
private final boolean mIsAudioCaptureDevice;
private boolean mIsListLoaded;
private boolean mIsTabLoaded;
public ResolverListAdapter(Context context, List<Intent> payloadIntents,
Intent[] initialIntents, List<ResolveInfo> rList,
@@ -192,7 +192,7 @@ public class ResolverListAdapter extends BaseAdapter {
mLastChosenPosition = -1;
mAllTargetsAreBrowsers = false;
mDisplayList.clear();
mIsListLoaded = false;
mIsTabLoaded = false;
if (mBaseResolveList != null) {
currentResolveList = mUnfilteredResolveList = new ArrayList<>();
@@ -354,7 +354,7 @@ public class ResolverListAdapter extends BaseAdapter {
mResolverListCommunicator.sendVoiceChoicesIfNeeded();
postListReadyRunnable(doPostProcessing);
mIsListLoaded = true;
mIsTabLoaded = true;
}
/**
@@ -614,8 +614,12 @@ public class ResolverListAdapter extends BaseAdapter {
return mIntents;
}
protected boolean isListLoaded() {
return mIsListLoaded;
protected boolean isTabLoaded() {
return mIsTabLoaded;
}
protected void markTabLoaded() {
mIsTabLoaded = true;
}
/**