Autolaunch if one app in active profile and empty state in the inactive.
Fixes: 150883045 Test: manual Change-Id: I2fbc862cc73c5763de9aaff436c01de8dbc83efb
This commit is contained in:
committed by
Antoan Angelov
parent
fff2d76ccb
commit
b91d08f1a8
@@ -389,6 +389,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) {
|
||||
|
||||
@@ -1337,9 +1337,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;
|
||||
}
|
||||
|
||||
@@ -1399,8 +1402,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