[Wi-Fi DPP] Improve TalkBack information for events
Title and summary may be changed after user operations or Wi-Fi Easy connect handshake, setAccessibilityLiveRegion could specify accessibility services to announce these changes. In WifiDppAddDeviceFragment, I set title before summary for correct TalkBack announce sequence. Bug: 137069941 Test: manual Change-Id: Id032cfcb86c350feeac808f070665ac26261ceb8
This commit is contained in:
@@ -35,7 +35,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="?attr/sudMarginSides"
|
||||
android:layout_marginEnd="?attr/sudMarginSides"
|
||||
android:textAlignment="center"/>
|
||||
android:textAlignment="center"
|
||||
android:accessibilityLiveRegion="polite"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@@ -35,7 +35,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="?attr/sudMarginSides"
|
||||
android:layout_marginEnd="?attr/sudMarginSides"
|
||||
android:textAlignment="center"/>
|
||||
android:textAlignment="center"
|
||||
android:accessibilityLiveRegion="polite"/>
|
||||
|
||||
<LinearLayout android:id="@+id/wifi_network_list_container"
|
||||
android:layout_width="match_parent"
|
||||
|
@@ -35,7 +35,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="?attr/sudMarginSides"
|
||||
android:layout_marginEnd="?attr/sudMarginSides"
|
||||
android:textAlignment="center"/>
|
||||
android:textAlignment="center"
|
||||
android:accessibilityLiveRegion="polite"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@@ -35,7 +35,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="?attr/sudMarginSides"
|
||||
android:layout_marginEnd="?attr/sudMarginSides"
|
||||
android:textAlignment="center"/>
|
||||
android:textAlignment="center"
|
||||
android:accessibilityLiveRegion="polite"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@@ -100,21 +100,24 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
|
||||
}
|
||||
|
||||
private void showErrorUi(int code, boolean isConfigurationChange) {
|
||||
CharSequence summaryCharSequence;
|
||||
switch (code) {
|
||||
case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_URI:
|
||||
mSummary.setText(R.string.wifi_dpp_qr_code_is_not_valid_format);
|
||||
summaryCharSequence = getText(R.string.wifi_dpp_qr_code_is_not_valid_format);
|
||||
break;
|
||||
|
||||
case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION:
|
||||
mSummary.setText(R.string.wifi_dpp_failure_authentication_or_configuration);
|
||||
summaryCharSequence = getText(
|
||||
R.string.wifi_dpp_failure_authentication_or_configuration);
|
||||
break;
|
||||
|
||||
case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE:
|
||||
mSummary.setText(R.string.wifi_dpp_failure_not_compatible);
|
||||
summaryCharSequence = getText(R.string.wifi_dpp_failure_not_compatible);
|
||||
break;
|
||||
|
||||
case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_CONFIGURATION:
|
||||
mSummary.setText(R.string.wifi_dpp_failure_authentication_or_configuration);
|
||||
summaryCharSequence = getText(
|
||||
R.string.wifi_dpp_failure_authentication_or_configuration);
|
||||
break;
|
||||
|
||||
case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_BUSY:
|
||||
@@ -135,15 +138,16 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
|
||||
return;
|
||||
|
||||
case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_TIMEOUT:
|
||||
mSummary.setText(R.string.wifi_dpp_failure_timeout);
|
||||
summaryCharSequence = getText(R.string.wifi_dpp_failure_timeout);
|
||||
break;
|
||||
|
||||
case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_GENERIC:
|
||||
mSummary.setText(R.string.wifi_dpp_failure_generic);
|
||||
summaryCharSequence = getText(R.string.wifi_dpp_failure_generic);
|
||||
break;
|
||||
|
||||
case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED:
|
||||
mSummary.setText(getString(R.string.wifi_dpp_failure_not_supported, getSsid()));
|
||||
summaryCharSequence = getString(
|
||||
R.string.wifi_dpp_failure_not_supported, getSsid());
|
||||
break;
|
||||
|
||||
case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK:
|
||||
@@ -155,6 +159,7 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
|
||||
}
|
||||
|
||||
setHeaderTitle(R.string.wifi_dpp_could_not_add_device);
|
||||
mSummary.setText(summaryCharSequence);
|
||||
mWifiApPictureView.setImageResource(R.drawable.wifi_dpp_error);
|
||||
mChooseDifferentNetwork.setVisibility(View.INVISIBLE);
|
||||
if (hasRetryButton(code)) {
|
||||
|
@@ -72,6 +72,9 @@ public abstract class WifiDppQrCodeBaseFragment extends InstrumentedFragment {
|
||||
.build();
|
||||
mGlifLayout.getMixin(FooterBarMixin.class).setPrimaryButton(mRightButton);
|
||||
}
|
||||
|
||||
mGlifLayout.getHeaderTextView().setAccessibilityLiveRegion(
|
||||
View.ACCESSIBILITY_LIVE_REGION_POLITE);
|
||||
}
|
||||
|
||||
protected void setHeaderIconImageResource(@DrawableRes int iconResId) {
|
||||
|
Reference in New Issue
Block a user