Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e8384e4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix talkback for switch on work in ResolverActivity" into rvc-dev am: 606980b3

Change-Id: Id64d374173c61b46190874222a477c55adc87ceb
parents 217c7c51 606980b3
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -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.
     */
+7 −0
Original line number Diff line number Diff line
@@ -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);
    }