diff options
3 files changed, 38 insertions, 0 deletions
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml index e18030032b51..75444278b5b5 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -1281,4 +1281,7 @@ <!-- Name of the 3.5mm audio device. [CHAR LIMIT=40] --> <string name="media_transfer_wired_device_name">Wired audio device</string> + + <!-- Help button label [CHAR LIMIT=40] --> + <string name="help_label">Help & feedback</string> </resources> diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiEntryPreference.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiEntryPreference.java index c63c34c1b6d1..8aa0aec28fb8 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiEntryPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiEntryPreference.java @@ -107,6 +107,7 @@ public class WifiEntryPreference extends Preference implements WifiEntry.WifiEnt final ImageView frictionImageView = (ImageView) view.findViewById( R.id.friction_icon); if (mWifiEntry.canManageSubscription() && !mWifiEntry.isSaved() + && !mWifiEntry.isSubscription() && mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_DISCONNECTED) { final Drawable drawablehelp = getDrawable(R.drawable.ic_help); drawablehelp.setTintList( @@ -114,6 +115,9 @@ public class WifiEntryPreference extends Preference implements WifiEntry.WifiEnt ((ImageView) imageButton).setImageDrawable(drawablehelp); imageButton.setVisibility(View.VISIBLE); imageButton.setOnClickListener(this); + imageButton.setContentDescription( + getContext().getText(R.string.help_label)); + if (frictionImageView != null) { frictionImageView.setVisibility(View.GONE); } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/WifiEntryPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/WifiEntryPreferenceTest.java index 47836c022d38..a9f31ce12b42 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/WifiEntryPreferenceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/WifiEntryPreferenceTest.java @@ -167,4 +167,35 @@ public class WifiEntryPreferenceTest { assertThat(view.findViewById(R.id.icon_button).getVisibility()).isEqualTo(View.VISIBLE); } + + @Test + public void helpButton_whenCanManageSubscription_shouldSetCorrectContentDescription() { + when(mMockWifiEntry.canManageSubscription()).thenReturn(true); + final WifiEntryPreference pref = + new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); + final LayoutInflater inflater = LayoutInflater.from(mContext); + final View view = inflater.inflate(pref.getLayoutResource(), new LinearLayout(mContext), + false); + final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(view); + + pref.onBindViewHolder(holder); + + assertThat(view.findViewById(R.id.icon_button).getContentDescription()).isEqualTo( + mContext.getString(R.string.help_label)); + } + + @Test + public void subscriptionEntry_shouldSetImageButtonGone() { + when(mMockWifiEntry.isSubscription()).thenReturn(true); + final WifiEntryPreference pref = + new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); + final LayoutInflater inflater = LayoutInflater.from(mContext); + final View view = inflater.inflate(pref.getLayoutResource(), new LinearLayout(mContext), + false); + final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(view); + + pref.onBindViewHolder(holder); + + assertThat(view.findViewById(R.id.icon_button).getVisibility()).isEqualTo(View.GONE); + } } |