From 19f22d590d6f8d07b0d153a1ef2d8881ca7de36f Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Fri, 10 Dec 2021 09:44:16 -0800 Subject: [PATCH] Support per-process Application class (AM and client side) Now the tag supports `android:name`, which takes a custom Application class name. If omitted, the system defaults to the class set in the tag, or the default class which is `android.app.Application`. Bug: 197264681 Test: atest CtsProcessTest Change-Id: I0650a4a7c75dc37c00875e4f0ac53656f1cbeac9 --- core/java/android/app/LoadedApk.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index 5750484c6169b..77af474a04ac4 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -1352,7 +1352,9 @@ public final class LoadedApk { Application app = null; - String appClass = mApplicationInfo.className; + final String myProcessName = Process.myProcessName(); + String appClass = mApplicationInfo.getCustomApplicationClassNameForProcess( + myProcessName); if (forceDefaultAppClass || (appClass == null)) { appClass = "android.app.Application"; }