.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 ()V .locals 0 return-void .end method .method public constructor ()V .locals 1 .line 30 invoke-direct {p0}, Lcom/ea/nimble/Component;->()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;->(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;->()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;->()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;->()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;->()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;->()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;->()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;->(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;->()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;->(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;->(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;->(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;->()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;->(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;->()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;->(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;->()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;->()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;->()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;->()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;->()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;->(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;->(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;->(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;->(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;->(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;->(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;->(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;->(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;->()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;->(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;->()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;->(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;->(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