Merge "Split addWifiLockAcqSession into separate methods for WifiLockManager and MulticastLockManager." into main
diff --git a/service/java/com/android/server/wifi/WifiLockManager.java b/service/java/com/android/server/wifi/WifiLockManager.java
index d6f6742..33833f4 100644
--- a/service/java/com/android/server/wifi/WifiLockManager.java
+++ b/service/java/com/android/server/wifi/WifiLockManager.java
@@ -678,7 +678,7 @@
switch(wifiLock.mMode) {
case WifiManager.WIFI_MODE_FULL_HIGH_PERF:
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
uidsAndTags.first,
uidsAndTags.second,
mWifiPermissionsUtil.getWifiCallerType(wifiLock.getUid(),
@@ -696,7 +696,7 @@
}
break;
case WifiManager.WIFI_MODE_FULL_LOW_LATENCY:
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
uidsAndTags.first,
uidsAndTags.second,
mWifiPermissionsUtil.getWifiCallerType(wifiLock.getUid(),
diff --git a/service/java/com/android/server/wifi/WifiMetrics.java b/service/java/com/android/server/wifi/WifiMetrics.java
index 58b13fc..68ac00f 100644
--- a/service/java/com/android/server/wifi/WifiMetrics.java
+++ b/service/java/com/android/server/wifi/WifiMetrics.java
@@ -8914,8 +8914,11 @@
}
}
- /** Add a WifiLock acquisition session */
- public void addWifiLockAcqSession(int lockType, int[] attrUids, String[] attrTags,
+ /**
+ * Add a WifiLockManager acquisition session. This represents the session during which
+ * a single lock was held.
+ */
+ public void addWifiLockManagerAcqSession(int lockType, int[] attrUids, String[] attrTags,
int callerType, long duration, boolean isPowersaveDisableAllowed,
boolean isAppExemptedFromScreenOn, boolean isAppExemptedFromForeground) {
int lockMode;
@@ -8933,6 +8936,27 @@
Log.e(TAG, "addWifiLockAcqSession: Invalid lock type: " + lockType);
return;
}
+ writeWifiLockAcqSession(lockMode, attrUids, attrTags, callerType, duration,
+ isPowersaveDisableAllowed, isAppExemptedFromScreenOn, isAppExemptedFromForeground);
+ }
+
+ /**
+ * Add a MulticastLockManager acquisition session. This represents the session during which
+ * a single lock was held.
+ */
+ public void addMulticastLockManagerAcqSession(
+ int uid, String attributionTag, int callerType, long duration) {
+ // Use a default value for the boolean parameters, since these fields
+ // don't apply to multicast locks.
+ writeWifiLockAcqSession(
+ WifiStatsLog.WIFI_LOCK_RELEASED__MODE__WIFI_MODE_MULTICAST_FILTERING_DISABLED,
+ new int[]{uid}, new String[]{attributionTag}, callerType, duration,
+ false, false, false);
+ }
+
+ private void writeWifiLockAcqSession(int lockMode, int[] attrUids, String[] attrTags,
+ int callerType, long duration, boolean isPowersaveDisableAllowed,
+ boolean isAppExemptedFromScreenOn, boolean isAppExemptedFromForeground) {
WifiStatsLog.write(WifiStatsLog.WIFI_LOCK_RELEASED,
attrUids,
attrTags,
diff --git a/service/tests/wifitests/src/com/android/server/wifi/WifiLockManagerTest.java b/service/tests/wifitests/src/com/android/server/wifi/WifiLockManagerTest.java
index 4e5250d..64831e1 100644
--- a/service/tests/wifitests/src/com/android/server/wifi/WifiLockManagerTest.java
+++ b/service/tests/wifitests/src/com/android/server/wifi/WifiLockManagerTest.java
@@ -303,7 +303,7 @@
acquireWifiLockSuccessful(WifiManager.WIFI_MODE_FULL_HIGH_PERF, "", mBinder, mWorkSource);
releaseWifiLockSuccessful(mBinder);
- verify(mWifiMetrics).addWifiLockAcqSession(
+ verify(mWifiMetrics).addWifiLockManagerAcqSession(
eq(mDeviceConfigFacade.isHighPerfLockDeprecated() && SdkLevel.isAtLeastU()
? WifiManager.WIFI_MODE_FULL_LOW_LATENCY
: WifiManager.WIFI_MODE_FULL_HIGH_PERF), eq(new int[]{DEFAULT_TEST_UID_1}),
@@ -632,7 +632,7 @@
// Release the first lock
releaseWifiLockSuccessful(mBinder);
- verify(mWifiMetrics).addWifiLockAcqSession(eq(WifiManager.WIFI_MODE_FULL_HIGH_PERF),
+ verify(mWifiMetrics).addWifiLockManagerAcqSession(eq(WifiManager.WIFI_MODE_FULL_HIGH_PERF),
eq(new int[]{DEFAULT_TEST_UID_1}), eq(new String[]{null}), anyInt(), anyLong(),
anyBoolean(), anyBoolean(),
anyBoolean());
@@ -782,7 +782,7 @@
false);
releaseWifiLockSuccessful(mBinder);
- verify(mWifiMetrics).addWifiLockAcqSession(eq(expectedMode),
+ verify(mWifiMetrics).addWifiLockManagerAcqSession(eq(expectedMode),
eq(new int[]{DEFAULT_TEST_UID_1}), eq(new String[]{null}), anyInt(), anyLong(),
anyBoolean(), anyBoolean(), anyBoolean());
assertEquals(WifiManager.WIFI_MODE_NO_LOCKS_HELD,
@@ -863,7 +863,7 @@
eq(ClientMode.POWER_SAVE_CLIENT_WIFI_LOCK), anyBoolean());
releaseWifiLockSuccessful(mBinder);
- verify(mWifiMetrics).addWifiLockAcqSession(eq(WifiManager.WIFI_MODE_FULL_HIGH_PERF),
+ verify(mWifiMetrics).addWifiLockManagerAcqSession(eq(WifiManager.WIFI_MODE_FULL_HIGH_PERF),
eq(new int[]{DEFAULT_TEST_UID_1}), eq(new String[]{null}), anyInt(), anyLong(),
anyBoolean(), anyBoolean(), anyBoolean());
assertEquals(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
@@ -1757,7 +1757,7 @@
when(mClock.getElapsedSinceBootMillis()).thenReturn(releaseTime);
releaseWifiLockSuccessful_noBatteryStats(mBinder);
- verify(mWifiMetrics).addWifiLockAcqSession(eq(expectedMode),
+ verify(mWifiMetrics).addWifiLockManagerAcqSession(eq(expectedMode),
eq(new int[]{DEFAULT_TEST_UID_1}), eq(new String[]{null}), anyInt(),
eq(releaseTime - acquireTime), eq(true), eq(false), eq(false));
}
@@ -1808,7 +1808,8 @@
when(mClock.getElapsedSinceBootMillis()).thenReturn(releaseTime);
releaseWifiLockSuccessful_noBatteryStats(mBinder);
- verify(mWifiMetrics).addWifiLockAcqSession(eq(WifiManager.WIFI_MODE_FULL_LOW_LATENCY),
+ verify(mWifiMetrics).addWifiLockManagerAcqSession(
+ eq(WifiManager.WIFI_MODE_FULL_LOW_LATENCY),
eq(new int[]{DEFAULT_TEST_UID_1}), eq(new String[]{null}), anyInt(),
eq(releaseTime - acquireTime), eq(true), eq(false), eq(false));
@@ -1851,7 +1852,7 @@
acquireWifiLockSuccessful(WifiManager.WIFI_MODE_FULL_HIGH_PERF, TEST_WIFI_LOCK_TAG,
mBinder, mWorkSource);
releaseWifiLockSuccessful(mBinder);
- verify(mWifiMetrics).addWifiLockAcqSession(eq(expectedMode),
+ verify(mWifiMetrics).addWifiLockManagerAcqSession(eq(expectedMode),
eq(new int[]{DEFAULT_TEST_UID_1}), eq(new String[]{null}), anyInt(), anyLong(),
anyBoolean(), anyBoolean(), anyBoolean());
acquireWifiLockSuccessful(WifiManager.WIFI_MODE_FULL_HIGH_PERF, TEST_WIFI_LOCK_TAG,
diff --git a/service/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java b/service/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
index 3d3a2e6..e16c2b1 100644
--- a/service/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
+++ b/service/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
@@ -5624,8 +5624,8 @@
* Test the WifiLock acquisition session statistics
*/
@Test
- public void testWifiLockAcqSession() throws Exception {
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
+ public void testWifiLockManagerAcqSession() throws Exception {
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
new int[]{TEST_UID}, new String[]{TEST_TAG}, 0, 100000, false, false, false);
ExtendedMockito.verify(
() -> WifiStatsLog.write(WifiStatsLog.WIFI_LOCK_RELEASED, new int[]{TEST_UID},
@@ -5633,7 +5633,7 @@
WifiStatsLog.WIFI_LOCK_RELEASED__MODE__WIFI_MODE_FULL_HIGH_PERF, 100000,
false, false, false));
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
new int[]{TEST_UID}, new String[]{TEST_TAG}, 0, 10000, true, false, false);
ExtendedMockito.verify(
() -> WifiStatsLog.write(WifiStatsLog.WIFI_LOCK_RELEASED, new int[]{TEST_UID},
@@ -5641,7 +5641,7 @@
WifiStatsLog.WIFI_LOCK_RELEASED__MODE__WIFI_MODE_FULL_HIGH_PERF, 10000,
true, false, false));
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
new int[]{TEST_UID}, new String[]{TEST_TAG}, 0, 10000000, true, true, false);
ExtendedMockito.verify(
() -> WifiStatsLog.write(WifiStatsLog.WIFI_LOCK_RELEASED, new int[]{TEST_UID},
@@ -5649,7 +5649,7 @@
WifiStatsLog.WIFI_LOCK_RELEASED__MODE__WIFI_MODE_FULL_HIGH_PERF, 10000000,
true, true, false));
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
new int[]{TEST_UID}, new String[]{TEST_TAG}, 0, 1000, true, true, true);
ExtendedMockito.verify(
() -> WifiStatsLog.write(WifiStatsLog.WIFI_LOCK_RELEASED, new int[]{TEST_UID},
@@ -5658,7 +5658,7 @@
true, true, true));
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
new int[]{TEST_UID}, new String[]{TEST_TAG}, 0, 90000, false, false, false);
ExtendedMockito.verify(
() -> WifiStatsLog.write(WifiStatsLog.WIFI_LOCK_RELEASED, new int[]{TEST_UID},
@@ -5666,7 +5666,7 @@
WifiStatsLog.WIFI_LOCK_RELEASED__MODE__WIFI_MODE_FULL_LOW_LATENCY, 90000,
false, false, false));
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
new int[]{TEST_UID}, new String[]{TEST_TAG}, 0, 900000, true, false, false);
ExtendedMockito.verify(
() -> WifiStatsLog.write(WifiStatsLog.WIFI_LOCK_RELEASED, new int[]{TEST_UID},
@@ -5674,7 +5674,7 @@
WifiStatsLog.WIFI_LOCK_RELEASED__MODE__WIFI_MODE_FULL_LOW_LATENCY, 900000,
true, false, false));
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
new int[]{TEST_UID}, new String[]{TEST_TAG}, 0, 9000, true, true, false);
ExtendedMockito.verify(
() -> WifiStatsLog.write(WifiStatsLog.WIFI_LOCK_RELEASED, new int[]{TEST_UID},
@@ -5682,7 +5682,7 @@
WifiStatsLog.WIFI_LOCK_RELEASED__MODE__WIFI_MODE_FULL_LOW_LATENCY, 9000,
true, true, false));
- mWifiMetrics.addWifiLockAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
+ mWifiMetrics.addWifiLockManagerAcqSession(WifiManager.WIFI_MODE_FULL_LOW_LATENCY,
new int[]{TEST_UID}, new String[]{TEST_TAG}, 0, 20000000, true, true, true);
ExtendedMockito.verify(
() -> WifiStatsLog.write(WifiStatsLog.WIFI_LOCK_RELEASED, new int[]{TEST_UID},