summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuang Anh Luong <qal@google.com>2023-11-01 17:59:52 +0900
committerQuang Anh Luong <qal@google.com>2023-11-07 07:09:21 +0900
commit6a94908322dac29d47bb47e13c5f543951ae0116 (patch)
treed9df9e31e0f0bc005bb0301e6451c6c6c76a951d
parenta7e450d44859d1a7f5d71fa94b8094dd994e897b (diff)
downloadwifi-6a94908322dac29d47bb47e13c5f543951ae0116.tar.gz
Remove Flags from WifiTrackerLib
Trunk stable flagging is not available in google3, which means we need to remove these from WifiTrackerLib for our google3 clients (SUW). Instead, wrap these with NonSdkApiWrapper. Bug: 293946849 Test: atest HotspotNetworkEntryTest Change-Id: Ie236a20c264cc207e8bdc2bdc42bb79b788aee68
-rw-r--r--libs/WifiTrackerLib/Android.bp4
-rw-r--r--libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java8
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/HotspotNetworkEntry.java5
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java9
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/HotspotNetworkEntryTest.java16
5 files changed, 33 insertions, 9 deletions
diff --git a/libs/WifiTrackerLib/Android.bp b/libs/WifiTrackerLib/Android.bp
index 25270137a..ae16f1a23 100644
--- a/libs/WifiTrackerLib/Android.bp
+++ b/libs/WifiTrackerLib/Android.bp
@@ -10,7 +10,6 @@ java_defaults {
"androidx.annotation_annotation",
"androidx.core_core",
"androidx.lifecycle_lifecycle-runtime",
- "wifi_aconfig_flags_lib",
"WifiTrackerLibRes",
"SettingsLibHelpUtils",
],
@@ -21,6 +20,9 @@ java_defaults {
android_library {
name: "WifiTrackerLib",
defaults: ["WifiTrackerLibDefaults"],
+ static_libs: [
+ "wifi_aconfig_flags_lib",
+ ],
srcs: ["src/**/*.java"],
}
diff --git a/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java b/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
index 52c51557b..4ea48626a 100644
--- a/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
+++ b/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
@@ -101,4 +101,12 @@ class NonSdkApiWrapper {
// Return null since SUW does not have QUERY_ADMIN_POLICY permission.
return null;
}
+
+ /**
+ * Whether the hotspot network provider battery charging status flag is enabled.
+ */
+ static boolean isNetworkProviderBatteryChargingStatusEnabled() {
+ // Google3 can't access trunk stable flags, so default to false.
+ return false;
+ }
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/HotspotNetworkEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/HotspotNetworkEntry.java
index 11aec21a9..4eca037a4 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/HotspotNetworkEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/HotspotNetworkEntry.java
@@ -19,8 +19,6 @@ package com.android.wifitrackerlib;
import static android.net.wifi.WifiInfo.DEFAULT_MAC_ADDRESS;
import static android.os.Build.VERSION_CODES;
-import static com.android.wifi.flags.Flags.networkProviderBatteryChargingStatus;
-
import android.annotation.TargetApi;
import android.content.Context;
import android.icu.text.MessageFormat;
@@ -348,7 +346,8 @@ public class HotspotNetworkEntry extends WifiEntry {
* If the host device is currently charging its battery.
*/
public synchronized boolean isBatteryCharging() {
- if (mHotspotNetworkData == null || !networkProviderBatteryChargingStatus()) {
+ if (mHotspotNetworkData == null
+ || !NonSdkApiWrapper.isNetworkProviderBatteryChargingStatusEnabled()) {
return false;
}
return mHotspotNetworkData.getNetworkProviderInfo().isBatteryCharging();
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
index 0a71bcbe8..9b61c6646 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
@@ -16,6 +16,8 @@
package com.android.wifitrackerlib;
+import static com.android.wifi.flags.Flags.networkProviderBatteryChargingStatus;
+
import android.app.admin.DevicePolicyManager;
import android.app.admin.WifiSsidPolicy;
import android.content.Context;
@@ -134,4 +136,11 @@ class NonSdkApiWrapper {
}
return null;
}
+
+ /**
+ * Whether the hotspot network provider battery charging status flag is enabled.
+ */
+ static boolean isNetworkProviderBatteryChargingStatusEnabled() {
+ return networkProviderBatteryChargingStatus();
+ }
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/HotspotNetworkEntryTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/HotspotNetworkEntryTest.java
index 637f3f5d5..235a70e88 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/HotspotNetworkEntryTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/HotspotNetworkEntryTest.java
@@ -20,6 +20,8 @@ import static android.net.wifi.ScanResult.WIFI_STANDARD_11N;
import static android.net.wifi.WifiInfo.SECURITY_TYPE_PSK;
import static android.net.wifi.WifiInfo.SECURITY_TYPE_SAE;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession;
import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_CONNECTED;
import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_DISCONNECTED;
import static com.android.wifitrackerlib.WifiEntry.MIN_FREQ_24GHZ;
@@ -48,17 +50,15 @@ import android.net.wifi.sharedconnectivity.app.NetworkProviderInfo;
import android.net.wifi.sharedconnectivity.app.SharedConnectivityManager;
import android.os.Handler;
import android.os.test.TestLooper;
-import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
-import com.android.wifi.flags.Flags;
-
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.mockito.MockitoSession;
public class HotspotNetworkEntryTest {
@Rule
@@ -485,7 +485,6 @@ public class HotspotNetworkEntryTest {
}
@Test
- @RequiresFlagsEnabled(Flags.FLAG_NETWORK_PROVIDER_BATTERY_CHARGING_STATUS)
public void testIsBatteryCharging_usesHotspotNetworkData() {
final HotspotNetworkEntry entry = new HotspotNetworkEntry(
mMockInjector, mMockContext, mTestHandler,
@@ -505,7 +504,14 @@ public class HotspotNetworkEntryTest {
.addHotspotSecurityType(SECURITY_TYPE_PSK)
.build());
- assertThat(entry.isBatteryCharging()).isTrue();
+ MockitoSession session = mockitoSession().spyStatic(NonSdkApiWrapper.class).startMocking();
+ try {
+ doReturn(true).when(() ->
+ NonSdkApiWrapper.isNetworkProviderBatteryChargingStatusEnabled());
+ assertThat(entry.isBatteryCharging()).isTrue();
+ } finally {
+ session.finishMocking();
+ }
}
@Test