Files
rr3-apk/smali_classes3/com/helpshift/activities/HSMainActivity.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

1388 lines
37 KiB
Smali

.class public Lcom/helpshift/activities/HSMainActivity;
.super Landroidx/appcompat/app/AppCompatActivity;
.source "SourceFile"
# interfaces
.implements Landroid/view/View$OnClickListener;
.implements Lcom/helpshift/activities/FragmentTransactionListener;
# static fields
.field private static final TAG:Ljava/lang/String; = "chatActvty"
# instance fields
.field private configManager:Lcom/helpshift/config/HSConfigManager;
.field private errorImageView:Landroid/widget/ImageView;
.field private fragmentManager:Landroidx/fragment/app/FragmentManager;
.field private isHelpcenterOpenedBefore:Z
.field private retryView:Landroid/view/View;
# direct methods
.method public constructor <init>()V
.locals 0
.line 43
invoke-direct {p0}, Landroidx/appcompat/app/AppCompatActivity;-><init>()V
return-void
.end method
.method public static synthetic access$000(Lcom/helpshift/activities/HSMainActivity;)Landroidx/fragment/app/Fragment;
.locals 0
.line 43
invoke-direct {p0}, Lcom/helpshift/activities/HSMainActivity;->getTopFragment()Landroidx/fragment/app/Fragment;
move-result-object p0
return-object p0
.end method
.method public static synthetic access$100(Lcom/helpshift/activities/HSMainActivity;ZZ)V
.locals 0
.line 43
invoke-direct {p0, p1, p2}, Lcom/helpshift/activities/HSMainActivity;->updateStatusBarColor(ZZ)V
return-void
.end method
.method private areConditionsValidToStartService(Landroid/content/Intent;)Z
.locals 2
.line 171
invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object p1
const/4 v0, 0x0
if-nez p1, :cond_0
return v0
.line 175
:cond_0
invoke-static {}, Lcom/helpshift/core/HSContext;->getInstance()Lcom/helpshift/core/HSContext;
move-result-object p1
invoke-virtual {p1}, Lcom/helpshift/core/HSContext;->getDevice()Lcom/helpshift/platform/Device;
move-result-object p1
invoke-interface {p1}, Lcom/helpshift/platform/Device;->isOnline()Z
move-result p1
if-nez p1, :cond_1
iget-object p1, p0, Lcom/helpshift/activities/HSMainActivity;->errorImageView:Landroid/widget/ImageView;
sget v1, Lcom/helpshift/R$drawable;->hs__no_internet_icon:I
.line 176
invoke-virtual {p1, v1}, Landroid/widget/ImageView;->setImageResource(I)V
return v0
:cond_1
const/4 p1, 0x1
return p1
.end method
.method private getHelpcenterFragment()Lcom/helpshift/faq/HSHelpcenterFragment;
.locals 2
.line 386
invoke-direct {p0}, Lcom/helpshift/activities/HSMainActivity;->getTopFragment()Landroidx/fragment/app/Fragment;
move-result-object v0
if-nez v0, :cond_0
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
const-string v1, "HelpCenter"
.line 389
invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroidx/fragment/app/Fragment;
move-result-object v0
check-cast v0, Lcom/helpshift/faq/HSHelpcenterFragment;
goto :goto_0
.line 391
:cond_0
instance-of v1, v0, Lcom/helpshift/faq/HSHelpcenterFragment;
if-eqz v1, :cond_1
.line 392
check-cast v0, Lcom/helpshift/faq/HSHelpcenterFragment;
goto :goto_0
:cond_1
const/4 v0, 0x0
:goto_0
return-object v0
.end method
.method private getTopFragment()Landroidx/fragment/app/Fragment;
.locals 2
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
.line 378
invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->getBackStackEntryCount()I
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x0
return-object v0
:cond_0
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
sget v1, Lcom/helpshift/R$id;->hs__container:I
.line 381
invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentManager;->findFragmentById(I)Landroidx/fragment/app/Fragment;
move-result-object v0
return-object v0
.end method
.method private hideError()V
.locals 2
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->retryView:Landroid/view/View;
const/4 v1, 0x0
.line 155
invoke-static {v0, v1}, Lcom/helpshift/util/ViewUtil;->setVisibility(Landroid/view/View;Z)V
return-void
.end method
.method private initService(Landroid/content/Intent;Z)V
.locals 3
.line 134
invoke-direct {p0, p1}, Lcom/helpshift/activities/HSMainActivity;->areConditionsValidToStartService(Landroid/content/Intent;)Z
move-result v0
if-nez v0, :cond_0
.line 135
invoke-direct {p0}, Lcom/helpshift/activities/HSMainActivity;->showError()V
return-void
.line 138
:cond_0
invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object v0
iget-object v1, p0, Lcom/helpshift/activities/HSMainActivity;->configManager:Lcom/helpshift/config/HSConfigManager;
const-string v2, "source"
.line 140
invoke-virtual {v0, v2}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/helpshift/config/HSConfigManager;->saveSDKSource(Ljava/lang/String;)V
.line 141
invoke-direct {p0, v0}, Lcom/helpshift/activities/HSMainActivity;->isWebchatServiceRequested(Landroid/os/Bundle;)Z
move-result v1
if-eqz v1, :cond_1
.line 142
invoke-direct {p0, v0}, Lcom/helpshift/activities/HSMainActivity;->sourceRequestingWebchat(Landroid/os/Bundle;)Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p2, p1}, Lcom/helpshift/activities/HSMainActivity;->startWebchatFlow(ZLjava/lang/String;)V
goto :goto_0
.line 145
:cond_1
invoke-direct {p0, p1, p2}, Lcom/helpshift/activities/HSMainActivity;->startHelpcenterFlow(Landroid/content/Intent;Z)V
.line 147
:goto_0
invoke-direct {p0}, Lcom/helpshift/activities/HSMainActivity;->hideError()V
return-void
.end method
.method private initStatusBarColorOnServiceChange()V
.locals 2
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
if-nez v0, :cond_0
return-void
.line 429
:cond_0
new-instance v1, Lcom/helpshift/activities/HSMainActivity$1;
invoke-direct {v1, p0}, Lcom/helpshift/activities/HSMainActivity$1;-><init>(Lcom/helpshift/activities/HSMainActivity;)V
invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentManager;->addOnBackStackChangedListener(Landroidx/fragment/app/FragmentManager$OnBackStackChangedListener;)V
return-void
.end method
.method private initViews()V
.locals 1
sget v0, Lcom/helpshift/R$id;->hs__retry_view:I
.line 127
invoke-virtual {p0, v0}, Landroidx/appcompat/app/AppCompatActivity;->findViewById(I)Landroid/view/View;
move-result-object v0
iput-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->retryView:Landroid/view/View;
sget v0, Lcom/helpshift/R$id;->hs__error_image:I
.line 128
invoke-virtual {p0, v0}, Landroidx/appcompat/app/AppCompatActivity;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
iput-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->errorImageView:Landroid/widget/ImageView;
sget v0, Lcom/helpshift/R$id;->hs__retry_button:I
.line 129
invoke-virtual {p0, v0}, Landroidx/appcompat/app/AppCompatActivity;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
sget v0, Lcom/helpshift/R$id;->hs__retry_view_close_btn:I
.line 130
invoke-virtual {p0, v0}, Landroidx/appcompat/app/AppCompatActivity;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
return-void
.end method
.method private isHelpcenterServiceRequested(Landroid/os/Bundle;)Z
.locals 1
const-string v0, "SERVICE_MODE"
.line 167
invoke-virtual {p1, v0}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string v0, "HELP_CENTER_SERVICE_FLAG"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result p1
return p1
.end method
.method private isWebchatServiceRequested(Landroid/os/Bundle;)Z
.locals 1
const-string v0, "SERVICE_MODE"
.line 159
invoke-virtual {p1, v0}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string v0, "WEBCHAT_SERVICE_FLAG"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result p1
return p1
.end method
.method private showError()V
.locals 2
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->retryView:Landroid/view/View;
const/4 v1, 0x1
.line 151
invoke-static {v0, v1}, Lcom/helpshift/util/ViewUtil;->setVisibility(Landroid/view/View;Z)V
return-void
.end method
.method private sourceRequestingWebchat(Landroid/os/Bundle;)Ljava/lang/String;
.locals 1
const-string v0, "source"
.line 163
invoke-virtual {p1, v0}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method private startHelpcenterFlow(Landroid/content/Intent;Z)V
.locals 3
.line 247
invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object p1
invoke-static {p1}, Lcom/helpshift/faq/HSHelpcenterFragment;->newInstance(Landroid/os/Bundle;)Lcom/helpshift/faq/HSHelpcenterFragment;
move-result-object p1
.line 248
invoke-virtual {p1, p0}, Lcom/helpshift/faq/HSHelpcenterFragment;->setFragmentTransactionListener(Lcom/helpshift/activities/FragmentTransactionListener;)V
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
.line 249
invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->beginTransaction()Landroidx/fragment/app/FragmentTransaction;
move-result-object v0
sget v1, Lcom/helpshift/R$id;->hs__container:I
const-string v2, "HelpCenter"
.line 250
invoke-virtual {v0, v1, p1, v2}, Landroidx/fragment/app/FragmentTransaction;->add(ILandroidx/fragment/app/Fragment;Ljava/lang/String;)Landroidx/fragment/app/FragmentTransaction;
if-eqz p2, :cond_0
const/4 p1, 0x0
.line 252
invoke-virtual {v0, p1}, Landroidx/fragment/app/FragmentTransaction;->addToBackStack(Ljava/lang/String;)Landroidx/fragment/app/FragmentTransaction;
.line 254
:cond_0
invoke-virtual {v0}, Landroidx/fragment/app/FragmentTransaction;->commitAllowingStateLoss()I
return-void
.end method
.method private startWebchatFlow(ZLjava/lang/String;)V
.locals 7
const-string v0, "Trying to start webchat flow"
const-string v1, "chatActvty"
.line 191
invoke-static {v1, v0}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 194
invoke-virtual {p0}, Landroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager;
move-result-object v0
sget v2, Lcom/helpshift/R$id;->hs__container:I
.line 195
invoke-virtual {v0, v2}, Landroidx/fragment/app/FragmentManager;->findFragmentById(I)Landroidx/fragment/app/Fragment;
move-result-object v2
.line 196
invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->getFragments()Ljava/util/List;
move-result-object v3
.line 198
instance-of v4, v2, Lcom/helpshift/chat/HSChatFragment;
if-eqz v4, :cond_1
const-string p1, "HSChatFragment is at top of stack, resuming"
.line 199
invoke-static {v1, p1}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
const-string p1, "proactive"
.line 200
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_0
const-string p2, "Update config with proactive outbound config in same webchat session"
.line 201
invoke-static {v1, p2}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 202
check-cast v2, Lcom/helpshift/chat/HSChatFragment;
invoke-virtual {v2, p1}, Lcom/helpshift/chat/HSChatFragment;->setWebchatSourceChanged(Ljava/lang/String;)V
:cond_0
return-void
.line 205
:cond_1
instance-of v2, v2, Lcom/helpshift/faq/HSHelpcenterFragment;
const-string v4, "HSChatFragment"
const/4 v5, 0x1
if-eqz v2, :cond_3
if-eqz v3, :cond_3
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v2
if-le v2, v5, :cond_3
const-string v2, "HSHelpcenterFragment at top and HSChatFragment in stack, removing chat fragment"
.line 206
invoke-static {v1, v2}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 207
invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->beginTransaction()Landroidx/fragment/app/FragmentTransaction;
move-result-object v2
.line 208
invoke-virtual {v0, v4}, Landroidx/fragment/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroidx/fragment/app/Fragment;
move-result-object v3
if-eqz v3, :cond_2
.line 210
invoke-virtual {v2, v3}, Landroidx/fragment/app/FragmentTransaction;->remove(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/FragmentTransaction;
.line 212
:cond_2
invoke-virtual {v2}, Landroidx/fragment/app/FragmentTransaction;->commitAllowingStateLoss()I
.line 213
invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->executePendingTransactions()Z
.line 216
:cond_3
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Creating new HSChatFragment: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ", add to backstack: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 217
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
const-string v2, "api"
.line 218
invoke-virtual {v2, p2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
const-string v6, "source"
if-eqz v3, :cond_4
.line 219
invoke-virtual {v1, v6, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_0
.line 220
:cond_4
invoke-static {}, Lcom/helpshift/core/HSContext;->getInstance()Lcom/helpshift/core/HSContext;
move-result-object v2
invoke-virtual {v2}, Lcom/helpshift/core/HSContext;->isIsWebchatOpenedFromHelpcenter()Z
move-result v2
if-eqz v2, :cond_5
const-string p2, "helpcenter"
.line 221
invoke-static {p2}, Lcom/helpshift/util/HSTimer;->setStartTime(Ljava/lang/String;)V
.line 222
invoke-virtual {v1, v6, p2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_0
:cond_5
const-string v2, "notification"
.line 223
invoke-virtual {v2, p2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result p2
if-eqz p2, :cond_6
.line 224
invoke-static {v2}, Lcom/helpshift/util/HSTimer;->setStartTime(Ljava/lang/String;)V
.line 225
invoke-virtual {v1, v6, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 228
:cond_6
:goto_0
new-instance p2, Lcom/helpshift/chat/HSChatFragment;
invoke-direct {p2}, Lcom/helpshift/chat/HSChatFragment;-><init>()V
.line 229
invoke-virtual {p2, v1}, Landroidx/fragment/app/Fragment;->setArguments(Landroid/os/Bundle;)V
.line 230
invoke-virtual {p2, p0}, Lcom/helpshift/chat/HSChatFragment;->setTransactionListener(Lcom/helpshift/activities/FragmentTransactionListener;)V
.line 231
invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->beginTransaction()Landroidx/fragment/app/FragmentTransaction;
move-result-object v0
if-eqz p1, :cond_7
iput-boolean v5, p0, Lcom/helpshift/activities/HSMainActivity;->isHelpcenterOpenedBefore:Z
sget v1, Lcom/helpshift/R$anim;->hs__slide_up:I
sget v2, Lcom/helpshift/R$anim;->hs__slide_down:I
.line 235
invoke-virtual {v0, v1, v2, v1, v2}, Landroidx/fragment/app/FragmentTransaction;->setCustomAnimations(IIII)Landroidx/fragment/app/FragmentTransaction;
:cond_7
sget v1, Lcom/helpshift/R$id;->hs__container:I
.line 238
invoke-virtual {v0, v1, p2, v4}, Landroidx/fragment/app/FragmentTransaction;->add(ILandroidx/fragment/app/Fragment;Ljava/lang/String;)Landroidx/fragment/app/FragmentTransaction;
if-eqz p1, :cond_8
const/4 p1, 0x0
.line 241
invoke-virtual {v0, p1}, Landroidx/fragment/app/FragmentTransaction;->addToBackStack(Ljava/lang/String;)Landroidx/fragment/app/FragmentTransaction;
.line 243
:cond_8
invoke-virtual {v0}, Landroidx/fragment/app/FragmentTransaction;->commitAllowingStateLoss()I
return-void
.end method
.method private updateStatusBarColor(ZZ)V
.locals 0
if-eqz p2, :cond_0
iget-boolean p2, p0, Lcom/helpshift/activities/HSMainActivity;->isHelpcenterOpenedBefore:Z
if-nez p2, :cond_1
:cond_0
if-eqz p1, :cond_2
:cond_1
iget-object p1, p0, Lcom/helpshift/activities/HSMainActivity;->configManager:Lcom/helpshift/config/HSConfigManager;
.line 448
invoke-virtual {p1}, Lcom/helpshift/config/HSConfigManager;->getUiConfigDataOfHelpcenter()Ljava/lang/String;
move-result-object p1
goto :goto_0
:cond_2
iget-object p1, p0, Lcom/helpshift/activities/HSMainActivity;->configManager:Lcom/helpshift/config/HSConfigManager;
invoke-virtual {p1}, Lcom/helpshift/config/HSConfigManager;->getUiConfigDataOfWebchat()Ljava/lang/String;
move-result-object p1
.line 447
:goto_0
invoke-virtual {p0, p1}, Lcom/helpshift/activities/HSMainActivity;->changeStatusBarColor(Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public changeStatusBarColor(Ljava/lang/String;)V
.locals 0
.line 453
invoke-static {p0, p1}, Lcom/helpshift/util/ViewUtil;->setStatusBarColor(Landroid/app/Activity;Ljava/lang/String;)V
return-void
.end method
.method public closeHelpcenter()V
.locals 0
.line 421
invoke-virtual {p0}, Lcom/helpshift/activities/HSMainActivity;->onBackPressed()V
return-void
.end method
.method public closeWebchat()V
.locals 0
.line 416
invoke-virtual {p0}, Lcom/helpshift/activities/HSMainActivity;->onBackPressed()V
return-void
.end method
.method public handleBackPress(Z)V
.locals 1
if-eqz p1, :cond_0
return-void
.line 365
:cond_0
invoke-direct {p0}, Lcom/helpshift/activities/HSMainActivity;->getTopFragment()Landroidx/fragment/app/Fragment;
move-result-object p1
const-string v0, "chatActvty"
if-nez p1, :cond_1
const-string p1, "HSMainActivity handleBackPress, back press delegated to super"
.line 367
invoke-static {v0, p1}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 368
invoke-super {p0}, Landroidx/activity/ComponentActivity;->onBackPressed()V
goto :goto_0
:cond_1
iget-object p1, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
.line 370
invoke-virtual {p1}, Landroidx/fragment/app/FragmentManager;->getBackStackEntryCount()I
move-result p1
if-lez p1, :cond_2
const-string p1, "HSMainActivity handleBackPress, popping backstack"
.line 371
invoke-static {v0, p1}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object p1, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
.line 372
invoke-virtual {p1}, Landroidx/fragment/app/FragmentManager;->popBackStack()V
:cond_2
:goto_0
return-void
.end method
.method public isWebchatFragmentInStack()Z
.locals 3
.line 183
invoke-virtual {p0}, Landroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager;
move-result-object v0
const-string v1, "HSChatFragment"
.line 184
invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroidx/fragment/app/Fragment;
move-result-object v0
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 185
:goto_0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "isWebchatFragmentInStack: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "chatActvty"
invoke-static {v2, v1}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
return v0
.end method
.method public onBackPressed()V
.locals 3
const-string v0, "HSMainActivity back press"
const-string v1, "chatActvty"
.line 303
invoke-static {v1, v0}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 305
invoke-direct {p0}, Lcom/helpshift/activities/HSMainActivity;->getTopFragment()Landroidx/fragment/app/Fragment;
move-result-object v0
if-nez v0, :cond_2
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
const-string v2, "HelpCenter"
.line 309
invoke-virtual {v0, v2}, Landroidx/fragment/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroidx/fragment/app/Fragment;
move-result-object v0
check-cast v0, Lcom/helpshift/faq/HSHelpcenterFragment;
if-eqz v0, :cond_0
.line 311
invoke-virtual {v0}, Lcom/helpshift/faq/HSHelpcenterFragment;->canHelpcenterWebviewGoBack()Z
move-result v2
if-eqz v2, :cond_0
const-string v2, "HSMainActivity topFragment null, handle back from Helpcenter"
.line 312
invoke-static {v1, v2}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 313
invoke-virtual {v0}, Lcom/helpshift/faq/HSHelpcenterFragment;->helpcenterWebviewGoBack()V
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
const-string v2, "HSChatFragment"
.line 317
invoke-virtual {v0, v2}, Landroidx/fragment/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroidx/fragment/app/Fragment;
move-result-object v0
check-cast v0, Lcom/helpshift/chat/HSChatFragment;
if-eqz v0, :cond_1
const-string v2, "HSMainActivity topFragment null, handle back from Webchat"
.line 319
invoke-static {v1, v2}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 320
invoke-virtual {v0}, Lcom/helpshift/chat/HSChatFragment;->handleBackPress()V
return-void
:cond_1
const-string v0, "HSMainActivity topFragment null, back press delegated to super"
.line 324
invoke-static {v1, v0}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 325
invoke-super {p0}, Landroidx/activity/ComponentActivity;->onBackPressed()V
:goto_0
return-void
.line 332
:cond_2
instance-of v2, v0, Lcom/helpshift/faq/HSHelpcenterFragment;
if-eqz v2, :cond_3
.line 333
check-cast v0, Lcom/helpshift/faq/HSHelpcenterFragment;
.line 335
invoke-virtual {v0}, Lcom/helpshift/faq/HSHelpcenterFragment;->canHelpcenterWebviewGoBack()Z
move-result v2
if-eqz v2, :cond_5
const-string v2, "HSMainActivity topFragment not null, handle back press with Helpcenter"
.line 336
invoke-static {v1, v2}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 337
invoke-virtual {v0}, Lcom/helpshift/faq/HSHelpcenterFragment;->helpcenterWebviewGoBack()V
return-void
.line 341
:cond_3
instance-of v2, v0, Lcom/helpshift/chat/HSChatFragment;
if-eqz v2, :cond_4
.line 342
check-cast v0, Lcom/helpshift/chat/HSChatFragment;
const-string v2, "HSMainActivity topFragment not null, handle back press from Webchat"
.line 343
invoke-static {v1, v2}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 344
invoke-virtual {v0}, Lcom/helpshift/chat/HSChatFragment;->handleBackPress()V
return-void
:cond_4
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
.line 348
invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->getBackStackEntryCount()I
move-result v0
if-lez v0, :cond_5
const-string v0, "HSMainActivity topFragment not null, popping backstack"
.line 349
invoke-static {v1, v0}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
.line 350
invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->popBackStack()V
return-void
:cond_5
const-string v0, "HSMainActivity all checks failed, back press delegated to super"
.line 354
invoke-static {v1, v0}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 355
invoke-super {p0}, Landroidx/activity/ComponentActivity;->onBackPressed()V
return-void
.end method
.method public onClick(Landroid/view/View;)V
.locals 1
.line 291
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
sget v0, Lcom/helpshift/R$id;->hs__retry_view_close_btn:I
if-ne p1, v0, :cond_0
.line 293
invoke-virtual {p0}, Landroid/app/Activity;->finish()V
goto :goto_0
:cond_0
sget v0, Lcom/helpshift/R$id;->hs__retry_button:I
if-ne p1, v0, :cond_1
.line 296
invoke-virtual {p0}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
move-result-object p1
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/helpshift/activities/HSMainActivity;->initService(Landroid/content/Intent;Z)V
:cond_1
:goto_0
return-void
.end method
.method public onCreate(Landroid/os/Bundle;)V
.locals 2
.param p1 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const-string v0, "chatActvty"
.line 63
:try_start_0
sget-object v1, Lcom/helpshift/core/HSContext;->installCallSuccessful:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v1
if-eqz v1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
.line 64
:goto_0
invoke-super {p0, p1}, Landroidx/fragment/app/FragmentActivity;->onCreate(Landroid/os/Bundle;)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
.line 74
sget-object p1, Lcom/helpshift/core/HSContext;->installCallSuccessful:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result p1
if-nez p1, :cond_1
const-string p1, "Install call not successful, falling back to launcher activity"
.line 75
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 76
invoke-static {p0}, Lcom/helpshift/util/ActivityUtil;->startLauncherActivityAndFinish(Landroid/app/Activity;)V
return-void
:cond_1
const-string p1, "HSMainActivity onCreate after install call check"
.line 80
invoke-static {v0, p1}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
sget p1, Lcom/helpshift/R$layout;->hs__chat_activity_layout:I
.line 81
invoke-virtual {p0, p1}, Landroidx/appcompat/app/AppCompatActivity;->setContentView(I)V
.line 85
:try_start_1
invoke-static {}, Lcom/helpshift/core/HSContext;->getInstance()Lcom/helpshift/core/HSContext;
move-result-object p1
invoke-virtual {p1}, Lcom/helpshift/core/HSContext;->getPersistentStorage()Lcom/helpshift/storage/HSPersistentStorage;
move-result-object p1
invoke-virtual {p1}, Lcom/helpshift/storage/HSPersistentStorage;->getRequestedScreenOrientation()I
move-result p1
.line 86
invoke-virtual {p0, p1}, Landroid/app/Activity;->setRequestedOrientation(I)V
:try_end_1
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0
goto :goto_1
:catch_0
move-exception p1
const-string v1, "Error setting orientation."
.line 91
invoke-static {v0, v1, p1}, Lcom/helpshift/log/HSLogger;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 94
:goto_1
invoke-direct {p0}, Lcom/helpshift/activities/HSMainActivity;->initViews()V
.line 95
invoke-static {}, Lcom/helpshift/core/HSContext;->getInstance()Lcom/helpshift/core/HSContext;
move-result-object p1
.line 97
invoke-static {}, Lcom/helpshift/core/HSContext;->getInstance()Lcom/helpshift/core/HSContext;
move-result-object v0
invoke-virtual {v0}, Lcom/helpshift/core/HSContext;->getAnalyticsEventDM()Lcom/helpshift/analytics/HSAnalyticsEventDM;
move-result-object v0
invoke-virtual {v0}, Lcom/helpshift/analytics/HSAnalyticsEventDM;->sendAllAppLaunchEvents()V
.line 99
invoke-virtual {p0}, Landroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager;
move-result-object v0
iput-object v0, p0, Lcom/helpshift/activities/HSMainActivity;->fragmentManager:Landroidx/fragment/app/FragmentManager;
.line 100
invoke-virtual {p1}, Lcom/helpshift/core/HSContext;->getConfigManager()Lcom/helpshift/config/HSConfigManager;
move-result-object p1
iput-object p1, p0, Lcom/helpshift/activities/HSMainActivity;->configManager:Lcom/helpshift/config/HSConfigManager;
.line 102
invoke-virtual {p0}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
move-result-object p1
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/helpshift/activities/HSMainActivity;->initService(Landroid/content/Intent;Z)V
.line 103
invoke-direct {p0}, Lcom/helpshift/activities/HSMainActivity;->initStatusBarColorOnServiceChange()V
return-void
:catch_1
move-exception p1
const-string v1, "Caught exception in HSMainActivity.onCreate()"
.line 67
invoke-static {v0, v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 68
sget-object p1, Lcom/helpshift/core/HSContext;->installCallSuccessful:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result p1
if-nez p1, :cond_2
.line 69
invoke-static {p0}, Lcom/helpshift/util/ActivityUtil;->startLauncherActivityAndFinish(Landroid/app/Activity;)V
:cond_2
return-void
.end method
.method public onDestroy()V
.locals 2
.line 402
invoke-super {p0}, Landroidx/appcompat/app/AppCompatActivity;->onDestroy()V
const-string v0, "chatActvty"
const-string v1, "HSMainActivity onDestroy"
.line 403
invoke-static {v0, v1}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 404
sget-object v0, Lcom/helpshift/core/HSContext;->installCallSuccessful:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-eqz v0, :cond_0
.line 405
invoke-static {}, Lcom/helpshift/core/HSContext;->getInstance()Lcom/helpshift/core/HSContext;
move-result-object v0
invoke-virtual {v0}, Lcom/helpshift/core/HSContext;->getAnalyticsEventDM()Lcom/helpshift/analytics/HSAnalyticsEventDM;
move-result-object v0
invoke-virtual {v0}, Lcom/helpshift/analytics/HSAnalyticsEventDM;->sendQuitEvent()V
:cond_0
return-void
.end method
.method public onNewIntent(Landroid/content/Intent;)V
.locals 5
.line 259
invoke-super {p0, p1}, Landroidx/activity/ComponentActivity;->onNewIntent(Landroid/content/Intent;)V
const-string v0, "HSMainActivity onNewIntent"
const-string v1, "chatActvty"
.line 261
invoke-static {v1, v0}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 264
invoke-direct {p0, p1}, Lcom/helpshift/activities/HSMainActivity;->areConditionsValidToStartService(Landroid/content/Intent;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 267
:cond_0
invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object v0
const-string v2, "source"
.line 268
invoke-virtual {v0, v2}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 270
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "HSMainActivity onNewIntent source: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v1, v3}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Lcom/helpshift/activities/HSMainActivity;->configManager:Lcom/helpshift/config/HSConfigManager;
.line 273
invoke-virtual {v1, v2}, Lcom/helpshift/config/HSConfigManager;->saveSDKSource(Ljava/lang/String;)V
.line 276
invoke-direct {p0}, Lcom/helpshift/activities/HSMainActivity;->getHelpcenterFragment()Lcom/helpshift/faq/HSHelpcenterFragment;
move-result-object v1
if-eqz v1, :cond_1
.line 277
invoke-direct {p0, v0}, Lcom/helpshift/activities/HSMainActivity;->isHelpcenterServiceRequested(Landroid/os/Bundle;)Z
move-result v2
if-eqz v2, :cond_1
.line 279
invoke-virtual {v1, v0}, Lcom/helpshift/faq/HSHelpcenterFragment;->reloadIframe(Landroid/os/Bundle;)V
goto :goto_0
:cond_1
const/4 v0, 0x1
.line 285
invoke-direct {p0, p1, v0}, Lcom/helpshift/activities/HSMainActivity;->initService(Landroid/content/Intent;Z)V
:goto_0
return-void
.end method
.method public onStart()V
.locals 3
.line 108
invoke-super {p0}, Landroidx/appcompat/app/AppCompatActivity;->onStart()V
const-string v0, "chatActvty"
const-string v1, "HSMainActivity onStart"
.line 109
invoke-static {v0, v1}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 110
invoke-static {}, Lcom/helpshift/core/HSContext;->getInstance()Lcom/helpshift/core/HSContext;
move-result-object v0
const/4 v1, 0x1
.line 111
invoke-virtual {v0, v1}, Lcom/helpshift/core/HSContext;->setSdkIsOpen(Z)V
.line 112
invoke-virtual {v0}, Lcom/helpshift/core/HSContext;->getHsEventProxy()Lcom/helpshift/chat/HSEventProxy;
move-result-object v0
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
const-string v2, "helpshiftSessionStarted"
.line 113
invoke-virtual {v0, v2, v1}, Lcom/helpshift/chat/HSEventProxy;->sendEvent(Ljava/lang/String;Ljava/util/Map;)V
return-void
.end method
.method public onStop()V
.locals 3
.line 118
invoke-super {p0}, Landroidx/appcompat/app/AppCompatActivity;->onStop()V
const-string v0, "chatActvty"
const-string v1, "HSMainActivity onStop"
.line 119
invoke-static {v0, v1}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 120
invoke-static {}, Lcom/helpshift/core/HSContext;->getInstance()Lcom/helpshift/core/HSContext;
move-result-object v0
const/4 v1, 0x0
.line 121
invoke-virtual {v0, v1}, Lcom/helpshift/core/HSContext;->setSdkIsOpen(Z)V
.line 122
invoke-virtual {v0}, Lcom/helpshift/core/HSContext;->getHsEventProxy()Lcom/helpshift/chat/HSEventProxy;
move-result-object v0
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
const-string v2, "helpshiftSessionEnded"
.line 123
invoke-virtual {v0, v2, v1}, Lcom/helpshift/chat/HSEventProxy;->sendEvent(Ljava/lang/String;Ljava/util/Map;)V
return-void
.end method
.method public openWebchat()V
.locals 2
const/4 v0, 0x1
const-string v1, "helpcenter"
.line 411
invoke-direct {p0, v0, v1}, Lcom/helpshift/activities/HSMainActivity;->startWebchatFlow(ZLjava/lang/String;)V
return-void
.end method