Merge changes Iad41fa42,Ie37173d0,Ib923eafb,I9bff481a,I631f5e01, ... am: cc7dec54ab am: 62afa55bb9

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2062966

Change-Id: I21281b1823499bc3fb6490854c8bc56bd4b61ca5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Sudheer Shanka
2022-04-15 18:37:24 +00:00
committed by Automerger Merge Worker

View File

@@ -46,6 +46,12 @@ import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
import static android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.net.ConnectivityManager.BLOCKED_METERED_REASON_DATA_SAVER;
import static android.net.ConnectivityManager.BLOCKED_METERED_REASON_USER_RESTRICTED;
import static android.net.ConnectivityManager.BLOCKED_REASON_APP_STANDBY;
import static android.net.ConnectivityManager.BLOCKED_REASON_BATTERY_SAVER;
import static android.net.ConnectivityManager.BLOCKED_REASON_DOZE;
import static android.net.ConnectivityManager.BLOCKED_REASON_LOW_POWER_STANDBY;
import static android.net.ConnectivityManager.BLOCKED_REASON_NONE;
import static android.os.FactoryTest.FACTORY_TEST_OFF;
import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_CRITICAL;
@@ -16366,8 +16372,22 @@ public class ActivityManagerService extends IActivityManager.Stub
// TODO: We can reuse this data in
// ProcessList#incrementProcStateSeqAndNotifyAppsLOSP instead of calling into
// NetworkManagementService.
return mUidNetworkBlockedReasons.get(uid, BLOCKED_REASON_NONE)
!= BLOCKED_REASON_NONE;
final int uidBlockedReasons = mUidNetworkBlockedReasons.get(
uid, BLOCKED_REASON_NONE);
if (uidBlockedReasons == BLOCKED_REASON_NONE) {
return false;
}
final int topExemptedBlockedReasons = BLOCKED_REASON_BATTERY_SAVER
| BLOCKED_REASON_DOZE
| BLOCKED_REASON_APP_STANDBY
| BLOCKED_REASON_LOW_POWER_STANDBY
| BLOCKED_METERED_REASON_DATA_SAVER
| BLOCKED_METERED_REASON_USER_RESTRICTED;
final int effectiveBlockedReasons =
uidBlockedReasons & ~topExemptedBlockedReasons;
// Only consider it as blocked if it is not blocked by a reason
// that is not exempted by app being in the top state.
return effectiveBlockedReasons == BLOCKED_REASON_NONE;
}
}