.class public Lcom/helpshift/user/UserManager; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/helpshift/user/UserManager$UpdatePushSyncStatus; } .end annotation # instance fields .field public conversationPoller:Lcom/helpshift/poller/ConversationPoller; .field public fetchNotificationUpdate:Lcom/helpshift/poller/FetchNotificationUpdate; .field public final genericDataManager:Lcom/helpshift/storage/HSGenericDataManager; .field public final hsThreadingService:Lcom/helpshift/concurrency/HSThreadingService; .field public final notificationManager:Lcom/helpshift/notification/CoreNotificationManager; .field public final persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .field public final pushTokenManager:Lcom/helpshift/notification/HSPushTokenManager; .field public userLifecycleListenerRef:Ljava/lang/ref/WeakReference; # direct methods .method public constructor (Lcom/helpshift/storage/HSPersistentStorage;Lcom/helpshift/notification/HSPushTokenManager;Lcom/helpshift/storage/HSGenericDataManager;Lcom/helpshift/concurrency/HSThreadingService;Lcom/helpshift/notification/CoreNotificationManager;)V .locals 0 .line 59 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; iput-object p3, p0, Lcom/helpshift/user/UserManager;->genericDataManager:Lcom/helpshift/storage/HSGenericDataManager; iput-object p2, p0, Lcom/helpshift/user/UserManager;->pushTokenManager:Lcom/helpshift/notification/HSPushTokenManager; iput-object p4, p0, Lcom/helpshift/user/UserManager;->hsThreadingService:Lcom/helpshift/concurrency/HSThreadingService; iput-object p5, p0, Lcom/helpshift/user/UserManager;->notificationManager:Lcom/helpshift/notification/CoreNotificationManager; .line 65 new-instance p1, Ljava/lang/ref/WeakReference; const/4 p2, 0x0 invoke-direct {p1, p2}, Ljava/lang/ref/WeakReference;->(Ljava/lang/Object;)V iput-object p1, p0, Lcom/helpshift/user/UserManager;->userLifecycleListenerRef:Ljava/lang/ref/WeakReference; return-void .end method .method public static synthetic access$000(Lcom/helpshift/user/UserManager;)Lcom/helpshift/poller/FetchNotificationUpdate; .locals 0 .line 30 iget-object p0, p0, Lcom/helpshift/user/UserManager;->fetchNotificationUpdate:Lcom/helpshift/poller/FetchNotificationUpdate; return-object p0 .end method .method public static synthetic access$100(Lcom/helpshift/user/UserManager;)Lcom/helpshift/notification/HSPushTokenManager; .locals 0 .line 30 iget-object p0, p0, Lcom/helpshift/user/UserManager;->pushTokenManager:Lcom/helpshift/notification/HSPushTokenManager; return-object p0 .end method .method public static synthetic access$200(Lcom/helpshift/user/UserManager;)Lcom/helpshift/storage/HSPersistentStorage; .locals 0 .line 30 iget-object p0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; return-object p0 .end method .method public static synthetic access$300(Lcom/helpshift/user/UserManager;)Lcom/helpshift/poller/ConversationPoller; .locals 0 .line 30 iget-object p0, p0, Lcom/helpshift/user/UserManager;->conversationPoller:Lcom/helpshift/poller/ConversationPoller; return-object p0 .end method # virtual methods .method public final cleanUpActiveUser()V .locals 3 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 209 invoke-virtual {v0}, Lcom/helpshift/storage/HSPersistentStorage;->removeActiveUser()V iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; const-string v1, "active_user_data" const-string v2, "{}" .line 210 invoke-virtual {v0, v1, v2}, Lcom/helpshift/storage/HSPersistentStorage;->putString(Ljava/lang/String;Ljava/lang/String;)V iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 211 new-instance v1, Lorg/json/JSONArray; invoke-direct {v1}, Lorg/json/JSONArray;->()V invoke-virtual {v0, v1}, Lcom/helpshift/storage/HSPersistentStorage;->setFailedAnalyticsEvents(Lorg/json/JSONArray;)V iget-object v0, p0, Lcom/helpshift/user/UserManager;->notificationManager:Lcom/helpshift/notification/CoreNotificationManager; .line 212 invoke-interface {v0}, Lcom/helpshift/notification/CoreNotificationManager;->cancelNotifications()V return-void .end method .method public generateAndSaveAnonymousUserIdIfNeeded()V .locals 4 .line 320 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getAnonymousUserDetails()Ljava/util/Map; move-result-object v0 invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z move-result v0 const-string v1, "UsrMngr" if-eqz v0, :cond_0 const-string v0, "Existing anon user details not found. Generating new anon user ID" .line 321 invoke-static {v1, v0}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V .line 322 new-instance v0, Lorg/json/JSONObject; invoke-direct {v0}, Lorg/json/JSONObject;->()V :try_start_0 const-string v2, "userId" .line 329 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->generateAnonymousUserId()Ljava/lang/String; move-result-object v3 invoke-virtual {v0, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; iget-object v2, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 330 invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object v0 invoke-virtual {v2, v0}, Lcom/helpshift/storage/HSPersistentStorage;->storeAnonymousUserIdMap(Ljava/lang/String;)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 const-string v0, "Error in saving the anonymous local user id" .line 332 invoke-static {v1, v0}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V goto :goto_0 :cond_0 const-string v0, "Existing anon user details found. Not generating new anon user ID" .line 336 invoke-static {v1, v0}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V :goto_0 return-void .end method .method public generateAnonymousUserId()Ljava/lang/String; .locals 5 .line 315 invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID; move-result-object v0 invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String; move-result-object v0 const-string v1, "" const-string v2, "-" invoke-virtual {v0, v2, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const/4 v1, 0x0 const/16 v3, 0xf invoke-virtual {v0, v1, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v0 .line 316 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v3, "hsft_anon_" invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v3 invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public final getActiveUserData()Lcom/helpshift/util/ValuePair; .locals 6 const-string v0, "anon_user_data" const-string v1, "active_user_data" .line 389 new-instance v2, Lorg/json/JSONObject; invoke-direct {v2}, Lorg/json/JSONObject;->()V const-string v3, "" :try_start_0 const-string v4, "{}" .line 394 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getLoggedInUserDetails()Ljava/util/Map; move-result-object v5 .line 397 invoke-static {v5}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v5 if-nez v5, :cond_0 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 398 invoke-virtual {v0, v1}, Lcom/helpshift/storage/HSPersistentStorage;->getString(Ljava/lang/String;)Ljava/lang/String; move-result-object v4 move-object v0, v1 goto :goto_0 :catch_0 move-exception v0 goto :goto_1 .line 402 :cond_0 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getAnonymousUserDetails()Ljava/util/Map; move-result-object v1 .line 403 invoke-static {v1}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v1 if-nez v1, :cond_1 iget-object v1, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 404 invoke-virtual {v1, v0}, Lcom/helpshift/storage/HSPersistentStorage;->getString(Ljava/lang/String;)Ljava/lang/String; move-result-object v4 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :cond_1 move-object v0, v3 .line 409 :goto_0 :try_start_1 invoke-static {v4}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_2 .line 410 new-instance v1, Lorg/json/JSONObject; invoke-direct {v1, v4}, Lorg/json/JSONObject;->(Ljava/lang/String;)V :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1 move-object v2, v1 goto :goto_2 :catch_1 move-exception v1 move-object v3, v0 move-object v0, v1 :goto_1 const-string v1, "UsrMngr" const-string v4, "Error getting active user in user data" .line 414 invoke-static {v1, v4, v0}, Lcom/helpshift/log/HSLogger;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V move-object v0, v3 .line 417 :cond_2 :goto_2 new-instance v1, Lcom/helpshift/util/ValuePair; invoke-direct {v1, v0, v2}, Lcom/helpshift/util/ValuePair;->(Ljava/lang/Object;Ljava/lang/Object;)V return-object v1 .end method .method public getActiveUserDataForNetworkCall()Ljava/util/Map; .locals 2 .line 269 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getLoggedInUserDetails()Ljava/util/Map; move-result-object v0 .line 272 invoke-static {v0}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v1 if-eqz v1, :cond_0 .line 273 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getAnonymousUserDetails()Ljava/util/Map; move-result-object v0 .line 277 :cond_0 invoke-static {v0}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v1 if-eqz v1, :cond_1 .line 278 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V return-object v0 .line 281 :cond_1 invoke-virtual {p0, v0}, Lcom/helpshift/user/UserManager;->getUserDataForNetworkCall(Ljava/util/Map;)Ljava/util/Map; move-result-object v0 return-object v0 .end method .method public getActiveUserEmail()Ljava/lang/String; .locals 1 const-string v0, "userEmail" .line 249 invoke-virtual {p0, v0}, Lcom/helpshift/user/UserManager;->getUserInfoForKey(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getActiveUserId()Ljava/lang/String; .locals 4 const-string v0, "userId" .line 234 invoke-virtual {p0, v0}, Lcom/helpshift/user/UserManager;->getUserInfoForKey(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 .line 236 invoke-static {v1}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_0 .line 237 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getAnonymousUserDetails()Ljava/util/Map; move-result-object v2 .line 238 invoke-static {v2}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v3 if-nez v3, :cond_0 .line 239 invoke-interface {v2, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 move-object v1, v0 check-cast v1, Ljava/lang/String; :cond_0 return-object v1 .end method .method public final getAnonymousUserDetails()Ljava/util/Map; .locals 1 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 311 invoke-virtual {v0}, Lcom/helpshift/storage/HSPersistentStorage;->getAnonymousUserIdMap()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/helpshift/util/Utils;->jsonStringToStringMap(Ljava/lang/String;)Ljava/util/Map; move-result-object v0 return-object v0 .end method .method public getClearAnonymousUserOnLoginFlag()Z .locals 1 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 229 invoke-virtual {v0}, Lcom/helpshift/storage/HSPersistentStorage;->isClearAnonymousUser()Z move-result v0 return v0 .end method .method public final getLoggedInUserDetails()Ljava/util/Map; .locals 1 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 307 invoke-virtual {v0}, Lcom/helpshift/storage/HSPersistentStorage;->getActiveUser()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/helpshift/util/Utils;->jsonStringToStringMap(Ljava/lang/String;)Ljava/util/Map; move-result-object v0 return-object v0 .end method .method public getPollerCursor()J .locals 3 .line 456 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const/4 v1, 0x0 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 const-string v2, "cursor" invoke-virtual {p0, v2, v1}, Lcom/helpshift/user/UserManager;->getUserDataValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v1, "" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 .line 457 invoke-static {v0}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Long;->longValue()J move-result-wide v0 return-wide v0 .end method .method public getPollingBaseInterval()I .locals 2 const/16 v0, 0x1388 .line 465 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 const-string v1, "base_polling_interval" invoke-virtual {p0, v1, v0}, Lcom/helpshift/user/UserManager;->getUserDataValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Integer; invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I move-result v0 return v0 .end method .method public getPollingMaxInterval()I .locals 2 const v0, 0xea60 .line 461 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 const-string v1, "max_polling_interval" invoke-virtual {p0, v1, v0}, Lcom/helpshift/user/UserManager;->getUserDataValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Integer; invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I move-result v0 return v0 .end method .method public getPushUnreadNotificationCount()I .locals 2 const/4 v0, 0x0 .line 474 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 const-string v1, "push_unread_count" invoke-virtual {p0, v1, v0}, Lcom/helpshift/user/UserManager;->getUserDataValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Integer; invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I move-result v0 return v0 .end method .method public getUnreadNotificationCount()I .locals 2 const/4 v0, 0x0 .line 469 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 const-string v1, "unread_count" invoke-virtual {p0, v1, v0}, Lcom/helpshift/user/UserManager;->getUserDataValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Integer; invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I move-result v0 return v0 .end method .method public getUserDataForNetworkCall(Ljava/util/Map;)Ljava/util/Map; .locals 6 iget-object v0, p0, Lcom/helpshift/user/UserManager;->genericDataManager:Lcom/helpshift/storage/HSGenericDataManager; .line 286 invoke-virtual {v0}, Lcom/helpshift/storage/HSGenericDataManager;->getUserDataKeyMapping()Ljava/util/Map; move-result-object v0 .line 290 invoke-static {v0}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v1 if-eqz v1, :cond_0 const/4 p1, 0x0 return-object p1 .line 294 :cond_0 new-instance v1, Ljava/util/HashMap; invoke-direct {v1}, Ljava/util/HashMap;->()V .line 295 invoke-interface {p1}, Ljava/util/Map;->keySet()Ljava/util/Set; move-result-object v2 .line 297 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v2 :cond_1 :goto_0 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_2 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/lang/String; .line 298 invoke-interface {v0, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/String; .line 299 invoke-static {v4}, Lcom/helpshift/util/Utils;->isNotEmpty(Ljava/lang/String;)Z move-result v5 if-eqz v5, :cond_1 .line 300 invoke-interface {p1, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v3 invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 :cond_2 return-object v1 .end method .method public final getUserDataValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; .locals 2 .line 500 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getActiveUserData()Lcom/helpshift/util/ValuePair; move-result-object v0 .line 501 iget-object v1, v0, Lcom/helpshift/util/ValuePair;->first:Ljava/lang/Object; check-cast v1, Ljava/lang/String; invoke-static {v1}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_0 return-object p2 .line 505 :cond_0 iget-object v0, v0, Lcom/helpshift/util/ValuePair;->second:Ljava/lang/Object; check-cast v0, Lorg/json/JSONObject; invoke-virtual {v0, p1}, Lorg/json/JSONObject;->opt(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 if-nez p1, :cond_1 goto :goto_0 :cond_1 move-object p2, p1 :goto_0 return-object p2 .end method .method public final getUserInfoForKey(Ljava/lang/String;)Ljava/lang/String; .locals 4 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 254 invoke-virtual {v0}, Lcom/helpshift/storage/HSPersistentStorage;->getActiveUser()Ljava/lang/String; move-result-object v0 .line 255 invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z move-result v1 const-string v2, "" if-eqz v1, :cond_0 return-object v2 .line 259 :cond_0 :try_start_0 new-instance v1, Lorg/json/JSONObject; invoke-direct {v1, v0}, Lorg/json/JSONObject;->(Ljava/lang/String;)V .line 260 invoke-virtual {v1, p1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 :try_end_0 .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 return-object p1 :catch_0 move-exception v0 .line 263 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v3, "error in getting user info for key: " invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string v1, "UsrMngr" invoke-static {v1, p1, v0}, Lcom/helpshift/log/HSLogger;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V return-object v2 .end method .method public isPushTokenSynced()Z .locals 2 const-string v0, "push_token_synced" sget-object v1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean; .line 487 invoke-virtual {p0, v0, v1}, Lcom/helpshift/user/UserManager;->getUserDataValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Boolean; invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z move-result v0 return v0 .end method .method public login(Ljava/util/Map;)V .locals 3 .line 133 invoke-static {p1}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v0 if-eqz v0, :cond_0 const-string p1, "UsrMngr" const-string v0, "Empty data for user login" .line 134 invoke-static {p1, v0}, Lcom/helpshift/log/HSLogger;->e(Ljava/lang/String;Ljava/lang/String;)V return-void .line 139 :cond_0 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getLoggedInUserDetails()Ljava/util/Map; move-result-object v0 .line 140 invoke-static {v0}, Lcom/helpshift/util/Utils;->isNotEmpty(Ljava/util/Map;)Z move-result v1 if-eqz v1, :cond_1 invoke-interface {v0, p1}, Ljava/util/Map;->equals(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_1 return-void .line 146 :cond_1 invoke-static {v0}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v1 if-eqz v1, :cond_2 .line 148 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getAnonymousUserDetails()Ljava/util/Map; move-result-object v0 :cond_2 iget-object v1, p0, Lcom/helpshift/user/UserManager;->conversationPoller:Lcom/helpshift/poller/ConversationPoller; .line 152 invoke-virtual {v1}, Lcom/helpshift/poller/ConversationPoller;->stopPoller()V .line 154 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->isPushTokenSynced()Z move-result v1 if-eqz v1, :cond_3 iget-object v1, p0, Lcom/helpshift/user/UserManager;->pushTokenManager:Lcom/helpshift/notification/HSPushTokenManager; .line 156 invoke-virtual {p0, v0}, Lcom/helpshift/user/UserManager;->getUserDataForNetworkCall(Ljava/util/Map;)Ljava/util/Map; move-result-object v0 new-instance v2, Lcom/helpshift/user/UserManager$UpdatePushSyncStatus; invoke-direct {v2, p0}, Lcom/helpshift/user/UserManager$UpdatePushSyncStatus;->(Lcom/helpshift/user/UserManager;)V invoke-virtual {v1, v0, v2}, Lcom/helpshift/notification/HSPushTokenManager;->deregisterPushTokenForUser(Ljava/util/Map;Lcom/helpshift/util/ValueListener;)V .line 161 :cond_3 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->cleanUpActiveUser()V .line 164 new-instance v0, Lorg/json/JSONObject; invoke-direct {v0, p1}, Lorg/json/JSONObject;->(Ljava/util/Map;)V iget-object p1, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 165 invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Lcom/helpshift/storage/HSPersistentStorage;->setActiveUser(Ljava/lang/String;)V iget-object p1, p0, Lcom/helpshift/user/UserManager;->userLifecycleListenerRef:Ljava/lang/ref/WeakReference; .line 167 invoke-virtual {p1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object; move-result-object p1 if-eqz p1, :cond_4 iget-object p1, p0, Lcom/helpshift/user/UserManager;->userLifecycleListenerRef:Ljava/lang/ref/WeakReference; .line 168 invoke-virtual {p1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object; move-result-object p1 check-cast p1, Lcom/helpshift/user_lifecyle/UserLifecycleListener; invoke-interface {p1}, Lcom/helpshift/user_lifecyle/UserLifecycleListener;->onUserDidLogin()V .line 171 :cond_4 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->startNotificationUpdatesSync()V return-void .end method .method public logout()V .locals 3 .line 176 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getLoggedInUserDetails()Ljava/util/Map; move-result-object v0 .line 179 invoke-static {v0}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v1 if-eqz v1, :cond_0 return-void :cond_0 iget-object v1, p0, Lcom/helpshift/user/UserManager;->conversationPoller:Lcom/helpshift/poller/ConversationPoller; .line 184 invoke-virtual {v1}, Lcom/helpshift/poller/ConversationPoller;->stopPoller()V .line 187 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->cleanUpActiveUser()V iget-object v1, p0, Lcom/helpshift/user/UserManager;->pushTokenManager:Lcom/helpshift/notification/HSPushTokenManager; .line 190 invoke-virtual {p0, v0}, Lcom/helpshift/user/UserManager;->getUserDataForNetworkCall(Ljava/util/Map;)Ljava/util/Map; move-result-object v0 new-instance v2, Lcom/helpshift/user/UserManager$UpdatePushSyncStatus; invoke-direct {v2, p0}, Lcom/helpshift/user/UserManager$UpdatePushSyncStatus;->(Lcom/helpshift/user/UserManager;)V invoke-virtual {v1, v0, v2}, Lcom/helpshift/notification/HSPushTokenManager;->deregisterPushTokenForUser(Ljava/util/Map;Lcom/helpshift/util/ValueListener;)V .line 194 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getClearAnonymousUserOnLoginFlag()Z move-result v0 if-eqz v0, :cond_1 .line 196 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->removeAnonymousUser()V .line 198 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->generateAndSaveAnonymousUserIdIfNeeded()V :cond_1 iget-object v0, p0, Lcom/helpshift/user/UserManager;->userLifecycleListenerRef:Ljava/lang/ref/WeakReference; .line 201 invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_2 iget-object v0, p0, Lcom/helpshift/user/UserManager;->userLifecycleListenerRef:Ljava/lang/ref/WeakReference; .line 202 invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/helpshift/user_lifecyle/UserLifecycleListener; invoke-interface {v0}, Lcom/helpshift/user_lifecyle/UserLifecycleListener;->onUserDidLogout()V .line 205 :cond_2 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->startNotificationUpdatesSync()V return-void .end method .method public markAllMessagesAsRead()V .locals 2 const/4 v0, 0x0 .line 442 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 const-string v1, "unread_count" invoke-virtual {p0, v1, v0}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method .method public markAllPushMessagesAsRead()V .locals 2 const/4 v0, 0x0 .line 483 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 const-string v1, "push_unread_count" invoke-virtual {p0, v1, v0}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method .method public registerPushToken(Ljava/lang/String;)V .locals 3 .line 88 invoke-virtual {p0, p1}, Lcom/helpshift/user/UserManager;->shouldSyncPushToken(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_0 return-void :cond_0 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 92 invoke-virtual {v0}, Lcom/helpshift/storage/HSPersistentStorage;->getCurrentPushToken()Ljava/lang/String; move-result-object v0 .line 93 invoke-static {p1}, Lcom/helpshift/util/Utils;->isNotEmpty(Ljava/lang/String;)Z move-result v1 const/4 v2, 0x0 if-eqz v1, :cond_1 invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_1 const/4 v0, 0x1 goto :goto_0 :cond_1 move v0, v2 :goto_0 iget-object v1, p0, Lcom/helpshift/user/UserManager;->pushTokenManager:Lcom/helpshift/notification/HSPushTokenManager; .line 96 invoke-virtual {v1, p1}, Lcom/helpshift/notification/HSPushTokenManager;->savePushToken(Ljava/lang/String;)V .line 97 invoke-virtual {p0, v2}, Lcom/helpshift/user/UserManager;->setPushTokenSynced(Z)V .line 99 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getLoggedInUserDetails()Ljava/util/Map; move-result-object v1 .line 102 invoke-static {v1}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v2 if-eqz v2, :cond_2 .line 103 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getAnonymousUserDetails()Ljava/util/Map; move-result-object v1 .line 107 :cond_2 invoke-static {v1}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/util/Map;)Z move-result v1 if-eqz v1, :cond_3 return-void :cond_3 if-eqz v0, :cond_4 .line 114 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->shouldPoll()Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Lcom/helpshift/user/UserManager;->hsThreadingService:Lcom/helpshift/concurrency/HSThreadingService; .line 115 invoke-virtual {v0}, Lcom/helpshift/concurrency/HSThreadingService;->getNetworkService()Lcom/helpshift/concurrency/HSThreader; move-result-object v0 new-instance v1, Lcom/helpshift/user/UserManager$1; invoke-direct {v1, p0, p1}, Lcom/helpshift/user/UserManager$1;->(Lcom/helpshift/user/UserManager;Ljava/lang/String;)V invoke-interface {v0, v1}, Lcom/helpshift/concurrency/HSThreader;->submit(Ljava/lang/Runnable;)V :cond_4 return-void .end method .method public removeAnonymousUser()V .locals 3 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 217 invoke-virtual {v0}, Lcom/helpshift/storage/HSPersistentStorage;->removeAnonymousUserIdMap()V iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; const-string v1, "anon_user_data" const-string v2, "{}" .line 220 invoke-virtual {v0, v1, v2}, Lcom/helpshift/storage/HSPersistentStorage;->putString(Ljava/lang/String;Ljava/lang/String;)V return-void .end method .method public removeUserLifeCycleListener()V .locals 1 iget-object v0, p0, Lcom/helpshift/user/UserManager;->userLifecycleListenerRef:Ljava/lang/ref/WeakReference; .line 345 invoke-virtual {v0}, Ljava/lang/ref/Reference;->clear()V return-void .end method .method public retryPushTokenSync()Z .locals 4 .line 77 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->isPushTokenSynced()Z move-result v0 if-nez v0, :cond_0 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->shouldPoll()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; invoke-virtual {v0}, Lcom/helpshift/storage/HSPersistentStorage;->getCurrentPushToken()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_0 iget-object v0, p0, Lcom/helpshift/user/UserManager;->pushTokenManager:Lcom/helpshift/notification/HSPushTokenManager; iget-object v1, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 78 invoke-virtual {v1}, Lcom/helpshift/storage/HSPersistentStorage;->getCurrentPushToken()Ljava/lang/String; move-result-object v1 .line 79 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getActiveUserDataForNetworkCall()Ljava/util/Map; move-result-object v2 new-instance v3, Lcom/helpshift/user/UserManager$UpdatePushSyncStatus; invoke-direct {v3, p0}, Lcom/helpshift/user/UserManager$UpdatePushSyncStatus;->(Lcom/helpshift/user/UserManager;)V .line 78 invoke-virtual {v0, v1, v2, v3}, Lcom/helpshift/notification/HSPushTokenManager;->registerPushTokenWithBackend(Ljava/lang/String;Ljava/util/Map;Lcom/helpshift/util/ValueListener;)V const/4 v0, 0x1 return v0 :cond_0 const/4 v0, 0x0 return v0 .end method .method public setConversationPoller(Lcom/helpshift/poller/ConversationPoller;)V .locals 0 iput-object p1, p0, Lcom/helpshift/user/UserManager;->conversationPoller:Lcom/helpshift/poller/ConversationPoller; return-void .end method .method public setFetchNotificationUpdateFunction(Lcom/helpshift/poller/FetchNotificationUpdate;)V .locals 0 iput-object p1, p0, Lcom/helpshift/user/UserManager;->fetchNotificationUpdate:Lcom/helpshift/poller/FetchNotificationUpdate; return-void .end method .method public setPollerCursor(J)V .locals 1 const-string v0, "cursor" .line 425 invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object p1 invoke-virtual {p0, v0, p1}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method .method public setPollingBaseInterval(I)V .locals 1 const-string v0, "base_polling_interval" .line 429 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 invoke-virtual {p0, v0, p1}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method .method public setPollingMaxInterval(I)V .locals 1 const-string v0, "max_polling_interval" .line 433 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 invoke-virtual {p0, v0, p1}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method .method public setPushTokenSynced(Z)V .locals 1 const-string v0, "push_token_synced" .line 446 invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object p1 invoke-virtual {p0, v0, p1}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method .method public setShouldPollFlag(Z)V .locals 1 const-string v0, "should_poll" .line 421 invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object p1 invoke-virtual {p0, v0, p1}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method .method public setShowChatIconInHelpcenter(Z)V .locals 1 const-string v0, "show_chat_icon_in_helpcenter" .line 492 invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object p1 invoke-virtual {p0, v0, p1}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method .method public final setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V .locals 2 .line 511 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getActiveUserData()Lcom/helpshift/util/ValuePair; move-result-object v0 .line 512 iget-object v1, v0, Lcom/helpshift/util/ValuePair;->first:Ljava/lang/Object; check-cast v1, Ljava/lang/String; invoke-static {v1}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_0 return-void .line 515 :cond_0 iget-object v1, v0, Lcom/helpshift/util/ValuePair;->second:Ljava/lang/Object; check-cast v1, Lorg/json/JSONObject; invoke-virtual {v1, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; iget-object p1, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 516 iget-object p2, v0, Lcom/helpshift/util/ValuePair;->first:Ljava/lang/Object; check-cast p2, Ljava/lang/String; iget-object v0, v0, Lcom/helpshift/util/ValuePair;->second:Ljava/lang/Object; check-cast v0, Lorg/json/JSONObject; invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, p2, v0}, Lcom/helpshift/storage/HSPersistentStorage;->putString(Ljava/lang/String;Ljava/lang/String;)V return-void .end method .method public setUserLifecycleListener(Lcom/helpshift/user_lifecyle/UserLifecycleListener;)V .locals 1 .line 341 new-instance v0, Ljava/lang/ref/WeakReference; invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;->(Ljava/lang/Object;)V iput-object v0, p0, Lcom/helpshift/user/UserManager;->userLifecycleListenerRef:Ljava/lang/ref/WeakReference; return-void .end method .method public shouldPoll()Z .locals 2 const-string v0, "should_poll" sget-object v1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean; .line 450 invoke-virtual {p0, v0, v1}, Lcom/helpshift/user/UserManager;->getUserDataValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Boolean; invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z move-result v0 return v0 .end method .method public shouldShowChatIconInHelpcenter()Z .locals 2 const-string v0, "show_chat_icon_in_helpcenter" sget-object v1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean; .line 496 invoke-virtual {p0, v0, v1}, Lcom/helpshift/user/UserManager;->getUserDataValue(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Boolean; invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z move-result v0 return v0 .end method .method public final shouldSyncPushToken(Ljava/lang/String;)Z .locals 2 iget-object v0, p0, Lcom/helpshift/user/UserManager;->persistentStorage:Lcom/helpshift/storage/HSPersistentStorage; .line 378 invoke-virtual {v0}, Lcom/helpshift/storage/HSPersistentStorage;->getCurrentPushToken()Ljava/lang/String; move-result-object v0 .line 380 invoke-static {v0}, Lcom/helpshift/util/Utils;->isEmpty(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_1 invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_1 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->isPushTokenSynced()Z move-result p1 if-nez p1, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p1, 0x1 :goto_1 return p1 .end method .method public final startNotificationUpdatesSync()V .locals 2 iget-object v0, p0, Lcom/helpshift/user/UserManager;->hsThreadingService:Lcom/helpshift/concurrency/HSThreadingService; .line 350 invoke-virtual {v0}, Lcom/helpshift/concurrency/HSThreadingService;->getNetworkService()Lcom/helpshift/concurrency/HSThreader; move-result-object v0 new-instance v1, Lcom/helpshift/user/UserManager$2; invoke-direct {v1, p0}, Lcom/helpshift/user/UserManager$2;->(Lcom/helpshift/user/UserManager;)V invoke-interface {v0, v1}, Lcom/helpshift/concurrency/HSThreader;->submit(Ljava/lang/Runnable;)V return-void .end method .method public updatePushUnreadCountBy(I)V .locals 1 .line 478 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getPushUnreadNotificationCount()I move-result v0 add-int/2addr v0, p1 .line 479 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 const-string v0, "push_unread_count" invoke-virtual {p0, v0, p1}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method .method public updateUnreadCountBy(I)V .locals 1 .line 437 invoke-virtual {p0}, Lcom/helpshift/user/UserManager;->getUnreadNotificationCount()I move-result v0 add-int/2addr v0, p1 .line 438 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 const-string v0, "unread_count" invoke-virtual {p0, v0, p1}, Lcom/helpshift/user/UserManager;->setUserDataValues(Ljava/lang/String;Ljava/lang/Object;)V return-void .end method