diff options
author | Quang Luong <qal@google.com> | 2023-11-01 03:26:07 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-11-01 03:26:07 +0000 |
commit | cb112ab31e8ada2c29bd9693af6d6e52bf68b337 (patch) | |
tree | 03869829b9cf8513d42fdba823b5a1ce05bdcbad | |
parent | 8a3a06fd7a6f493f7586e40ebc817fbf5b1e3171 (diff) | |
parent | 8fe66bc11f8a9b6a63ed86c2868eaf98e2d39ba3 (diff) | |
download | wifi-cb112ab31e8ada2c29bd9693af6d6e52bf68b337.tar.gz |
Merge "Enable WifiTrackerLib verbose logging for userdebug builds" into main
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 |