@@ -62,6 +62,7 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
6262 private final Context mContext ;
6363 private int mCurrentPage ;
6464 private OnProfileSelectedListener mOnProfileSelectedListener ;
65+ private OnSwitchOnWorkSelectedListener mOnSwitchOnWorkSelectedListener ;
6566 private Set <Integer > mLoadedPages ;
6667 private final UserHandle mPersonalProfileUserHandle ;
6768 private final UserHandle mWorkProfileUserHandle ;
@@ -124,6 +125,10 @@ void setOnProfileSelectedListener(OnProfileSelectedListener listener) {
124125 mOnProfileSelectedListener = listener ;
125126 }
126127
128+ void setOnSwitchOnWorkSelectedListener (OnSwitchOnWorkSelectedListener listener ) {
129+ mOnSwitchOnWorkSelectedListener = listener ;
130+ }
131+
127132 Context getContext () {
128133 return mContext ;
129134 }
@@ -397,6 +402,9 @@ private boolean maybeShowWorkProfileOffEmptyState(ResolverListAdapter listAdapte
397402 ProfileDescriptor descriptor = getItem (
398403 userHandleToPageIndex (listAdapter .getUserHandle ()));
399404 showSpinner (descriptor .getEmptyStateView ());
405+ if (mOnSwitchOnWorkSelectedListener != null ) {
406+ mOnSwitchOnWorkSelectedListener .onSwitchOnWorkSelected ();
407+ }
400408 mInjector .requestQuietModeEnabled (false , mWorkProfileUserHandle );
401409 });
402410 return true ;
@@ -575,6 +583,16 @@ public interface OnProfileSelectedListener {
575583 void onProfileSelected (int profileIndex );
576584 }
577585
586+ /**
587+ * Listener for when the user switches on the work profile from the work tab.
588+ */
589+ interface OnSwitchOnWorkSelectedListener {
590+ /**
591+ * Callback for when the user switches on the work profile from the work tab.
592+ */
593+ void onSwitchOnWorkSelected ();
594+ }
595+
578596 /**
579597 * Describes an injector to be used for cross profile functionality. Overridable for testing.
580598 */
0 commit comments