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

Commit cf1e624f authored by Angela Wang's avatar Angela Wang Committed by Android (Google) Code Review
Browse files

Merge "Fix hearing device tile not focusable wiht TalkBack issue" into main

parents 6135e62d 85b97743
Loading
Loading
Loading
Loading
+17 −7
Original line number Diff line number Diff line
@@ -149,9 +149,8 @@ public class HearingDevicesTileTest extends SysuiTestCase {
        BooleanState activeState = new BooleanState();
        mTile.handleUpdateState(activeState, null);

        assertThat(activeState.state).isEqualTo(Tile.STATE_ACTIVE);
        assertThat(activeState.secondaryLabel.toString()).isEqualTo(
                mContext.getString(R.string.quick_settings_hearing_devices_connected));
        assertStateCorrect(activeState, Tile.STATE_ACTIVE,
                R.string.quick_settings_hearing_devices_connected);
    }

    @Test
@@ -162,9 +161,8 @@ public class HearingDevicesTileTest extends SysuiTestCase {
        BooleanState disconnectedState = new BooleanState();
        mTile.handleUpdateState(disconnectedState, null);

        assertThat(disconnectedState.state).isEqualTo(Tile.STATE_INACTIVE);
        assertThat(disconnectedState.secondaryLabel.toString()).isEqualTo(
                mContext.getString(R.string.quick_settings_hearing_devices_disconnected));
        assertStateCorrect(disconnectedState, Tile.STATE_INACTIVE,
                R.string.quick_settings_hearing_devices_disconnected);
    }

    @Test
@@ -175,6 +173,18 @@ public class HearingDevicesTileTest extends SysuiTestCase {
        BooleanState inactiveState = new BooleanState();
        mTile.handleUpdateState(inactiveState, null);

        assertThat(inactiveState.state).isEqualTo(Tile.STATE_INACTIVE);
        assertStateCorrect(inactiveState, Tile.STATE_INACTIVE,  -1);
    }

    private void assertStateCorrect(BooleanState state, int targetState, int targetStateRes) {
        assertThat(state.state).isEqualTo(targetState);

        String labelString = mContext.getString(R.string.quick_settings_hearing_devices_label);
        assertThat(state.label).isEqualTo(labelString);
        assertThat(state.contentDescription).isEqualTo(labelString);

        String stateString = targetStateRes != -1 ? mContext.getString(targetStateRes) : "";
        assertThat(state.secondaryLabel).isEqualTo(stateString);
        assertThat(state.stateDescription).isEqualTo(stateString);
    }
}
+3 −2
Original line number Diff line number Diff line
@@ -106,12 +106,13 @@ public class HearingDevicesTile extends QSTileImpl<BooleanState> {
        checkIfRestrictionEnforcedByAdminOnly(state, UserManager.DISALLOW_BLUETOOTH);

        state.label = mContext.getString(R.string.quick_settings_hearing_devices_label);
        state.contentDescription = state.label;
        state.icon = maybeLoadResourceIcon(R.drawable.qs_hearing_devices_icon);
        state.forceExpandIcon = true;
        state.expandedAccessibilityClassName = Button.class.getName();

        boolean isBonded = mDevicesChecker.isAnyPairedHearingDevice();
        boolean isActive = mDevicesChecker.isAnyActiveHearingDevice();

        if (isActive) {
            state.state = Tile.STATE_ACTIVE;
            state.secondaryLabel = mContext.getString(
@@ -124,7 +125,7 @@ public class HearingDevicesTile extends QSTileImpl<BooleanState> {
            state.state = Tile.STATE_INACTIVE;
            state.secondaryLabel = "";
        }
        state.expandedAccessibilityClassName = Button.class.getName();
        state.stateDescription = state.secondaryLabel;
    }

    @Nullable