Merge "Fix talkback for switch on work in ResolverActivity" into rvc-dev am: 606980b356
Change-Id: Id61ebebb3b865fc2407d8b91df7756c158bb4fb8
This commit is contained in:
@@ -62,6 +62,7 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
|
||||
private final Context mContext;
|
||||
private int mCurrentPage;
|
||||
private OnProfileSelectedListener mOnProfileSelectedListener;
|
||||
private OnSwitchOnWorkSelectedListener mOnSwitchOnWorkSelectedListener;
|
||||
private Set<Integer> mLoadedPages;
|
||||
private final UserHandle mPersonalProfileUserHandle;
|
||||
private final UserHandle mWorkProfileUserHandle;
|
||||
@@ -124,6 +125,10 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
|
||||
mOnProfileSelectedListener = listener;
|
||||
}
|
||||
|
||||
void setOnSwitchOnWorkSelectedListener(OnSwitchOnWorkSelectedListener listener) {
|
||||
mOnSwitchOnWorkSelectedListener = listener;
|
||||
}
|
||||
|
||||
Context getContext() {
|
||||
return mContext;
|
||||
}
|
||||
@@ -397,6 +402,9 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
|
||||
ProfileDescriptor descriptor = getItem(
|
||||
userHandleToPageIndex(listAdapter.getUserHandle()));
|
||||
showSpinner(descriptor.getEmptyStateView());
|
||||
if (mOnSwitchOnWorkSelectedListener != null) {
|
||||
mOnSwitchOnWorkSelectedListener.onSwitchOnWorkSelected();
|
||||
}
|
||||
mInjector.requestQuietModeEnabled(false, mWorkProfileUserHandle);
|
||||
});
|
||||
return true;
|
||||
@@ -575,6 +583,16 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
|
||||
void onProfileSelected(int profileIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
* Listener for when the user switches on the work profile from the work tab.
|
||||
*/
|
||||
interface OnSwitchOnWorkSelectedListener {
|
||||
/**
|
||||
* Callback for when the user switches on the work profile from the work tab.
|
||||
*/
|
||||
void onSwitchOnWorkSelected();
|
||||
}
|
||||
|
||||
/**
|
||||
* Describes an injector to be used for cross profile functionality. Overridable for testing.
|
||||
*/
|
||||
|
||||
@@ -1662,6 +1662,13 @@ public class ResolverActivity extends Activity implements
|
||||
resetButtonBar();
|
||||
resetCheckedItem();
|
||||
});
|
||||
mMultiProfilePagerAdapter.setOnSwitchOnWorkSelectedListener(
|
||||
() -> {
|
||||
final View workTab = tabHost.getTabWidget().getChildAt(1);
|
||||
workTab.setFocusable(true);
|
||||
workTab.setFocusableInTouchMode(true);
|
||||
workTab.requestFocus();
|
||||
});
|
||||
findViewById(R.id.resolver_tab_divider).setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user