summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuang Luong <qal@google.com>2023-11-01 03:26:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-11-01 03:26:07 +0000
commitcb112ab31e8ada2c29bd9693af6d6e52bf68b337 (patch)
tree03869829b9cf8513d42fdba823b5a1ce05bdcbad
parent8a3a06fd7a6f493f7586e40ebc817fbf5b1e3171 (diff)
parent8fe66bc11f8a9b6a63ed86c2868eaf98e2d39ba3 (diff)
downloadwifi-cb112ab31e8ada2c29bd9693af6d6e52bf68b337.tar.gz
Merge "Enable WifiTrackerLib verbose logging for userdebug builds" into main
-rw-r--r--libs/WifiTrackerLib/res/values/config.xml2
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java16
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java10
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java10
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java10
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java4
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java7
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiTrackerInjector.java31
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java1
9 files changed, 60 insertions, 31 deletions
diff --git a/libs/WifiTrackerLib/res/values/config.xml b/libs/WifiTrackerLib/res/values/config.xml
index 91df95872..8ec73f5c2 100644
--- a/libs/WifiTrackerLib/res/values/config.xml
+++ b/libs/WifiTrackerLib/res/values/config.xml
@@ -16,5 +16,5 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Enables verbose logging on user debug builds by default -->
- <bool name="wifitrackerlib_enable_verbose_logging_for_userdebug">false</bool>
+ <bool name="wifitrackerlib_enable_verbose_logging_for_userdebug">true</bool>
</resources>
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
index 5b1e78d9b..c7f6bba1f 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
@@ -42,7 +42,6 @@ import android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus;
import android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback;
import android.net.wifi.sharedconnectivity.app.SharedConnectivityManager;
import android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState;
-import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.telephony.SubscriptionManager;
@@ -92,10 +91,8 @@ import java.util.concurrent.Executor;
public class BaseWifiTracker {
private final String mTag;
- private static boolean sVerboseLogging;
-
- public static boolean isVerboseLoggingEnabled() {
- return BaseWifiTracker.sVerboseLogging;
+ public boolean isVerboseLoggingEnabled() {
+ return mInjector.isVerboseLoggingEnabled();
}
private int mWifiState = WifiManager.WIFI_STATE_DISABLED;
@@ -369,13 +366,6 @@ public class BaseWifiTracker {
mScanResultUpdater = new ScanResultUpdater(clock,
maxScanAgeMillis + scanIntervalMillis);
mScanner = new BaseWifiTracker.Scanner(workerHandler.getLooper());
- if (mContext.getResources().getBoolean(
- R.bool.wifitrackerlib_enable_verbose_logging_for_userdebug)
- && Build.TYPE.equals("userdebug")) {
- sVerboseLogging = true;
- } else {
- sVerboseLogging = mWifiManager.isVerboseLoggingEnabled();
- }
}
/**
@@ -385,7 +375,7 @@ public class BaseWifiTracker {
mIsScanningDisabled = true;
// This method indicates SystemUI usage, which shouldn't output verbose logs since it's
// always up.
- sVerboseLogging = false;
+ mInjector.disableVerboseLogging();
}
/**
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java
index 090592dea..9f98ed777 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java
@@ -19,7 +19,7 @@ package com.android.wifitrackerlib;
import static android.net.wifi.WifiInfo.DEFAULT_MAC_ADDRESS;
import static android.net.wifi.WifiInfo.sanitizeSsid;
-import static com.android.wifitrackerlib.Utils.getVerboseLoggingDescription;
+import static com.android.wifitrackerlib.Utils.getVerboseSummary;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
@@ -62,10 +62,10 @@ public class MergedCarrierEntry extends WifiEntry {
public String getSummary(boolean concise) {
StringJoiner sj = new StringJoiner(mContext.getString(
R.string.wifitrackerlib_summary_separator));
- if (!concise) {
- final String verboseLoggingDescription = getVerboseLoggingDescription(this);
- if (!TextUtils.isEmpty(verboseLoggingDescription)) {
- sj.add(verboseLoggingDescription);
+ if (!concise && isVerboseSummaryEnabled()) {
+ final String verboseSummary = getVerboseSummary(this);
+ if (!TextUtils.isEmpty(verboseSummary)) {
+ sj.add(verboseSummary);
}
}
return sj.toString();
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java
index c83a3692b..d9876e4d8 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java
@@ -30,7 +30,7 @@ import static com.android.wifitrackerlib.Utils.getConnectedDescription;
import static com.android.wifitrackerlib.Utils.getConnectingDescription;
import static com.android.wifitrackerlib.Utils.getDisconnectedDescription;
import static com.android.wifitrackerlib.Utils.getMeteredDescription;
-import static com.android.wifitrackerlib.Utils.getVerboseLoggingDescription;
+import static com.android.wifitrackerlib.Utils.getVerboseSummary;
import android.content.Context;
import android.net.ConnectivityManager;
@@ -213,10 +213,10 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
sj.add(meteredDescription);
}
- if (!concise) {
- String verboseLoggingDescription = getVerboseLoggingDescription(this);
- if (!TextUtils.isEmpty(verboseLoggingDescription)) {
- sj.add(verboseLoggingDescription);
+ if (!concise && isVerboseSummaryEnabled()) {
+ String verboseSummary = getVerboseSummary(this);
+ if (!TextUtils.isEmpty(verboseSummary)) {
+ sj.add(verboseSummary);
}
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
index b4f00eec3..6b28a41a3 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
@@ -43,7 +43,7 @@ import static com.android.wifitrackerlib.Utils.getMeteredDescription;
import static com.android.wifitrackerlib.Utils.getSecurityTypesFromScanResult;
import static com.android.wifitrackerlib.Utils.getSecurityTypesFromWifiConfiguration;
import static com.android.wifitrackerlib.Utils.getSingleSecurityTypeFromMultipleSecurityTypes;
-import static com.android.wifitrackerlib.Utils.getVerboseLoggingDescription;
+import static com.android.wifitrackerlib.Utils.getVerboseSummary;
import android.annotation.SuppressLint;
import android.app.admin.DevicePolicyManager;
@@ -229,10 +229,10 @@ public class StandardWifiEntry extends WifiEntry {
sj.add(meteredDescription);
}
- if (!concise) {
- final String verboseLoggingDescription = getVerboseLoggingDescription(this);
- if (!TextUtils.isEmpty(verboseLoggingDescription)) {
- sj.add(verboseLoggingDescription);
+ if (!concise && isVerboseSummaryEnabled()) {
+ final String verboseSummary = getVerboseSummary(this);
+ if (!TextUtils.isEmpty(verboseSummary)) {
+ sj.add(verboseSummary);
}
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
index 0d45e66be..0187a0d6a 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
@@ -525,8 +525,8 @@ public class Utils {
}
}
- static String getVerboseLoggingDescription(@NonNull WifiEntry wifiEntry) {
- if (!BaseWifiTracker.isVerboseLoggingEnabled() || wifiEntry == null) {
+ static String getVerboseSummary(@NonNull WifiEntry wifiEntry) {
+ if (wifiEntry == null) {
return "";
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
index 6f315ef5a..d15c44fd6 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
@@ -1252,4 +1252,11 @@ public class WifiEntry {
*/
void onExecute();
}
+
+ /**
+ * Whether this WifiEntry is using a verbose summary.
+ */
+ public boolean isVerboseSummaryEnabled() {
+ return mInjector.isVerboseSummaryEnabled();
+ }
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiTrackerInjector.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiTrackerInjector.java
index f9f3eed91..c70a88a41 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiTrackerInjector.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiTrackerInjector.java
@@ -18,6 +18,8 @@ package com.android.wifitrackerlib;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
+import android.net.wifi.WifiManager;
+import android.os.Build;
import android.os.UserManager;
import android.provider.DeviceConfig;
import android.util.ArraySet;
@@ -34,13 +36,17 @@ public class WifiTrackerInjector {
@NonNull private final Context mContext;
private final boolean mIsDemoMode;
+ private final WifiManager mWifiManager;
private final UserManager mUserManager;
private final DevicePolicyManager mDevicePolicyManager;
@NonNull private final Set<String> mNoAttributionAnnotationPackages;
+ private boolean mIsUserDebugVerboseLoggingEnabled;
+ private boolean mVerboseLoggingDisabledOverride = false;
// TODO(b/201571677): Migrate the rest of the common objects to WifiTrackerInjector.
WifiTrackerInjector(@NonNull Context context) {
mContext = context;
+ mWifiManager = context.getSystemService(WifiManager.class);
mIsDemoMode = NonSdkApiWrapper.isDemoMode(context);
mUserManager = context.getSystemService(UserManager.class);
mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
@@ -50,6 +56,9 @@ public class WifiTrackerInjector {
for (int i = 0; i < noAttributionAnnotationPackages.length; i++) {
mNoAttributionAnnotationPackages.add(noAttributionAnnotationPackages[i]);
}
+ mIsUserDebugVerboseLoggingEnabled = context.getResources().getBoolean(
+ R.bool.wifitrackerlib_enable_verbose_logging_for_userdebug)
+ && Build.TYPE.equals("userdebug");
}
@NonNull Context getContext() {
@@ -79,4 +88,26 @@ public class WifiTrackerInjector {
return DeviceConfig.getBoolean(DEVICE_CONFIG_NAMESPACE,
"shared_connectivity_enabled", false);
}
+
+ /**
+ * Whether verbose logging is enabled.
+ */
+ public boolean isVerboseLoggingEnabled() {
+ return !mVerboseLoggingDisabledOverride
+ && (mWifiManager.isVerboseLoggingEnabled() || mIsUserDebugVerboseLoggingEnabled);
+ }
+
+ /**
+ * Whether verbose summaries should be shown in WifiEntry.
+ */
+ public boolean isVerboseSummaryEnabled() {
+ return !mVerboseLoggingDisabledOverride && mWifiManager.isVerboseLoggingEnabled();
+ }
+
+ /**
+ * Permanently disables verbose logging.
+ */
+ public void disableVerboseLogging() {
+ mVerboseLoggingDisabledOverride = true;
+ }
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
index 5270d7b91..932b3a0bb 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
@@ -2308,6 +2308,7 @@ public class WifiPickerTrackerTest {
ArgumentCaptor.forClass(WifiScanner.ScanListener.class);
verify(mWifiScanner, never()).startScan(any(), mScanListenerCaptor.capture());
verify(mMockWifiManager, never()).startScan();
+ verify(mInjector).disableVerboseLogging();
}
@Test