Merge "Clear binder identity during network logging notification processing" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-07-13 15:48:19 +00:00
committed by Android (Google) Code Review

View File

@@ -14991,9 +14991,9 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
}
private void setNetworkLoggingActiveInternal(boolean active) {
final boolean[] shouldSendNotification = new boolean[] {false};
synchronized (getLockObject()) {
mInjector.binderWithCleanCallingIdentity(() -> {
mInjector.binderWithCleanCallingIdentity(() -> {
boolean shouldSendNotification = false;
synchronized (getLockObject()) {
if (active) {
if (mNetworkLogger == null) {
final int affectedUserId = getNetworkLoggingAffectedUser();
@@ -15008,7 +15008,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
+ " service not being available yet.");
}
maybePauseDeviceWideLoggingLocked();
shouldSendNotification[0] = shouldSendNetworkLoggingNotificationLocked();
shouldSendNotification = shouldSendNetworkLoggingNotificationLocked();
} else {
if (mNetworkLogger != null && !mNetworkLogger.stopNetworkLogging()) {
Slogf.wtf(LOG_TAG, "Network logging could not be stopped due to the logging"
@@ -15016,15 +15016,15 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
}
mNetworkLogger = null;
}
});
}
if (active) {
if (shouldSendNotification[0]) {
sendNetworkLoggingNotification();
}
} else {
mInjector.getNotificationManager().cancel(SystemMessage.NOTE_NETWORK_LOGGING);
}
if (active) {
if (shouldSendNotification) {
sendNetworkLoggingNotification();
}
} else {
mInjector.getNotificationManager().cancel(SystemMessage.NOTE_NETWORK_LOGGING);
}
});
}
private @UserIdInt int getNetworkLoggingAffectedUser() {