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 final Context mContext;
|
||||||
private int mCurrentPage;
|
private int mCurrentPage;
|
||||||
private OnProfileSelectedListener mOnProfileSelectedListener;
|
private OnProfileSelectedListener mOnProfileSelectedListener;
|
||||||
|
private OnSwitchOnWorkSelectedListener mOnSwitchOnWorkSelectedListener;
|
||||||
private Set<Integer> mLoadedPages;
|
private Set<Integer> mLoadedPages;
|
||||||
private final UserHandle mPersonalProfileUserHandle;
|
private final UserHandle mPersonalProfileUserHandle;
|
||||||
private final UserHandle mWorkProfileUserHandle;
|
private final UserHandle mWorkProfileUserHandle;
|
||||||
@@ -124,6 +125,10 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
|
|||||||
mOnProfileSelectedListener = listener;
|
mOnProfileSelectedListener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setOnSwitchOnWorkSelectedListener(OnSwitchOnWorkSelectedListener listener) {
|
||||||
|
mOnSwitchOnWorkSelectedListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
Context getContext() {
|
Context getContext() {
|
||||||
return mContext;
|
return mContext;
|
||||||
}
|
}
|
||||||
@@ -397,6 +402,9 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
|
|||||||
ProfileDescriptor descriptor = getItem(
|
ProfileDescriptor descriptor = getItem(
|
||||||
userHandleToPageIndex(listAdapter.getUserHandle()));
|
userHandleToPageIndex(listAdapter.getUserHandle()));
|
||||||
showSpinner(descriptor.getEmptyStateView());
|
showSpinner(descriptor.getEmptyStateView());
|
||||||
|
if (mOnSwitchOnWorkSelectedListener != null) {
|
||||||
|
mOnSwitchOnWorkSelectedListener.onSwitchOnWorkSelected();
|
||||||
|
}
|
||||||
mInjector.requestQuietModeEnabled(false, mWorkProfileUserHandle);
|
mInjector.requestQuietModeEnabled(false, mWorkProfileUserHandle);
|
||||||
});
|
});
|
||||||
return true;
|
return true;
|
||||||
@@ -575,6 +583,16 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
|
|||||||
void onProfileSelected(int profileIndex);
|
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.
|
* Describes an injector to be used for cross profile functionality. Overridable for testing.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1662,6 +1662,13 @@ public class ResolverActivity extends Activity implements
|
|||||||
resetButtonBar();
|
resetButtonBar();
|
||||||
resetCheckedItem();
|
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);
|
findViewById(R.id.resolver_tab_divider).setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user