diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 3a0b23f3078..e169001ab64 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1730,7 +1730,7 @@
"Chcete pro zprávy SMS používat aplikaci %s?"
"Poskytovatel hodnocení sítí"
"Žádné"
- "Změnit nastavení Google Wi-Fi Assistant?"
+ "Změnit asistenta pro Wi-Fi?"
"Chcete spravovat síťová připojení pomocí aplikace %1$s namísto aplikace %2$s?"
"Chcete spravovat síťová připojení pomocí aplikace %s?"
"Operátor SIM karty není znám"
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 89e6e1ef8e2..c0df55c752b 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -3610,7 +3610,7 @@
"Zobrazovať v rozbaľovacom paneli, stavovom riadku a na uzamknutej obrazovke"
"Skryť tiché upozornenia v stavovom riadku"
"Blikať"
- "Upozornenia na uzamkn. obraz."
+ "Upozornenia na uzamknutej obrazovke"
"Preskakovať uzamknutú obrazovku"
"Po odomk. tvárou priamo prejsť na poslednú použitú obrazovku"
"Uzamknutá obrazovka, preskočiť, obísť"
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index ef57e541423..7ef950f0a02 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -166,6 +166,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
private NetworkInfo mNetworkInfo;
private NetworkCapabilities mNetworkCapabilities;
private int mRssiSignalLevel = -1;
+ @VisibleForTesting boolean mShowX; // Shows the Wi-Fi signal icon of Pie+x when it's true.
private String[] mSignalStr;
private WifiInfo mWifiInfo;
private final WifiManager mWifiManager;
@@ -555,7 +556,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
}
private void refreshRssiViews() {
- int signalLevel = mWifiEntry.getLevel();
+ final int signalLevel = mWifiEntry.getLevel();
// Disappears signal view if not in range. e.g. for saved networks.
if (signalLevel == WifiEntry.WIFI_LEVEL_UNREACHABLE) {
@@ -564,11 +565,14 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
return;
}
- if (mRssiSignalLevel == signalLevel) {
+ final boolean showX = mWifiEntry.shouldShowXLevelIcon();
+
+ if (mRssiSignalLevel == signalLevel && mShowX == showX) {
return;
}
mRssiSignalLevel = signalLevel;
- Drawable wifiIcon = mIconInjector.getIcon(mRssiSignalLevel);
+ mShowX = showX;
+ Drawable wifiIcon = mIconInjector.getIcon(mShowX, mRssiSignalLevel);
if (mEntityHeaderController != null) {
mEntityHeaderController
@@ -1006,8 +1010,8 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
mContext = context;
}
- public Drawable getIcon(int level) {
- return mContext.getDrawable(Utils.getWifiIconResource(level)).mutate();
+ public Drawable getIcon(boolean showX, int level) {
+ return mContext.getDrawable(Utils.getWifiIconResource(showX, level)).mutate();
}
}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
index 9aaaa43cd72..1f4254e4c4a 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -299,7 +299,7 @@ public class WifiDetailPreferenceController2Test {
.thenReturn(mMockHeaderController);
when(mMockHeaderController.setSecondSummary(nullable(String.class)))
.thenReturn(mMockHeaderController);
- when(mMockIconInjector.getIcon(anyInt())).thenReturn(new ColorDrawable());
+ when(mMockIconInjector.getIcon(anyBoolean(), anyInt())).thenReturn(new ColorDrawable());
setupMockedPreferenceScreen();
}
@@ -500,7 +500,7 @@ public class WifiDetailPreferenceController2Test {
public void entityHeader_shouldHaveIconSetForConnectedNetwork() {
setUpForConnectedNetwork();
setUpSpyController();
- Drawable expectedIcon = mMockIconInjector.getIcon(LEVEL);
+ Drawable expectedIcon = mMockIconInjector.getIcon(false /* showX */, LEVEL);
displayAndResume();
@@ -510,7 +510,7 @@ public class WifiDetailPreferenceController2Test {
@Test
public void entityHeader_shouldHaveIconSetForDisconnectedNetwork() {
setUpForDisconnectedNetwork();
- Drawable expectedIcon = mMockIconInjector.getIcon(LEVEL);
+ Drawable expectedIcon = mMockIconInjector.getIcon(false /* showX */, LEVEL);
displayAndResume();
@@ -615,6 +615,7 @@ public class WifiDetailPreferenceController2Test {
displayAndResume();
+ assertThat(mController.mShowX).isFalse();
verify(mMockSignalStrengthPref).setIcon(any(Drawable.class));
}
@@ -624,6 +625,7 @@ public class WifiDetailPreferenceController2Test {
displayAndResume();
+ assertThat(mController.mShowX).isFalse();
verify(mMockSignalStrengthPref).setIcon(any(Drawable.class));
}
@@ -633,6 +635,7 @@ public class WifiDetailPreferenceController2Test {
displayAndResume();
+ assertThat(mController.mShowX).isFalse();
verify(mMockSignalStrengthPref, never()).setIcon(any(Drawable.class));
}
@@ -645,6 +648,7 @@ public class WifiDetailPreferenceController2Test {
displayAndResume();
+ assertThat(mController.mShowX).isFalse();
verify(mMockSignalStrengthPref).setSummary(expectedStrength);
}
@@ -656,6 +660,7 @@ public class WifiDetailPreferenceController2Test {
displayAndResume();
+ assertThat(mController.mShowX).isFalse();
verify(mMockSignalStrengthPref).setSummary(expectedStrength);
}
@@ -665,9 +670,24 @@ public class WifiDetailPreferenceController2Test {
displayAndResume();
+ assertThat(mController.mShowX).isFalse();
verify(mMockSignalStrengthPref, never()).setSummary(any(String.class));
}
+ @Test
+ public void signalStrengthPref_shouldShowXLevelIcon_showXTrue() {
+ setUpForConnectedNetwork();
+ setUpSpyController();
+ final String expectedStrength =
+ mContext.getResources().getStringArray(R.array.wifi_signal)[LEVEL];
+ when(mMockWifiEntry.shouldShowXLevelIcon()).thenReturn(true);
+
+ displayAndResume();
+
+ assertThat(mController.mShowX).isTrue();
+ verify(mMockSignalStrengthPref).setSummary(expectedStrength);
+ }
+
@Test
public void linkSpeedPref_shouldNotShowIfNotSet() {
setUpForConnectedNetwork();
@@ -1529,7 +1549,7 @@ public class WifiDetailPreferenceController2Test {
ArgumentCaptor drawableCaptor =
ArgumentCaptor.forClass(BitmapDrawable.class);
Drawable original = mContext.getDrawable(Utils.getWifiIconResource(LEVEL)).mutate();
- when(mMockIconInjector.getIcon(anyInt())).thenReturn(original);
+ when(mMockIconInjector.getIcon(anyBoolean(), anyInt())).thenReturn(original);
displayAndResume();
@@ -1548,7 +1568,7 @@ public class WifiDetailPreferenceController2Test {
ArgumentCaptor drawableCaptor =
ArgumentCaptor.forClass(BitmapDrawable.class);
Drawable original = mContext.getDrawable(Utils.getWifiIconResource(LEVEL)).mutate();
- when(mMockIconInjector.getIcon(anyInt())).thenReturn(original);
+ when(mMockIconInjector.getIcon(anyBoolean(), anyInt())).thenReturn(original);
displayAndResume();