summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsLib/res/values/strings.xml3
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/WifiEntryPreference.java4
-rw-r--r--packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/WifiEntryPreferenceTest.java31
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 &amp; 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);
+ }
}