summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Achim Thesmann <achim@google.com> 2024-06-05 22:57:25 +0000
committer Achim Thesmann <achim@google.com> 2024-06-07 15:44:27 +0000
commitc7cb310f4118937ef3e3b765ad2b2ceede351b85 (patch)
treeac773f9c7de225d749c1581786620b0b6d1ec979
parentcc509e529f970800bf4604a6e77ed67b0159d297 (diff)
Add target SDK versions to BAL metric
The target SDK version is important to determine which set of rules applies to an app involved in an activity start. Flag: EXEMPT bugfix (adding missing fields to metric) Bug: 339245692 Test: atest BackgroundActivityLaunchTest Change-Id: I97d0c06250e33c32356bcedb565aad3651a3fe8d
-rw-r--r--services/core/java/com/android/server/wm/BackgroundActivityStartController.java30
1 files changed, 16 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java
index 19d7a3c8d86c..a4fb95964a5c 100644
--- a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java
+++ b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java
@@ -427,19 +427,6 @@ public class BackgroundActivityStartController {
return name + "[debugOnly]";
}
- /** @return valid targetSdk or <code>-1</code> */
- private int getTargetSdk(String packageName) {
- if (packageName == null) {
- return -1;
- }
- try {
- PackageManager pm = mService.mContext.getPackageManager();
- return pm.getTargetSdkVersion(packageName);
- } catch (Exception e) {
- return -1;
- }
- }
-
private boolean hasRealCaller() {
return mRealCallingUid != NO_PROCESS_UID;
}
@@ -1730,7 +1717,9 @@ public class BackgroundActivityStartController {
state.mResultForRealCaller == null ? BAL_BLOCK
: state.mResultForRealCaller.getRawCode(),
state.mBalAllowedByPiSender.allowsBackgroundActivityStarts(),
- state.realCallerExplicitOptInOrOut()
+ state.realCallerExplicitOptInOrOut(),
+ getTargetSdk(state.mCallingPackage),
+ getTargetSdk(state.mRealCallingPackage)
);
}
@@ -1811,6 +1800,19 @@ public class BackgroundActivityStartController {
+ ", taskFragment=" + ar.getTaskFragment();
}
+ /** @return valid targetSdk or <code>-1</code> */
+ private int getTargetSdk(String packageName) {
+ if (packageName == null) {
+ return -1;
+ }
+ try {
+ PackageManager pm = mService.mContext.getPackageManager();
+ return pm.getTargetSdkVersion(packageName);
+ } catch (Exception e) {
+ return -1;
+ }
+ }
+
private class FinishedActivityEntry {
int mUid;
int mTaskId;