Files
adif-api-reverse-engineering/apk_decompiled/sources/com/google/firebase/messaging/ProxyNotificationInitializer.java

107 lines
4.7 KiB
Java

package com.google.firebase.messaging;
import android.annotation.TargetApi;
import android.app.NotificationManager;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Binder;
import android.os.Bundle;
import android.util.Log;
import com.google.android.gms.common.util.PlatformVersion;
import com.google.android.gms.tasks.Task;
import com.google.android.gms.tasks.TaskCompletionSource;
import com.google.android.gms.tasks.Tasks;
import java.util.concurrent.Executor;
import n.ExecutorC0507a;
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes3.dex */
public final class ProxyNotificationInitializer {
private static final String MANIFEST_METADATA_NOTIFICATION_DELEGATION_ENABLED = "firebase_messaging_notification_delegation_enabled";
private ProxyNotificationInitializer() {
}
private static boolean allowedToUse(Context context) {
return Binder.getCallingUid() == context.getApplicationInfo().uid;
}
public static void initialize(Context context) {
if (ProxyNotificationPreferences.isProxyNotificationInitialized(context)) {
return;
}
setEnableProxyNotification(new ExecutorC0507a(1), context, shouldEnableProxyNotification(context));
}
public static boolean isProxyNotificationEnabled(Context context) {
if (!PlatformVersion.isAtLeastQ()) {
if (Log.isLoggable(Constants.TAG, 3)) {
Log.d(Constants.TAG, "Platform doesn't support proxying.");
}
return false;
}
if (!allowedToUse(context)) {
Log.e(Constants.TAG, "error retrieving notification delegate for package " + context.getPackageName());
return false;
}
if (!"com.google.android.gms".equals(((NotificationManager) context.getSystemService(NotificationManager.class)).getNotificationDelegate())) {
return false;
}
if (!Log.isLoggable(Constants.TAG, 3)) {
return true;
}
Log.d(Constants.TAG, "GMS core is set for proxying");
return true;
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ void lambda$setEnableProxyNotification$0(Context context, boolean z3, TaskCompletionSource taskCompletionSource) {
try {
if (!allowedToUse(context)) {
Log.e(Constants.TAG, "error configuring notification delegate for package " + context.getPackageName());
} else {
ProxyNotificationPreferences.setProxyNotificationsInitialized(context, true);
NotificationManager notificationManager = (NotificationManager) context.getSystemService(NotificationManager.class);
if (z3) {
notificationManager.setNotificationDelegate("com.google.android.gms");
} else if ("com.google.android.gms".equals(notificationManager.getNotificationDelegate())) {
notificationManager.setNotificationDelegate(null);
}
}
} finally {
taskCompletionSource.trySetResult(null);
}
}
@TargetApi(29)
public static Task<Void> setEnableProxyNotification(Executor executor, final Context context, final boolean z3) {
if (!PlatformVersion.isAtLeastQ()) {
return Tasks.forResult(null);
}
final TaskCompletionSource taskCompletionSource = new TaskCompletionSource();
executor.execute(new Runnable() { // from class: com.google.firebase.messaging.l
@Override // java.lang.Runnable
public final void run() {
ProxyNotificationInitializer.lambda$setEnableProxyNotification$0(context, z3, taskCompletionSource);
}
});
return taskCompletionSource.getTask();
}
private static boolean shouldEnableProxyNotification(Context context) {
ApplicationInfo applicationInfo;
Bundle bundle;
try {
Context applicationContext = context.getApplicationContext();
PackageManager packageManager = applicationContext.getPackageManager();
if (packageManager == null || (applicationInfo = packageManager.getApplicationInfo(applicationContext.getPackageName(), 128)) == null || (bundle = applicationInfo.metaData) == null || !bundle.containsKey(MANIFEST_METADATA_NOTIFICATION_DELEGATION_ENABLED)) {
return true;
}
return applicationInfo.metaData.getBoolean(MANIFEST_METADATA_NOTIFICATION_DELEGATION_ENABLED);
} catch (PackageManager.NameNotFoundException unused) {
return true;
}
}
}