Loading core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java +18 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -124,6 +125,10 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { mOnProfileSelectedListener = listener; } void setOnSwitchOnWorkSelectedListener(OnSwitchOnWorkSelectedListener listener) { mOnSwitchOnWorkSelectedListener = listener; } Context getContext() { return mContext; } Loading Loading @@ -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; Loading Loading @@ -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. */ Loading core/java/com/android/internal/app/ResolverActivity.java +7 −0 Original line number Diff line number Diff line Loading @@ -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); } Loading Loading
core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java +18 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -124,6 +125,10 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { mOnProfileSelectedListener = listener; } void setOnSwitchOnWorkSelectedListener(OnSwitchOnWorkSelectedListener listener) { mOnSwitchOnWorkSelectedListener = listener; } Context getContext() { return mContext; } Loading Loading @@ -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; Loading Loading @@ -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. */ Loading
core/java/com/android/internal/app/ResolverActivity.java +7 −0 Original line number Diff line number Diff line Loading @@ -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); } Loading