Merge "Autolaunch if one app in active profile and empty state in the inactive." into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8f15e287e9
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user