This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
@@ -0,0 +1,51 @@
.class public final Lcom/amplifyframework/devmenu/DevMenuDeviceFragment;
.super Landroidx/fragment/app/Fragment;
.source "DevMenuDeviceFragment.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Landroidx/fragment/app/Fragment;-><init>()V
return-void
.end method
# virtual methods
.method public onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
.locals 1
.line 1
sget p3, Lcom/amplifyframework/core/R$layout;->dev_menu_fragment_device:I
const/4 v0, 0x0
invoke-virtual {p1, p3, p2, v0}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object p1
.line 2
sget p2, Lcom/amplifyframework/core/R$id;->device_info_text:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/TextView;
.line 3
new-instance p3, Lcom/amplifyframework/devmenu/DeviceInfo;
invoke-direct {p3}, Lcom/amplifyframework/devmenu/DeviceInfo;-><init>()V
invoke-virtual {p3}, Lcom/amplifyframework/devmenu/DeviceInfo;->toString()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
return-object p1
.end method
@@ -0,0 +1,210 @@
.class public final Lcom/amplifyframework/devmenu/DevMenuEnvironmentFragment;
.super Landroidx/fragment/app/Fragment;
.source "DevMenuEnvironmentFragment.java"
# static fields
.field private static final LOG:Lcom/amplifyframework/logging/Logger;
# direct methods
.method public static constructor <clinit>()V
.locals 2
.line 1
sget-object v0, Lcom/amplifyframework/core/Amplify;->Logging:Lcom/amplifyframework/logging/LoggingCategory;
const-string v1, "amplify:devmenu"
invoke-virtual {v0, v1}, Lcom/amplifyframework/logging/LoggingCategory;->forNamespace(Ljava/lang/String;)Lcom/amplifyframework/logging/Logger;
move-result-object v0
sput-object v0, Lcom/amplifyframework/devmenu/DevMenuEnvironmentFragment;->LOG:Lcom/amplifyframework/logging/Logger;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Landroidx/fragment/app/Fragment;-><init>()V
return-void
.end method
.method private getEnvironmentInfo()Landroid/text/SpannableStringBuilder;
.locals 5
.line 1
new-instance v0, Landroid/text/SpannableStringBuilder;
invoke-direct {v0}, Landroid/text/SpannableStringBuilder;-><init>()V
.line 2
new-instance v1, Lcom/amplifyframework/devmenu/EnvironmentInfo;
invoke-direct {v1}, Lcom/amplifyframework/devmenu/EnvironmentInfo;-><init>()V
const-string v2, "Amplify Plugins Information"
.line 3
invoke-direct {p0, v2}, Lcom/amplifyframework/devmenu/DevMenuEnvironmentFragment;->setBold(Ljava/lang/String;)Landroid/text/SpannableString;
move-result-object v2
invoke-virtual {v0, v2}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
.line 4
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "\n"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Lcom/amplifyframework/devmenu/EnvironmentInfo;->getPluginVersions()Ljava/lang/String;
move-result-object v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 5
invoke-virtual {v0, v2}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
const-string v2, "Developer Environment Information"
.line 6
invoke-direct {p0, v2}, Lcom/amplifyframework/devmenu/DevMenuEnvironmentFragment;->setBold(Ljava/lang/String;)Landroid/text/SpannableString;
move-result-object v2
invoke-virtual {v0, v2}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
.line 7
:try_start_0
invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->requireContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/amplifyframework/devmenu/EnvironmentInfo;->getDeveloperEnvironmentInfo(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
:try_end_0
.catch Lcom/amplifyframework/AmplifyException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 8
:catch_0
sget-object v1, Lcom/amplifyframework/devmenu/DevMenuEnvironmentFragment;->LOG:Lcom/amplifyframework/logging/Logger;
const-string v2, "Error reading developer environment information."
invoke-interface {v1, v2}, Lcom/amplifyframework/logging/Logger;->warn(Ljava/lang/String;)V
const-string v1, ""
.line 9
:goto_0
invoke-virtual {v1}, Ljava/lang/String;->isEmpty()Z
move-result v2
if-eqz v2, :cond_0
const-string v1, "\nUnable to retrieve developer environment information."
.line 10
invoke-virtual {v0, v1}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
goto :goto_1
.line 11
:cond_0
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 12
invoke-virtual {v0, v1}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
:goto_1
return-object v0
.end method
.method private setBold(Ljava/lang/String;)Landroid/text/SpannableString;
.locals 4
.line 1
new-instance v0, Landroid/text/SpannableString;
invoke-direct {v0, p1}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
.line 2
new-instance p1, Landroid/text/style/StyleSpan;
const/4 v1, 0x1
invoke-direct {p1, v1}, Landroid/text/style/StyleSpan;-><init>(I)V
invoke-virtual {v0}, Landroid/text/SpannableString;->length()I
move-result v1
const/4 v2, 0x0
const/16 v3, 0x21
invoke-virtual {v0, p1, v2, v1, v3}, Landroid/text/SpannableString;->setSpan(Ljava/lang/Object;III)V
return-object v0
.end method
# virtual methods
.method public onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
.locals 1
.line 1
sget p3, Lcom/amplifyframework/core/R$layout;->dev_menu_fragment_environment:I
const/4 v0, 0x0
invoke-virtual {p1, p3, p2, v0}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object p1
.line 2
sget p2, Lcom/amplifyframework/core/R$id;->env_info_text:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/TextView;
invoke-direct {p0}, Lcom/amplifyframework/devmenu/DevMenuEnvironmentFragment;->getEnvironmentInfo()Landroid/text/SpannableStringBuilder;
move-result-object p3
invoke-virtual {p2, p3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
return-object p1
.end method
@@ -0,0 +1,269 @@
.class public final Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;
.super Landroidx/fragment/app/Fragment;
.source "DevMenuFileIssueFragment.java"
# static fields
.field private static final DESCRIPTION_LENGTH_ERROR:Ljava/lang/String; = "Issue description must be at least 20 characters."
.field private static final MIN_DESCRIPTION_LENGTH:I = 0x14
.field private static final NEW_ISSUE_URL:Ljava/lang/String; = "https://github.com/aws-amplify/amplify-android/issues/new"
# instance fields
.field private developerMenu:Lcom/amplifyframework/devmenu/DeveloperMenu;
.field private fileIssueView:Landroid/view/View;
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Landroidx/fragment/app/Fragment;-><init>()V
return-void
.end method
.method private fileIssue()V
.locals 4
.line 1
invoke-direct {p0}, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->getIssueBody()Ljava/lang/String;
move-result-object v0
.line 2
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_0
const-string v1, "https://github.com/aws-amplify/amplify-android/issues/new"
.line 3
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {v1}, Landroid/net/Uri;->buildUpon()Landroid/net/Uri$Builder;
move-result-object v1
const-string v2, "title"
const-string v3, ""
invoke-virtual {v1, v2, v3}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v1
const-string v2, "body"
.line 4
invoke-virtual {v1, v2, v0}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
invoke-virtual {v0}, Landroid/net/Uri$Builder;->build()Landroid/net/Uri;
move-result-object v0
.line 5
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.VIEW"
invoke-direct {v1, v2, v0}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.line 6
invoke-virtual {p0, v1}, Landroidx/fragment/app/Fragment;->startActivity(Landroid/content/Intent;)V
:cond_0
return-void
.end method
.method private getIssueBody()Ljava/lang/String;
.locals 4
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->fileIssueView:Landroid/view/View;
sget v1, Lcom/amplifyframework/core/R$id;->issue_description:I
invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/EditText;
.line 2
invoke-virtual {v0}, Landroid/widget/EditText;->getText()Landroid/text/Editable;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
.line 3
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v2
const/16 v3, 0x14
if-ge v2, v3, :cond_0
const-string v1, "Issue description must be at least 20 characters."
.line 4
invoke-virtual {v0, v1}, Landroid/widget/EditText;->setError(Ljava/lang/CharSequence;)V
const-string v0, ""
return-object v0
.line 5
:cond_0
iget-object v0, p0, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->developerMenu:Lcom/amplifyframework/devmenu/DeveloperMenu;
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Lcom/amplifyframework/devmenu/DeveloperMenu;->createIssueBody(Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static synthetic h(Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;Landroid/view/View;)V
.locals 0
invoke-direct {p0, p1}, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->lambda$onCreateView$0(Landroid/view/View;)V
return-void
.end method
.method public static synthetic i(Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;Landroid/content/Context;Landroid/view/View;)V
.locals 0
invoke-direct {p0, p1, p2}, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->lambda$onCreateView$1(Landroid/content/Context;Landroid/view/View;)V
return-void
.end method
.method private synthetic lambda$onCreateView$0(Landroid/view/View;)V
.locals 0
.line 1
invoke-direct {p0}, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->fileIssue()V
return-void
.end method
.method private synthetic lambda$onCreateView$1(Landroid/content/Context;Landroid/view/View;)V
.locals 1
.line 1
invoke-direct {p0}, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->getIssueBody()Ljava/lang/String;
move-result-object p2
.line 2
invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-nez v0, :cond_0
.line 3
iget-object v0, p0, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->developerMenu:Lcom/amplifyframework/devmenu/DeveloperMenu;
invoke-virtual {v0, p2}, Lcom/amplifyframework/devmenu/DeveloperMenu;->copyToClipboard(Ljava/lang/String;)V
const/4 p2, 0x0
const-string v0, "Copied issue body to clipboard."
.line 4
invoke-static {p1, v0, p2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object p1
invoke-virtual {p1}, Landroid/widget/Toast;->show()V
:cond_0
return-void
.end method
# virtual methods
.method public onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
.locals 1
.line 1
sget p3, Lcom/amplifyframework/core/R$layout;->dev_menu_fragment_file_issue:I
const/4 v0, 0x0
invoke-virtual {p1, p3, p2, v0}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object p1
iput-object p1, p0, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->fileIssueView:Landroid/view/View;
.line 2
invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->requireContext()Landroid/content/Context;
move-result-object p1
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
.line 3
invoke-static {p1}, Lcom/amplifyframework/devmenu/DeveloperMenu;->singletonInstance(Landroid/content/Context;)Lcom/amplifyframework/devmenu/DeveloperMenu;
move-result-object p2
iput-object p2, p0, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->developerMenu:Lcom/amplifyframework/devmenu/DeveloperMenu;
.line 4
iget-object p2, p0, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->fileIssueView:Landroid/view/View;
sget p3, Lcom/amplifyframework/core/R$id;->file_issue:I
invoke-virtual {p2, p3}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
new-instance p3, Lcom/amplifyframework/devmenu/a;
invoke-direct {p3, p0}, Lcom/amplifyframework/devmenu/a;-><init>(Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;)V
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 5
iget-object p2, p0, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->fileIssueView:Landroid/view/View;
sget p3, Lcom/amplifyframework/core/R$id;->copy_issue:I
invoke-virtual {p2, p3}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
new-instance p3, Lcom/amplifyframework/devmenu/b;
invoke-direct {p3, p0, p1}, Lcom/amplifyframework/devmenu/b;-><init>(Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;Landroid/content/Context;)V
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 6
iget-object p1, p0, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->fileIssueView:Landroid/view/View;
return-object p1
.end method
@@ -0,0 +1,62 @@
.class Lcom/amplifyframework/devmenu/DevMenuLogsFragment$1;
.super Ljava/lang/Object;
.source "DevMenuLogsFragment.java"
# interfaces
.implements Landroid/widget/SearchView$OnQueryTextListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/amplifyframework/devmenu/DevMenuLogsFragment;
# direct methods
.method public constructor <init>(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment$1;->this$0:Lcom/amplifyframework/devmenu/DevMenuLogsFragment;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onQueryTextChange(Ljava/lang/String;)Z
.locals 1
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment$1;->this$0:Lcom/amplifyframework/devmenu/DevMenuLogsFragment;
invoke-static {v0, p1}, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->access$002(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;Ljava/lang/String;)Ljava/lang/String;
.line 2
iget-object p1, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment$1;->this$0:Lcom/amplifyframework/devmenu/DevMenuLogsFragment;
invoke-static {p1}, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->access$100(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;)V
const/4 p1, 0x1
return p1
.end method
.method public onQueryTextSubmit(Ljava/lang/String;)Z
.locals 0
const/4 p1, 0x0
return p1
.end method
@@ -0,0 +1,292 @@
.class public final Lcom/amplifyframework/devmenu/DevMenuLogsFragment;
.super Landroidx/fragment/app/Fragment;
.source "DevMenuLogsFragment.java"
# instance fields
.field private developerMenu:Lcom/amplifyframework/devmenu/DeveloperMenu;
.field private logsText:Landroid/widget/TextView;
.field private searchQuery:Ljava/lang/String;
.field private selectedLogsFilterItem:Landroid/view/MenuItem;
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Landroidx/fragment/app/Fragment;-><init>()V
return-void
.end method
.method public static synthetic access$002(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;Ljava/lang/String;)Ljava/lang/String;
.locals 0
.line 1
iput-object p1, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->searchQuery:Ljava/lang/String;
return-object p1
.end method
.method public static synthetic access$100(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;)V
.locals 0
.line 1
invoke-direct {p0}, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->displayFilteredLogs()V
return-void
.end method
.method private displayFilteredLogs()V
.locals 4
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->logsText:Landroid/widget/TextView;
sget v1, Lcom/amplifyframework/core/R$string;->placeholder_logs:I
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(I)V
.line 2
iget-object v0, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->selectedLogsFilterItem:Landroid/view/MenuItem;
invoke-interface {v0}, Landroid/view/MenuItem;->getItemId()I
move-result v0
sget v1, Lcom/amplifyframework/core/R$id;->all_logs:I
if-eq v0, v1, :cond_0
.line 3
iget-object v0, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->selectedLogsFilterItem:Landroid/view/MenuItem;
invoke-interface {v0}, Landroid/view/MenuItem;->getTitle()Ljava/lang/CharSequence;
move-result-object v0
invoke-interface {v0}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v0
sget-object v1, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-virtual {v0, v1}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/amplifyframework/logging/LogLevel;->valueOf(Ljava/lang/String;)Lcom/amplifyframework/logging/LogLevel;
move-result-object v0
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 4
:goto_0
iget-object v1, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->logsText:Landroid/widget/TextView;
iget-object v2, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->developerMenu:Lcom/amplifyframework/devmenu/DeveloperMenu;
iget-object v3, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->searchQuery:Ljava/lang/String;
invoke-virtual {v2, v3, v0}, Lcom/amplifyframework/devmenu/DeveloperMenu;->getFilteredLogs(Ljava/lang/String;Lcom/amplifyframework/logging/LogLevel;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
return-void
.end method
.method public static synthetic h(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;Landroid/view/View;)V
.locals 0
invoke-direct {p0, p1}, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->lambda$onCreateView$0(Landroid/view/View;)V
return-void
.end method
.method private synthetic lambda$onCreateView$0(Landroid/view/View;)V
.locals 1
.line 1
invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->requireActivity()Landroidx/fragment/app/FragmentActivity;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/app/Activity;->openContextMenu(Landroid/view/View;)V
return-void
.end method
# virtual methods
.method public onContextItemSelected(Landroid/view/MenuItem;)Z
.locals 0
.param p1 # Landroid/view/MenuItem;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iput-object p1, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->selectedLogsFilterItem:Landroid/view/MenuItem;
.line 2
invoke-direct {p0}, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->displayFilteredLogs()V
const/4 p1, 0x1
return p1
.end method
.method public onCreateContextMenu(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V
.locals 0
.param p1 # Landroid/view/ContextMenu;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroid/view/ContextMenu$ContextMenuInfo;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
invoke-super {p0, p1, p2, p3}, Landroidx/fragment/app/Fragment;->onCreateContextMenu(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V
.line 2
invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->requireActivity()Landroidx/fragment/app/FragmentActivity;
move-result-object p2
invoke-virtual {p2}, Landroid/app/Activity;->getMenuInflater()Landroid/view/MenuInflater;
move-result-object p2
sget p3, Lcom/amplifyframework/core/R$menu;->dev_menu_logs_menu:I
invoke-virtual {p2, p3, p1}, Landroid/view/MenuInflater;->inflate(ILandroid/view/Menu;)V
.line 3
iget-object p2, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->selectedLogsFilterItem:Landroid/view/MenuItem;
if-nez p2, :cond_0
.line 4
sget p2, Lcom/amplifyframework/core/R$id;->all_logs:I
invoke-interface {p1, p2}, Landroid/view/ContextMenu;->findItem(I)Landroid/view/MenuItem;
move-result-object p2
iput-object p2, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->selectedLogsFilterItem:Landroid/view/MenuItem;
.line 5
:cond_0
iget-object p2, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->selectedLogsFilterItem:Landroid/view/MenuItem;
invoke-interface {p2}, Landroid/view/MenuItem;->getItemId()I
move-result p2
invoke-interface {p1, p2}, Landroid/view/ContextMenu;->findItem(I)Landroid/view/MenuItem;
move-result-object p1
const/4 p2, 0x1
invoke-interface {p1, p2}, Landroid/view/MenuItem;->setChecked(Z)Landroid/view/MenuItem;
return-void
.end method
.method public onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
.locals 1
.line 1
sget p3, Lcom/amplifyframework/core/R$layout;->dev_menu_fragment_logs:I
const/4 v0, 0x0
invoke-virtual {p1, p3, p2, v0}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object p1
.line 2
invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object p2
invoke-static {p2}, Lcom/amplifyframework/devmenu/DeveloperMenu;->singletonInstance(Landroid/content/Context;)Lcom/amplifyframework/devmenu/DeveloperMenu;
move-result-object p2
iput-object p2, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->developerMenu:Lcom/amplifyframework/devmenu/DeveloperMenu;
.line 3
sget p2, Lcom/amplifyframework/core/R$id;->logs_text:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/TextView;
iput-object p2, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->logsText:Landroid/widget/TextView;
.line 4
iget-object p3, p0, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->developerMenu:Lcom/amplifyframework/devmenu/DeveloperMenu;
invoke-virtual {p3}, Lcom/amplifyframework/devmenu/DeveloperMenu;->getLogs()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 5
sget p2, Lcom/amplifyframework/core/R$id;->search_logs_field:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/SearchView;
.line 6
new-instance p3, Lcom/amplifyframework/devmenu/DevMenuLogsFragment$1;
invoke-direct {p3, p0}, Lcom/amplifyframework/devmenu/DevMenuLogsFragment$1;-><init>(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;)V
invoke-virtual {p2, p3}, Landroid/widget/SearchView;->setOnQueryTextListener(Landroid/widget/SearchView$OnQueryTextListener;)V
.line 7
sget p2, Lcom/amplifyframework/core/R$id;->filter_logs:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/Button;
.line 8
invoke-virtual {p0, p2}, Landroidx/fragment/app/Fragment;->registerForContextMenu(Landroid/view/View;)V
.line 9
new-instance p3, Lcom/amplifyframework/devmenu/c;
invoke-direct {p3, p0}, Lcom/amplifyframework/devmenu/c;-><init>(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;)V
invoke-virtual {p2, p3}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V
return-object p1
.end method
@@ -0,0 +1,167 @@
.class public final Lcom/amplifyframework/devmenu/DevMenuMainFragment;
.super Landroidx/fragment/app/Fragment;
.source "DevMenuMainFragment.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Landroidx/fragment/app/Fragment;-><init>()V
return-void
.end method
.method public static synthetic h(Landroid/view/View;)V
.locals 0
invoke-static {p0}, Lcom/amplifyframework/devmenu/DevMenuMainFragment;->lambda$onCreateView$2(Landroid/view/View;)V
return-void
.end method
.method public static synthetic i(Landroid/view/View;)V
.locals 0
invoke-static {p0}, Lcom/amplifyframework/devmenu/DevMenuMainFragment;->lambda$onCreateView$0(Landroid/view/View;)V
return-void
.end method
.method public static synthetic j(Landroid/view/View;)V
.locals 0
invoke-static {p0}, Lcom/amplifyframework/devmenu/DevMenuMainFragment;->lambda$onCreateView$1(Landroid/view/View;)V
return-void
.end method
.method public static synthetic k(Landroid/view/View;)V
.locals 0
invoke-static {p0}, Lcom/amplifyframework/devmenu/DevMenuMainFragment;->lambda$onCreateView$3(Landroid/view/View;)V
return-void
.end method
.method private static synthetic lambda$onCreateView$0(Landroid/view/View;)V
.locals 1
.line 1
invoke-static {p0}, Landroidx/navigation/p0;->e(Landroid/view/View;)Landroidx/navigation/NavController;
move-result-object p0
sget v0, Lcom/amplifyframework/core/R$id;->show_env_info:I
invoke-virtual {p0, v0}, Landroidx/navigation/NavController;->s(I)V
return-void
.end method
.method private static synthetic lambda$onCreateView$1(Landroid/view/View;)V
.locals 1
.line 1
invoke-static {p0}, Landroidx/navigation/p0;->e(Landroid/view/View;)Landroidx/navigation/NavController;
move-result-object p0
sget v0, Lcom/amplifyframework/core/R$id;->show_device_info:I
invoke-virtual {p0, v0}, Landroidx/navigation/NavController;->s(I)V
return-void
.end method
.method private static synthetic lambda$onCreateView$2(Landroid/view/View;)V
.locals 1
.line 1
invoke-static {p0}, Landroidx/navigation/p0;->e(Landroid/view/View;)Landroidx/navigation/NavController;
move-result-object p0
sget v0, Lcom/amplifyframework/core/R$id;->show_logs:I
invoke-virtual {p0, v0}, Landroidx/navigation/NavController;->s(I)V
return-void
.end method
.method private static synthetic lambda$onCreateView$3(Landroid/view/View;)V
.locals 1
.line 1
invoke-static {p0}, Landroidx/navigation/p0;->e(Landroid/view/View;)Landroidx/navigation/NavController;
move-result-object p0
sget v0, Lcom/amplifyframework/core/R$id;->show_file_issue:I
invoke-virtual {p0, v0}, Landroidx/navigation/NavController;->s(I)V
return-void
.end method
# virtual methods
.method public onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
.locals 1
.line 1
sget p3, Lcom/amplifyframework/core/R$layout;->dev_menu_fragment_main:I
const/4 v0, 0x0
invoke-virtual {p1, p3, p2, v0}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object p1
.line 2
sget p2, Lcom/amplifyframework/core/R$id;->env_button:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
sget-object p3, Lcom/amplifyframework/devmenu/e;->a:Lcom/amplifyframework/devmenu/e;
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 3
sget p2, Lcom/amplifyframework/core/R$id;->device_button:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
sget-object p3, Lcom/amplifyframework/devmenu/f;->a:Lcom/amplifyframework/devmenu/f;
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 4
sget p2, Lcom/amplifyframework/core/R$id;->logs_button:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
sget-object p3, Lcom/amplifyframework/devmenu/d;->a:Lcom/amplifyframework/devmenu/d;
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 5
sget p2, Lcom/amplifyframework/core/R$id;->file_issue_button:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
sget-object p3, Lcom/amplifyframework/devmenu/g;->a:Lcom/amplifyframework/devmenu/g;
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
return-object p1
.end method
@@ -0,0 +1,19 @@
.class public interface abstract Lcom/amplifyframework/devmenu/DeveloperMenu$HideAction;
.super Ljava/lang/Object;
.source "DeveloperMenu.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/amplifyframework/devmenu/DeveloperMenu;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "HideAction"
.end annotation
# virtual methods
.method public abstract hideDeveloperMenu()V
.end method
@@ -0,0 +1,559 @@
.class public final Lcom/amplifyframework/devmenu/DeveloperMenu;
.super Ljava/lang/Object;
.source "DeveloperMenu.java"
# interfaces
.implements Lcom/amplifyframework/devmenu/ShakeDetector$Listener;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/amplifyframework/devmenu/DeveloperMenu$HideAction;
}
.end annotation
# static fields
.field private static final LOG:Lcom/amplifyframework/logging/Logger;
.field private static sInstance:Lcom/amplifyframework/devmenu/DeveloperMenu;
# instance fields
.field private context:Landroid/content/Context;
.field private hideAction:Lcom/amplifyframework/devmenu/DeveloperMenu$HideAction;
.field private loggingPlugin:Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;
.field private visible:Z
# direct methods
.method public static constructor <clinit>()V
.locals 2
.line 1
sget-object v0, Lcom/amplifyframework/core/Amplify;->Logging:Lcom/amplifyframework/logging/LoggingCategory;
const-string v1, "amplify:devmenu"
invoke-virtual {v0, v1}, Lcom/amplifyframework/logging/LoggingCategory;->forNamespace(Ljava/lang/String;)Lcom/amplifyframework/logging/Logger;
move-result-object v0
sput-object v0, Lcom/amplifyframework/devmenu/DeveloperMenu;->LOG:Lcom/amplifyframework/logging/Logger;
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->context:Landroid/content/Context;
return-void
.end method
.method public static singletonInstance(Landroid/content/Context;)Lcom/amplifyframework/devmenu/DeveloperMenu;
.locals 1
.line 1
sget-object v0, Lcom/amplifyframework/devmenu/DeveloperMenu;->sInstance:Lcom/amplifyframework/devmenu/DeveloperMenu;
if-nez v0, :cond_0
.line 2
new-instance v0, Lcom/amplifyframework/devmenu/DeveloperMenu;
invoke-direct {v0, p0}, Lcom/amplifyframework/devmenu/DeveloperMenu;-><init>(Landroid/content/Context;)V
sput-object v0, Lcom/amplifyframework/devmenu/DeveloperMenu;->sInstance:Lcom/amplifyframework/devmenu/DeveloperMenu;
.line 3
:cond_0
sget-object p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->sInstance:Lcom/amplifyframework/devmenu/DeveloperMenu;
return-object p0
.end method
# virtual methods
.method public copyToClipboard(Ljava/lang/String;)V
.locals 2
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->context:Landroid/content/Context;
const-string v1, "clipboard"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/ClipboardManager;
const-string v1, "Copied Text"
.line 2
invoke-static {v1, p1}, Landroid/content/ClipData;->newPlainText(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/ClipData;
move-result-object p1
.line 3
invoke-virtual {v0, p1}, Landroid/content/ClipboardManager;->setPrimaryClip(Landroid/content/ClipData;)V
return-void
.end method
.method public createIssueBody(Ljava/lang/String;Z)Ljava/lang/String;
.locals 5
const-string v0, ""
.line 1
new-instance v1, Lcom/amplifyframework/devmenu/EnvironmentInfo;
invoke-direct {v1}, Lcom/amplifyframework/devmenu/EnvironmentInfo;-><init>()V
const-string v2, "*Amplify Plugins Information:*\n"
.line 2
invoke-static {v2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v1}, Lcom/amplifyframework/devmenu/EnvironmentInfo;->getPluginVersions()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 3
:try_start_0
iget-object v3, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->context:Landroid/content/Context;
invoke-virtual {v1, v3}, Lcom/amplifyframework/devmenu/EnvironmentInfo;->getDeveloperEnvironmentInfo(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
:try_end_0
.catch Lcom/amplifyframework/AmplifyException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 4
:catch_0
sget-object v1, Lcom/amplifyframework/devmenu/DeveloperMenu;->LOG:Lcom/amplifyframework/logging/Logger;
const-string v3, "Error reading developer environment information."
invoke-interface {v1, v3}, Lcom/amplifyframework/logging/Logger;->warn(Ljava/lang/String;)V
move-object v1, v0
.line 5
:goto_0
invoke-virtual {v1}, Ljava/lang/String;->isEmpty()Z
move-result v3
if-nez v3, :cond_0
const-string v3, "\n\n*Developer Environment Information:*\n"
.line 6
invoke-static {v2, v3, v1}, Landroid/support/v4/media/f;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 7
:cond_0
new-instance v1, Lcom/amplifyframework/devmenu/DeviceInfo;
invoke-direct {v1}, Lcom/amplifyframework/devmenu/DeviceInfo;-><init>()V
invoke-virtual {v1}, Lcom/amplifyframework/devmenu/DeviceInfo;->toString()Ljava/lang/String;
move-result-object v1
if-eqz p2, :cond_1
.line 8
iget-object p2, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->loggingPlugin:Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;
invoke-virtual {p2}, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;->getLogs()Ljava/util/List;
move-result-object p2
invoke-interface {p2}, Ljava/util/List;->isEmpty()Z
move-result p2
if-nez p2, :cond_1
const-string p2, "**Logs**\n```\n"
.line 9
invoke-static {p2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/DeveloperMenu;->getLogs()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "```"
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 10
:cond_1
sget-object p2, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v3, 0x4
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
const/4 p1, 0x1
aput-object v2, v3, p1
const/4 p1, 0x2
aput-object v1, v3, p1
const/4 p1, 0x3
aput-object v0, v3, p1
const-string p1, "**Issue Description**\n%s\n\n**Environment Information**\n%s\n\n**Device Information**\n%s\n\n%s"
invoke-static {p2, p1, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public enableDeveloperMenu()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/amplifyframework/AmplifyException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->context:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v0
iget v0, v0, Landroid/content/pm/ApplicationInfo;->flags:I
and-int/lit8 v0, v0, 0x2
if-eqz v0, :cond_0
.line 2
new-instance v0, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;
invoke-direct {v0}, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;-><init>()V
iput-object v0, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->loggingPlugin:Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;
.line 3
invoke-static {v0}, Lcom/amplifyframework/core/Amplify;->addPlugin(Lcom/amplifyframework/core/plugin/Plugin;)V
.line 4
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/DeveloperMenu;->startListening()V
:cond_0
return-void
.end method
.method public getFilteredLogs(Ljava/lang/String;Lcom/amplifyframework/logging/LogLevel;)Ljava/lang/String;
.locals 5
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Lcom/amplifyframework/logging/LogLevel;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
invoke-static {p1}, Lcom/amplifyframework/util/Empty;->check(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_0
if-nez p2, :cond_0
.line 2
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/DeveloperMenu;->getLogs()Ljava/lang/String;
move-result-object p1
return-object p1
.line 3
:cond_0
iget-object v0, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->loggingPlugin:Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;
invoke-virtual {v0}, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;->getLogs()Ljava/util/List;
move-result-object v0
.line 4
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v1
if-eqz v1, :cond_1
const-string p1, "No logs to display."
return-object p1
.line 5
:cond_1
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
if-nez p1, :cond_2
const-string p1, ""
goto :goto_0
.line 6
:cond_2
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-virtual {p1, v2}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p1
.line 7
:goto_0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_3
:goto_1
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_5
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/amplifyframework/devmenu/LogEntry;
.line 8
invoke-virtual {v2}, Lcom/amplifyframework/devmenu/LogEntry;->toString()Ljava/lang/String;
move-result-object v3
.line 9
sget-object v4, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-virtual {v3, v4}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v4, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_3
if-eqz p2, :cond_4
.line 10
invoke-virtual {v2}, Lcom/amplifyframework/devmenu/LogEntry;->getLogLevel()Lcom/amplifyframework/logging/LogLevel;
move-result-object v2
if-ne v2, p2, :cond_3
.line 11
:cond_4
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_1
.line 12
:cond_5
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 13
invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z
move-result p2
if-eqz p2, :cond_6
const-string p1, "No logs match the search criteria."
:cond_6
return-object p1
.end method
.method public getLogs()Ljava/lang/String;
.locals 2
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->loggingPlugin:Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;
invoke-virtual {v0}, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;->getLogs()Ljava/util/List;
move-result-object v0
.line 2
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v1
if-eqz v1, :cond_0
const-string v0, "No logs to display."
return-object v0
:cond_0
const-string v1, ""
.line 3
invoke-static {v1, v0}, Landroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public onShakeDetected()V
.locals 3
.line 1
iget-boolean v0, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->visible:Z
if-eqz v0, :cond_1
.line 2
iget-object v0, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->hideAction:Lcom/amplifyframework/devmenu/DeveloperMenu$HideAction;
if-eqz v0, :cond_0
.line 3
invoke-interface {v0}, Lcom/amplifyframework/devmenu/DeveloperMenu$HideAction;->hideDeveloperMenu()V
:cond_0
const/4 v0, 0x0
.line 4
iput-boolean v0, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->visible:Z
goto :goto_0
.line 5
:cond_1
new-instance v0, Landroid/content/Intent;
iget-object v1, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->context:Landroid/content/Context;
const-class v2, Lcom/amplifyframework/devmenu/DeveloperMenuActivity;
invoke-direct {v0, v1, v2}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
const-string v1, "android.intent.action.MAIN"
.line 6
invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
const/high16 v1, 0x10000000
.line 7
invoke-virtual {v0, v1}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
.line 8
iget-object v1, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->context:Landroid/content/Context;
invoke-virtual {v1, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
const/4 v0, 0x1
.line 9
iput-boolean v0, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->visible:Z
:goto_0
return-void
.end method
.method public setOnHideAction(Lcom/amplifyframework/devmenu/DeveloperMenu$HideAction;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->hideAction:Lcom/amplifyframework/devmenu/DeveloperMenu$HideAction;
return-void
.end method
.method public setVisible(Z)V
.locals 0
.line 1
iput-boolean p1, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->visible:Z
return-void
.end method
.method public startListening()V
.locals 2
.line 1
new-instance v0, Lcom/amplifyframework/devmenu/ShakeDetector;
iget-object v1, p0, Lcom/amplifyframework/devmenu/DeveloperMenu;->context:Landroid/content/Context;
invoke-direct {v0, v1, p0}, Lcom/amplifyframework/devmenu/ShakeDetector;-><init>(Landroid/content/Context;Lcom/amplifyframework/devmenu/ShakeDetector$Listener;)V
.line 2
invoke-virtual {v0}, Lcom/amplifyframework/devmenu/ShakeDetector;->startDetecting()V
return-void
.end method
@@ -0,0 +1,133 @@
.class public final Lcom/amplifyframework/devmenu/DeveloperMenuActivity;
.super Landroidx/fragment/app/FragmentActivity;
.source "DeveloperMenuActivity.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Landroidx/fragment/app/FragmentActivity;-><init>()V
return-void
.end method
# virtual methods
.method public onCreate(Landroid/os/Bundle;)V
.locals 3
.line 1
invoke-super {p0, p1}, Landroidx/fragment/app/FragmentActivity;->onCreate(Landroid/os/Bundle;)V
.line 2
sget p1, Lcom/amplifyframework/core/R$layout;->activity_dev_menu:I
invoke-virtual {p0, p1}, Landroidx/activity/ComponentActivity;->setContentView(I)V
.line 3
sget p1, Lcom/amplifyframework/core/R$id;->dev_layout:I
invoke-virtual {p0, p1}, Landroid/app/Activity;->findViewById(I)Landroid/view/View;
move-result-object p1
const/4 v0, 0x1
.line 4
invoke-virtual {p1, v0}, Landroid/view/View;->setFocusable(Z)V
.line 5
sget p1, Lcom/amplifyframework/core/R$id;->nav_host_fragment:I
invoke-static {p0, p1}, Landroidx/navigation/p0;->d(Landroid/app/Activity;I)Landroidx/navigation/NavController;
move-result-object p1
.line 6
sget v0, Lcom/amplifyframework/core/R$id;->toolbar:I
invoke-virtual {p0, v0}, Landroid/app/Activity;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroidx/appcompat/widget/Toolbar;
new-instance v1, Landroidx/navigation/ui/b$b;
.line 7
invoke-virtual {p1}, Landroidx/navigation/NavController;->m()Landroidx/navigation/a0;
move-result-object v2
invoke-direct {v1, v2}, Landroidx/navigation/ui/b$b;-><init>(Landroidx/navigation/a0;)V
invoke-virtual {v1}, Landroidx/navigation/ui/b$b;->a()Landroidx/navigation/ui/b;
move-result-object v1
.line 8
invoke-static {v0, p1, v1}, Landroidx/navigation/ui/c;->l(Landroidx/appcompat/widget/Toolbar;Landroidx/navigation/NavController;Landroidx/navigation/ui/b;)V
.line 9
invoke-virtual {p0}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
move-result-object p1
invoke-static {p1}, Lcom/amplifyframework/devmenu/DeveloperMenu;->singletonInstance(Landroid/content/Context;)Lcom/amplifyframework/devmenu/DeveloperMenu;
move-result-object p1
new-instance v0, Lcom/amplifyframework/devmenu/h;
invoke-direct {v0, p0}, Lcom/amplifyframework/devmenu/h;-><init>(Lcom/amplifyframework/devmenu/DeveloperMenuActivity;)V
invoke-virtual {p1, v0}, Lcom/amplifyframework/devmenu/DeveloperMenu;->setOnHideAction(Lcom/amplifyframework/devmenu/DeveloperMenu$HideAction;)V
return-void
.end method
.method public onStart()V
.locals 2
.line 1
invoke-virtual {p0}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/amplifyframework/devmenu/DeveloperMenu;->singletonInstance(Landroid/content/Context;)Lcom/amplifyframework/devmenu/DeveloperMenu;
move-result-object v0
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lcom/amplifyframework/devmenu/DeveloperMenu;->setVisible(Z)V
.line 2
invoke-super {p0}, Landroidx/fragment/app/FragmentActivity;->onStart()V
return-void
.end method
.method public onStop()V
.locals 2
.line 1
invoke-virtual {p0}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/amplifyframework/devmenu/DeveloperMenu;->singletonInstance(Landroid/content/Context;)Lcom/amplifyframework/devmenu/DeveloperMenu;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, v1}, Lcom/amplifyframework/devmenu/DeveloperMenu;->setVisible(Z)V
.line 2
invoke-super {p0}, Landroidx/fragment/app/FragmentActivity;->onStop()V
return-void
.end method
@@ -0,0 +1,135 @@
.class public final Lcom/amplifyframework/devmenu/DeviceInfo;
.super Ljava/lang/Object;
.source "DeviceInfo.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public isEmulator()Z
.locals 2
.line 1
sget-object v0, Landroid/os/Build;->DEVICE:Ljava/lang/String;
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v1, "generic"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;
.line 2
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v1, "sdk"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 4
.line 1
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v1, 0x5
new-array v1, v1, [Ljava/lang/Object;
sget-object v2, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;
const/4 v3, 0x0
aput-object v2, v1, v3
sget-object v2, Landroid/os/Build;->MODEL:Ljava/lang/String;
const/4 v3, 0x1
aput-object v2, v1, v3
sget-object v2, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
const/4 v3, 0x2
aput-object v2, v1, v3
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
.line 2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v3, 0x3
aput-object v2, v1, v3
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/DeviceInfo;->isEmulator()Z
move-result v2
if-eqz v2, :cond_0
const-string v2, "Yes"
goto :goto_0
:cond_0
const-string v2, "No"
:goto_0
const/4 v3, 0x4
aput-object v2, v1, v3
const-string v2, "Device Manufacturer: %s\nDevice Model: %s\nAndroid System Version: %s\nSDK Version: %d\nDevice is an Emulator: %s"
.line 3
invoke-static {v0, v2, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,366 @@
.class public final Lcom/amplifyframework/devmenu/EnvironmentInfo;
.super Ljava/lang/Object;
.source "EnvironmentInfo.java"
# static fields
.field private static final DEV_ENV_INFO_FILE_NAME:Ljava/lang/String; = "localenvinfo"
# instance fields
.field private final devEnvironmentItems:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 3
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/amplifyframework/devmenu/EnvironmentInfo;->devEnvironmentItems:Ljava/util/Map;
const-string v1, "nodejsVersion"
const-string v2, "Node.js Version"
.line 3
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "npmVersion"
const-string v2, "NPM Version"
.line 4
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "amplifyCliVersion"
const-string v2, "Amplify CLI Version"
.line 5
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "androidStudioVersion"
const-string v2, "Android Studio Version"
.line 6
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "osName"
const-string v2, "OS"
.line 7
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "osVersion"
const-string v2, "OS Version"
.line 8
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method private getCategoryPluginVersions(Lcom/amplifyframework/core/category/Category;)Ljava/lang/String;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/amplifyframework/core/category/Category<",
"*>;)",
"Ljava/lang/String;"
}
.end annotation
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 2
invoke-virtual {p1}, Lcom/amplifyframework/core/category/Category;->getPlugins()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/amplifyframework/core/plugin/Plugin;
.line 3
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {v1}, Lcom/amplifyframework/core/plugin/Plugin;->getPluginKey()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ": "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v1}, Lcom/amplifyframework/core/plugin/Plugin;->getVersion()Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "\n"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 4
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
.line 5
:cond_0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
# virtual methods
.method public getDeveloperEnvironmentInfo(Landroid/content/Context;)Ljava/lang/String;
.locals 7
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/amplifyframework/AmplifyException;
}
.end annotation
.line 1
invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
move-object v0, p1
check-cast v0, Landroid/content/Context;
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
:try_start_0
const-string v0, "localenvinfo"
.line 2
invoke-static {p1, v0}, Lcom/amplifyframework/core/Resources;->readJsonResource(Landroid/content/Context;Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p1
:try_end_0
.catch Lcom/amplifyframework/core/Resources$ResourceLoadingException; {:try_start_0 .. :try_end_0} :catch_1
.line 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 4
iget-object v1, p0, Lcom/amplifyframework/devmenu/EnvironmentInfo;->devEnvironmentItems:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_0
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 5
invoke-virtual {p1, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_0
.line 6
:try_start_1
invoke-virtual {p1, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
:try_end_1
.catch Lorg/json/JSONException; {:try_start_1 .. :try_end_1} :catch_0
.line 7
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
iget-object v5, p0, Lcom/amplifyframework/devmenu/EnvironmentInfo;->devEnvironmentItems:Ljava/util/Map;
invoke-interface {v5, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
const-string v5, ": "
const-string v6, "\n"
invoke-static {v4, v2, v5, v3, v6}, Lr1/k;->a(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 8
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
:catch_0
move-exception p1
.line 9
new-instance v0, Lcom/amplifyframework/AmplifyException;
const-string v1, "Error reading the developer environment information."
const-string v2, "Check that localenvinfo.json is properly formatted"
invoke-direct {v0, v1, p1, v2}, Lcom/amplifyframework/AmplifyException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V
throw v0
.line 10
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
:catch_1
move-exception p1
.line 11
new-instance v0, Lcom/amplifyframework/AmplifyException;
const-string v1, "Failed to find localenvinfo."
const-string v2, "Please ensure it is present in your project."
invoke-direct {v0, v1, p1, v2}, Lcom/amplifyframework/AmplifyException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;)V
throw v0
.end method
.method public getPluginVersions()Ljava/lang/String;
.locals 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 2
invoke-static {}, Lcom/amplifyframework/core/Amplify;->getCategoriesMap()Ljava/util/Map;
move-result-object v1
invoke-interface {v1}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v1
invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/amplifyframework/core/category/Category;
.line 3
invoke-direct {p0, v2}, Lcom/amplifyframework/devmenu/EnvironmentInfo;->getCategoryPluginVersions(Lcom/amplifyframework/core/category/Category;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
.line 4
:cond_0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 5
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-eqz v1, :cond_1
const-string v0, "No plugins added."
:cond_1
return-object v0
.end method
@@ -0,0 +1,468 @@
.class public final Lcom/amplifyframework/devmenu/LogEntry;
.super Ljava/lang/Object;
.source "LogEntry.java"
# interfaces
.implements Ljava/lang/Comparable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/lang/Comparable<",
"Lcom/amplifyframework/devmenu/LogEntry;",
">;"
}
.end annotation
# static fields
.field private static final DATE_TIME_FORMAT:Ljava/lang/String; = "yyyy-MM-dd HH:mm:ss.SSS"
# instance fields
.field private final date:Ljava/util/Date;
.field private final logLevel:Lcom/amplifyframework/logging/LogLevel;
.field private final message:Ljava/lang/String;
.field private final namespace:Ljava/lang/String;
.field private final throwable:Ljava/lang/Throwable;
# direct methods
.method public constructor <init>(Ljava/util/Date;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
.locals 1
.param p1 # Ljava/util/Date;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p4 # Ljava/lang/Throwable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p5 # Lcom/amplifyframework/logging/LogLevel;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
move-object v0, p1
check-cast v0, Ljava/util/Date;
iput-object p1, p0, Lcom/amplifyframework/devmenu/LogEntry;->date:Ljava/util/Date;
.line 3
invoke-static {p5}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
iput-object p5, p0, Lcom/amplifyframework/devmenu/LogEntry;->logLevel:Lcom/amplifyframework/logging/LogLevel;
.line 4
iput-object p2, p0, Lcom/amplifyframework/devmenu/LogEntry;->namespace:Ljava/lang/String;
.line 5
iput-object p3, p0, Lcom/amplifyframework/devmenu/LogEntry;->message:Ljava/lang/String;
.line 6
iput-object p4, p0, Lcom/amplifyframework/devmenu/LogEntry;->throwable:Ljava/lang/Throwable;
return-void
.end method
# virtual methods
.method public compareTo(Lcom/amplifyframework/devmenu/LogEntry;)I
.locals 1
.line 2
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/LogEntry;->getDate()Ljava/util/Date;
move-result-object v0
invoke-virtual {p1}, Lcom/amplifyframework/devmenu/LogEntry;->getDate()Ljava/util/Date;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/util/Date;->compareTo(Ljava/util/Date;)I
move-result p1
return p1
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/amplifyframework/devmenu/LogEntry;
invoke-virtual {p0, p1}, Lcom/amplifyframework/devmenu/LogEntry;->compareTo(Lcom/amplifyframework/devmenu/LogEntry;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
:cond_0
const/4 v1, 0x0
if-eqz p1, :cond_3
.line 1
const-class v2, Lcom/amplifyframework/devmenu/LogEntry;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
if-eq v2, v3, :cond_1
goto :goto_1
.line 2
:cond_1
check-cast p1, Lcom/amplifyframework/devmenu/LogEntry;
.line 3
iget-object v2, p0, Lcom/amplifyframework/devmenu/LogEntry;->date:Ljava/util/Date;
invoke-virtual {p1}, Lcom/amplifyframework/devmenu/LogEntry;->getDate()Ljava/util/Date;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/util/Date;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
iget-object v2, p0, Lcom/amplifyframework/devmenu/LogEntry;->namespace:Ljava/lang/String;
invoke-virtual {p1}, Lcom/amplifyframework/devmenu/LogEntry;->getNamespace()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lr1/h;->a(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
iget-object v2, p0, Lcom/amplifyframework/devmenu/LogEntry;->message:Ljava/lang/String;
.line 4
invoke-virtual {p1}, Lcom/amplifyframework/devmenu/LogEntry;->getMessage()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lr1/h;->a(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
iget-object v2, p0, Lcom/amplifyframework/devmenu/LogEntry;->logLevel:Lcom/amplifyframework/logging/LogLevel;
invoke-virtual {p1}, Lcom/amplifyframework/devmenu/LogEntry;->getLogLevel()Lcom/amplifyframework/logging/LogLevel;
move-result-object v3
if-ne v2, v3, :cond_2
iget-object v2, p0, Lcom/amplifyframework/devmenu/LogEntry;->throwable:Ljava/lang/Throwable;
.line 5
invoke-virtual {p1}, Lcom/amplifyframework/devmenu/LogEntry;->getThrowable()Ljava/lang/Throwable;
move-result-object p1
invoke-static {v2, p1}, Lr1/h;->a(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2
goto :goto_0
:cond_2
move v0, v1
:goto_0
return v0
:cond_3
:goto_1
return v1
.end method
.method public getDate()Ljava/util/Date;
.locals 1
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/LogEntry;->date:Ljava/util/Date;
return-object v0
.end method
.method public getLogLevel()Lcom/amplifyframework/logging/LogLevel;
.locals 1
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/LogEntry;->logLevel:Lcom/amplifyframework/logging/LogLevel;
return-object v0
.end method
.method public getMessage()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/LogEntry;->message:Ljava/lang/String;
return-object v0
.end method
.method public getNamespace()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/LogEntry;->namespace:Ljava/lang/String;
return-object v0
.end method
.method public getThrowable()Ljava/lang/Throwable;
.locals 1
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/LogEntry;->throwable:Ljava/lang/Throwable;
return-object v0
.end method
.method public hashCode()I
.locals 3
.line 1
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/LogEntry;->getDate()Ljava/util/Date;
move-result-object v0
invoke-virtual {v0}, Ljava/util/Date;->hashCode()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
.line 2
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/LogEntry;->getNamespace()Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
if-eqz v1, :cond_0
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/LogEntry;->getNamespace()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v1
goto :goto_0
:cond_0
move v1, v2
:goto_0
add-int/2addr v0, v1
mul-int/lit8 v0, v0, 0x1f
.line 3
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/LogEntry;->getMessage()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_1
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/LogEntry;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v1
goto :goto_1
:cond_1
move v1, v2
:goto_1
add-int/2addr v0, v1
mul-int/lit8 v0, v0, 0x1f
.line 4
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/LogEntry;->getThrowable()Ljava/lang/Throwable;
move-result-object v1
if-eqz v1, :cond_2
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/LogEntry;->getThrowable()Ljava/lang/Throwable;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v2
:cond_2
add-int/2addr v0, v2
mul-int/lit8 v0, v0, 0x1f
.line 5
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/LogEntry;->getLogLevel()Lcom/amplifyframework/logging/LogLevel;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Enum;->hashCode()I
move-result v1
add-int/2addr v1, v0
return v1
.end method
.method public toString()Ljava/lang/String;
.locals 6
.line 1
new-instance v0, Ljava/text/SimpleDateFormat;
sget-object v1, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v2, "yyyy-MM-dd HH:mm:ss.SSS"
invoke-direct {v0, v2, v1}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
.line 2
iget-object v2, p0, Lcom/amplifyframework/devmenu/LogEntry;->date:Ljava/util/Date;
invoke-virtual {v0, v2}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v0
.line 3
iget-object v2, p0, Lcom/amplifyframework/devmenu/LogEntry;->throwable:Ljava/lang/Throwable;
if-nez v2, :cond_0
const-string v2, ""
goto :goto_0
:cond_0
invoke-static {v2}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v2
.line 4
:goto_0
invoke-virtual {v2}, Ljava/lang/String;->isEmpty()Z
move-result v3
if-nez v3, :cond_1
const-string v3, "\n"
invoke-virtual {v2, v3}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v4
if-nez v4, :cond_1
.line 5
invoke-static {v2, v3}, Lc/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
:cond_1
const/4 v3, 0x5
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
.line 6
iget-object v5, p0, Lcom/amplifyframework/devmenu/LogEntry;->logLevel:Lcom/amplifyframework/logging/LogLevel;
.line 7
invoke-virtual {v5}, Ljava/lang/Enum;->name()Ljava/lang/String;
move-result-object v5
aput-object v5, v3, v4
const/4 v4, 0x1
aput-object v0, v3, v4
const/4 v0, 0x2
iget-object v4, p0, Lcom/amplifyframework/devmenu/LogEntry;->namespace:Ljava/lang/String;
aput-object v4, v3, v0
const/4 v0, 0x3
iget-object v4, p0, Lcom/amplifyframework/devmenu/LogEntry;->message:Ljava/lang/String;
aput-object v4, v3, v0
const/4 v0, 0x4
aput-object v2, v3, v0
const-string v0, "[%s] %s %s: %s\n%s"
.line 8
invoke-static {v1, v0, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,205 @@
.class public final Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;
.super Lcom/amplifyframework/logging/LoggingPlugin;
.source "PersistentLogStoragePlugin.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/amplifyframework/logging/LoggingPlugin<",
"Ljava/lang/Void;",
">;"
}
.end annotation
# static fields
.field private static final AMPLIFY_NAMESPACE:Ljava/lang/String; = "amplify"
# instance fields
.field private final loggers:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/amplifyframework/devmenu/PersistentLogger;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Lcom/amplifyframework/logging/LoggingPlugin;-><init>()V
.line 2
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;->loggers:Ljava/util/Map;
return-void
.end method
# virtual methods
.method public configure(Lorg/json/JSONObject;Landroid/content/Context;)V
.locals 0
.param p2 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method
.method public forNamespace(Ljava/lang/String;)Lcom/amplifyframework/logging/Logger;
.locals 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
if-nez p1, :cond_0
const-string p1, "amplify"
.line 1
:cond_0
iget-object v0, p0, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;->loggers:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/amplifyframework/devmenu/PersistentLogger;
if-eqz v0, :cond_1
return-object v0
.line 2
:cond_1
new-instance v0, Lcom/amplifyframework/devmenu/PersistentLogger;
invoke-direct {v0, p1}, Lcom/amplifyframework/devmenu/PersistentLogger;-><init>(Ljava/lang/String;)V
.line 3
iget-object v1, p0, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;->loggers:Ljava/util/Map;
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-object v0
.end method
.method public bridge synthetic getEscapeHatch()Ljava/lang/Object;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
invoke-virtual {p0}, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;->getEscapeHatch()Ljava/lang/Void;
move-result-object v0
return-object v0
.end method
.method public getEscapeHatch()Ljava/lang/Void;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 v0, 0x0
return-object v0
.end method
.method public getLogs()Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/amplifyframework/devmenu/LogEntry;",
">;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 2
iget-object v1, p0, Lcom/amplifyframework/devmenu/PersistentLogStoragePlugin;->loggers:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v1
invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/amplifyframework/devmenu/PersistentLogger;
.line 3
invoke-virtual {v2}, Lcom/amplifyframework/devmenu/PersistentLogger;->getLogs()Ljava/util/List;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
goto :goto_0
.line 4
:cond_0
invoke-static {v0}, Ljava/util/Collections;->sort(Ljava/util/List;)V
.line 5
invoke-static {v0}, Lcom/amplifyframework/util/Immutable;->of(Ljava/util/List;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public getPluginKey()Ljava/lang/String;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
const-string v0, "PersistentLogStoragePlugin"
return-object v0
.end method
.method public getVersion()Ljava/lang/String;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
const-string v0, "1.17.1"
return-object v0
.end method
@@ -0,0 +1,282 @@
.class final Lcom/amplifyframework/devmenu/PersistentLogger;
.super Ljava/lang/Object;
.source "PersistentLogger.java"
# interfaces
.implements Lcom/amplifyframework/logging/Logger;
# static fields
.field private static final MAX_NUM_LOGS:I = 0x1f4
# instance fields
.field private final logs:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/amplifyframework/devmenu/LogEntry;",
">;"
}
.end annotation
.end field
.field private final namespace:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
iput-object p1, p0, Lcom/amplifyframework/devmenu/PersistentLogger;->namespace:Ljava/lang/String;
.line 3
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lcom/amplifyframework/devmenu/PersistentLogger;->logs:Ljava/util/List;
return-void
.end method
.method private addToLogs(Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
.locals 8
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/PersistentLogger;->logs:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
const/16 v1, 0x1f4
if-ne v0, v1, :cond_0
.line 2
iget-object v0, p0, Lcom/amplifyframework/devmenu/PersistentLogger;->logs:Ljava/util/List;
const/4 v1, 0x0
invoke-interface {v0, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
.line 3
:cond_0
iget-object v0, p0, Lcom/amplifyframework/devmenu/PersistentLogger;->logs:Ljava/util/List;
new-instance v7, Lcom/amplifyframework/devmenu/LogEntry;
new-instance v2, Ljava/util/Date;
invoke-direct {v2}, Ljava/util/Date;-><init>()V
iget-object v3, p0, Lcom/amplifyframework/devmenu/PersistentLogger;->namespace:Ljava/lang/String;
move-object v1, v7
move-object v4, p1
move-object v5, p2
move-object v6, p3
invoke-direct/range {v1 .. v6}, Lcom/amplifyframework/devmenu/LogEntry;-><init>(Ljava/util/Date;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
invoke-interface {v0, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
# virtual methods
.method public debug(Ljava/lang/String;)V
.locals 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroid/annotation/SuppressLint;
value = {
"LogConditional"
}
.end annotation
.line 1
sget-object v0, Lcom/amplifyframework/logging/LogLevel;->DEBUG:Lcom/amplifyframework/logging/LogLevel;
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/amplifyframework/devmenu/PersistentLogger;->addToLogs(Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
return-void
.end method
.method public error(Ljava/lang/String;)V
.locals 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
sget-object v0, Lcom/amplifyframework/logging/LogLevel;->ERROR:Lcom/amplifyframework/logging/LogLevel;
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/amplifyframework/devmenu/PersistentLogger;->addToLogs(Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
return-void
.end method
.method public error(Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Ljava/lang/Throwable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 2
sget-object v0, Lcom/amplifyframework/logging/LogLevel;->ERROR:Lcom/amplifyframework/logging/LogLevel;
invoke-direct {p0, p1, p2, v0}, Lcom/amplifyframework/devmenu/PersistentLogger;->addToLogs(Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
return-void
.end method
.method public getLogs()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/amplifyframework/devmenu/LogEntry;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/PersistentLogger;->logs:Ljava/util/List;
invoke-static {v0}, Lcom/amplifyframework/util/Immutable;->of(Ljava/util/List;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public getNamespace()Ljava/lang/String;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/PersistentLogger;->namespace:Ljava/lang/String;
return-object v0
.end method
.method public getThresholdLevel()Lcom/amplifyframework/logging/LogLevel;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
sget-object v0, Lcom/amplifyframework/logging/LogLevel;->VERBOSE:Lcom/amplifyframework/logging/LogLevel;
return-object v0
.end method
.method public info(Ljava/lang/String;)V
.locals 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroid/annotation/SuppressLint;
value = {
"LogConditional"
}
.end annotation
.line 1
sget-object v0, Lcom/amplifyframework/logging/LogLevel;->INFO:Lcom/amplifyframework/logging/LogLevel;
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/amplifyframework/devmenu/PersistentLogger;->addToLogs(Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
return-void
.end method
.method public verbose(Ljava/lang/String;)V
.locals 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroid/annotation/SuppressLint;
value = {
"LogConditional"
}
.end annotation
.line 1
sget-object v0, Lcom/amplifyframework/logging/LogLevel;->VERBOSE:Lcom/amplifyframework/logging/LogLevel;
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/amplifyframework/devmenu/PersistentLogger;->addToLogs(Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
return-void
.end method
.method public warn(Ljava/lang/String;)V
.locals 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
sget-object v0, Lcom/amplifyframework/logging/LogLevel;->WARN:Lcom/amplifyframework/logging/LogLevel;
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/amplifyframework/devmenu/PersistentLogger;->addToLogs(Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
return-void
.end method
.method public warn(Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Ljava/lang/Throwable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 2
sget-object v0, Lcom/amplifyframework/logging/LogLevel;->WARN:Lcom/amplifyframework/logging/LogLevel;
invoke-direct {p0, p1, p2, v0}, Lcom/amplifyframework/devmenu/PersistentLogger;->addToLogs(Ljava/lang/String;Ljava/lang/Throwable;Lcom/amplifyframework/logging/LogLevel;)V
return-void
.end method
@@ -0,0 +1,145 @@
.class Lcom/amplifyframework/devmenu/ShakeDetector$1;
.super Ljava/lang/Object;
.source "ShakeDetector.java"
# interfaces
.implements Landroid/hardware/SensorEventListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/amplifyframework/devmenu/ShakeDetector;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/amplifyframework/devmenu/ShakeDetector;
# direct methods
.method public constructor <init>(Lcom/amplifyframework/devmenu/ShakeDetector;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector$1;->this$0:Lcom/amplifyframework/devmenu/ShakeDetector;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onAccuracyChanged(Landroid/hardware/Sensor;I)V
.locals 0
return-void
.end method
.method public onSensorChanged(Landroid/hardware/SensorEvent;)V
.locals 6
.line 1
iget-object p1, p1, Landroid/hardware/SensorEvent;->values:[F
const/4 v0, 0x0
aget v0, p1, v0
const/4 v1, 0x1
.line 2
aget v1, p1, v1
const/4 v2, 0x2
.line 3
aget p1, p1, v2
mul-float/2addr v0, v0
mul-float/2addr v1, v1
add-float/2addr v1, v0
mul-float/2addr p1, p1
add-float/2addr p1, v1
float-to-double v0, p1
.line 4
invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v0
const-wide v2, 0x402a15efc0000000L # 13.042844772338867
cmpl-double p1, v0, v2
if-lez p1, :cond_1
.line 5
invoke-static {}, Lcom/amplifyframework/util/Time;->now()J
move-result-wide v0
.line 6
iget-object p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector$1;->this$0:Lcom/amplifyframework/devmenu/ShakeDetector;
invoke-static {p1}, Lcom/amplifyframework/devmenu/ShakeDetector;->access$000(Lcom/amplifyframework/devmenu/ShakeDetector;)J
move-result-wide v2
const-wide/16 v4, 0x0
cmp-long p1, v2, v4
if-nez p1, :cond_0
.line 7
iget-object p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector$1;->this$0:Lcom/amplifyframework/devmenu/ShakeDetector;
invoke-static {p1, v0, v1}, Lcom/amplifyframework/devmenu/ShakeDetector;->access$002(Lcom/amplifyframework/devmenu/ShakeDetector;J)J
goto :goto_0
.line 8
:cond_0
iget-object p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector$1;->this$0:Lcom/amplifyframework/devmenu/ShakeDetector;
invoke-static {p1}, Lcom/amplifyframework/devmenu/ShakeDetector;->access$000(Lcom/amplifyframework/devmenu/ShakeDetector;)J
move-result-wide v2
sub-long/2addr v0, v2
const-wide/16 v2, 0x3e8
cmp-long p1, v0, v2
if-lez p1, :cond_1
.line 9
iget-object p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector$1;->this$0:Lcom/amplifyframework/devmenu/ShakeDetector;
invoke-static {p1}, Lcom/amplifyframework/devmenu/ShakeDetector;->access$100(Lcom/amplifyframework/devmenu/ShakeDetector;)Lcom/amplifyframework/devmenu/ShakeDetector$Listener;
move-result-object p1
invoke-interface {p1}, Lcom/amplifyframework/devmenu/ShakeDetector$Listener;->onShakeDetected()V
.line 10
iget-object p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector$1;->this$0:Lcom/amplifyframework/devmenu/ShakeDetector;
invoke-static {p1, v4, v5}, Lcom/amplifyframework/devmenu/ShakeDetector;->access$002(Lcom/amplifyframework/devmenu/ShakeDetector;J)J
:cond_1
:goto_0
return-void
.end method
@@ -0,0 +1,19 @@
.class public interface abstract Lcom/amplifyframework/devmenu/ShakeDetector$Listener;
.super Ljava/lang/Object;
.source "ShakeDetector.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/amplifyframework/devmenu/ShakeDetector;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "Listener"
.end annotation
# virtual methods
.method public abstract onShakeDetected()V
.end method
@@ -0,0 +1,147 @@
.class public final Lcom/amplifyframework/devmenu/ShakeDetector;
.super Ljava/lang/Object;
.source "ShakeDetector.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/amplifyframework/devmenu/ShakeDetector$Listener;
}
.end annotation
# static fields
.field private static final SHAKE_THRESHOLD:D = 13.042844772338867
.field private static final SHAKE_TIME:I = 0x3e8
# instance fields
.field private accelerometer:Landroid/hardware/Sensor;
.field private final listener:Lcom/amplifyframework/devmenu/ShakeDetector$Listener;
.field private final sensorEventListener:Landroid/hardware/SensorEventListener;
.field private sensorManager:Landroid/hardware/SensorManager;
.field private shakeStart:J
# direct methods
.method public constructor <init>(Landroid/content/Context;Lcom/amplifyframework/devmenu/ShakeDetector$Listener;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Lcom/amplifyframework/devmenu/ShakeDetector$1;
invoke-direct {v0, p0}, Lcom/amplifyframework/devmenu/ShakeDetector$1;-><init>(Lcom/amplifyframework/devmenu/ShakeDetector;)V
iput-object v0, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->sensorEventListener:Landroid/hardware/SensorEventListener;
const-string v0, "sensor"
.line 3
invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/hardware/SensorManager;
iput-object p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->sensorManager:Landroid/hardware/SensorManager;
if-eqz p1, :cond_0
const/4 v0, 0x1
.line 4
invoke-virtual {p1, v0}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
move-result-object p1
iput-object p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->accelerometer:Landroid/hardware/Sensor;
.line 5
:cond_0
iput-object p2, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->listener:Lcom/amplifyframework/devmenu/ShakeDetector$Listener;
const-wide/16 p1, 0x0
.line 6
iput-wide p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->shakeStart:J
return-void
.end method
.method public static synthetic access$000(Lcom/amplifyframework/devmenu/ShakeDetector;)J
.locals 2
.line 1
iget-wide v0, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->shakeStart:J
return-wide v0
.end method
.method public static synthetic access$002(Lcom/amplifyframework/devmenu/ShakeDetector;J)J
.locals 0
.line 1
iput-wide p1, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->shakeStart:J
return-wide p1
.end method
.method public static synthetic access$100(Lcom/amplifyframework/devmenu/ShakeDetector;)Lcom/amplifyframework/devmenu/ShakeDetector$Listener;
.locals 0
.line 1
iget-object p0, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->listener:Lcom/amplifyframework/devmenu/ShakeDetector$Listener;
return-object p0
.end method
# virtual methods
.method public startDetecting()V
.locals 4
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->accelerometer:Landroid/hardware/Sensor;
if-eqz v0, :cond_0
.line 2
iget-object v1, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->sensorManager:Landroid/hardware/SensorManager;
iget-object v2, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->sensorEventListener:Landroid/hardware/SensorEventListener;
const/4 v3, 0x3
invoke-virtual {v1, v2, v0, v3}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
:cond_0
return-void
.end method
.method public stopDetecting()V
.locals 2
.line 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->accelerometer:Landroid/hardware/Sensor;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->sensorManager:Landroid/hardware/SensorManager;
iget-object v1, p0, Lcom/amplifyframework/devmenu/ShakeDetector;->sensorEventListener:Landroid/hardware/SensorEventListener;
invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
:cond_0
return-void
.end method
@@ -0,0 +1,34 @@
.class public final synthetic Lcom/amplifyframework/devmenu/a;
.super Ljava/lang/Object;
.source "R8$$SyntheticClass"
# interfaces
.implements Landroid/view/View$OnClickListener;
# instance fields
.field public final synthetic a:Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;
# direct methods
.method public synthetic constructor <init>(Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/amplifyframework/devmenu/a;->a:Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;
return-void
.end method
# virtual methods
.method public final onClick(Landroid/view/View;)V
.locals 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/a;->a:Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;
invoke-static {v0, p1}, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->h(Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;Landroid/view/View;)V
return-void
.end method
@@ -0,0 +1,40 @@
.class public final synthetic Lcom/amplifyframework/devmenu/b;
.super Ljava/lang/Object;
.source "R8$$SyntheticClass"
# interfaces
.implements Landroid/view/View$OnClickListener;
# instance fields
.field public final synthetic a:Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;
.field public final synthetic b:Landroid/content/Context;
# direct methods
.method public synthetic constructor <init>(Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;Landroid/content/Context;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/amplifyframework/devmenu/b;->a:Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;
iput-object p2, p0, Lcom/amplifyframework/devmenu/b;->b:Landroid/content/Context;
return-void
.end method
# virtual methods
.method public final onClick(Landroid/view/View;)V
.locals 2
iget-object v0, p0, Lcom/amplifyframework/devmenu/b;->a:Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;
iget-object v1, p0, Lcom/amplifyframework/devmenu/b;->b:Landroid/content/Context;
invoke-static {v0, v1, p1}, Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;->i(Lcom/amplifyframework/devmenu/DevMenuFileIssueFragment;Landroid/content/Context;Landroid/view/View;)V
return-void
.end method
@@ -0,0 +1,34 @@
.class public final synthetic Lcom/amplifyframework/devmenu/c;
.super Ljava/lang/Object;
.source "R8$$SyntheticClass"
# interfaces
.implements Landroid/view/View$OnClickListener;
# instance fields
.field public final synthetic a:Lcom/amplifyframework/devmenu/DevMenuLogsFragment;
# direct methods
.method public synthetic constructor <init>(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/amplifyframework/devmenu/c;->a:Lcom/amplifyframework/devmenu/DevMenuLogsFragment;
return-void
.end method
# virtual methods
.method public final onClick(Landroid/view/View;)V
.locals 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/c;->a:Lcom/amplifyframework/devmenu/DevMenuLogsFragment;
invoke-static {v0, p1}, Lcom/amplifyframework/devmenu/DevMenuLogsFragment;->h(Lcom/amplifyframework/devmenu/DevMenuLogsFragment;Landroid/view/View;)V
return-void
.end method
@@ -0,0 +1,42 @@
.class public final synthetic Lcom/amplifyframework/devmenu/d;
.super Ljava/lang/Object;
.source "R8$$SyntheticClass"
# interfaces
.implements Landroid/view/View$OnClickListener;
# static fields
.field public static final synthetic a:Lcom/amplifyframework/devmenu/d;
# direct methods
.method public static synthetic constructor <clinit>()V
.locals 1
new-instance v0, Lcom/amplifyframework/devmenu/d;
invoke-direct {v0}, Lcom/amplifyframework/devmenu/d;-><init>()V
sput-object v0, Lcom/amplifyframework/devmenu/d;->a:Lcom/amplifyframework/devmenu/d;
return-void
.end method
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onClick(Landroid/view/View;)V
.locals 0
invoke-static {p1}, Lcom/amplifyframework/devmenu/DevMenuMainFragment;->h(Landroid/view/View;)V
return-void
.end method
@@ -0,0 +1,42 @@
.class public final synthetic Lcom/amplifyframework/devmenu/e;
.super Ljava/lang/Object;
.source "R8$$SyntheticClass"
# interfaces
.implements Landroid/view/View$OnClickListener;
# static fields
.field public static final synthetic a:Lcom/amplifyframework/devmenu/e;
# direct methods
.method public static synthetic constructor <clinit>()V
.locals 1
new-instance v0, Lcom/amplifyframework/devmenu/e;
invoke-direct {v0}, Lcom/amplifyframework/devmenu/e;-><init>()V
sput-object v0, Lcom/amplifyframework/devmenu/e;->a:Lcom/amplifyframework/devmenu/e;
return-void
.end method
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onClick(Landroid/view/View;)V
.locals 0
invoke-static {p1}, Lcom/amplifyframework/devmenu/DevMenuMainFragment;->i(Landroid/view/View;)V
return-void
.end method
@@ -0,0 +1,42 @@
.class public final synthetic Lcom/amplifyframework/devmenu/f;
.super Ljava/lang/Object;
.source "R8$$SyntheticClass"
# interfaces
.implements Landroid/view/View$OnClickListener;
# static fields
.field public static final synthetic a:Lcom/amplifyframework/devmenu/f;
# direct methods
.method public static synthetic constructor <clinit>()V
.locals 1
new-instance v0, Lcom/amplifyframework/devmenu/f;
invoke-direct {v0}, Lcom/amplifyframework/devmenu/f;-><init>()V
sput-object v0, Lcom/amplifyframework/devmenu/f;->a:Lcom/amplifyframework/devmenu/f;
return-void
.end method
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onClick(Landroid/view/View;)V
.locals 0
invoke-static {p1}, Lcom/amplifyframework/devmenu/DevMenuMainFragment;->j(Landroid/view/View;)V
return-void
.end method
@@ -0,0 +1,42 @@
.class public final synthetic Lcom/amplifyframework/devmenu/g;
.super Ljava/lang/Object;
.source "R8$$SyntheticClass"
# interfaces
.implements Landroid/view/View$OnClickListener;
# static fields
.field public static final synthetic a:Lcom/amplifyframework/devmenu/g;
# direct methods
.method public static synthetic constructor <clinit>()V
.locals 1
new-instance v0, Lcom/amplifyframework/devmenu/g;
invoke-direct {v0}, Lcom/amplifyframework/devmenu/g;-><init>()V
sput-object v0, Lcom/amplifyframework/devmenu/g;->a:Lcom/amplifyframework/devmenu/g;
return-void
.end method
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onClick(Landroid/view/View;)V
.locals 0
invoke-static {p1}, Lcom/amplifyframework/devmenu/DevMenuMainFragment;->k(Landroid/view/View;)V
return-void
.end method
@@ -0,0 +1,34 @@
.class public final synthetic Lcom/amplifyframework/devmenu/h;
.super Ljava/lang/Object;
.source "R8$$SyntheticClass"
# interfaces
.implements Lcom/amplifyframework/devmenu/DeveloperMenu$HideAction;
# instance fields
.field public final synthetic a:Lcom/amplifyframework/devmenu/DeveloperMenuActivity;
# direct methods
.method public synthetic constructor <init>(Lcom/amplifyframework/devmenu/DeveloperMenuActivity;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/amplifyframework/devmenu/h;->a:Lcom/amplifyframework/devmenu/DeveloperMenuActivity;
return-void
.end method
# virtual methods
.method public final hideDeveloperMenu()V
.locals 1
iget-object v0, p0, Lcom/amplifyframework/devmenu/h;->a:Lcom/amplifyframework/devmenu/DeveloperMenuActivity;
invoke-virtual {v0}, Landroid/app/Activity;->finish()V
return-void
.end method