diff options
5 files changed, 57 insertions, 89 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/TronUtils.java b/packages/SettingsLib/src/com/android/settingslib/TronUtils.java index bea6e8f77dd2..945cb5797e8f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/TronUtils.java +++ b/packages/SettingsLib/src/com/android/settingslib/TronUtils.java @@ -16,48 +16,18 @@ package com.android.settingslib; import android.content.Context; -import android.net.NetworkBadging; import com.android.internal.logging.MetricsLogger; +import com.android.settingslib.wifi.AccessPoint.Speed; /** Utilites for Tron Logging. */ public final class TronUtils { - private TronUtils() {}; - - public static void logWifiSettingsBadge(Context context, int badgeEnum) { - logNetworkBadgeMetric(context, "settings_wifibadging", badgeEnum); - } + private static final String TAG = "TronUtils"; - /** - * Logs an occurrence of the given network badge to a Histogram. - * - * @param context Context - * @param histogram the Tron histogram name to write to - * @param badgeEnum the {@link NetworkBadging.Badging} badge value - * @throws IllegalArgumentException if the given badge enum is not supported - */ - private static void logNetworkBadgeMetric( - Context context, String histogram, int badgeEnum) - throws IllegalArgumentException { - int bucket; - switch (badgeEnum) { - case NetworkBadging.BADGING_NONE: - bucket = 0; - break; - case NetworkBadging.BADGING_SD: - bucket = 1; - break; - case NetworkBadging.BADGING_HD: - bucket = 2; - break; - case NetworkBadging.BADGING_4K: - bucket = 3; - break; - default: - throw new IllegalArgumentException("Unsupported badge enum: " + badgeEnum); - } + private TronUtils() {}; - MetricsLogger.histogram(context, histogram, bucket); + public static void logWifiSettingsSpeed(Context context, @Speed int speedEnum) { + MetricsLogger.histogram(context, "settings_wifi_speed_labels", speedEnum); } } diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java index dcb57b9642e4..fc6a1611e697 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java @@ -16,6 +16,7 @@ package com.android.settingslib.wifi; +import android.annotation.IntDef; import android.annotation.Nullable; import android.app.AppGlobals; import android.content.Context; @@ -53,6 +54,8 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.settingslib.R; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Iterator; import java.util.concurrent.ConcurrentHashMap; @@ -82,35 +85,30 @@ public class AccessPoint implements Comparable<AccessPoint> { */ public static final int HIGHER_FREQ_5GHZ = 5900; - /** - * Constant value representing an unlabeled / unscored network. - */ - @VisibleForTesting - static final int SPEED_NONE = 0; - - /** - * Constant value representing a slow speed network connection. - */ - @VisibleForTesting - static final int SPEED_SLOW = 5; - - /** - * Constant value representing a medium speed network connection. - */ - @VisibleForTesting - static final int SPEED_MEDIUM = 10; - - /** - * Constant value representing a fast speed network connection. - */ - @VisibleForTesting - static final int SPEED_FAST = 20; - - /** - * Constant value representing a very fast speed network connection. - */ - @VisibleForTesting - static final int SPEED_VERY_FAST = 30; + @IntDef({Speed.NONE, Speed.SLOW, Speed.MODERATE, Speed.FAST, Speed.VERY_FAST}) + @Retention(RetentionPolicy.SOURCE) + public @interface Speed { + /** + * Constant value representing an unlabeled / unscored network. + */ + int NONE = 0; + /** + * Constant value representing a slow speed network connection. + */ + int SLOW = 5; + /** + * Constant value representing a medium speed network connection. + */ + int MODERATE = 10; + /** + * Constant value representing a fast speed network connection. + */ + int FAST = 20; + /** + * Constant value representing a very fast speed network connection. + */ + int VERY_FAST = 30; + } /** * Experimental: we should be able to show the user the list of BSSIDs and bands @@ -177,7 +175,7 @@ public class AccessPoint implements Comparable<AccessPoint> { private Object mTag; private int mRankingScore = Integer.MIN_VALUE; - private int mSpeed = AccessPoint.SPEED_NONE; + private int mSpeed = Speed.NONE; private boolean mIsScoredNetworkMetered = false; // used to co-relate internal vs returned accesspoint. @@ -375,7 +373,7 @@ public class AccessPoint implements Comparable<AccessPoint> { if (mRankingScore != Integer.MIN_VALUE) { builder.append(",rankingScore=").append(mRankingScore); } - if (mSpeed != SPEED_NONE) { + if (mSpeed != Speed.NONE) { builder.append(",speed=").append(mSpeed); } builder.append(",metered=").append(isMetered()); @@ -406,7 +404,7 @@ public class AccessPoint implements Comparable<AccessPoint> { private boolean updateScores(WifiNetworkScoreCache scoreCache) { int oldSpeed = mSpeed; int oldRankingScore = mRankingScore; - mSpeed = SPEED_NONE; + mSpeed = Speed.NONE; mRankingScore = Integer.MIN_VALUE; for (ScanResult result : mScanResultCache.values()) { @@ -682,7 +680,7 @@ public class AccessPoint implements Comparable<AccessPoint> { // TODO(b/62354743): Standardize and international delimiter usage final String concatenator = " / "; - if (mSpeed != SPEED_NONE) { + if (mSpeed != Speed.NONE) { summary.append(getSpeedLabel() + concatenator); } @@ -806,7 +804,7 @@ public class AccessPoint implements Comparable<AccessPoint> { if (mRankingScore != Integer.MIN_VALUE) { visibility.append(" rankingScore=").append(getRankingScore()); } - if (mSpeed != SPEED_NONE) { + if (mSpeed != Speed.NONE) { visibility.append(" speed=").append(getSpeedLabel()); } visibility.append(String.format(" tx=%.1f,", mInfo.txSuccessRate)); @@ -1111,15 +1109,15 @@ public class AccessPoint implements Comparable<AccessPoint> { @Nullable String getSpeedLabel() { switch (mSpeed) { - case SPEED_VERY_FAST: + case Speed.VERY_FAST: return mContext.getString(R.string.speed_label_very_fast); - case SPEED_FAST: + case Speed.FAST: return mContext.getString(R.string.speed_label_fast); - case SPEED_MEDIUM: + case Speed.MODERATE: return mContext.getString(R.string.speed_label_okay); - case SPEED_SLOW: + case Speed.SLOW: return mContext.getString(R.string.speed_label_slow); - case SPEED_NONE: + case Speed.NONE: default: return null; } diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java index e7525f3edbc4..e5977f313091 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java @@ -161,7 +161,7 @@ public class AccessPointPreference extends Preference { safeSetDefaultIcon(); return; } - TronUtils.logWifiSettingsBadge(context, mWifiSpeed); + TronUtils.logWifiSettingsSpeed(context, mWifiSpeed); // TODO(b/62355275): Revert this to N code after deleting NetworkBadging API Drawable drawable = NetworkBadging.getWifiIcon( diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java index 4accc7776578..57ad093422a4 100644 --- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java +++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java @@ -349,11 +349,11 @@ public class AccessPointTest { when(mockWifiNetworkScoreCache.getScoredNetwork(any(ScanResult.class))) .thenReturn(buildScoredNetworkWithMockBadgeCurve()); - when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.SPEED_VERY_FAST); + when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.Speed.VERY_FAST); ap.update(mockWifiNetworkScoreCache, true /* scoringUiEnabled */); - assertThat(ap.getSpeed()).isEqualTo(AccessPoint.SPEED_VERY_FAST); + assertThat(ap.getSpeed()).isEqualTo(AccessPoint.Speed.VERY_FAST); assertThat(ap.getSpeedLabel()) .isEqualTo(mContext.getString(R.string.speed_label_very_fast)); } @@ -364,11 +364,11 @@ public class AccessPointTest { when(mockWifiNetworkScoreCache.getScoredNetwork(any(ScanResult.class))) .thenReturn(buildScoredNetworkWithMockBadgeCurve()); - when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.SPEED_FAST); + when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.Speed.FAST); ap.update(mockWifiNetworkScoreCache, true /* scoringUiEnabled */); - assertThat(ap.getSpeed()).isEqualTo(AccessPoint.SPEED_FAST); + assertThat(ap.getSpeed()).isEqualTo(AccessPoint.Speed.FAST); assertThat(ap.getSpeedLabel()) .isEqualTo(mContext.getString(R.string.speed_label_fast)); } @@ -379,11 +379,11 @@ public class AccessPointTest { when(mockWifiNetworkScoreCache.getScoredNetwork(any(ScanResult.class))) .thenReturn(buildScoredNetworkWithMockBadgeCurve()); - when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.SPEED_MEDIUM); + when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.Speed.MODERATE); ap.update(mockWifiNetworkScoreCache, true /* scoringUiEnabled */); - assertThat(ap.getSpeed()).isEqualTo(AccessPoint.SPEED_MEDIUM); + assertThat(ap.getSpeed()).isEqualTo(AccessPoint.Speed.MODERATE); assertThat(ap.getSpeedLabel()) .isEqualTo(mContext.getString(R.string.speed_label_okay)); } @@ -394,11 +394,11 @@ public class AccessPointTest { when(mockWifiNetworkScoreCache.getScoredNetwork(any(ScanResult.class))) .thenReturn(buildScoredNetworkWithMockBadgeCurve()); - when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.SPEED_SLOW); + when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.Speed.SLOW); ap.update(mockWifiNetworkScoreCache, true /* scoringUiEnabled */); - assertThat(ap.getSpeed()).isEqualTo(AccessPoint.SPEED_SLOW); + assertThat(ap.getSpeed()).isEqualTo(AccessPoint.Speed.SLOW); assertThat(ap.getSpeedLabel()) .isEqualTo(mContext.getString(R.string.speed_label_slow)); } @@ -409,7 +409,7 @@ public class AccessPointTest { when(mockWifiNetworkScoreCache.getScoredNetwork(any(ScanResult.class))) .thenReturn(buildScoredNetworkWithMockBadgeCurve()); - when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.SPEED_VERY_FAST); + when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.Speed.VERY_FAST); ap.update(mockWifiNetworkScoreCache, true /* scoringUiEnabled */); @@ -423,7 +423,7 @@ public class AccessPointTest { when(mockWifiNetworkScoreCache.getScoredNetwork(any(ScanResult.class))) .thenReturn(buildScoredNetworkWithMockBadgeCurve()); - when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.SPEED_VERY_FAST); + when(mockBadgeCurve.lookupScore(anyInt())).thenReturn((byte) AccessPoint.Speed.VERY_FAST); ap.update(mockWifiNetworkScoreCache, true /* scoringUiEnabled */); diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java index 340ef016d74d..cfd5a3cb5c9d 100644 --- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java +++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java @@ -94,7 +94,7 @@ public class WifiTrackerTest { new NetworkKey(new WifiKey('"' + SSID_1 + '"', BSSID_1)); private static final int RSSI_1 = -30; private static final byte SCORE_1 = 10; - private static final int BADGE_1 = AccessPoint.SPEED_MEDIUM; + private static final int BADGE_1 = AccessPoint.Speed.MODERATE; private static final String SSID_2 = "ssid2"; private static final String BSSID_2 = "AA:AA:AA:AA:AA:AA"; @@ -102,7 +102,7 @@ public class WifiTrackerTest { new NetworkKey(new WifiKey('"' + SSID_2 + '"', BSSID_2)); private static final int RSSI_2 = -30; private static final byte SCORE_2 = 15; - private static final int BADGE_2 = AccessPoint.SPEED_FAST; + private static final int BADGE_2 = AccessPoint.Speed.FAST; private static final int CONNECTED_NETWORK_ID = 123; private static final int CONNECTED_RSSI = -50; @@ -559,9 +559,9 @@ public class WifiTrackerTest { for (AccessPoint ap : aps) { if (ap.getSsidStr().equals(SSID_1)) { - assertEquals(AccessPoint.SPEED_NONE, ap.getSpeed()); + assertEquals(AccessPoint.Speed.NONE, ap.getSpeed()); } else if (ap.getSsidStr().equals(SSID_2)) { - assertEquals(AccessPoint.SPEED_NONE, ap.getSpeed()); + assertEquals(AccessPoint.Speed.NONE, ap.getSpeed()); } } } |