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

Commit 1de02ee3 authored by Adrian Roos's avatar Adrian Roos
Browse files

Label user switcher button for accessibility

Bug: 15692931
Change-Id: I4add4c21fd0ed95cc3a49e2841173589f37db08a
parent 1d2a1c91
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -678,6 +678,12 @@

    <!-- Related to user switcher --><skip/>

    <!-- Accessibility label for the button that opens the user switcher. -->
    <string name="accessibility_multi_user_switch_switcher">Switch user</string>

    <!-- Accessibility label for the button that opens the quick contact of the user. -->
    <string name="accessibility_multi_user_switch_quick_contact">Show profile</string>

    <!-- Label for the adding a new user in the user switcher [CHAR LIMIT=35] -->
    <string name="user_add_user">Add user</string>

+21 −0
Original line number Diff line number Diff line
@@ -21,10 +21,13 @@ import android.content.Intent;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.ContactsContract;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import android.widget.FrameLayout;

import com.android.systemui.R;
import com.android.systemui.qs.QSPanel;
import com.android.systemui.statusbar.policy.KeyguardUserSwitcher;

@@ -36,9 +39,11 @@ public class MultiUserSwitch extends FrameLayout implements View.OnClickListener
    private QSPanel mQsPanel;
    private KeyguardUserSwitcher mKeyguardUserSwitcher;
    private boolean mKeyguardMode;
    final UserManager mUserManager;

    public MultiUserSwitch(Context context, AttributeSet attrs) {
        super(context, attrs);
        mUserManager = UserManager.get(getContext());
    }

    @Override
@@ -79,6 +84,22 @@ public class MultiUserSwitch extends FrameLayout implements View.OnClickListener
        }
    }

    @Override
    public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
        super.onPopulateAccessibilityEvent(event);

        if (isClickable()) {
            final UserManager um = UserManager.get(getContext());
            String text = mContext.getString(um.isUserSwitcherEnabled()
                    ? R.string.accessibility_multi_user_switch_switcher
                    : R.string.accessibility_multi_user_switch_quick_contact);
            if (!TextUtils.isEmpty(text)) {
                event.getText().add(text);
            }
        }

    }

    @Override
    public boolean hasOverlappingRendering() {
        return false;