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

Commit 578f1a47 authored by Himanshu Gupta's avatar Himanshu Gupta Committed by Android (Google) Code Review
Browse files

Merge "Fix Accessbility bugs for PS." into main

parents 2db50a85 42e31960
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -25,7 +25,9 @@
        android:clipToOutline="true"
        android:gravity="center_vertical"
        android:textDirection="locale"
        android:orientation="horizontal">
        android:orientation="horizontal"
        android:contentDescription="@string/ps_container_lock_button_content_description"
        android:importantForAccessibility="yes">

    <LinearLayout
        android:id="@+id/settingsAndLockGroup"
@@ -49,7 +51,7 @@
            android:background="@drawable/ps_lock_background"
            android:gravity="center_vertical"
            android:layout_marginEnd="@dimen/ps_lock_button_margin_end"
            android:contentDescription="@string/ps_container_lock_unlock_button">
            android:contentDescription="@string/ps_container_lock_button_content_description">
            <ImageView
                android:id="@+id/lock_icon"
                android:layout_width="@dimen/ps_lock_icon_size"
@@ -95,6 +97,7 @@
        android:gravity="center_vertical"
        android:layout_marginStart="@dimen/ps_header_layout_margin"
        android:text="@string/ps_container_title"
        android:theme="@style/PrivateSpaceHeaderTextStyle"/>
        android:theme="@style/PrivateSpaceHeaderTextStyle"
        android:importantForAccessibility="no"/>

</RelativeLayout>
 No newline at end of file
+4 −2
Original line number Diff line number Diff line
@@ -487,8 +487,10 @@
    <string name="ps_container_title">Private</string>
    <!-- Description for Private Space Settings button -->
    <string name="ps_container_settings">Private Space Settings</string>
    <!-- Description for Private Space Lock/Unlock button -->
    <string name="ps_container_lock_unlock_button">Lock/Unlock Private Space</string>
    <!-- Description for Private Space Unlock button -->
    <string name="ps_container_unlock_button_content_description">Private, unlocked.</string>
    <!-- Description for Private Space Lock button -->
    <string name="ps_container_lock_button_content_description">Private, locked.</string>
    <string name="ps_container_lock_title">Lock</string>
    <!-- Description for Private Space Transition button -->
    <string name="ps_container_transition">Private Space Transitioning</string>
+13 −0
Original line number Diff line number Diff line
@@ -112,6 +112,8 @@ public class PrivateProfileManager extends UserProfileManager {
    private Runnable mOnPSHeaderAdded;
    @Nullable
    private RelativeLayout mPSHeader;
    private final String mLockedStateContentDesc;
    private final String mUnLockedStateContentDesc;

    public PrivateProfileManager(UserManager userManager,
            ActivityAllAppsContainerView<?> allApps,
@@ -125,6 +127,10 @@ public class PrivateProfileManager extends UserProfileManager {
        UI_HELPER_EXECUTOR.post(() -> initializeInBackgroundThread(appContext));
        mPsHeaderHeight = mAllApps.getContext().getResources().getDimensionPixelSize(
                R.dimen.ps_header_height);
        mLockedStateContentDesc = mAllApps.getContext()
                .getString(R.string.ps_container_lock_button_content_description);
        mUnLockedStateContentDesc = mAllApps.getContext()
                .getString(R.string.ps_container_unlock_button_content_description);
    }

    /** Adds Private Space Header to the layout. */
@@ -398,11 +404,13 @@ public class PrivateProfileManager extends UserProfileManager {
                lockText.setVisibility(VISIBLE);
                lockButton.setVisibility(VISIBLE);
                lockButton.setOnClickListener(view -> lockingAction(/* lock */ true));
                lockButton.setContentDescription(mUnLockedStateContentDesc);
            }
            case STATE_DISABLED -> {
                lockText.setVisibility(GONE);
                lockButton.setVisibility(VISIBLE);
                lockButton.setOnClickListener(view -> lockingAction(/* lock */ false));
                lockButton.setContentDescription(mLockedStateContentDesc);
            }
            default -> lockButton.setVisibility(GONE);
        }
@@ -412,9 +420,14 @@ public class PrivateProfileManager extends UserProfileManager {
        if (getCurrentState() == STATE_DISABLED) {
            header.setOnClickListener(view -> lockingAction(/* lock */ false));
            header.setClickable(true);
            // Add header as accessibility target when disabled.
            header.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
            header.setContentDescription(mLockedStateContentDesc);
        } else {
            header.setOnClickListener(null);
            header.setClickable(false);
            // Remove header from accessibility target when enabled.
            header.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
        }
    }