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

Commit 38de1cef authored by Jason Monk's avatar Jason Monk Committed by android-build-merger
Browse files

Merge "Fix QS wifi accessibility announcements" into oc-dev

am: accdadae

Change-Id: I23646de9448c62bc9b3bd0d57099a1b7328e5f18
parents 194bb6a7 accdadae
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.widget.Switch;

import com.android.systemui.R;
import com.android.systemui.plugins.qs.*;
import com.android.systemui.plugins.qs.QSTile.BooleanState;

public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView {

@@ -44,6 +45,7 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView {
    private String mAccessibilityClass;
    private boolean mTileState;
    private boolean mCollapsedView;
    private boolean mClicked;

    public QSTileBaseView(Context context, QSIconView icon) {
        this(context, icon, false);
@@ -153,7 +155,11 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView {
        setContentDescription(state.contentDescription);
        mAccessibilityClass = state.expandedAccessibilityClassName;
        if (state instanceof QSTile.BooleanState) {
            mTileState = ((QSTile.BooleanState) state).value;
            boolean newState = ((BooleanState) state).value;
            if (mTileState != newState) {
                mClicked = false;
                mTileState = newState;
            }
        }
    }

@@ -172,16 +178,23 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView {
        return mIcon;
    }

    @Override
    public boolean performClick() {
        mClicked = true;
        return super.performClick();
    }

    @Override
    public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
        super.onInitializeAccessibilityEvent(event);
        if (!TextUtils.isEmpty(mAccessibilityClass)) {
            event.setClassName(mAccessibilityClass);
            if (Switch.class.getName().equals(mAccessibilityClass)) {
                boolean b = mClicked ? !mTileState : mTileState;
                String label = getResources()
                        .getString(!mTileState ? R.string.switch_bar_on : R.string.switch_bar_off);
                        .getString(b ? R.string.switch_bar_on : R.string.switch_bar_off);
                event.setContentDescription(label);
                event.setChecked(!mTileState);
                event.setChecked(b);
            }
        }
    }
@@ -192,10 +205,11 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView {
        if (!TextUtils.isEmpty(mAccessibilityClass)) {
            info.setClassName(mAccessibilityClass);
            if (Switch.class.getName().equals(mAccessibilityClass)) {
                boolean b = mClicked ? !mTileState : mTileState;
                String label = getResources()
                        .getString(mTileState ? R.string.switch_bar_on : R.string.switch_bar_off);
                        .getString(b ? R.string.switch_bar_on : R.string.switch_bar_off);
                info.setText(label);
                info.setChecked(mTileState);
                info.setChecked(b);
                info.setCheckable(true);
            }
        }
+5 −6
Original line number Diff line number Diff line
@@ -32,17 +32,16 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settingslib.wifi.AccessPoint;
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.R.string;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.qs.QSDetailItems;
import com.android.systemui.qs.QSDetailItems.Item;
import com.android.systemui.qs.QSHost;
import com.android.systemui.plugins.qs.QSIconView;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.plugins.qs.QSTile.SignalState;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.qs.QSDetailItems;
import com.android.systemui.qs.QSDetailItems.Item;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.SignalTileView;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
@@ -180,7 +179,7 @@ public class WifiTile extends QSTileImpl<SignalState> {
                minimalContentDescription.append(removeDoubleQuotes(cb.enabledDesc));
            }
        }
        state.contentDescription = minimalContentDescription;
        state.contentDescription = minimalContentDescription.toString();
        state.dualLabelContentDescription = r.getString(
                R.string.accessibility_quick_settings_open_settings, getTileLabel());
        state.expandedAccessibilityClassName = Switch.class.getName();