gmscompat: Get package name from context instead of app
11-04 08:48:39.039 11637 11637 E AndroidRuntime: FATAL EXCEPTION: main
11-04 08:48:39.039 11637 11637 E AndroidRuntime: Process: com.NextFloor.DestinyChild, PID: 11637
11-04 08:48:39.039 11637 11637 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{/androidx.startup.InitializationProvider}
11-04 08:48:39.039 11637 11637 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:7488)
Change-Id: Icb12f938fe0fca710f8f9d29182d0134ba3c63eb
Signed-off-by: SJD Ayy <3xp1r4t3d@gmail.com>
diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java
index af1c752..9ae5c10 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -1346,7 +1346,7 @@
Application app = getFactory(context.getPackageName())
.instantiateApplication(cl, className);
app.attach(context);
- AttestationHooks.initApplicationBeforeOnCreate(app);
+ AttestationHooks.initApplicationBeforeOnCreate(context);
return app;
}
@@ -1364,7 +1364,7 @@
ClassNotFoundException {
Application app = (Application)clazz.newInstance();
app.attach(context);
- AttestationHooks.initApplicationBeforeOnCreate(app);
+ AttestationHooks.initApplicationBeforeOnCreate(context);
return app;
}
diff --git a/core/java/com/android/internal/gmscompat/AttestationHooks.java b/core/java/com/android/internal/gmscompat/AttestationHooks.java
index 5ee1058..8996ca8 100644
--- a/core/java/com/android/internal/gmscompat/AttestationHooks.java
+++ b/core/java/com/android/internal/gmscompat/AttestationHooks.java
@@ -17,8 +17,10 @@
package com.android.internal.gmscompat;
import android.app.Application;
+import android.content.Context;
import android.os.Build;
import android.os.Build.VERSION;
+import android.text.TextUtils;
import android.util.Log;
import java.lang.reflect.Field;
@@ -67,9 +69,14 @@
}
}
- public static void initApplicationBeforeOnCreate(Application app) {
- String packageName = app.getPackageName();
- String processName = Application.getProcessName();
+ public static void initApplicationBeforeOnCreate(Context context) {
+ final String packageName = context.getPackageName();
+ final String processName = Application.getProcessName();
+
+ if (TextUtils.isEmpty(packageName) || TextUtils.isEmpty(processName)) {
+ Log.e(TAG, "Null package or process name");
+ return;
+ }
if (PACKAGE_GMS.equals(packageName)) {
setBuildField("TIME", System.currentTimeMillis());