Files
rr3-apk/smali_classes2/com/ea/nimble/NimbleLocalNotificationsImpl.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

1809 lines
50 KiB
Smali

.class public Lcom/ea/nimble/NimbleLocalNotificationsImpl;
.super Lcom/ea/nimble/Component;
.source "SourceFile"
# interfaces
.implements Lcom/ea/nimble/INimbleLocalNotifications;
# static fields
.field private static final BADGE_ID:Ljava/lang/String; = "Nimble_BadgeNotification"
.field private static final NOTIFICATION_TRACKING2_LOG_EVENT:Ljava/lang/String; = "nimble.notification.tracking2.logEvent"
.field private static final PERSISTENCE_ENABLED_KEY:Ljava/lang/String; = "enabled"
.field private static final PERSISTENCE_NOTIFICATION_MAP_KEY:Ljava/lang/String; = "map"
.field private static m_badgeProvider:Lcom/ea/nimble/INimbleBadgeProvider;
.field private static m_notificationCustomizer:Lcom/ea/nimble/INimbleLocalNotificationCustomizer;
# instance fields
.field private m_enabled:Z
.field private m_notificationMap:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/util/Date;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 30
invoke-direct {p0}, Lcom/ea/nimble/Component;-><init>()V
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_enabled:Z
return-void
.end method
.method private saveNotificationMap()V
.locals 3
.line 517
invoke-virtual {p0}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->getComponentId()Ljava/lang/String;
move-result-object v0
sget-object v1, Lcom/ea/nimble/Persistence$Storage;->CACHE:Lcom/ea/nimble/Persistence$Storage;
invoke-static {v0, v1}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence;
move-result-object v0
const-string v1, "map"
iget-object v2, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_notificationMap:Ljava/util/HashMap;
.line 518
invoke-virtual {v0, v1, v2}, Lcom/ea/nimble/Persistence;->setValue(Ljava/lang/String;Ljava/io/Serializable;)V
.line 519
invoke-virtual {v0}, Lcom/ea/nimble/Persistence;->synchronize()V
return-void
.end method
# virtual methods
.method public cancelAllNotifications()V
.locals 2
iget-object v0, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_notificationMap:Ljava/util/HashMap;
.line 278
invoke-virtual {v0}, Ljava/util/HashMap;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/HashMap;
.line 280
invoke-virtual {v0}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 282
invoke-virtual {p0, v1}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->cancelNotification(Ljava/lang/String;)V
goto :goto_0
:cond_0
return-void
.end method
.method public cancelNotification(Ljava/lang/String;)V
.locals 4
.line 289
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v0
invoke-interface {v0}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 290
new-instance v1, Landroid/content/Intent;
const-class v2, Lcom/ea/nimble/NimbleLocalNotificationReceiver;
invoke-direct {v1, v0, v2}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
.line 291
invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
move-result v2
const/high16 v3, 0x24000000
invoke-static {v0, v2, v1, v3}, Landroid/app/PendingIntent;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
move-result-object v1
if-eqz v1, :cond_0
.line 294
invoke-virtual {v1}, Landroid/app/PendingIntent;->cancel()V
const-string v2, "alarm"
.line 295
invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/AlarmManager;
.line 296
invoke-virtual {v0, v1}, Landroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V
iget-object v0, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_notificationMap:Ljava/util/HashMap;
.line 298
invoke-virtual {v0, p1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 299
invoke-direct {p0}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->saveNotificationMap()V
const-string v0, "cancelNotification(%s): Successfully canceled"
filled-new-array {p1}, [Ljava/lang/Object;
move-result-object v1
.line 301
invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 304
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
const-string v1, "en"
const-string v2, "message"
.line 305
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 306
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
const-string v2, "core"
.line 307
invoke-virtual {v1, v2, v0}, Landroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V
const-string v0, "msg_id"
.line 308
invoke-virtual {v1, v0, p1}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string p1, "type"
const-string v0, "pn"
.line 309
invoke-virtual {v1, p1, v0}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string p1, "service"
const-string v2, "local"
.line 310
invoke-virtual {v1, p1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string p1, "status"
const-string v2, "canceled"
.line 311
invoke-virtual {v1, p1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string p1, "format"
.line 312
invoke-virtual {v1, p1, v0}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 313
new-instance p1, Landroid/content/Intent;
invoke-direct {p1}, Landroid/content/Intent;-><init>()V
const-string v0, "nimble.notification.tracking2.logEvent"
.line 314
invoke-virtual {p1, v0}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
.line 315
invoke-virtual {p1, v1}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
.line 316
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v0
invoke-interface {v0}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Landroidx/localbroadcastmanager/content/LocalBroadcastManager;->getInstance(Landroid/content/Context;)Landroidx/localbroadcastmanager/content/LocalBroadcastManager;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/localbroadcastmanager/content/LocalBroadcastManager;->sendBroadcast(Landroid/content/Intent;)Z
goto :goto_0
:cond_0
const-string v0, "cancelNotification(%s): Not found"
filled-new-array {p1}, [Ljava/lang/Object;
move-result-object p1
.line 320
invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
:goto_0
return-void
.end method
.method public getBadgeCount()I
.locals 6
.line 485
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
sget-object v0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_badgeProvider:Lcom/ea/nimble/INimbleBadgeProvider;
if-eqz v0, :cond_0
.line 488
invoke-interface {v0}, Lcom/ea/nimble/INimbleBadgeProvider;->getBadgeCount()I
move-result v0
return v0
.line 492
:cond_0
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v0
invoke-interface {v0}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string v1, "notification"
.line 493
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/NotificationManager;
.line 494
invoke-virtual {v0}, Landroid/app/NotificationManager;->getActiveNotifications()[Landroid/service/notification/StatusBarNotification;
move-result-object v0
const/4 v1, 0x0
move v2, v1
.line 497
:goto_0
array-length v3, v0
if-ge v2, v3, :cond_2
.line 499
aget-object v3, v0, v2
.line 500
invoke-virtual {v3}, Landroid/service/notification/StatusBarNotification;->getId()I
move-result v4
const v5, -0x5c14e488
if-ne v4, v5, :cond_1
.line 504
invoke-virtual {v3}, Landroid/service/notification/StatusBarNotification;->getNotification()Landroid/app/Notification;
move-result-object v0
iget v0, v0, Landroid/app/Notification;->number:I
return v0
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_2
return v1
.end method
.method public getComponentId()Ljava/lang/String;
.locals 1
const-string v0, "com.ea.nimble.base.localNotifications"
return-object v0
.end method
.method public isEnabled()Z
.locals 1
iget-boolean v0, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_enabled:Z
return v0
.end method
.method public restore()V
.locals 6
.line 54
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
.line 56
invoke-virtual {p0}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->getComponentId()Ljava/lang/String;
move-result-object v0
sget-object v1, Lcom/ea/nimble/Persistence$Storage;->CACHE:Lcom/ea/nimble/Persistence$Storage;
invoke-static {v0, v1}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence;
move-result-object v0
const-string v1, "enabled"
.line 57
invoke-virtual {v0, v1}, Lcom/ea/nimble/Persistence;->hasKey(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_0
.line 59
invoke-virtual {v0, v1}, Lcom/ea/nimble/Persistence;->getBoolValue(Ljava/lang/String;)Z
move-result v1
iput-boolean v1, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_enabled:Z
goto :goto_0
:cond_0
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_enabled:Z
:goto_0
const-string v1, "map"
.line 66
invoke-virtual {v0, v1}, Lcom/ea/nimble/Persistence;->hasKey(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_3
.line 68
invoke-virtual {v0, v1}, Lcom/ea/nimble/Persistence;->getValue(Ljava/lang/String;)Ljava/io/Serializable;
move-result-object v0
check-cast v0, Ljava/util/HashMap;
iput-object v0, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_notificationMap:Ljava/util/HashMap;
.line 69
invoke-virtual {v0}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
.line 70
new-instance v1, Ljava/util/Date;
invoke-direct {v1}, Ljava/util/Date;-><init>()V
.line 71
:cond_1
:goto_1
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
.line 73
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
iget-object v3, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_notificationMap:Ljava/util/HashMap;
.line 74
invoke-virtual {v3, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/Date;
.line 75
invoke-virtual {v3, v1}, Ljava/util/Date;->before(Ljava/util/Date;)Z
move-result v4
if-eqz v4, :cond_1
.line 77
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "restore(): Removed notification list key "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, " from map because its date ("
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ") is in the past!"
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Object;
invoke-static {p0, v2, v3}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 78
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
goto :goto_1
.line 81
:cond_2
invoke-direct {p0}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->saveNotificationMap()V
goto :goto_2
.line 85
:cond_3
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_notificationMap:Ljava/util/HashMap;
.line 89
:goto_2
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v0
invoke-interface {v0}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string v1, "notification"
.line 94
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/NotificationManager;
const-string v2, "com.ea.nimble.NimbleLocalNotifications.channel.id"
.line 95
invoke-static {v2}, Lcom/ea/nimble/NimbleApplicationConfiguration;->configValueExists(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_6
const-string v2, "com.ea.nimble.pushtng.channel.name"
.line 100
invoke-static {v2}, Lcom/ea/nimble/NimbleApplicationConfiguration;->configValueExists(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_4
.line 102
invoke-static {v2}, Lcom/ea/nimble/NimbleApplicationConfiguration;->getConfigValueAsInt(Ljava/lang/String;)I
move-result v2
.line 103
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v3
invoke-virtual {v3, v2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v2
goto :goto_3
:cond_4
const-string v2, "Default"
.line 106
:goto_3
new-instance v3, Landroid/app/NotificationChannel;
const-string v4, "nimble_default"
const/4 v5, 0x3
invoke-direct {v3, v4, v2, v5}, Landroid/app/NotificationChannel;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V
const-string v2, "com.ea.nimble.pushtng.channel.description"
.line 108
invoke-static {v2}, Lcom/ea/nimble/NimbleApplicationConfiguration;->configValueExists(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_5
.line 110
invoke-static {v2}, Lcom/ea/nimble/NimbleApplicationConfiguration;->getConfigValueAsInt(Ljava/lang/String;)I
move-result v2
.line 111
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v3, v0}, Landroid/app/NotificationChannel;->setDescription(Ljava/lang/String;)V
.line 114
:cond_5
invoke-virtual {v1, v3}, Landroid/app/NotificationManager;->createNotificationChannel(Landroid/app/NotificationChannel;)V
:cond_6
return-void
.end method
.method public scheduleNotification(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;)Lcom/ea/nimble/Error;
.locals 6
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
.line 122
invoke-virtual/range {v0 .. v5}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->scheduleNotification(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;Ljava/util/Map;)Lcom/ea/nimble/Error;
move-result-object p1
return-object p1
.end method
.method public scheduleNotification(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;Ljava/util/Map;)Lcom/ea/nimble/Error;
.locals 18
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/Date;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Lcom/ea/nimble/Error;"
}
.end annotation
move-object/from16 v1, p0
move-object/from16 v0, p1
move-object/from16 v2, p2
move-object/from16 v3, p4
.line 128
invoke-static/range {p0 .. p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
.line 130
new-instance v4, Ljava/util/Date;
invoke-direct {v4}, Ljava/util/Date;-><init>()V
iget-boolean v5, v1, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_enabled:Z
const/4 v6, 0x0
const/4 v7, 0x0
if-nez v5, :cond_0
const-string v0, "scheduleNotification(): Local Notifications are not enabled!"
new-array v2, v7, [Ljava/lang/Object;
.line 134
invoke-static {v1, v0, v2}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
return-object v6
.line 138
:cond_0
invoke-virtual/range {p4 .. p4}, Ljava/util/Date;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual/range {p5 .. p5}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v8
move-object/from16 v9, p3
filled-new-array {v0, v2, v9, v5, v8}, [Ljava/lang/Object;
move-result-object v5
const-string v8, "[scheduleNotification] Notification requested with: \n- Title : %s\n- Message : %s\n- ID : %s\n- Date : %s\n- Extras : %s"
invoke-static {v1, v8, v5}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 140
invoke-static/range {p1 .. p1}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z
move-result v5
if-nez v5, :cond_1
const-string v0, "scheduleNotification(): Invalid title"
new-array v2, v7, [Ljava/lang/Object;
.line 142
invoke-static {v1, v0, v2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 143
new-instance v0, Lcom/ea/nimble/Error;
sget-object v2, Lcom/ea/nimble/Error$Code;->INVALID_ARGUMENT:Lcom/ea/nimble/Error$Code;
const-string v3, "Invalid title"
invoke-direct {v0, v2, v3}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object v0
.line 145
:cond_1
invoke-static/range {p2 .. p2}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z
move-result v5
if-nez v5, :cond_2
const-string v0, "scheduleNotification(): Invalid message"
new-array v2, v7, [Ljava/lang/Object;
.line 147
invoke-static {v1, v0, v2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 148
new-instance v0, Lcom/ea/nimble/Error;
sget-object v2, Lcom/ea/nimble/Error$Code;->INVALID_ARGUMENT:Lcom/ea/nimble/Error$Code;
const-string v3, "Invalid message"
invoke-direct {v0, v2, v3}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object v0
.line 150
:cond_2
invoke-virtual {v3, v4}, Ljava/util/Date;->before(Ljava/util/Date;)Z
move-result v5
if-eqz v5, :cond_3
const-string v0, "scheduleNotification(): Expired date"
new-array v2, v7, [Ljava/lang/Object;
.line 152
invoke-static {v1, v0, v2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 153
new-instance v0, Lcom/ea/nimble/Error;
sget-object v2, Lcom/ea/nimble/Error$Code;->INVALID_ARGUMENT:Lcom/ea/nimble/Error$Code;
const-string v3, "Expired date"
invoke-direct {v0, v2, v3}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object v0
.line 156
:cond_3
invoke-static/range {p3 .. p3}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z
move-result v5
if-nez v5, :cond_4
.line 158
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "auto_"
invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/util/Date;->getTime()J
move-result-wide v8
invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
goto :goto_0
:cond_4
move-object v5, v9
.line 161
:goto_0
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v8
invoke-interface {v8}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v8
.line 162
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v9
invoke-interface {v9}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v9
invoke-virtual {v9}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v9
.line 163
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v10
invoke-interface {v10}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v10
invoke-virtual {v10}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v10
.line 166
new-instance v11, Landroid/content/Intent;
const-class v12, Lcom/ea/nimble/NimbleLocalNotificationReceiver;
invoke-direct {v11, v8, v12}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
.line 170
invoke-interface/range {p5 .. p5}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v12
invoke-interface {v12}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v12
:goto_1
invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
move-result v13
const-string v14, "notification"
const-string v6, "pushId"
const-string v15, "pnType"
if-eqz v13, :cond_8
invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v13
check-cast v13, Ljava/lang/String;
.line 172
invoke-virtual {v13}, Ljava/lang/String;->hashCode()I
invoke-virtual {v13}, Ljava/lang/String;->hashCode()I
move-result v16
const/16 v17, -0x1
sparse-switch v16, :sswitch_data_0
:goto_2
move/from16 v15, v17
goto :goto_3
:sswitch_0
invoke-virtual {v13, v14}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_5
goto :goto_2
:cond_5
const/4 v15, 0x2
goto :goto_3
:sswitch_1
invoke-virtual {v13, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_6
goto :goto_2
:cond_6
const/4 v15, 0x1
goto :goto_3
:sswitch_2
invoke-virtual {v13, v15}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_7
goto :goto_2
:cond_7
move v15, v7
:goto_3
packed-switch v15, :pswitch_data_0
:goto_4
move-object/from16 v6, p5
goto :goto_5
.line 177
:pswitch_0
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v14, "scheduleNotification(): Cannot use extra with key : "
invoke-virtual {v6, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
new-array v14, v7, [Ljava/lang/Object;
invoke-static {v1, v6, v14}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_4
.line 179
:goto_5
invoke-interface {v6, v13}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v14
check-cast v14, Ljava/lang/String;
invoke-virtual {v11, v13, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const/4 v6, 0x0
goto :goto_1
:cond_8
const-string v12, "com.ea.nimble.NimbleLocalNotifications.channel.id"
.line 187
invoke-static {v12}, Lcom/ea/nimble/NimbleApplicationConfiguration;->configValueExists(Ljava/lang/String;)Z
move-result v13
if-eqz v13, :cond_9
.line 188
invoke-static {v12}, Lcom/ea/nimble/NimbleApplicationConfiguration;->getConfigValueAsString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v12
goto :goto_6
:cond_9
const-string v12, "nimble_default"
.line 191
:goto_6
new-instance v13, Landroid/app/Notification$Builder;
invoke-direct {v13, v8, v12}, Landroid/app/Notification$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V
.line 192
invoke-virtual {v13, v0}, Landroid/app/Notification$Builder;->setContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
move-result-object v0
.line 193
invoke-virtual {v0, v2}, Landroid/app/Notification$Builder;->setContentText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
move-result-object v0
new-instance v12, Landroid/app/Notification$BigTextStyle;
invoke-direct {v12}, Landroid/app/Notification$BigTextStyle;-><init>()V
.line 194
invoke-virtual {v12, v2}, Landroid/app/Notification$BigTextStyle;->bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
move-result-object v2
invoke-virtual {v0, v2}, Landroid/app/Notification$Builder;->setStyle(Landroid/app/Notification$Style;)Landroid/app/Notification$Builder;
move-result-object v0
const/4 v2, 0x1
.line 195
invoke-virtual {v0, v2}, Landroid/app/Notification$Builder;->setAutoCancel(Z)Landroid/app/Notification$Builder;
move-result-object v0
:try_start_0
const-string v2, "pn_icon"
const-string v12, "drawable"
.line 200
invoke-virtual {v9, v2, v12, v10}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v2
.line 201
invoke-virtual {v0, v2}, Landroid/app/Notification$Builder;->setSmallIcon(I)Landroid/app/Notification$Builder;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
sget-object v2, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_notificationCustomizer:Lcom/ea/nimble/INimbleLocalNotificationCustomizer;
if-eqz v2, :cond_a
.line 211
invoke-virtual {v11}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object v9
invoke-interface {v2, v0, v9}, Lcom/ea/nimble/INimbleLocalNotificationCustomizer;->customizeLocalNotification(Landroid/app/Notification$Builder;Landroid/os/Bundle;)V
.line 214
:cond_a
invoke-virtual {v0}, Landroid/app/Notification$Builder;->build()Landroid/app/Notification;
move-result-object v0
iget-object v2, v1, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_notificationMap:Ljava/util/HashMap;
.line 245
invoke-virtual {v2, v5, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 246
invoke-direct/range {p0 .. p0}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->saveNotificationMap()V
.line 248
invoke-virtual {v11, v14, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
.line 249
invoke-virtual {v11, v6, v5}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const-string v0, "local"
.line 250
invoke-virtual {v11, v15, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
if-eqz v5, :cond_b
.line 251
invoke-virtual {v5}, Ljava/lang/String;->hashCode()I
move-result v2
goto :goto_7
:cond_b
move v2, v7
:goto_7
const/high16 v6, 0xc000000
.line 252
invoke-static {v8, v2, v11, v6}, Landroid/app/PendingIntent;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
move-result-object v2
.line 254
invoke-virtual/range {p4 .. p4}, Ljava/util/Date;->getTime()J
move-result-wide v9
invoke-virtual {v4}, Ljava/util/Date;->getTime()J
move-result-wide v3
sub-long/2addr v9, v3
const-string v3, "alarm"
.line 255
invoke-virtual {v8, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/app/AlarmManager;
.line 256
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v11
add-long/2addr v11, v9
invoke-virtual {v3, v7, v11, v12, v2}, Landroid/app/AlarmManager;->set(IJLandroid/app/PendingIntent;)V
.line 258
new-instance v2, Ljava/util/HashMap;
invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
const-string v3, "en"
const-string v4, "message"
.line 259
invoke-virtual {v2, v3, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 260
new-instance v3, Landroid/os/Bundle;
invoke-direct {v3}, Landroid/os/Bundle;-><init>()V
const-string v4, "core"
.line 261
invoke-virtual {v3, v4, v2}, Landroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V
const-string v2, "msg_id"
.line 262
invoke-virtual {v3, v2, v5}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v2, "type"
const-string v4, "pn"
.line 263
invoke-virtual {v3, v2, v4}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v2, "service"
.line 264
invoke-virtual {v3, v2, v0}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "status"
const-string v2, "started"
.line 265
invoke-virtual {v3, v0, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "format"
.line 266
invoke-virtual {v3, v0, v4}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 268
new-instance v0, Landroid/content/Intent;
invoke-direct {v0}, Landroid/content/Intent;-><init>()V
const-string v2, "nimble.notification.tracking2.logEvent"
.line 269
invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
.line 270
invoke-virtual {v0, v3}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
.line 271
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v2
invoke-interface {v2}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v2
invoke-static {v2}, Landroidx/localbroadcastmanager/content/LocalBroadcastManager;->getInstance(Landroid/content/Context;)Landroidx/localbroadcastmanager/content/LocalBroadcastManager;
move-result-object v2
invoke-virtual {v2, v0}, Landroidx/localbroadcastmanager/content/LocalBroadcastManager;->sendBroadcast(Landroid/content/Intent;)Z
const/4 v0, 0x0
return-object v0
:catch_0
move-exception v0
.line 205
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "scheduleNotification(): Not scheduled. Unable to set application icon due to exception: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
new-array v2, v7, [Ljava/lang/Object;
invoke-static {v1, v0, v2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 206
new-instance v0, Lcom/ea/nimble/Error;
sget-object v2, Lcom/ea/nimble/Error$Code;->SYSTEM_UNEXPECTED:Lcom/ea/nimble/Error$Code;
const-string v3, "Unable to get pn_icon"
invoke-direct {v0, v2, v3}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object v0
nop
:sswitch_data_0
.sparse-switch
-0x3aab1da8 -> :sswitch_2
-0x3a3aa62b -> :sswitch_1
0x237a88eb -> :sswitch_0
.end sparse-switch
:pswitch_data_0
.packed-switch 0x0
:pswitch_0
:pswitch_0
:pswitch_0
.end packed-switch
.end method
.method public setBadgeCount(ILjava/lang/String;Ljava/lang/String;)Lcom/ea/nimble/Error;
.locals 9
.line 361
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
iget-boolean v0, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_enabled:Z
const/4 v1, 0x0
if-eqz v0, :cond_9
sget-object v0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_badgeProvider:Lcom/ea/nimble/INimbleBadgeProvider;
if-eqz v0, :cond_0
.line 366
invoke-interface {v0, p1, p2, p3}, Lcom/ea/nimble/INimbleBadgeProvider;->setBadgeCount(ILjava/lang/String;Ljava/lang/String;)Lcom/ea/nimble/Error;
move-result-object p1
return-object p1
.line 370
:cond_0
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v0
invoke-interface {v0}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string v2, "notification"
.line 371
invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/app/NotificationManager;
.line 372
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v3
invoke-interface {v3}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v3
invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v3
.line 373
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v4
invoke-interface {v4}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context;
move-result-object v4
invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
const/4 v5, 0x0
const v6, -0x5c14e488
if-nez p1, :cond_1
.line 378
invoke-virtual {v2, v6}, Landroid/app/NotificationManager;->cancel(I)V
return-object v5
:cond_1
if-ltz p1, :cond_8
const v7, 0xf423f
if-le p1, v7, :cond_2
goto/16 :goto_1
.line 390
:cond_2
invoke-static {p2}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z
move-result v7
if-nez v7, :cond_3
const-string p1, "setBadgeCount(): Invalid title"
new-array p2, v1, [Ljava/lang/Object;
.line 392
invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 393
new-instance p1, Lcom/ea/nimble/Error;
sget-object p2, Lcom/ea/nimble/Error$Code;->INVALID_ARGUMENT:Lcom/ea/nimble/Error$Code;
const-string p3, "Invalid title"
invoke-direct {p1, p2, p3}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object p1
.line 395
:cond_3
invoke-static {p3}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z
move-result v7
if-nez v7, :cond_4
const-string p1, "setBadgeCount(): Invalid message"
new-array p2, v1, [Ljava/lang/Object;
.line 397
invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 398
new-instance p1, Lcom/ea/nimble/Error;
sget-object p2, Lcom/ea/nimble/Error$Code;->INVALID_ARGUMENT:Lcom/ea/nimble/Error$Code;
const-string p3, "Invalid message"
invoke-direct {p1, p2, p3}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object p1
:cond_4
const-string v7, "com.ea.nimble.NimbleLocalNotifications.channel.id"
.line 401
invoke-static {v7}, Lcom/ea/nimble/NimbleApplicationConfiguration;->configValueExists(Ljava/lang/String;)Z
move-result v8
if-eqz v8, :cond_5
.line 402
invoke-static {v7}, Lcom/ea/nimble/NimbleApplicationConfiguration;->getConfigValueAsString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
goto :goto_0
:cond_5
const-string v7, "nimble_default"
.line 405
:goto_0
new-instance v8, Landroid/app/Notification$Builder;
invoke-direct {v8, v0, v7}, Landroid/app/Notification$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V
.line 406
invoke-virtual {v8, p2}, Landroid/app/Notification$Builder;->setContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
move-result-object p2
.line 407
invoke-virtual {p2, p3}, Landroid/app/Notification$Builder;->setContentText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
move-result-object p2
const/4 p3, 0x1
.line 408
invoke-virtual {p2, p3}, Landroid/app/Notification$Builder;->setAutoCancel(Z)Landroid/app/Notification$Builder;
move-result-object p2
.line 409
invoke-virtual {p2, p1}, Landroid/app/Notification$Builder;->setNumber(I)Landroid/app/Notification$Builder;
move-result-object p1
const/4 p2, -0x1
.line 410
invoke-virtual {p1, p2}, Landroid/app/Notification$Builder;->setVisibility(I)Landroid/app/Notification$Builder;
move-result-object p1
:try_start_0
const-string p2, "pn_icon"
const-string p3, "drawable"
.line 415
invoke-virtual {v3, p2, p3, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result p2
.line 416
invoke-virtual {p1, p2}, Landroid/app/Notification$Builder;->setSmallIcon(I)Landroid/app/Notification$Builder;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
.line 425
invoke-virtual {p1}, Landroid/app/Notification$Builder;->build()Landroid/app/Notification;
move-result-object p1
.line 429
invoke-virtual {v0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p2
.line 430
invoke-virtual {p2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p3
invoke-virtual {p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v3
invoke-virtual {p3, v3}, Landroid/content/pm/PackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;
move-result-object p3
invoke-virtual {p2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p2
invoke-virtual {p3, p2}, Landroid/content/Intent;->resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;
move-result-object p2
invoke-virtual {p2}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
move-result-object p2
.line 433
:try_start_1
new-instance p3, Landroid/content/Intent;
invoke-static {p2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v3
invoke-direct {p3, v0, v3}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
:try_end_1
.catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_0
const-string p2, "pushId"
const-string v3, "Nimble_BadgeNotification"
.line 441
invoke-virtual {p3, p2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const-string p2, "pnType"
const-string v3, "local"
.line 442
invoke-virtual {p3, p2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const/high16 p2, 0x24000000
.line 443
invoke-virtual {p3, p2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
const/high16 p2, 0x44000000 # 512.0f
.line 444
invoke-static {v0, v1, p3, p2}, Landroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
move-result-object p2
if-eqz p1, :cond_7
if-eqz p2, :cond_6
.line 449
iput-object p2, p1, Landroid/app/Notification;->contentIntent:Landroid/app/PendingIntent;
.line 450
invoke-virtual {v2, v6, p1}, Landroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
return-object v5
:cond_6
new-array p1, v1, [Ljava/lang/Object;
const-string p2, "setBadgeCount(): Unable to create PendingIntent"
.line 456
invoke-static {p0, p2, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 457
new-instance p1, Lcom/ea/nimble/Error;
sget-object p3, Lcom/ea/nimble/Error$Code;->NOT_AVAILABLE:Lcom/ea/nimble/Error$Code;
invoke-direct {p1, p3, p2}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object p1
:cond_7
new-array p1, v1, [Ljava/lang/Object;
const-string p2, "setBadgeCount(): Unable to create Local Notification"
.line 463
invoke-static {p0, p2, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 464
new-instance p1, Lcom/ea/nimble/Error;
sget-object p3, Lcom/ea/nimble/Error$Code;->NOT_AVAILABLE:Lcom/ea/nimble/Error$Code;
invoke-direct {p1, p3, p2}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object p1
:catch_0
move-exception p1
const-string p3, "setBadgeCount(): Could not launch target activity: %s, exception: %s"
filled-new-array {p2, p1}, [Ljava/lang/Object;
move-result-object p1
.line 437
invoke-static {p3, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array p2, v1, [Ljava/lang/Object;
.line 438
invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 439
new-instance p2, Lcom/ea/nimble/Error;
sget-object p3, Lcom/ea/nimble/Error$Code;->SYSTEM_UNEXPECTED:Lcom/ea/nimble/Error$Code;
invoke-direct {p2, p3, p1}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object p2
:catch_1
move-exception p1
.line 420
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string p3, "setBadgeCount(): Unable to set application icon due to exception: "
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
new-array p2, v1, [Ljava/lang/Object;
invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 421
new-instance p1, Lcom/ea/nimble/Error;
sget-object p2, Lcom/ea/nimble/Error$Code;->SYSTEM_UNEXPECTED:Lcom/ea/nimble/Error$Code;
const-string p3, "Unable to get pn_icon"
invoke-direct {p1, p2, p3}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object p1
.line 384
:cond_8
:goto_1
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string p3, "setBadgeCount(): Badge count "
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, "outside [0-999999] range"
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
new-array p2, v1, [Ljava/lang/Object;
.line 385
invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 386
new-instance p2, Lcom/ea/nimble/Error;
sget-object p3, Lcom/ea/nimble/Error$Code;->INVALID_ARGUMENT:Lcom/ea/nimble/Error$Code;
invoke-direct {p2, p3, p1}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object p2
:cond_9
new-array p1, v1, [Ljava/lang/Object;
const-string p2, "setBadgeCount(): Local notifications are disabled, unable to set badge count"
.line 477
invoke-static {p0, p2, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 478
new-instance p1, Lcom/ea/nimble/Error;
sget-object p3, Lcom/ea/nimble/Error$Code;->NOT_AVAILABLE:Lcom/ea/nimble/Error$Code;
invoke-direct {p1, p3, p2}, Lcom/ea/nimble/Error;-><init>(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V
return-object p1
.end method
.method public setBadgeProvider(Lcom/ea/nimble/INimbleBadgeProvider;)V
.locals 0
.line 354
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
sput-object p1, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_badgeProvider:Lcom/ea/nimble/INimbleBadgeProvider;
return-void
.end method
.method public setCustomizer(Lcom/ea/nimble/INimbleLocalNotificationCustomizer;)V
.locals 0
.line 347
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
sput-object p1, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_notificationCustomizer:Lcom/ea/nimble/INimbleLocalNotificationCustomizer;
return-void
.end method
.method public setEnabled(Z)V
.locals 2
iget-boolean v0, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_enabled:Z
if-eq v0, p1, :cond_0
iput-boolean p1, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_enabled:Z
.line 330
invoke-virtual {p0}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->getComponentId()Ljava/lang/String;
move-result-object p1
sget-object v0, Lcom/ea/nimble/Persistence$Storage;->CACHE:Lcom/ea/nimble/Persistence$Storage;
invoke-static {p1, v0}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence;
move-result-object p1
iget-boolean v0, p0, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->m_enabled:Z
.line 331
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
const-string v1, "enabled"
invoke-virtual {p1, v1, v0}, Lcom/ea/nimble/Persistence;->setValue(Ljava/lang/String;Ljava/io/Serializable;)V
.line 332
invoke-virtual {p1}, Lcom/ea/nimble/Persistence;->synchronize()V
.line 334
invoke-virtual {p0}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->cancelAllNotifications()V
:cond_0
return-void
.end method