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

328 lines
16 KiB
Java

package com.google.firebase.messaging;
import C.t;
import C.u;
import android.annotation.TargetApi;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.Color;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.Log;
import com.google.android.gms.cloudmessaging.CloudMessagingReceiver;
import com.google.firebase.messaging.Constants;
import java.util.concurrent.atomic.AtomicInteger;
/* loaded from: classes3.dex */
public final class CommonNotificationBuilder {
private static final String ACTION_RECEIVER = "com.google.android.c2dm.intent.RECEIVE";
public static final String FCM_FALLBACK_NOTIFICATION_CHANNEL = "fcm_fallback_notification_channel";
public static final String FCM_FALLBACK_NOTIFICATION_CHANNEL_LABEL = "fcm_fallback_notification_channel_label";
private static final String FCM_FALLBACK_NOTIFICATION_CHANNEL_NAME_NO_RESOURCE = "Misc";
private static final int ILLEGAL_RESOURCE_ID = 0;
public static final String METADATA_DEFAULT_CHANNEL_ID = "com.google.firebase.messaging.default_notification_channel_id";
public static final String METADATA_DEFAULT_COLOR = "com.google.firebase.messaging.default_notification_color";
public static final String METADATA_DEFAULT_ICON = "com.google.firebase.messaging.default_notification_icon";
private static final AtomicInteger requestCodeProvider = new AtomicInteger((int) SystemClock.elapsedRealtime());
/* loaded from: classes3.dex */
public static class DisplayNotificationInfo {
public final int id;
public final u notificationBuilder;
public final String tag;
public DisplayNotificationInfo(u uVar, String str, int i) {
this.notificationBuilder = uVar;
this.tag = str;
this.id = i;
}
}
private CommonNotificationBuilder() {
}
private static PendingIntent createContentIntent(Context context, NotificationParams notificationParams, String str, PackageManager packageManager) {
Intent createTargetIntent = createTargetIntent(str, notificationParams, packageManager);
if (createTargetIntent == null) {
return null;
}
createTargetIntent.addFlags(67108864);
createTargetIntent.putExtras(notificationParams.paramsWithReservedKeysRemoved());
if (shouldUploadMetrics(notificationParams)) {
createTargetIntent.putExtra(Constants.MessageNotificationKeys.ANALYTICS_DATA, notificationParams.paramsForAnalyticsIntent());
}
return PendingIntent.getActivity(context, generatePendingIntentRequestCode(), createTargetIntent, getPendingIntentFlags(1073741824));
}
private static PendingIntent createDeleteIntent(Context context, Context context2, NotificationParams notificationParams) {
if (shouldUploadMetrics(notificationParams)) {
return createMessagingPendingIntent(context, context2, new Intent(CloudMessagingReceiver.IntentActionKeys.NOTIFICATION_DISMISS).putExtras(notificationParams.paramsForAnalyticsIntent()));
}
return null;
}
private static PendingIntent createMessagingPendingIntent(Context context, Context context2, Intent intent) {
return PendingIntent.getBroadcast(context, generatePendingIntentRequestCode(), new Intent(ACTION_RECEIVER).setPackage(context2.getPackageName()).putExtra(CloudMessagingReceiver.IntentKeys.WRAPPED_INTENT, intent), getPendingIntentFlags(1073741824));
}
public static DisplayNotificationInfo createNotificationInfo(Context context, NotificationParams notificationParams) {
Bundle manifestMetadata = getManifestMetadata(context.getPackageManager(), context.getPackageName());
return createNotificationInfo(context, context, notificationParams, getOrCreateChannel(context, notificationParams.getNotificationChannelId(), manifestMetadata), manifestMetadata);
}
private static Intent createTargetIntent(String str, NotificationParams notificationParams, PackageManager packageManager) {
String string = notificationParams.getString(Constants.MessageNotificationKeys.CLICK_ACTION);
if (!TextUtils.isEmpty(string)) {
Intent intent = new Intent(string);
intent.setPackage(str);
intent.setFlags(268435456);
return intent;
}
Uri link = notificationParams.getLink();
if (link != null) {
Intent intent2 = new Intent("android.intent.action.VIEW");
intent2.setPackage(str);
intent2.setData(link);
return intent2;
}
Intent launchIntentForPackage = packageManager.getLaunchIntentForPackage(str);
if (launchIntentForPackage == null) {
Log.w(Constants.TAG, "No activity found to launch app");
}
return launchIntentForPackage;
}
private static int generatePendingIntentRequestCode() {
return requestCodeProvider.incrementAndGet();
}
private static Integer getColor(Context context, String str, Bundle bundle) {
if (!TextUtils.isEmpty(str)) {
try {
return Integer.valueOf(Color.parseColor(str));
} catch (IllegalArgumentException unused) {
Log.w(Constants.TAG, "Color is invalid: " + str + ". Notification will use default color.");
}
}
int i = bundle.getInt(METADATA_DEFAULT_COLOR, 0);
if (i == 0) {
return null;
}
try {
return Integer.valueOf(D.h.getColor(context, i));
} catch (Resources.NotFoundException unused2) {
Log.w(Constants.TAG, "Cannot find the color resource referenced in AndroidManifest.");
return null;
}
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r0v2, types: [int] */
/* JADX WARN: Type inference failed for: r0v5 */
/* JADX WARN: Type inference failed for: r0v6 */
private static int getConsolidatedDefaults(NotificationParams notificationParams) {
boolean z3 = notificationParams.getBoolean(Constants.MessageNotificationKeys.DEFAULT_SOUND);
?? r02 = z3;
if (notificationParams.getBoolean(Constants.MessageNotificationKeys.DEFAULT_VIBRATE_TIMINGS)) {
r02 = (z3 ? 1 : 0) | 2;
}
return notificationParams.getBoolean(Constants.MessageNotificationKeys.DEFAULT_LIGHT_SETTINGS) ? r02 | 4 : r02;
}
private static Bundle getManifestMetadata(PackageManager packageManager, String str) {
try {
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(str, 128);
if (applicationInfo != null) {
Bundle bundle = applicationInfo.metaData;
if (bundle != null) {
return bundle;
}
}
} catch (PackageManager.NameNotFoundException e4) {
Log.w(Constants.TAG, "Couldn't get own application info: " + e4);
}
return Bundle.EMPTY;
}
@TargetApi(26)
public static String getOrCreateChannel(Context context, String str, Bundle bundle) {
String string;
try {
if (context.getPackageManager().getApplicationInfo(context.getPackageName(), 0).targetSdkVersion < 26) {
return null;
}
NotificationManager notificationManager = (NotificationManager) context.getSystemService(NotificationManager.class);
if (!TextUtils.isEmpty(str)) {
if (notificationManager.getNotificationChannel(str) != null) {
return str;
}
Log.w(Constants.TAG, "Notification Channel requested (" + str + ") has not been created by the app. Manifest configuration, or default, value will be used.");
}
String string2 = bundle.getString(METADATA_DEFAULT_CHANNEL_ID);
if (TextUtils.isEmpty(string2)) {
Log.w(Constants.TAG, "Missing Default Notification Channel metadata in AndroidManifest. Default value will be used.");
} else {
if (notificationManager.getNotificationChannel(string2) != null) {
return string2;
}
Log.w(Constants.TAG, "Notification Channel set in AndroidManifest.xml has not been created by the app. Default value will be used.");
}
if (notificationManager.getNotificationChannel(FCM_FALLBACK_NOTIFICATION_CHANNEL) == null) {
int identifier = context.getResources().getIdentifier(FCM_FALLBACK_NOTIFICATION_CHANNEL_LABEL, "string", context.getPackageName());
if (identifier == 0) {
Log.e(Constants.TAG, "String resource \"fcm_fallback_notification_channel_label\" is not found. Using default string channel name.");
string = FCM_FALLBACK_NOTIFICATION_CHANNEL_NAME_NO_RESOURCE;
} else {
string = context.getString(identifier);
}
notificationManager.createNotificationChannel(new NotificationChannel(FCM_FALLBACK_NOTIFICATION_CHANNEL, string, 3));
}
return FCM_FALLBACK_NOTIFICATION_CHANNEL;
} catch (PackageManager.NameNotFoundException unused) {
return null;
}
}
private static int getPendingIntentFlags(int i) {
return i | 67108864;
}
private static int getSmallIcon(PackageManager packageManager, Resources resources, String str, String str2, Bundle bundle) {
if (!TextUtils.isEmpty(str2)) {
int identifier = resources.getIdentifier(str2, "drawable", str);
if (identifier != 0 && isValidIcon(resources, identifier)) {
return identifier;
}
int identifier2 = resources.getIdentifier(str2, "mipmap", str);
if (identifier2 != 0 && isValidIcon(resources, identifier2)) {
return identifier2;
}
Log.w(Constants.TAG, "Icon resource " + str2 + " not found. Notification will use default icon.");
}
int i = bundle.getInt(METADATA_DEFAULT_ICON, 0);
if (i == 0 || !isValidIcon(resources, i)) {
try {
i = packageManager.getApplicationInfo(str, 0).icon;
} catch (PackageManager.NameNotFoundException e4) {
Log.w(Constants.TAG, "Couldn't get own application info: " + e4);
}
}
return (i == 0 || !isValidIcon(resources, i)) ? android.R.drawable.sym_def_app_icon : i;
}
private static Uri getSound(String str, NotificationParams notificationParams, Resources resources) {
String soundResourceName = notificationParams.getSoundResourceName();
if (TextUtils.isEmpty(soundResourceName)) {
return null;
}
if ("default".equals(soundResourceName) || resources.getIdentifier(soundResourceName, "raw", str) == 0) {
return RingtoneManager.getDefaultUri(2);
}
return Uri.parse("android.resource://" + str + "/raw/" + soundResourceName);
}
private static String getTag(NotificationParams notificationParams) {
String string = notificationParams.getString(Constants.MessageNotificationKeys.TAG);
if (!TextUtils.isEmpty(string)) {
return string;
}
return "FCM-Notification:" + SystemClock.uptimeMillis();
}
@TargetApi(26)
private static boolean isValidIcon(Resources resources, int i) {
return true;
}
public static boolean shouldUploadMetrics(NotificationParams notificationParams) {
return notificationParams.getBoolean(Constants.AnalyticsKeys.ENABLED);
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r4v6, types: [C.s, java.lang.Object, C.v] */
public static DisplayNotificationInfo createNotificationInfo(Context context, Context context2, NotificationParams notificationParams, String str, Bundle bundle) {
String packageName = context2.getPackageName();
Resources resources = context2.getResources();
PackageManager packageManager = context2.getPackageManager();
u uVar = new u(context2, str);
String possiblyLocalizedString = notificationParams.getPossiblyLocalizedString(resources, packageName, Constants.MessageNotificationKeys.TITLE);
if (!TextUtils.isEmpty(possiblyLocalizedString)) {
uVar.f252e = u.b(possiblyLocalizedString);
}
String possiblyLocalizedString2 = notificationParams.getPossiblyLocalizedString(resources, packageName, Constants.MessageNotificationKeys.BODY);
if (!TextUtils.isEmpty(possiblyLocalizedString2)) {
uVar.f253f = u.b(possiblyLocalizedString2);
?? obj = new Object();
obj.f247b = u.b(possiblyLocalizedString2);
uVar.e(obj);
}
uVar.f265u.icon = getSmallIcon(packageManager, resources, packageName, notificationParams.getString(Constants.MessageNotificationKeys.ICON), bundle);
Uri sound = getSound(packageName, notificationParams, resources);
if (sound != null) {
Notification notification = uVar.f265u;
notification.sound = sound;
notification.audioStreamType = -1;
notification.audioAttributes = t.a(t.e(t.c(t.b(), 4), 5));
}
uVar.f254g = createContentIntent(context, notificationParams, packageName, packageManager);
PendingIntent createDeleteIntent = createDeleteIntent(context, context2, notificationParams);
if (createDeleteIntent != null) {
uVar.f265u.deleteIntent = createDeleteIntent;
}
Integer color = getColor(context2, notificationParams.getString(Constants.MessageNotificationKeys.COLOR), bundle);
if (color != null) {
uVar.f261q = color.intValue();
}
uVar.c(!notificationParams.getBoolean(Constants.MessageNotificationKeys.STICKY));
uVar.f260o = notificationParams.getBoolean(Constants.MessageNotificationKeys.LOCAL_ONLY);
String string = notificationParams.getString(Constants.MessageNotificationKeys.TICKER);
if (string != null) {
uVar.f265u.tickerText = u.b(string);
}
Integer notificationPriority = notificationParams.getNotificationPriority();
if (notificationPriority != null) {
uVar.f255j = notificationPriority.intValue();
}
Integer visibility = notificationParams.getVisibility();
if (visibility != null) {
uVar.f262r = visibility.intValue();
}
Integer notificationCount = notificationParams.getNotificationCount();
if (notificationCount != null) {
uVar.i = notificationCount.intValue();
}
Long l4 = notificationParams.getLong(Constants.MessageNotificationKeys.EVENT_TIME);
if (l4 != null) {
uVar.f256k = true;
uVar.f265u.when = l4.longValue();
}
long[] vibrateTimings = notificationParams.getVibrateTimings();
if (vibrateTimings != null) {
uVar.f265u.vibrate = vibrateTimings;
}
int[] lightSettings = notificationParams.getLightSettings();
if (lightSettings != null) {
int i = lightSettings[0];
int i4 = lightSettings[1];
int i5 = lightSettings[2];
Notification notification2 = uVar.f265u;
notification2.ledARGB = i;
notification2.ledOnMS = i4;
notification2.ledOffMS = i5;
notification2.flags = (notification2.flags & (-2)) | ((i4 == 0 || i5 == 0) ? 0 : 1);
}
uVar.d(getConsolidatedDefaults(notificationParams));
return new DisplayNotificationInfo(uVar, getTag(notificationParams), 0);
}
}