正在查看: Jurassic World v1.83.4 应用的 AlarmReceiver.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Jurassic World v1.83.4 应用的 AlarmReceiver.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.ludia.framework.notification.local;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import androidx.core.app.NotificationCompat;
import com.helpshift.util.ConfigValues;
import com.ludia.engine.application.Application;
import com.ludia.engine.application.GameActivity;
import com.microsoft.appcenter.ingestion.models.properties.StringTypedProperty;
import com.unity3d.services.UnityAdsConstants;
public class AlarmReceiver extends BroadcastReceiver {
public static final String ALARM_ID = "ALARM_ID";
public static final String CHANNEL_ID = "ALARM_CHANNEL_ID";
public static final String FIRE_TIME = "ALARM_FIRE_TIME";
public static final String REPEAT_INTERVAL = "ALARM_REPEAT_INTERVAL";
public static final String SOUND_ENABLED = "ALARM_SOUND_ENABLED";
public static final String SOUND_NAME = "ALARM_SOUND_NAME";
public static final String SUBTITLE = "ALARM_SUBTITLE";
public static final String TICKER_TEXT = "ALARM_TICKER";
public static final String TITLE = "ALARM_TITLE";
private Context m_context;
@Override
public void onReceive(Context context, Intent intent) {
this.m_context = context;
try {
Bundle extras = intent.getExtras();
NotificationData notificationData = new NotificationData();
notificationData.ticker = extras.getString(TICKER_TEXT);
notificationData.title = extras.getString(TITLE);
notificationData.subTitle = extras.getString(SUBTITLE);
notificationData.repeatInterval = extras.getLong(REPEAT_INTERVAL);
notificationData.fireTime = extras.getLong(FIRE_TIME);
notificationData.alarmId = extras.getInt(ALARM_ID);
notificationData.soundEnabled = extras.getBoolean(SOUND_ENABLED);
notificationData.soundfileName = extras.getString(SOUND_NAME);
notificationData.channelId = extras.getString(CHANNEL_ID);
Application.trace("Notification alarm fired: %d", Integer.valueOf(notificationData.alarmId));
showNotification(notificationData);
if (!notificationData.isRepeating()) {
NotificationBackupManager.unpersistNotification(context, notificationData.alarmId);
} else {
notificationData.updateFireTimeToNextRepeat();
NotificationBackupManager.persistNotification(context, notificationData);
}
} catch (Exception unused) {
Application.trace("Notification not shown - Possible reason: missing extras in intent.", new Object[0]);
}
}
private final void showNotification(NotificationData notificationData) {
if (NotificationSettings.isNotificationEnabled(this.m_context)) {
NotificationManager notificationManager = (NotificationManager) this.m_context.getSystemService(ConfigValues.SOURCE_NOTIFICATION);
Resources resources = this.m_context.getResources();
String packageName = this.m_context.getPackageName();
String string = resources.getString(resources.getIdentifier("ic_type", StringTypedProperty.TYPE, packageName));
String string2 = resources.getString(resources.getIdentifier("ic_notif", StringTypedProperty.TYPE, packageName));
String string3 = resources.getString(resources.getIdentifier("ic_notif_bar", StringTypedProperty.TYPE, packageName));
int identifier = resources.getIdentifier(string2, string, packageName);
int identifier2 = resources.getIdentifier(string3, string, packageName);
if (identifier2 == 0) {
identifier2 = identifier != 0 ? identifier : resources.getIdentifier(resources.getString(resources.getIdentifier("ic_launcher", StringTypedProperty.TYPE, packageName)), string, packageName);
}
Intent intent = new Intent(this.m_context, (Class<?>) GameActivity.class);
intent.putExtra("LocalNotification", true);
intent.putExtra("content", notificationData.subTitle);
NotificationCompat.Builder autoCancel = new NotificationCompat.Builder(this.m_context, NotificationSettings.hasNotificationChannel(this.m_context, notificationData.channelId) ? notificationData.channelId : NotificationSettings.DEFAULT_CHANNEL_ID).setLargeIcon(BitmapFactory.decodeResource(resources, identifier)).setSmallIcon(identifier2).setContentTitle(notificationData.title).setContentText(notificationData.subTitle).setWhen(System.currentTimeMillis()).setContentIntent(PendingIntent.getActivity(this.m_context, 0, intent, 201326592)).setOnlyAlertOnce(true).setAutoCancel(true);
autoCancel.setStyle(new NotificationCompat.BigTextStyle().bigText(notificationData.subTitle));
int i = 4;
if (notificationData.soundEnabled && NotificationSettings.isSoundEnabled(this.m_context)) {
if (notificationData.soundfileName.equals("default")) {
i = 5;
} else {
autoCancel.setSound(Uri.parse("android.resource://" + packageName + UnityAdsConstants.DefaultUrls.AD_ASSET_PATH + resources.getIdentifier(notificationData.soundfileName, "raw", packageName)));
}
}
if (NotificationSettings.isVibrationEnabled(this.m_context)) {
i |= 2;
}
autoCancel.setDefaults(i);
notificationManager.notify(1, autoCancel.build());
}
}
}