Add Discord APKTool decompilation (Smali source for modding)

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

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

Total: 44,417 files, 538.51 MB Smali source code
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
.class public final Landroidx/emoji2/R;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,38 @@
.class public final synthetic Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/concurrent/ThreadFactory;
# instance fields
.field public final synthetic f$0:Ljava/lang/String;
# direct methods
.method public synthetic constructor <init>(Ljava/lang/String;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda0;->f$0:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public final newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
.locals 1
.line 0
iget-object v0, p0, Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda0;->f$0:Ljava/lang/String;
invoke-static {v0, p1}, Landroidx/emoji2/text/ConcurrencyHelpers;->$r8$lambda$rm7NN8F9tEuy2Vr8i0fl8_hnx_A(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,36 @@
.class public final synthetic Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/concurrent/Executor;
# instance fields
.field public final synthetic f$0:Landroid/os/Handler;
# direct methods
.method public synthetic constructor <init>(Landroid/os/Handler;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda1;->f$0:Landroid/os/Handler;
return-void
.end method
# virtual methods
.method public final execute(Ljava/lang/Runnable;)V
.locals 1
.line 0
iget-object v0, p0, Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda1;->f$0:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method

View File

@@ -0,0 +1,16 @@
.class public abstract synthetic Landroidx/emoji2/text/ConcurrencyHelpers$Handler28Impl$$ExternalSyntheticApiModelOutline0;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static bridge synthetic m(Landroid/os/Looper;)Landroid/os/Handler;
.locals 0
.line 0
invoke-static {p0}, Landroid/os/Handler;->createAsync(Landroid/os/Looper;)Landroid/os/Handler;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,42 @@
.class Landroidx/emoji2/text/ConcurrencyHelpers$Handler28Impl;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x1c
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/ConcurrencyHelpers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Handler28Impl"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 99
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static createAsync(Landroid/os/Looper;)Landroid/os/Handler;
.locals 0
.annotation build Landroidx/annotation/DoNotInline;
.end annotation
.line 105
invoke-static {p0}, Landroidx/emoji2/text/ConcurrencyHelpers$Handler28Impl$$ExternalSyntheticApiModelOutline0;->m(Landroid/os/Looper;)Landroid/os/Handler;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,147 @@
.class Landroidx/emoji2/text/ConcurrencyHelpers;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/ConcurrencyHelpers$Handler28Impl;
}
.end annotation
# static fields
.field private static final FONT_LOAD_TIMEOUT_SECONDS:I = 0xf
# direct methods
.method public static synthetic $r8$lambda$rm7NN8F9tEuy2Vr8i0fl8_hnx_A(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
.locals 0
.line 0
invoke-static {p0, p1}, Landroidx/emoji2/text/ConcurrencyHelpers;->lambda$createBackgroundPriorityExecutor$0(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
move-result-object p0
return-object p0
.end method
.method private constructor <init>()V
.locals 0
.line 43
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static convertHandlerToExecutor(Landroid/os/Handler;)Ljava/util/concurrent/Executor;
.locals 1
.param p0 # Landroid/os/Handler;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 94
invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
new-instance v0, Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda1;
invoke-direct {v0, p0}, Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda1;-><init>(Landroid/os/Handler;)V
return-object v0
.end method
.method public static createBackgroundPriorityExecutor(Ljava/lang/String;)Ljava/util/concurrent/ThreadPoolExecutor;
.locals 8
.param p0 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 56
new-instance v7, Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda0;
invoke-direct {v7, p0}, Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda0;-><init>(Ljava/lang/String;)V
.line 61
new-instance p0, Ljava/util/concurrent/ThreadPoolExecutor;
const/4 v1, 0x0
const/4 v2, 0x1
const-wide/16 v3, 0xf
sget-object v5, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
new-instance v6, Ljava/util/concurrent/LinkedBlockingDeque;
invoke-direct {v6}, Ljava/util/concurrent/LinkedBlockingDeque;-><init>()V
move-object v0, p0
invoke-direct/range {v0 .. v7}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
const/4 v0, 0x1
.line 69
invoke-virtual {p0, v0}, Ljava/util/concurrent/ThreadPoolExecutor;->allowCoreThreadTimeOut(Z)V
return-object p0
.end method
.method private static synthetic lambda$createBackgroundPriorityExecutor$0(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
.locals 1
.line 57
new-instance v0, Ljava/lang/Thread;
invoke-direct {v0, p1, p0}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;Ljava/lang/String;)V
const/16 p0, 0xa
.line 58
invoke-virtual {v0, p0}, Ljava/lang/Thread;->setPriority(I)V
return-object v0
.end method
.method public static mainHandlerAsync()Landroid/os/Handler;
.locals 2
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-lt v0, v1, :cond_0
.line 78
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
invoke-static {v0}, Landroidx/emoji2/text/ConcurrencyHelpers$Handler28Impl;->createAsync(Landroid/os/Looper;)Landroid/os/Handler;
move-result-object v0
return-object v0
.line 80
:cond_0
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
return-object v0
.end method

View File

@@ -0,0 +1,416 @@
.class public Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/DefaultEmojiCompatConfig;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "DefaultEmojiCompatConfigFactory"
.end annotation
# static fields
.field private static final DEFAULT_EMOJI_QUERY:Ljava/lang/String; = "emojicompat-emoji-font"
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private static final INTENT_LOAD_EMOJI_FONT:Ljava/lang/String; = "androidx.content.action.LOAD_EMOJI_FONT"
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private static final TAG:Ljava/lang/String; = "emoji2.text.DefaultEmojiConfig"
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# instance fields
.field private final mHelper:Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;)V
.locals 0
.param p1 # Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 119
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p1, :cond_0
goto :goto_0
.line 120
:cond_0
invoke-static {}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->getHelperForApi()Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
move-result-object p1
:goto_0
iput-object p1, p0, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->mHelper:Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
return-void
.end method
.method private configOrNull(Landroid/content/Context;Landroidx/core/provider/FontRequest;)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/core/provider/FontRequest;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
if-nez p2, :cond_0
const/4 p1, 0x0
return-object p1
.line 145
:cond_0
new-instance v0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
invoke-direct {v0, p1, p2}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig;-><init>(Landroid/content/Context;Landroidx/core/provider/FontRequest;)V
return-object v0
.end method
.method private convertToByteArray([Landroid/content/pm/Signature;)Ljava/util/List;
.locals 4
.param p1 # [Landroid/content/pm/Signature;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Landroid/content/pm/Signature;",
")",
"Ljava/util/List<",
"Ljava/util/List<",
"[B>;>;"
}
.end annotation
.line 234
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 235
array-length v1, p1
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
aget-object v3, p1, v2
.line 236
invoke-virtual {v3}, Landroid/content/pm/Signature;->toByteArray()[B
move-result-object v3
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 238
:cond_0
invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object p1
return-object p1
.end method
.method private generateFontRequestFrom(Landroid/content/pm/ProviderInfo;Landroid/content/pm/PackageManager;)Landroidx/core/provider/FontRequest;
.locals 3
.param p1 # Landroid/content/pm/ProviderInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/pm/PackageManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
.line 219
iget-object v0, p1, Landroid/content/pm/ProviderInfo;->authority:Ljava/lang/String;
.line 220
iget-object p1, p1, Landroid/content/pm/ProviderInfo;->packageName:Ljava/lang/String;
iget-object v1, p0, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->mHelper:Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
.line 222
invoke-virtual {v1, p2, p1}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;->getSigningSignatures(Landroid/content/pm/PackageManager;Ljava/lang/String;)[Landroid/content/pm/Signature;
move-result-object p2
.line 224
invoke-direct {p0, p2}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->convertToByteArray([Landroid/content/pm/Signature;)Ljava/util/List;
move-result-object p2
.line 225
new-instance v1, Landroidx/core/provider/FontRequest;
const-string v2, "emojicompat-emoji-font"
invoke-direct {v1, v0, p1, v2, p2}, Landroidx/core/provider/FontRequest;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
return-object v1
.end method
.method private static getHelperForApi()Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
.locals 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-lt v0, v1, :cond_0
.line 247
new-instance v0, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API28;
invoke-direct {v0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API28;-><init>()V
return-object v0
.line 249
:cond_0
new-instance v0, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API19;
invoke-direct {v0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API19;-><init>()V
return-object v0
.end method
.method private hasFlagSystem(Landroid/content/pm/ProviderInfo;)Z
.locals 1
.param p1 # Landroid/content/pm/ProviderInfo;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
if-eqz p1, :cond_0
.line 201
iget-object p1, p1, Landroid/content/pm/ProviderInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
if-eqz p1, :cond_0
iget p1, p1, Landroid/content/pm/ApplicationInfo;->flags:I
const/4 v0, 0x1
and-int/2addr p1, v0
if-ne p1, v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method private queryDefaultInstalledContentProvider(Landroid/content/pm/PackageManager;)Landroid/content/pm/ProviderInfo;
.locals 3
.param p1 # Landroid/content/pm/PackageManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->mHelper:Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
.line 183
new-instance v1, Landroid/content/Intent;
const-string v2, "androidx.content.action.LOAD_EMOJI_FONT"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
const/4 v2, 0x0
invoke-virtual {v0, p1, v1, v2}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;->queryIntentContentProviders(Landroid/content/pm/PackageManager;Landroid/content/Intent;I)Ljava/util/List;
move-result-object p1
.line 186
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/pm/ResolveInfo;
iget-object v1, p0, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->mHelper:Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
.line 187
invoke-virtual {v1, v0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;->getProviderInfo(Landroid/content/pm/ResolveInfo;)Landroid/content/pm/ProviderInfo;
move-result-object v0
.line 188
invoke-direct {p0, v0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->hasFlagSystem(Landroid/content/pm/ProviderInfo;)Z
move-result v1
if-eqz v1, :cond_0
return-object v0
:cond_1
const/4 p1, 0x0
return-object p1
.end method
# virtual methods
.method public create(Landroid/content/Context;)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 130
invoke-virtual {p0, p1}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->queryForDefaultFontRequest(Landroid/content/Context;)Landroidx/core/provider/FontRequest;
move-result-object v0
invoke-direct {p0, p1, v0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->configOrNull(Landroid/content/Context;Landroidx/core/provider/FontRequest;)Landroidx/emoji2/text/EmojiCompat$Config;
move-result-object p1
return-object p1
.end method
.method public queryForDefaultFontRequest(Landroid/content/Context;)Landroidx/core/provider/FontRequest;
.locals 2
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.line 159
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p1
const-string v0, "Package manager required to locate emoji font provider"
.line 161
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 163
invoke-direct {p0, p1}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->queryDefaultInstalledContentProvider(Landroid/content/pm/PackageManager;)Landroid/content/pm/ProviderInfo;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_0
return-object v1
.line 167
:cond_0
:try_start_0
invoke-direct {p0, v0, p1}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->generateFontRequestFrom(Landroid/content/pm/ProviderInfo;Landroid/content/pm/PackageManager;)Landroidx/core/provider/FontRequest;
move-result-object p1
:try_end_0
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:catch_0
move-exception p1
const-string v0, "emoji2.text.DefaultEmojiConfig"
.line 169
invoke-static {v0, p1}, Landroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/Throwable;)I
return-object v1
.end method

View File

@@ -0,0 +1,117 @@
.class public Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/DefaultEmojiCompatConfig;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "DefaultEmojiCompatConfigHelper"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 262
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getProviderInfo(Landroid/content/pm/ResolveInfo;)Landroid/content/pm/ProviderInfo;
.locals 1
.param p1 # Landroid/content/pm/ResolveInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 291
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Unable to get provider info prior to API 19"
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getSigningSignatures(Landroid/content/pm/PackageManager;Ljava/lang/String;)[Landroid/content/pm/Signature;
.locals 1
.param p1 # Landroid/content/pm/PackageManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
const/16 v0, 0x40
.line 270
invoke-virtual {p1, p2, v0}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p1
.line 272
iget-object p1, p1, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
return-object p1
.end method
.method public queryIntentContentProviders(Landroid/content/pm/PackageManager;Landroid/content/Intent;I)Ljava/util/List;
.locals 0
.param p1 # Landroid/content/pm/PackageManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/pm/PackageManager;",
"Landroid/content/Intent;",
"I)",
"Ljava/util/List<",
"Landroid/content/pm/ResolveInfo;",
">;"
}
.end annotation
.line 281
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,85 @@
.class public Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API19;
.super Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/DefaultEmojiCompatConfig;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "DefaultEmojiCompatConfigHelper_API19"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 302
invoke-direct {p0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;-><init>()V
return-void
.end method
# virtual methods
.method public getProviderInfo(Landroid/content/pm/ResolveInfo;)Landroid/content/pm/ProviderInfo;
.locals 0
.param p1 # Landroid/content/pm/ResolveInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 315
iget-object p1, p1, Landroid/content/pm/ResolveInfo;->providerInfo:Landroid/content/pm/ProviderInfo;
return-object p1
.end method
.method public queryIntentContentProviders(Landroid/content/pm/PackageManager;Landroid/content/Intent;I)Ljava/util/List;
.locals 0
.param p1 # Landroid/content/pm/PackageManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/pm/PackageManager;",
"Landroid/content/Intent;",
"I)",
"Ljava/util/List<",
"Landroid/content/pm/ResolveInfo;",
">;"
}
.end annotation
.line 309
invoke-virtual {p1, p2, p3}, Landroid/content/pm/PackageManager;->queryIntentContentProviders(Landroid/content/Intent;I)Ljava/util/List;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,69 @@
.class public Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API28;
.super Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API19;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x1c
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/DefaultEmojiCompatConfig;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "DefaultEmojiCompatConfigHelper_API28"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 325
invoke-direct {p0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API19;-><init>()V
return-void
.end method
# virtual methods
.method public getSigningSignatures(Landroid/content/pm/PackageManager;Ljava/lang/String;)[Landroid/content/pm/Signature;
.locals 1
.param p1 # Landroid/content/pm/PackageManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
const/16 v0, 0x40
.line 338
invoke-virtual {p1, p2, v0}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p1
.line 340
iget-object p1, p1, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
return-object p1
.end method

View File

@@ -0,0 +1,51 @@
.class public final Landroidx/emoji2/text/DefaultEmojiCompatConfig;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;,
Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;,
Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API28;,
Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API19;
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 80
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static create(Landroid/content/Context;)Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.locals 2
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 97
new-instance v0, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;
const/4 v1, 0x0
invoke-direct {v0, v1}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;-><init>(Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;)V
.line 98
invoke-virtual {v0, p0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->create(Landroid/content/Context;)Landroidx/emoji2/text/EmojiCompat$Config;
move-result-object p0
check-cast p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
return-object p0
.end method

View File

@@ -0,0 +1,149 @@
.class Landroidx/emoji2/text/DefaultGlyphChecker;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
# annotations
.annotation build Landroidx/annotation/AnyThread;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field private static final PAINT_TEXT_SIZE:I = 0xa
.field private static final sStringBuilder:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"Ljava/lang/StringBuilder;",
">;"
}
.end annotation
.end field
# instance fields
.field private final mTextPaint:Landroid/text/TextPaint;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 46
new-instance v0, Ljava/lang/ThreadLocal;
invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
sput-object v0, Landroidx/emoji2/text/DefaultGlyphChecker;->sStringBuilder:Ljava/lang/ThreadLocal;
return-void
.end method
.method public constructor <init>()V
.locals 2
.line 53
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 54
new-instance v0, Landroid/text/TextPaint;
invoke-direct {v0}, Landroid/text/TextPaint;-><init>()V
iput-object v0, p0, Landroidx/emoji2/text/DefaultGlyphChecker;->mTextPaint:Landroid/text/TextPaint;
const/high16 v1, 0x41200000 # 10.0f
.line 55
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setTextSize(F)V
return-void
.end method
.method private static getStringBuilder()Ljava/lang/StringBuilder;
.locals 2
sget-object v0, Landroidx/emoji2/text/DefaultGlyphChecker;->sStringBuilder:Ljava/lang/ThreadLocal;
.line 84
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v1
if-nez v1, :cond_0
.line 85
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
.line 87
:cond_0
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/StringBuilder;
return-object v0
.end method
# virtual methods
.method public hasGlyph(Ljava/lang/CharSequence;III)Z
.locals 1
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 72
invoke-static {}, Landroidx/emoji2/text/DefaultGlyphChecker;->getStringBuilder()Ljava/lang/StringBuilder;
move-result-object p4
const/4 v0, 0x0
.line 73
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->setLength(I)V
:goto_0
if-ge p2, p3, :cond_0
.line 76
invoke-interface {p1, p2}, Ljava/lang/CharSequence;->charAt(I)C
move-result v0
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 p2, p2, 0x1
goto :goto_0
:cond_0
iget-object p1, p0, Landroidx/emoji2/text/DefaultGlyphChecker;->mTextPaint:Landroid/text/TextPaint;
.line 80
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p1, p2}, Landroidx/core/graphics/PaintCompat;->hasGlyph(Landroid/graphics/Paint;Ljava/lang/String;)Z
move-result p1
return p1
.end method

View File

@@ -0,0 +1,27 @@
.class public interface abstract annotation Landroidx/emoji2/text/EmojiCompat$CodepointSequenceMatchResult;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "CodepointSequenceMatchResult"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,155 @@
.class Landroidx/emoji2/text/EmojiCompat$CompatInternal;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "CompatInternal"
.end annotation
# instance fields
.field final mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/EmojiCompat;)V
.locals 0
.line 1638
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
return-void
.end method
# virtual methods
.method public getAssetSignature()Ljava/lang/String;
.locals 1
const-string v0, ""
return-object v0
.end method
.method public getEmojiEnd(Ljava/lang/CharSequence;I)I
.locals 0
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
const/4 p1, -0x1
return p1
.end method
.method public getEmojiMatch(Ljava/lang/CharSequence;I)I
.locals 0
const/4 p1, 0x0
return p1
.end method
.method public getEmojiStart(Ljava/lang/CharSequence;I)I
.locals 0
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
const/4 p1, -0x1
return p1
.end method
.method public hasEmojiGlyph(Ljava/lang/CharSequence;)Z
.locals 0
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 0
const/4 p1, 0x0
return p1
.end method
.method public hasEmojiGlyph(Ljava/lang/CharSequence;I)Z
.locals 0
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 0
const/4 p1, 0x0
return p1
.end method
.method public loadMetadata()V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
.line 1644
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat;->onMetadataLoadSuccess()V
return-void
.end method
.method public process(Ljava/lang/CharSequence;IIIZ)Ljava/lang/CharSequence;
.locals 0
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
.param p3 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
.param p4 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
return-object p1
.end method
.method public updateEditorInfoAttrs(Landroid/view/inputmethod/EditorInfo;)V
.locals 0
.param p1 # Landroid/view/inputmethod/EditorInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method

View File

@@ -0,0 +1,65 @@
.class Landroidx/emoji2/text/EmojiCompat$CompatInternal19$1;
.super Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->loadMetadata()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field final synthetic this$0:Landroidx/emoji2/text/EmojiCompat$CompatInternal19;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/EmojiCompat$CompatInternal19;)V
.locals 0
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19$1;->this$0:Landroidx/emoji2/text/EmojiCompat$CompatInternal19;
.line 1709
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;-><init>()V
return-void
.end method
# virtual methods
.method public onFailed(Ljava/lang/Throwable;)V
.locals 1
.param p1 # Ljava/lang/Throwable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19$1;->this$0:Landroidx/emoji2/text/EmojiCompat$CompatInternal19;
.line 1717
iget-object v0, v0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
invoke-virtual {v0, p1}, Landroidx/emoji2/text/EmojiCompat;->onMetadataLoadFailed(Ljava/lang/Throwable;)V
return-void
.end method
.method public onLoaded(Landroidx/emoji2/text/MetadataRepo;)V
.locals 1
.param p1 # Landroidx/emoji2/text/MetadataRepo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19$1;->this$0:Landroidx/emoji2/text/EmojiCompat$CompatInternal19;
.line 1712
invoke-virtual {v0, p1}, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->onMetadataLoadSuccess(Landroidx/emoji2/text/MetadataRepo;)V
return-void
.end method

View File

@@ -0,0 +1,322 @@
.class final Landroidx/emoji2/text/EmojiCompat$CompatInternal19;
.super Landroidx/emoji2/text/EmojiCompat$CompatInternal;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "CompatInternal19"
.end annotation
# instance fields
.field private volatile mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
.field private volatile mProcessor:Landroidx/emoji2/text/EmojiProcessor;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/EmojiCompat;)V
.locals 0
.line 1703
invoke-direct {p0, p1}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;-><init>(Landroidx/emoji2/text/EmojiCompat;)V
return-void
.end method
# virtual methods
.method public getAssetSignature()Ljava/lang/String;
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
.line 1788
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo;->getMetadataList()Landroidx/emoji2/text/flatbuffer/MetadataList;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataList;->sourceSha()Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_0
const-string v0, ""
:cond_0
return-object v0
.end method
.method public getEmojiEnd(Ljava/lang/CharSequence;I)I
.locals 1
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mProcessor:Landroidx/emoji2/text/EmojiProcessor;
.line 1771
invoke-virtual {v0, p1, p2}, Landroidx/emoji2/text/EmojiProcessor;->getEmojiEnd(Ljava/lang/CharSequence;I)I
move-result p1
return p1
.end method
.method public getEmojiMatch(Ljava/lang/CharSequence;I)I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mProcessor:Landroidx/emoji2/text/EmojiProcessor;
.line 1761
invoke-virtual {v0, p1, p2}, Landroidx/emoji2/text/EmojiProcessor;->getEmojiMatch(Ljava/lang/CharSequence;I)I
move-result p1
return p1
.end method
.method public getEmojiStart(Ljava/lang/CharSequence;I)I
.locals 1
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mProcessor:Landroidx/emoji2/text/EmojiProcessor;
.line 1766
invoke-virtual {v0, p1, p2}, Landroidx/emoji2/text/EmojiProcessor;->getEmojiStart(Ljava/lang/CharSequence;I)I
move-result p1
return p1
.end method
.method public hasEmojiGlyph(Ljava/lang/CharSequence;)Z
.locals 1
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mProcessor:Landroidx/emoji2/text/EmojiProcessor;
.line 1750
invoke-virtual {v0, p1}, Landroidx/emoji2/text/EmojiProcessor;->getEmojiMatch(Ljava/lang/CharSequence;)I
move-result p1
const/4 v0, 0x1
if-ne p1, v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public hasEmojiGlyph(Ljava/lang/CharSequence;I)Z
.locals 1
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mProcessor:Landroidx/emoji2/text/EmojiProcessor;
.line 1755
invoke-virtual {v0, p1, p2}, Landroidx/emoji2/text/EmojiProcessor;->getEmojiMatch(Ljava/lang/CharSequence;I)I
move-result p1
const/4 p2, 0x1
if-ne p1, p2, :cond_0
goto :goto_0
:cond_0
const/4 p2, 0x0
:goto_0
return p2
.end method
.method public loadMetadata()V
.locals 2
.line 1709
:try_start_0
new-instance v0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19$1;
invoke-direct {v0, p0}, Landroidx/emoji2/text/EmojiCompat$CompatInternal19$1;-><init>(Landroidx/emoji2/text/EmojiCompat$CompatInternal19;)V
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
.line 1720
iget-object v1, v1, Landroidx/emoji2/text/EmojiCompat;->mMetadataLoader:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
invoke-interface {v1, v0}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;->load(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
.line 1722
invoke-virtual {v1, v0}, Landroidx/emoji2/text/EmojiCompat;->onMetadataLoadFailed(Ljava/lang/Throwable;)V
:goto_0
return-void
.end method
.method public onMetadataLoadSuccess(Landroidx/emoji2/text/MetadataRepo;)V
.locals 9
.param p1 # Landroidx/emoji2/text/MetadataRepo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
if-nez p1, :cond_0
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
.line 1730
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "metadataRepo cannot be null"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v0}, Landroidx/emoji2/text/EmojiCompat;->onMetadataLoadFailed(Ljava/lang/Throwable;)V
return-void
:cond_0
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
.line 1736
new-instance p1, Landroidx/emoji2/text/EmojiProcessor;
iget-object v3, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
.line 1738
invoke-static {v0}, Landroidx/emoji2/text/EmojiCompat;->access$000(Landroidx/emoji2/text/EmojiCompat;)Landroidx/emoji2/text/EmojiCompat$SpanFactory;
move-result-object v4
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
.line 1739
invoke-static {v0}, Landroidx/emoji2/text/EmojiCompat;->access$100(Landroidx/emoji2/text/EmojiCompat;)Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
move-result-object v5
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
iget-boolean v6, v0, Landroidx/emoji2/text/EmojiCompat;->mUseEmojiAsDefaultStyle:Z
iget-object v7, v0, Landroidx/emoji2/text/EmojiCompat;->mEmojiAsDefaultStyleExceptions:[I
.line 1742
invoke-static {}, Landroidx/emoji2/text/EmojiExclusions;->getEmojiExclusions()Ljava/util/Set;
move-result-object v8
move-object v2, p1
invoke-direct/range {v2 .. v8}, Landroidx/emoji2/text/EmojiProcessor;-><init>(Landroidx/emoji2/text/MetadataRepo;Landroidx/emoji2/text/EmojiCompat$SpanFactory;Landroidx/emoji2/text/EmojiCompat$GlyphChecker;Z[ILjava/util/Set;)V
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mProcessor:Landroidx/emoji2/text/EmojiProcessor;
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
.line 1745
invoke-virtual {p1}, Landroidx/emoji2/text/EmojiCompat;->onMetadataLoadSuccess()V
return-void
.end method
.method public process(Ljava/lang/CharSequence;IIIZ)Ljava/lang/CharSequence;
.locals 6
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mProcessor:Landroidx/emoji2/text/EmojiProcessor;
move-object v1, p1
move v2, p2
move v3, p3
move v4, p4
move v5, p5
.line 1777
invoke-virtual/range {v0 .. v5}, Landroidx/emoji2/text/EmojiProcessor;->process(Ljava/lang/CharSequence;IIIZ)Ljava/lang/CharSequence;
move-result-object p1
return-object p1
.end method
.method public updateEditorInfoAttrs(Landroid/view/inputmethod/EditorInfo;)V
.locals 3
.param p1 # Landroid/view/inputmethod/EditorInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1782
iget-object v0, p1, Landroid/view/inputmethod/EditorInfo;->extras:Landroid/os/Bundle;
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
invoke-virtual {v1}, Landroidx/emoji2/text/MetadataRepo;->getMetadataVersion()I
move-result v1
const-string v2, "android.support.text.emoji.emojiCompat_metadataVersion"
invoke-virtual {v0, v2, v1}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
.line 1783
iget-object p1, p1, Landroid/view/inputmethod/EditorInfo;->extras:Landroid/os/Bundle;
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->mEmojiCompat:Landroidx/emoji2/text/EmojiCompat;
iget-boolean v0, v0, Landroidx/emoji2/text/EmojiCompat;->mReplaceAll:Z
const-string v1, "android.support.text.emoji.emojiCompat_replaceAll"
invoke-virtual {p1, v1, v0}, Landroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V
return-void
.end method

View File

@@ -0,0 +1,342 @@
.class public abstract Landroidx/emoji2/text/EmojiCompat$Config;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "Config"
.end annotation
# instance fields
.field mEmojiAsDefaultStyleExceptions:[I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field mEmojiSpanIndicatorColor:I
.field mEmojiSpanIndicatorEnabled:Z
.field mGlyphChecker:Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field mInitCallbacks:Ljava/util/Set;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Landroidx/emoji2/text/EmojiCompat$InitCallback;",
">;"
}
.end annotation
.end field
.field mMetadataLoadStrategy:I
.field final mMetadataLoader:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field mReplaceAll:Z
.field mSpanFactory:Landroidx/emoji2/text/EmojiCompat$SpanFactory;
.field mUseEmojiAsDefaultStyle:Z
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;)V
.locals 1
.param p1 # Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1373
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const v0, -0xff0100
iput v0, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiSpanIndicatorColor:I
const/4 v0, 0x0
iput v0, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mMetadataLoadStrategy:I
.line 1364
new-instance v0, Landroidx/emoji2/text/DefaultGlyphChecker;
invoke-direct {v0}, Landroidx/emoji2/text/DefaultGlyphChecker;-><init>()V
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mGlyphChecker:Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
const-string v0, "metadataLoader cannot be null."
.line 1374
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mMetadataLoader:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
return-void
.end method
# virtual methods
.method public final getMetadataRepoLoader()Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mMetadataLoader:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
return-object v0
.end method
.method public registerInitCallback(Landroidx/emoji2/text/EmojiCompat$InitCallback;)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 1
.param p1 # Landroidx/emoji2/text/EmojiCompat$InitCallback;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
const-string v0, "initCallback cannot be null"
.line 1388
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mInitCallbacks:Ljava/util/Set;
if-nez v0, :cond_0
.line 1390
new-instance v0, Landroidx/collection/ArraySet;
invoke-direct {v0}, Landroidx/collection/ArraySet;-><init>()V
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mInitCallbacks:Ljava/util/Set;
:cond_0
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mInitCallbacks:Ljava/util/Set;
.line 1393
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
return-object p0
.end method
.method public setEmojiSpanIndicatorColor(I)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 0
.param p1 # I
.annotation build Landroidx/annotation/ColorInt;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iput p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiSpanIndicatorColor:I
return-object p0
.end method
.method public setEmojiSpanIndicatorEnabled(Z)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 0
.annotation build Landroidx/annotation/NonNull;
.end annotation
iput-boolean p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiSpanIndicatorEnabled:Z
return-object p0
.end method
.method public setGlyphChecker(Landroidx/emoji2/text/EmojiCompat$GlyphChecker;)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 1
.param p1 # Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
const-string v0, "GlyphChecker cannot be null"
.line 1570
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mGlyphChecker:Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
return-object p0
.end method
.method public setMetadataLoadStrategy(I)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 0
.annotation build Landroidx/annotation/NonNull;
.end annotation
iput p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mMetadataLoadStrategy:I
return-object p0
.end method
.method public setReplaceAll(Z)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 0
.annotation build Landroidx/annotation/NonNull;
.end annotation
iput-boolean p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mReplaceAll:Z
return-object p0
.end method
.method public setSpanFactory(Landroidx/emoji2/text/EmojiCompat$SpanFactory;)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 0
.param p1 # Landroidx/emoji2/text/EmojiCompat$SpanFactory;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mSpanFactory:Landroidx/emoji2/text/EmojiCompat$SpanFactory;
return-object p0
.end method
.method public setUseEmojiAsDefaultStyle(Z)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
const/4 v0, 0x0
.line 1446
invoke-virtual {p0, p1, v0}, Landroidx/emoji2/text/EmojiCompat$Config;->setUseEmojiAsDefaultStyle(ZLjava/util/List;)Landroidx/emoji2/text/EmojiCompat$Config;
move-result-object p1
return-object p1
.end method
.method public setUseEmojiAsDefaultStyle(ZLjava/util/List;)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 3
.param p2 # Ljava/util/List;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z",
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;)",
"Landroidx/emoji2/text/EmojiCompat$Config;"
}
.end annotation
iput-boolean p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mUseEmojiAsDefaultStyle:Z
if-eqz p1, :cond_1
if-eqz p2, :cond_1
.line 1470
invoke-interface {p2}, Ljava/util/List;->size()I
move-result p1
new-array p1, p1, [I
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiAsDefaultStyleExceptions:[I
.line 1472
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
const/4 p2, 0x0
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiAsDefaultStyleExceptions:[I
add-int/lit8 v2, p2, 0x1
.line 1473
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
aput v0, v1, p2
move p2, v2
goto :goto_0
:cond_0
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiAsDefaultStyleExceptions:[I
.line 1475
invoke-static {p1}, Ljava/util/Arrays;->sort([I)V
goto :goto_1
:cond_1
const/4 p1, 0x0
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiAsDefaultStyleExceptions:[I
:goto_1
return-object p0
.end method
.method public unregisterInitCallback(Landroidx/emoji2/text/EmojiCompat$InitCallback;)Landroidx/emoji2/text/EmojiCompat$Config;
.locals 1
.param p1 # Landroidx/emoji2/text/EmojiCompat$InitCallback;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
const-string v0, "initCallback cannot be null"
.line 1407
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$Config;->mInitCallbacks:Ljava/util/Set;
if-eqz v0, :cond_0
.line 1409
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
:cond_0
return-object p0
.end method

View File

@@ -0,0 +1,57 @@
.class public Landroidx/emoji2/text/EmojiCompat$DefaultSpanFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/EmojiCompat$SpanFactory;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "DefaultSpanFactory"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1207
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createSpan(Landroidx/emoji2/text/TypefaceEmojiRasterizer;)Landroidx/emoji2/text/EmojiSpan;
.locals 1
.param p1 # Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.line 1221
new-instance v0, Landroidx/emoji2/text/TypefaceEmojiSpan;
invoke-direct {v0, p1}, Landroidx/emoji2/text/TypefaceEmojiSpan;-><init>(Landroidx/emoji2/text/TypefaceEmojiRasterizer;)V
return-object v0
.end method

View File

@@ -0,0 +1,38 @@
.class public interface abstract Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "GlyphChecker"
.end annotation
# virtual methods
.method public abstract hasGlyph(Ljava/lang/CharSequence;III)Z
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
.param p3 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
.param p4 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
.end method

View File

@@ -0,0 +1,43 @@
.class public abstract Landroidx/emoji2/text/EmojiCompat$InitCallback;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "InitCallback"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1228
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onFailed(Ljava/lang/Throwable;)V
.locals 0
.param p1 # Ljava/lang/Throwable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
return-void
.end method
.method public onInitialized()V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,199 @@
.class Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ListenerDispatcher"
.end annotation
# instance fields
.field private final mInitCallbacks:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/emoji2/text/EmojiCompat$InitCallback;",
">;"
}
.end annotation
.end field
.field private final mLoadState:I
.field private final mThrowable:Ljava/lang/Throwable;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/EmojiCompat$InitCallback;I)V
.locals 2
.param p1 # Landroidx/emoji2/text/EmojiCompat$InitCallback;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x1
new-array v0, v0, [Landroidx/emoji2/text/EmojiCompat$InitCallback;
const-string v1, "initCallback cannot be null"
.line 1595
invoke-static {p1, v1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/emoji2/text/EmojiCompat$InitCallback;
const/4 v1, 0x0
aput-object p1, v0, v1
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object p1
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;-><init>(Ljava/util/Collection;ILjava/lang/Throwable;)V
return-void
.end method
.method public constructor <init>(Ljava/util/Collection;I)V
.locals 1
.param p1 # Ljava/util/Collection;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Landroidx/emoji2/text/EmojiCompat$InitCallback;",
">;I)V"
}
.end annotation
const/4 v0, 0x0
.line 1601
invoke-direct {p0, p1, p2, v0}, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;-><init>(Ljava/util/Collection;ILjava/lang/Throwable;)V
return-void
.end method
.method public constructor <init>(Ljava/util/Collection;ILjava/lang/Throwable;)V
.locals 1
.param p1 # Ljava/util/Collection;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Ljava/lang/Throwable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Landroidx/emoji2/text/EmojiCompat$InitCallback;",
">;I",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
.line 1606
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "initCallbacks cannot be null"
.line 1607
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 1608
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0, p1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->mInitCallbacks:Ljava/util/List;
iput p2, p0, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->mLoadState:I
iput-object p3, p0, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->mThrowable:Ljava/lang/Throwable;
return-void
.end method
# virtual methods
.method public run()V
.locals 4
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->mInitCallbacks:Ljava/util/List;
.line 1615
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
iget v1, p0, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->mLoadState:I
const/4 v2, 0x1
const/4 v3, 0x0
if-eq v1, v2, :cond_0
:goto_0
if-ge v3, v0, :cond_1
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->mInitCallbacks:Ljava/util/List;
.line 1625
invoke-interface {v1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/emoji2/text/EmojiCompat$InitCallback;
iget-object v2, p0, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->mThrowable:Ljava/lang/Throwable;
invoke-virtual {v1, v2}, Landroidx/emoji2/text/EmojiCompat$InitCallback;->onFailed(Ljava/lang/Throwable;)V
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_0
:goto_1
if-ge v3, v0, :cond_1
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->mInitCallbacks:Ljava/util/List;
.line 1619
invoke-interface {v1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/emoji2/text/EmojiCompat$InitCallback;
invoke-virtual {v1}, Landroidx/emoji2/text/EmojiCompat$InitCallback;->onInitialized()V
add-int/lit8 v3, v3, 0x1
goto :goto_1
:cond_1
return-void
.end method

View File

@@ -0,0 +1,27 @@
.class public interface abstract annotation Landroidx/emoji2/text/EmojiCompat$LoadStrategy;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "LoadStrategy"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,23 @@
.class public interface abstract Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "MetadataRepoLoader"
.end annotation
# virtual methods
.method public abstract load(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;)V
.param p1 # Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.end method

View File

@@ -0,0 +1,41 @@
.class public abstract Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "MetadataRepoLoaderCallback"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1315
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abstract onFailed(Ljava/lang/Throwable;)V
.param p1 # Ljava/lang/Throwable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.end method
.method public abstract onLoaded(Landroidx/emoji2/text/MetadataRepo;)V
.param p1 # Landroidx/emoji2/text/MetadataRepo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.end method

View File

@@ -0,0 +1,27 @@
.class public interface abstract annotation Landroidx/emoji2/text/EmojiCompat$ReplaceStrategy;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "ReplaceStrategy"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,29 @@
.class public interface abstract Landroidx/emoji2/text/EmojiCompat$SpanFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "SpanFactory"
.end annotation
# virtual methods
.method public abstract createSpan(Landroidx/emoji2/text/TypefaceEmojiRasterizer;)Landroidx/emoji2/text/EmojiSpan;
.param p1 # Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,65 @@
.class Landroidx/emoji2/text/EmojiCompatInitializer$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/lifecycle/DefaultLifecycleObserver;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/emoji2/text/EmojiCompatInitializer;->delayUntilFirstResume(Landroid/content/Context;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field final synthetic this$0:Landroidx/emoji2/text/EmojiCompatInitializer;
.field final synthetic val$lifecycle:Landroidx/lifecycle/Lifecycle;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/EmojiCompatInitializer;Landroidx/lifecycle/Lifecycle;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompatInitializer$1;->this$0:Landroidx/emoji2/text/EmojiCompatInitializer;
iput-object p2, p0, Landroidx/emoji2/text/EmojiCompatInitializer$1;->val$lifecycle:Landroidx/lifecycle/Lifecycle;
.line 107
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onResume(Landroidx/lifecycle/LifecycleOwner;)V
.locals 0
.param p1 # Landroidx/lifecycle/LifecycleOwner;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompatInitializer$1;->this$0:Landroidx/emoji2/text/EmojiCompatInitializer;
.line 110
invoke-virtual {p1}, Landroidx/emoji2/text/EmojiCompatInitializer;->loadEmojiCompatAfterDelay()V
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompatInitializer$1;->val$lifecycle:Landroidx/lifecycle/Lifecycle;
.line 111
invoke-virtual {p1, p0}, Landroidx/lifecycle/Lifecycle;->removeObserver(Landroidx/lifecycle/LifecycleObserver;)V
return-void
.end method

View File

@@ -0,0 +1,38 @@
.class Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultConfig;
.super Landroidx/emoji2/text/EmojiCompat$Config;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompatInitializer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "BackgroundDefaultConfig"
.end annotation
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 1
.line 150
new-instance v0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;
invoke-direct {v0, p1}, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;-><init>(Landroid/content/Context;)V
invoke-direct {p0, v0}, Landroidx/emoji2/text/EmojiCompat$Config;-><init>(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;)V
const/4 p1, 0x1
.line 151
invoke-virtual {p0, p1}, Landroidx/emoji2/text/EmojiCompat$Config;->setMetadataLoadStrategy(I)Landroidx/emoji2/text/EmojiCompat$Config;
return-void
.end method

View File

@@ -0,0 +1,48 @@
.class public final synthetic Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# instance fields
.field public final synthetic f$0:Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;
.field public final synthetic f$1:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.field public final synthetic f$2:Ljava/util/concurrent/ThreadPoolExecutor;
# direct methods
.method public synthetic constructor <init>(Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;->f$0:Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;
iput-object p2, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;->f$1:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
iput-object p3, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;->f$2:Ljava/util/concurrent/ThreadPoolExecutor;
return-void
.end method
# virtual methods
.method public final run()V
.locals 3
.line 0
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;->f$0:Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;->f$1:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
iget-object v2, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;->f$2:Ljava/util/concurrent/ThreadPoolExecutor;
invoke-static {v0, v1, v2}, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;->$r8$lambda$2V1iWTiAwNxOBlVvz73bbuEdzIw(Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
return-void
.end method

View File

@@ -0,0 +1,107 @@
.class Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;
.super Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;->doLoad(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field final synthetic this$0:Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;
.field final synthetic val$executor:Ljava/util/concurrent/ThreadPoolExecutor;
.field final synthetic val$loaderCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
.locals 0
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->this$0:Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;
iput-object p2, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->val$loaderCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
iput-object p3, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->val$executor:Ljava/util/concurrent/ThreadPoolExecutor;
.line 180
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;-><init>()V
return-void
.end method
# virtual methods
.method public onFailed(Ljava/lang/Throwable;)V
.locals 1
.param p1 # Ljava/lang/Throwable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
:try_start_0
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->val$loaderCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.line 195
invoke-virtual {v0, p1}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;->onFailed(Ljava/lang/Throwable;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->val$executor:Ljava/util/concurrent/ThreadPoolExecutor;
.line 197
invoke-virtual {p1}, Ljava/util/concurrent/ThreadPoolExecutor;->shutdown()V
return-void
:catchall_0
move-exception p1
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->val$executor:Ljava/util/concurrent/ThreadPoolExecutor;
invoke-virtual {v0}, Ljava/util/concurrent/ThreadPoolExecutor;->shutdown()V
.line 198
throw p1
.end method
.method public onLoaded(Landroidx/emoji2/text/MetadataRepo;)V
.locals 1
.param p1 # Landroidx/emoji2/text/MetadataRepo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
:try_start_0
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->val$loaderCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.line 185
invoke-virtual {v0, p1}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;->onLoaded(Landroidx/emoji2/text/MetadataRepo;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->val$executor:Ljava/util/concurrent/ThreadPoolExecutor;
.line 187
invoke-virtual {p1}, Ljava/util/concurrent/ThreadPoolExecutor;->shutdown()V
return-void
:catchall_0
move-exception p1
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->val$executor:Ljava/util/concurrent/ThreadPoolExecutor;
invoke-virtual {v0}, Ljava/util/concurrent/ThreadPoolExecutor;->shutdown()V
.line 188
throw p1
.end method

View File

@@ -0,0 +1,154 @@
.class Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompatInitializer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "BackgroundDefaultLoader"
.end annotation
# instance fields
.field private final mContext:Landroid/content/Context;
# direct methods
.method public static synthetic $r8$lambda$2V1iWTiAwNxOBlVvz73bbuEdzIw(Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
.locals 0
.line 0
invoke-direct {p0, p1, p2}, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;->lambda$load$0(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 0
.line 159
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 160
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;->mContext:Landroid/content/Context;
return-void
.end method
.method private synthetic lambda$load$0(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
.locals 0
.line 167
invoke-virtual {p0, p1, p2}, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;->doLoad(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
return-void
.end method
# virtual methods
.method public doLoad(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
.locals 2
.param p1 # Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/util/concurrent/ThreadPoolExecutor;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/WorkerThread;
.end annotation
:try_start_0
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;->mContext:Landroid/content/Context;
.line 174
invoke-static {v0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig;->create(Landroid/content/Context;)Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
move-result-object v0
if-eqz v0, :cond_0
.line 179
invoke-virtual {v0, p2}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig;->setLoadingExecutor(Ljava/util/concurrent/Executor;)Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.line 180
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat$Config;->getMetadataRepoLoader()Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
move-result-object v0
new-instance v1, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;
invoke-direct {v1, p0, p1, p2}, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;-><init>(Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
invoke-interface {v0, v1}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;->load(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;)V
goto :goto_1
:catchall_0
move-exception v0
goto :goto_0
.line 176
:cond_0
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "EmojiCompat font provider not available on this device."
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 202
:goto_0
invoke-virtual {p1, v0}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;->onFailed(Ljava/lang/Throwable;)V
.line 203
invoke-virtual {p2}, Ljava/util/concurrent/ThreadPoolExecutor;->shutdown()V
:goto_1
return-void
.end method
.method public load(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;)V
.locals 2
.param p1 # Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const-string v0, "EmojiCompatInitializer"
.line 165
invoke-static {v0}, Landroidx/emoji2/text/ConcurrencyHelpers;->createBackgroundPriorityExecutor(Ljava/lang/String;)Ljava/util/concurrent/ThreadPoolExecutor;
move-result-object v0
.line 167
new-instance v1, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;
invoke-direct {v1, p0, p1, v0}, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;-><init>(Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
return-void
.end method

View File

@@ -0,0 +1,76 @@
.class Landroidx/emoji2/text/EmojiCompatInitializer$LoadEmojiCompatRunnable;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiCompatInitializer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "LoadEmojiCompatRunnable"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 131
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 1
:try_start_0
const-string v0, "EmojiCompat.EmojiCompatInitializer.run"
.line 137
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 138
invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->isConfigured()Z
move-result v0
if-eqz v0, :cond_0
.line 139
invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat;->load()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
goto :goto_1
.line 142
:cond_0
:goto_0
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
return-void
:goto_1
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 143
throw v0
.end method

View File

@@ -0,0 +1,173 @@
.class public Landroidx/emoji2/text/EmojiCompatInitializer;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/startup/Initializer;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultConfig;,
Landroidx/emoji2/text/EmojiCompatInitializer$LoadEmojiCompatRunnable;,
Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Landroidx/startup/Initializer<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# static fields
.field private static final STARTUP_THREAD_CREATION_DELAY_MS:J = 0x1f4L
.field private static final S_INITIALIZER_THREAD_NAME:Ljava/lang/String; = "EmojiCompatInitializer"
# direct methods
.method public constructor <init>()V
.locals 0
.line 73
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public create(Landroid/content/Context;)Ljava/lang/Boolean;
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 88
new-instance v0, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultConfig;
invoke-direct {v0, p1}, Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultConfig;-><init>(Landroid/content/Context;)V
invoke-static {v0}, Landroidx/emoji2/text/EmojiCompat;->init(Landroidx/emoji2/text/EmojiCompat$Config;)Landroidx/emoji2/text/EmojiCompat;
.line 89
invoke-virtual {p0, p1}, Landroidx/emoji2/text/EmojiCompatInitializer;->delayUntilFirstResume(Landroid/content/Context;)V
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
return-object p1
.end method
.method public bridge synthetic create(Landroid/content/Context;)Ljava/lang/Object;
.locals 0
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 73
invoke-virtual {p0, p1}, Landroidx/emoji2/text/EmojiCompatInitializer;->create(Landroid/content/Context;)Ljava/lang/Boolean;
move-result-object p1
return-object p1
.end method
.method public delayUntilFirstResume(Landroid/content/Context;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.line 103
invoke-static {p1}, Landroidx/startup/AppInitializer;->getInstance(Landroid/content/Context;)Landroidx/startup/AppInitializer;
move-result-object p1
const-class v0, Landroidx/lifecycle/ProcessLifecycleInitializer;
.line 105
invoke-virtual {p1, v0}, Landroidx/startup/AppInitializer;->initializeComponent(Ljava/lang/Class;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/lifecycle/LifecycleOwner;
.line 106
invoke-interface {p1}, Landroidx/lifecycle/LifecycleOwner;->getLifecycle()Landroidx/lifecycle/Lifecycle;
move-result-object p1
.line 107
new-instance v0, Landroidx/emoji2/text/EmojiCompatInitializer$1;
invoke-direct {v0, p0, p1}, Landroidx/emoji2/text/EmojiCompatInitializer$1;-><init>(Landroidx/emoji2/text/EmojiCompatInitializer;Landroidx/lifecycle/Lifecycle;)V
invoke-virtual {p1, v0}, Landroidx/lifecycle/Lifecycle;->addObserver(Landroidx/lifecycle/LifecycleObserver;)V
return-void
.end method
.method public dependencies()Ljava/util/List;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/Class<",
"+",
"Landroidx/startup/Initializer<",
"*>;>;>;"
}
.end annotation
const-class v0, Landroidx/lifecycle/ProcessLifecycleInitializer;
.line 128
invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public loadEmojiCompatAfterDelay()V
.locals 4
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.line 118
invoke-static {}, Landroidx/emoji2/text/ConcurrencyHelpers;->mainHandlerAsync()Landroid/os/Handler;
move-result-object v0
.line 119
new-instance v1, Landroidx/emoji2/text/EmojiCompatInitializer$LoadEmojiCompatRunnable;
invoke-direct {v1}, Landroidx/emoji2/text/EmojiCompatInitializer$LoadEmojiCompatRunnable;-><init>()V
const-wide/16 v2, 0x1f4
invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
return-void
.end method

View File

@@ -0,0 +1,26 @@
.class public Landroidx/emoji2/text/EmojiDefaults;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final MAX_EMOJI_COUNT:I = 0x7fffffff
# direct methods
.method private constructor <init>()V
.locals 0
.line 29
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,53 @@
.class Landroidx/emoji2/text/EmojiExclusions$EmojiExclusions_Api34;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x22
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiExclusions;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "EmojiExclusions_Api34"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 44
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getExclusions()Ljava/util/Set;
.locals 1
.annotation build Landroidx/annotation/DoNotInline;
.end annotation
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"[I>;"
}
.end annotation
.line 50
invoke-static {}, Landroidx/emoji2/text/EmojiExclusions$EmojiExclusions_Reflections;->getExclusions()Ljava/util/Set;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,125 @@
.class Landroidx/emoji2/text/EmojiExclusions$EmojiExclusions_Reflections;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiExclusions;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "EmojiExclusions_Reflections"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 55
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getExclusions()Ljava/util/Set;
.locals 4
.annotation build Landroid/annotation/SuppressLint;
value = {
"BanUncheckedReflection"
}
.end annotation
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"[I>;"
}
.end annotation
:try_start_0
const-string v0, "android.text.EmojiConsistency"
.line 68
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-string v1, "getEmojiConsistencySet"
const/4 v2, 0x0
new-array v3, v2, [Ljava/lang/Class;
.line 69
invoke-virtual {v0, v1, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
new-array v1, v2, [Ljava/lang/Object;
const/4 v2, 0x0
.line 70
invoke-virtual {v0, v2, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_0
.line 72
invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;
move-result-object v0
return-object v0
.line 75
:cond_0
check-cast v0, Ljava/util/Set;
.line 76
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_1
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 77
instance-of v2, v2, [I
if-nez v2, :cond_1
.line 78
invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;
move-result-object v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:cond_2
return-object v0
.line 83
:catchall_0
invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,58 @@
.class Landroidx/emoji2/text/EmojiExclusions;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/EmojiExclusions$EmojiExclusions_Api34;,
Landroidx/emoji2/text/EmojiExclusions$EmojiExclusions_Reflections;
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getEmojiExclusions()Ljava/util/Set;
.locals 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"[I>;"
}
.end annotation
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x22
if-lt v0, v1, :cond_0
.line 36
invoke-static {}, Landroidx/emoji2/text/EmojiExclusions$EmojiExclusions_Api34;->getExclusions()Ljava/util/Set;
move-result-object v0
return-object v0
.line 38
:cond_0
invoke-static {}, Landroidx/emoji2/text/EmojiExclusions$EmojiExclusions_Reflections;->getExclusions()Ljava/util/Set;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,233 @@
.class final Landroidx/emoji2/text/EmojiProcessor$CodepointIndexFinder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiProcessor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "CodepointIndexFinder"
.end annotation
# static fields
.field private static final INVALID_INDEX:I = -0x1
# direct methods
.method private constructor <init>()V
.locals 0
.line 789
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static findIndexBackward(Ljava/lang/CharSequence;II)I
.locals 5
.line 806
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
const/4 v1, -0x1
if-ltz p1, :cond_9
if-ge v0, p1, :cond_0
goto :goto_2
:cond_0
if-gez p2, :cond_1
return v1
:cond_1
const/4 v0, 0x0
:goto_0
move v2, v0
:goto_1
if-nez p2, :cond_2
return p1
:cond_2
add-int/lit8 p1, p1, -0x1
if-gez p1, :cond_4
if-eqz v2, :cond_3
return v1
:cond_3
return v0
.line 827
:cond_4
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v3
if-eqz v2, :cond_6
.line 829
invoke-static {v3}, Ljava/lang/Character;->isHighSurrogate(C)Z
move-result v2
if-nez v2, :cond_5
return v1
:cond_5
add-int/lit8 p2, p2, -0x1
goto :goto_0
.line 836
:cond_6
invoke-static {v3}, Ljava/lang/Character;->isSurrogate(C)Z
move-result v4
if-nez v4, :cond_7
add-int/lit8 p2, p2, -0x1
goto :goto_1
.line 840
:cond_7
invoke-static {v3}, Ljava/lang/Character;->isHighSurrogate(C)Z
move-result v2
if-eqz v2, :cond_8
return v1
:cond_8
const/4 v2, 0x1
goto :goto_1
:cond_9
:goto_2
return v1
.end method
.method public static findIndexForward(Ljava/lang/CharSequence;II)I
.locals 6
.line 862
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
const/4 v1, -0x1
if-ltz p1, :cond_9
if-ge v0, p1, :cond_0
goto :goto_2
:cond_0
if-gez p2, :cond_1
return v1
:cond_1
const/4 v2, 0x0
:goto_0
move v3, v2
:goto_1
if-nez p2, :cond_2
return p1
:cond_2
if-lt p1, v0, :cond_4
if-eqz v3, :cond_3
return v1
:cond_3
return v0
.line 883
:cond_4
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
if-eqz v3, :cond_6
.line 885
invoke-static {v4}, Ljava/lang/Character;->isLowSurrogate(C)Z
move-result v3
if-nez v3, :cond_5
return v1
:cond_5
add-int/lit8 p2, p2, -0x1
add-int/lit8 p1, p1, 0x1
goto :goto_0
.line 893
:cond_6
invoke-static {v4}, Ljava/lang/Character;->isSurrogate(C)Z
move-result v5
if-nez v5, :cond_7
add-int/lit8 p2, p2, -0x1
add-int/lit8 p1, p1, 0x1
goto :goto_1
.line 898
:cond_7
invoke-static {v4}, Ljava/lang/Character;->isLowSurrogate(C)Z
move-result v3
if-eqz v3, :cond_8
return v1
:cond_8
add-int/lit8 p1, p1, 0x1
const/4 v3, 0x1
goto :goto_1
:cond_9
:goto_2
return v1
.end method

View File

@@ -0,0 +1,143 @@
.class Landroidx/emoji2/text/EmojiProcessor$EmojiProcessAddSpanCallback;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/EmojiProcessor$EmojiProcessCallback;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiProcessor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "EmojiProcessAddSpanCallback"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Landroidx/emoji2/text/EmojiProcessor$EmojiProcessCallback<",
"Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;",
">;"
}
.end annotation
# instance fields
.field private final mSpanFactory:Landroidx/emoji2/text/EmojiCompat$SpanFactory;
.field public spannable:Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;Landroidx/emoji2/text/EmojiCompat$SpanFactory;)V
.locals 0
.param p1 # Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 914
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessAddSpanCallback;->spannable:Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
iput-object p2, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessAddSpanCallback;->mSpanFactory:Landroidx/emoji2/text/EmojiCompat$SpanFactory;
return-void
.end method
# virtual methods
.method public getResult()Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
.locals 1
.line 0
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessAddSpanCallback;->spannable:Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
return-object v0
.end method
.method public bridge synthetic getResult()Ljava/lang/Object;
.locals 1
.line 907
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessAddSpanCallback;->getResult()Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
move-result-object v0
return-object v0
.end method
.method public handleEmoji(Ljava/lang/CharSequence;IILandroidx/emoji2/text/TypefaceEmojiRasterizer;)Z
.locals 3
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 922
invoke-virtual {p4}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->isPreferredSystemRender()Z
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_0
return v1
:cond_0
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessAddSpanCallback;->spannable:Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
if-nez v0, :cond_2
.line 926
new-instance v0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
.line 927
instance-of v2, p1, Landroid/text/Spannable;
if-eqz v2, :cond_1
.line 928
check-cast p1, Landroid/text/Spannable;
goto :goto_0
.line 929
:cond_1
new-instance v2, Landroid/text/SpannableString;
invoke-direct {v2, p1}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
move-object p1, v2
:goto_0
invoke-direct {v0, p1}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;-><init>(Landroid/text/Spannable;)V
iput-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessAddSpanCallback;->spannable:Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
:cond_2
iget-object p1, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessAddSpanCallback;->mSpanFactory:Landroidx/emoji2/text/EmojiCompat$SpanFactory;
.line 931
invoke-interface {p1, p4}, Landroidx/emoji2/text/EmojiCompat$SpanFactory;->createSpan(Landroidx/emoji2/text/TypefaceEmojiRasterizer;)Landroidx/emoji2/text/EmojiSpan;
move-result-object p1
iget-object p4, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessAddSpanCallback;->spannable:Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
const/16 v0, 0x21
.line 932
invoke-virtual {p4, p1, p2, p3, v0}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->setSpan(Ljava/lang/Object;III)V
return v1
.end method

View File

@@ -0,0 +1,40 @@
.class interface abstract Landroidx/emoji2/text/EmojiProcessor$EmojiProcessCallback;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiProcessor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "EmojiProcessCallback"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract getResult()Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.end method
.method public abstract handleEmoji(Ljava/lang/CharSequence;IILandroidx/emoji2/text/TypefaceEmojiRasterizer;)Z
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.end method

View File

@@ -0,0 +1,103 @@
.class Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/EmojiProcessor$EmojiProcessCallback;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiProcessor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "EmojiProcessLookupCallback"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Landroidx/emoji2/text/EmojiProcessor$EmojiProcessCallback<",
"Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;",
">;"
}
.end annotation
# instance fields
.field public end:I
.field private final mOffset:I
.field public start:I
# direct methods
.method public constructor <init>(I)V
.locals 1
.line 950
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, -0x1
iput v0, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;->start:I
iput v0, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;->end:I
iput p1, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;->mOffset:I
return-void
.end method
# virtual methods
.method public getResult()Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;
.locals 0
.line 0
return-object p0
.end method
.method public bridge synthetic getResult()Ljava/lang/Object;
.locals 1
.line 942
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;->getResult()Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;
move-result-object v0
return-object v0
.end method
.method public handleEmoji(Ljava/lang/CharSequence;IILandroidx/emoji2/text/TypefaceEmojiRasterizer;)Z
.locals 0
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget p1, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;->mOffset:I
const/4 p4, 0x0
if-gt p2, p1, :cond_0
if-ge p1, p3, :cond_0
iput p2, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;->start:I
iput p3, p0, Landroidx/emoji2/text/EmojiProcessor$EmojiProcessLookupCallback;->end:I
return p4
:cond_0
if-gt p3, p1, :cond_1
const/4 p4, 0x1
:cond_1
return p4
.end method

View File

@@ -0,0 +1,96 @@
.class Landroidx/emoji2/text/EmojiProcessor$MarkExclusionCallback;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/EmojiProcessor$EmojiProcessCallback;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiProcessor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "MarkExclusionCallback"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Landroidx/emoji2/text/EmojiProcessor$EmojiProcessCallback<",
"Landroidx/emoji2/text/EmojiProcessor$MarkExclusionCallback;",
">;"
}
.end annotation
# instance fields
.field private final mExclusion:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
.line 980
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/EmojiProcessor$MarkExclusionCallback;->mExclusion:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public getResult()Landroidx/emoji2/text/EmojiProcessor$MarkExclusionCallback;
.locals 0
.line 0
return-object p0
.end method
.method public bridge synthetic getResult()Ljava/lang/Object;
.locals 1
.line 975
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiProcessor$MarkExclusionCallback;->getResult()Landroidx/emoji2/text/EmojiProcessor$MarkExclusionCallback;
move-result-object v0
return-object v0
.end method
.method public handleEmoji(Ljava/lang/CharSequence;IILandroidx/emoji2/text/TypefaceEmojiRasterizer;)Z
.locals 0
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 987
invoke-interface {p1, p2, p3}, Ljava/lang/CharSequence;->subSequence(II)Ljava/lang/CharSequence;
move-result-object p1
iget-object p2, p0, Landroidx/emoji2/text/EmojiProcessor$MarkExclusionCallback;->mExclusion:Ljava/lang/String;
invoke-static {p1, p2}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result p1
const/4 p2, 0x1
if-eqz p1, :cond_0
.line 988
invoke-virtual {p4, p2}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->setExclusion(Z)V
const/4 p1, 0x0
return p1
:cond_0
return p2
.end method

View File

@@ -0,0 +1,392 @@
.class final Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/EmojiProcessor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ProcessorSm"
.end annotation
# static fields
.field private static final STATE_DEFAULT:I = 0x1
.field private static final STATE_WALKING:I = 0x2
# instance fields
.field private mCurrentDepth:I
.field private mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
.field private final mEmojiAsDefaultStyleExceptions:[I
.field private mFlushNode:Landroidx/emoji2/text/MetadataRepo$Node;
.field private mLastCodepoint:I
.field private final mRootNode:Landroidx/emoji2/text/MetadataRepo$Node;
.field private mState:I
.field private final mUseEmojiAsDefaultStyle:Z
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/MetadataRepo$Node;Z[I)V
.locals 1
.line 646
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x1
iput v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mState:I
iput-object p1, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mRootNode:Landroidx/emoji2/text/MetadataRepo$Node;
iput-object p1, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
iput-boolean p2, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mUseEmojiAsDefaultStyle:Z
iput-object p3, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mEmojiAsDefaultStyleExceptions:[I
return-void
.end method
.method private static isEmojiStyle(I)Z
.locals 1
const v0, 0xfe0f
if-ne p0, v0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method private static isTextStyle(I)Z
.locals 1
const v0, 0xfe0e
if-ne p0, v0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method private reset()I
.locals 2
const/4 v0, 0x1
iput v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mState:I
iget-object v1, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mRootNode:Landroidx/emoji2/text/MetadataRepo$Node;
iput-object v1, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
const/4 v1, 0x0
iput v1, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentDepth:I
return v0
.end method
.method private shouldUseEmojiPresentationStyleForSingleCodepoint()Z
.locals 4
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 739
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo$Node;->getData()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->isDefaultEmoji()Z
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_0
return v1
:cond_0
iget v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mLastCodepoint:I
.line 743
invoke-static {v0}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->isEmojiStyle(I)Z
move-result v0
if-eqz v0, :cond_1
return v1
:cond_1
iget-boolean v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mUseEmojiAsDefaultStyle:Z
const/4 v2, 0x0
if-eqz v0, :cond_3
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mEmojiAsDefaultStyleExceptions:[I
if-nez v0, :cond_2
return v1
:cond_2
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 753
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo$Node;->getData()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
move-result-object v0
invoke-virtual {v0, v2}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getCodepointAt(I)I
move-result v0
iget-object v3, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mEmojiAsDefaultStyleExceptions:[I
.line 754
invoke-static {v3, v0}, Ljava/util/Arrays;->binarySearch([II)I
move-result v0
if-gez v0, :cond_3
return v1
:cond_3
return v2
.end method
# virtual methods
.method public check(I)I
.locals 4
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 656
invoke-virtual {v0, p1}, Landroidx/emoji2/text/MetadataRepo$Node;->get(I)Landroidx/emoji2/text/MetadataRepo$Node;
move-result-object v0
iget v1, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mState:I
const/4 v2, 0x1
const/4 v3, 0x2
if-eq v1, v3, :cond_1
if-nez v0, :cond_0
.line 690
invoke-direct {p0}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->reset()I
move-result v3
goto :goto_0
:cond_0
iput v3, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mState:I
iput-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
iput v2, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentDepth:I
goto :goto_0
:cond_1
if-eqz v0, :cond_2
iput-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
iget v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentDepth:I
add-int/2addr v0, v2
iput v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentDepth:I
goto :goto_0
.line 664
:cond_2
invoke-static {p1}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->isTextStyle(I)Z
move-result v0
if-eqz v0, :cond_3
.line 665
invoke-direct {p0}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->reset()I
move-result v3
goto :goto_0
.line 666
:cond_3
invoke-static {p1}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->isEmojiStyle(I)Z
move-result v0
if-eqz v0, :cond_4
goto :goto_0
:cond_4
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 668
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo$Node;->getData()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
move-result-object v0
if-eqz v0, :cond_7
iget v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentDepth:I
const/4 v3, 0x3
if-ne v0, v2, :cond_6
.line 670
invoke-direct {p0}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->shouldUseEmojiPresentationStyleForSingleCodepoint()Z
move-result v0
if-eqz v0, :cond_5
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
iput-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mFlushNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 673
invoke-direct {p0}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->reset()I
goto :goto_0
.line 675
:cond_5
invoke-direct {p0}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->reset()I
move-result v3
goto :goto_0
:cond_6
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
iput-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mFlushNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 680
invoke-direct {p0}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->reset()I
goto :goto_0
.line 683
:cond_7
invoke-direct {p0}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->reset()I
move-result v3
:goto_0
iput p1, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mLastCodepoint:I
return v3
.end method
.method public getCurrentMetadata()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 723
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo$Node;->getData()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
move-result-object v0
return-object v0
.end method
.method public getFlushMetadata()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mFlushNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 716
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo$Node;->getData()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
move-result-object v0
return-object v0
.end method
.method public isInFlushableState()Z
.locals 2
iget v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mState:I
const/4 v1, 0x2
if-ne v0, v1, :cond_0
iget-object v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 734
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo$Node;->getData()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
move-result-object v0
if-eqz v0, :cond_0
iget v0, p0, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->mCurrentDepth:I
const/4 v1, 0x1
if-gt v0, v1, :cond_1
.line 735
invoke-direct {p0}, Landroidx/emoji2/text/EmojiProcessor$ProcessorSm;->shouldUseEmojiPresentationStyleForSingleCodepoint()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
:cond_1
:goto_0
return v1
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,260 @@
.class public abstract Landroidx/emoji2/text/EmojiSpan;
.super Landroid/text/style/ReplacementSpan;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
# instance fields
.field private mHeight:S
.field private final mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private mRatio:F
.field private final mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt;
.field private mWidth:S
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/TypefaceEmojiRasterizer;)V
.locals 1
.param p1 # Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 74
invoke-direct {p0}, Landroid/text/style/ReplacementSpan;-><init>()V
.line 41
new-instance v0, Landroid/graphics/Paint$FontMetricsInt;
invoke-direct {v0}, Landroid/graphics/Paint$FontMetricsInt;-><init>()V
iput-object v0, p0, Landroidx/emoji2/text/EmojiSpan;->mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt;
const/4 v0, -0x1
iput-short v0, p0, Landroidx/emoji2/text/EmojiSpan;->mWidth:S
iput-short v0, p0, Landroidx/emoji2/text/EmojiSpan;->mHeight:S
const/high16 v0, 0x3f800000 # 1.0f
iput v0, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F
const-string v0, "rasterizer cannot be null"
.line 75
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iput-object p1, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer;
return-void
.end method
# virtual methods
.method public final getHeight()I
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->TESTS:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget-short v0, p0, Landroidx/emoji2/text/EmojiSpan;->mHeight:S
return v0
.end method
.method public final getId()I
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->TESTS:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 148
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiSpan;->getTypefaceRasterizer()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getId()I
move-result v0
return v0
.end method
.method public final getRatio()F
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget v0, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F
return v0
.end method
.method public getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I
.locals 0
.param p1 # Landroid/graphics/Paint;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/CharSequence;
.annotation build Landroid/annotation/SuppressLint;
value = {
"UnknownNullness"
}
.end annotation
.end param
.param p5 # Landroid/graphics/Paint$FontMetricsInt;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object p2, p0, Landroidx/emoji2/text/EmojiSpan;->mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt;
.line 86
invoke-virtual {p1, p2}, Landroid/graphics/Paint;->getFontMetricsInt(Landroid/graphics/Paint$FontMetricsInt;)I
iget-object p1, p0, Landroidx/emoji2/text/EmojiSpan;->mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt;
.line 87
iget p2, p1, Landroid/graphics/Paint$FontMetricsInt;->descent:I
iget p1, p1, Landroid/graphics/Paint$FontMetricsInt;->ascent:I
sub-int/2addr p2, p1
invoke-static {p2}, Ljava/lang/Math;->abs(I)I
move-result p1
int-to-float p1, p1
const/high16 p2, 0x3f800000 # 1.0f
mul-float/2addr p1, p2
iget-object p2, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.line 89
invoke-virtual {p2}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getHeight()I
move-result p2
int-to-float p2, p2
div-float/2addr p1, p2
iput p1, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F
iget-object p1, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.line 90
invoke-virtual {p1}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getHeight()I
move-result p1
int-to-float p1, p1
iget p2, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F
mul-float/2addr p1, p2
float-to-int p1, p1
int-to-short p1, p1
iput-short p1, p0, Landroidx/emoji2/text/EmojiSpan;->mHeight:S
iget-object p1, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.line 91
invoke-virtual {p1}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getWidth()I
move-result p1
int-to-float p1, p1
iget p2, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F
mul-float/2addr p1, p2
float-to-int p1, p1
int-to-short p1, p1
iput-short p1, p0, Landroidx/emoji2/text/EmojiSpan;->mWidth:S
if-eqz p5, :cond_0
iget-object p2, p0, Landroidx/emoji2/text/EmojiSpan;->mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt;
.line 94
iget p3, p2, Landroid/graphics/Paint$FontMetricsInt;->ascent:I
iput p3, p5, Landroid/graphics/Paint$FontMetricsInt;->ascent:I
.line 95
iget p3, p2, Landroid/graphics/Paint$FontMetricsInt;->descent:I
iput p3, p5, Landroid/graphics/Paint$FontMetricsInt;->descent:I
.line 96
iget p3, p2, Landroid/graphics/Paint$FontMetricsInt;->top:I
iput p3, p5, Landroid/graphics/Paint$FontMetricsInt;->top:I
.line 97
iget p2, p2, Landroid/graphics/Paint$FontMetricsInt;->bottom:I
iput p2, p5, Landroid/graphics/Paint$FontMetricsInt;->bottom:I
:cond_0
return p1
.end method
.method public final getTypefaceRasterizer()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer;
return-object v0
.end method
.method public final getWidth()I
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget-short v0, p0, Landroidx/emoji2/text/EmojiSpan;->mWidth:S
return v0
.end method

View File

@@ -0,0 +1,94 @@
.class public Landroidx/emoji2/text/FontRequestEmojiCompatConfig$ExponentialBackoffRetryPolicy;
.super Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ExponentialBackoffRetryPolicy"
.end annotation
# instance fields
.field private mRetryOrigin:J
.field private final mTotalMs:J
# direct methods
.method public constructor <init>(J)V
.locals 0
.line 92
invoke-direct {p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;-><init>()V
iput-wide p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$ExponentialBackoffRetryPolicy;->mTotalMs:J
return-void
.end method
# virtual methods
.method public getRetryDelay()J
.locals 6
iget-wide v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$ExponentialBackoffRetryPolicy;->mRetryOrigin:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_0
.line 99
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v0
iput-wide v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$ExponentialBackoffRetryPolicy;->mRetryOrigin:J
return-wide v2
.line 106
:cond_0
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v0
iget-wide v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$ExponentialBackoffRetryPolicy;->mRetryOrigin:J
sub-long/2addr v0, v2
iget-wide v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$ExponentialBackoffRetryPolicy;->mTotalMs:J
cmp-long v2, v0, v2
if-lez v2, :cond_1
const-wide/16 v0, -0x1
return-wide v0
:cond_1
const-wide/16 v2, 0x3e8
.line 112
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->max(JJ)J
move-result-wide v2
iget-wide v4, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$ExponentialBackoffRetryPolicy;->mTotalMs:J
sub-long/2addr v4, v0
invoke-static {v2, v3, v4, v5}, Ljava/lang/Math;->min(JJ)J
move-result-wide v0
return-wide v0
.end method

View File

@@ -0,0 +1,147 @@
.class public Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "FontProviderHelper"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 412
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public buildTypeface(Landroid/content/Context;Landroidx/core/provider/FontsContractCompat$FontInfo;)Landroid/graphics/Typeface;
.locals 2
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/core/provider/FontsContractCompat$FontInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
const/4 v0, 0x1
new-array v0, v0, [Landroidx/core/provider/FontsContractCompat$FontInfo;
const/4 v1, 0x0
aput-object p2, v0, v1
const/4 p2, 0x0
.line 424
invoke-static {p1, p2, v0}, Landroidx/core/provider/FontsContractCompat;->buildTypeface(Landroid/content/Context;Landroid/os/CancellationSignal;[Landroidx/core/provider/FontsContractCompat$FontInfo;)Landroid/graphics/Typeface;
move-result-object p1
return-object p1
.end method
.method public fetchFonts(Landroid/content/Context;Landroidx/core/provider/FontRequest;)Landroidx/core/provider/FontsContractCompat$FontFamilyResult;
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/core/provider/FontRequest;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
const/4 v0, 0x0
.line 417
invoke-static {p1, v0, p2}, Landroidx/core/provider/FontsContractCompat;->fetchFonts(Landroid/content/Context;Landroid/os/CancellationSignal;Landroidx/core/provider/FontRequest;)Landroidx/core/provider/FontsContractCompat$FontFamilyResult;
move-result-object p1
return-object p1
.end method
.method public registerObserver(Landroid/content/Context;Landroid/net/Uri;Landroid/database/ContentObserver;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroid/database/ContentObserver;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 431
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p1
const/4 v0, 0x0
invoke-virtual {p1, p2, v0, p3}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method public unregisterObserver(Landroid/content/Context;Landroid/database/ContentObserver;)V
.locals 0
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/database/ContentObserver;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 438
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p1
invoke-virtual {p1, p2}, Landroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
return-void
.end method

View File

@@ -0,0 +1,36 @@
.class public final synthetic Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# instance fields
.field public final synthetic f$0:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
# direct methods
.method public synthetic constructor <init>(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda0;->f$0:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
return-void
.end method
# virtual methods
.method public final run()V
.locals 1
.line 0
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda0;->f$0:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
invoke-virtual {v0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->createMetadata()V
return-void
.end method

View File

@@ -0,0 +1,36 @@
.class public final synthetic Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# instance fields
.field public final synthetic f$0:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
# direct methods
.method public synthetic constructor <init>(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda1;->f$0:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
return-void
.end method
# virtual methods
.method public final run()V
.locals 1
.line 0
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda1;->f$0:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
invoke-virtual {v0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->loadInternal()V
return-void
.end method

View File

@@ -0,0 +1,44 @@
.class Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1;
.super Landroid/database/ContentObserver;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->scheduleRetry(Landroid/net/Uri;J)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field final synthetic this$0:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;Landroid/os/Handler;)V
.locals 0
iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1;->this$0:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
.line 309
invoke-direct {p0, p2}, Landroid/database/ContentObserver;-><init>(Landroid/os/Handler;)V
return-void
.end method
# virtual methods
.method public onChange(ZLandroid/net/Uri;)V
.locals 0
iget-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1;->this$0:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
.line 312
invoke-virtual {p1}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->loadInternal()V
return-void
.end method

View File

@@ -0,0 +1,898 @@
.class Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "FontRequestMetadataLoader"
.end annotation
# static fields
.field private static final S_TRACE_BUILD_TYPEFACE:Ljava/lang/String; = "EmojiCompat.FontRequestEmojiCompatConfig.buildTypeface"
# instance fields
.field mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.annotation build Landroidx/annotation/GuardedBy;
value = "mLock"
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private final mContext:Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private mExecutor:Ljava/util/concurrent/Executor;
.annotation build Landroidx/annotation/GuardedBy;
value = "mLock"
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private final mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final mLock:Ljava/lang/Object;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private mMainHandler:Landroid/os/Handler;
.annotation build Landroidx/annotation/GuardedBy;
value = "mLock"
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private mMainHandlerLoadCallback:Ljava/lang/Runnable;
.annotation build Landroidx/annotation/GuardedBy;
value = "mLock"
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private mMyThreadPoolExecutor:Ljava/util/concurrent/ThreadPoolExecutor;
.annotation build Landroidx/annotation/GuardedBy;
value = "mLock"
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private mObserver:Landroid/database/ContentObserver;
.annotation build Landroidx/annotation/GuardedBy;
value = "mLock"
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private final mRequest:Landroidx/core/provider/FontRequest;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private mRetryPolicy:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;
.annotation build Landroidx/annotation/GuardedBy;
value = "mLock"
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroidx/core/provider/FontRequest;Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/core/provider/FontRequest;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 235
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 208
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
const-string v0, "Context cannot be null"
.line 236
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v0, "FontRequest cannot be null"
.line 237
invoke-static {p2, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 238
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context;
iput-object p2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mRequest:Landroidx/core/provider/FontRequest;
iput-object p3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
return-void
.end method
.method private cleanUp()V
.locals 5
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 326
monitor-enter v0
const/4 v1, 0x0
:try_start_0
iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mObserver:Landroid/database/ContentObserver;
if-eqz v2, :cond_0
iget-object v3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
iget-object v4, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context;
.line 329
invoke-virtual {v3, v4, v2}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;->unregisterObserver(Landroid/content/Context;Landroid/database/ContentObserver;)V
iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mObserver:Landroid/database/ContentObserver;
goto :goto_0
:catchall_0
move-exception v1
goto :goto_1
:cond_0
:goto_0
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandler:Landroid/os/Handler;
if-eqz v2, :cond_1
iget-object v3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandlerLoadCallback:Ljava/lang/Runnable;
.line 333
invoke-virtual {v2, v3}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
:cond_1
iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandler:Landroid/os/Handler;
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMyThreadPoolExecutor:Ljava/util/concurrent/ThreadPoolExecutor;
if-eqz v2, :cond_2
.line 338
invoke-virtual {v2}, Ljava/util/concurrent/ThreadPoolExecutor;->shutdown()V
:cond_2
iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor;
iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMyThreadPoolExecutor:Ljava/util/concurrent/ThreadPoolExecutor;
.line 342
monitor-exit v0
return-void
:goto_1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method
.method private retrieveFontInfo()Landroidx/core/provider/FontsContractCompat$FontInfo;
.locals 4
.annotation build Landroidx/annotation/WorkerThread;
.end annotation
:try_start_0
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context;
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mRequest:Landroidx/core/provider/FontRequest;
.line 285
invoke-virtual {v0, v1, v2}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;->fetchFonts(Landroid/content/Context;Landroidx/core/provider/FontRequest;)Landroidx/core/provider/FontsContractCompat$FontFamilyResult;
move-result-object v0
:try_end_0
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
.line 289
invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getStatusCode()I
move-result v1
if-nez v1, :cond_1
.line 292
invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getFonts()[Landroidx/core/provider/FontsContractCompat$FontInfo;
move-result-object v0
if-eqz v0, :cond_0
.line 293
array-length v1, v0
if-eqz v1, :cond_0
const/4 v1, 0x0
.line 296
aget-object v0, v0, v1
return-object v0
.line 294
:cond_0
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "fetchFonts failed (empty result)"
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.line 290
:cond_1
new-instance v1, Ljava/lang/RuntimeException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "fetchFonts failed ("
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getStatusCode()I
move-result v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ")"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
:catch_0
move-exception v0
.line 287
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "provider not found"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.end method
.method private scheduleRetry(Landroid/net/Uri;J)V
.locals 5
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation build Landroidx/annotation/WorkerThread;
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 302
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandler:Landroid/os/Handler;
if-nez v1, :cond_0
.line 305
invoke-static {}, Landroidx/emoji2/text/ConcurrencyHelpers;->mainHandlerAsync()Landroid/os/Handler;
move-result-object v1
iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandler:Landroid/os/Handler;
goto :goto_0
:catchall_0
move-exception p1
goto :goto_1
:cond_0
:goto_0
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mObserver:Landroid/database/ContentObserver;
if-nez v2, :cond_1
.line 309
new-instance v2, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1;
invoke-direct {v2, p0, v1}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1;-><init>(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;Landroid/os/Handler;)V
iput-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mObserver:Landroid/database/ContentObserver;
iget-object v3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
iget-object v4, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context;
.line 315
invoke-virtual {v3, v4, p1, v2}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;->registerObserver(Landroid/content/Context;Landroid/net/Uri;Landroid/database/ContentObserver;)V
:cond_1
iget-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandlerLoadCallback:Ljava/lang/Runnable;
if-nez p1, :cond_2
.line 318
new-instance p1, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda1;
invoke-direct {p1, p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda1;-><init>(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;)V
iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandlerLoadCallback:Ljava/lang/Runnable;
:cond_2
iget-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandlerLoadCallback:Ljava/lang/Runnable;
.line 320
invoke-virtual {v1, p1, p2, p3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
.line 321
monitor-exit v0
return-void
:goto_1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
# virtual methods
.method public createMetadata()V
.locals 7
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation build Landroidx/annotation/WorkerThread;
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 350
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
if-nez v1, :cond_0
.line 352
monitor-exit v0
return-void
:catchall_0
move-exception v1
goto/16 :goto_9
.line 354
:cond_0
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 356
:try_start_1
invoke-direct {p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->retrieveFontInfo()Landroidx/core/provider/FontsContractCompat$FontInfo;
move-result-object v0
.line 358
invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontInfo;->getResultCode()I
move-result v1
const/4 v2, 0x2
if-ne v1, v2, :cond_2
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 361
monitor-enter v2
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_2
:try_start_2
iget-object v3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mRetryPolicy:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;
if-eqz v3, :cond_1
.line 363
invoke-virtual {v3}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;->getRetryDelay()J
move-result-wide v3
const-wide/16 v5, 0x0
cmp-long v5, v3, v5
if-ltz v5, :cond_1
.line 365
invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontInfo;->getUri()Landroid/net/Uri;
move-result-object v0
invoke-direct {p0, v0, v3, v4}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->scheduleRetry(Landroid/net/Uri;J)V
.line 366
monitor-exit v2
return-void
:catchall_1
move-exception v0
goto :goto_0
.line 369
:cond_1
monitor-exit v2
goto :goto_1
:goto_0
monitor-exit v2
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
:try_start_3
throw v0
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_2
:catchall_2
move-exception v0
goto :goto_5
:cond_2
:goto_1
if-nez v1, :cond_5
:try_start_4
const-string v1, "EmojiCompat.FontRequestEmojiCompatConfig.buildTypeface"
.line 378
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context;
.line 380
invoke-virtual {v1, v2, v0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;->buildTypeface(Landroid/content/Context;Landroidx/core/provider/FontsContractCompat$FontInfo;)Landroid/graphics/Typeface;
move-result-object v1
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context;
.line 382
invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontInfo;->getUri()Landroid/net/Uri;
move-result-object v0
const/4 v3, 0x0
.line 381
invoke-static {v2, v3, v0}, Landroidx/core/graphics/TypefaceCompatUtil;->mmap(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/net/Uri;)Ljava/nio/ByteBuffer;
move-result-object v0
if-eqz v0, :cond_4
if-eqz v1, :cond_4
.line 386
invoke-static {v1, v0}, Landroidx/emoji2/text/MetadataRepo;->create(Landroid/graphics/Typeface;Ljava/nio/ByteBuffer;)Landroidx/emoji2/text/MetadataRepo;
move-result-object v0
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_4
.line 388
:try_start_5
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 390
monitor-enter v1
:try_end_5
.catchall {:try_start_5 .. :try_end_5} :catchall_2
:try_start_6
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
if-eqz v2, :cond_3
.line 392
invoke-virtual {v2, v0}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;->onLoaded(Landroidx/emoji2/text/MetadataRepo;)V
goto :goto_2
:catchall_3
move-exception v0
goto :goto_3
.line 394
:cond_3
:goto_2
monitor-exit v1
:try_end_6
.catchall {:try_start_6 .. :try_end_6} :catchall_3
.line 395
:try_start_7
invoke-direct {p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->cleanUp()V
:try_end_7
.catchall {:try_start_7 .. :try_end_7} :catchall_2
goto :goto_7
.line 394
:goto_3
:try_start_8
monitor-exit v1
:try_end_8
.catchall {:try_start_8 .. :try_end_8} :catchall_3
:try_start_9
throw v0
:try_end_9
.catchall {:try_start_9 .. :try_end_9} :catchall_2
:catchall_4
move-exception v0
goto :goto_4
.line 384
:cond_4
:try_start_a
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "Unable to open file."
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_a
.catchall {:try_start_a .. :try_end_a} :catchall_4
.line 388
:goto_4
:try_start_b
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 389
throw v0
.line 373
:cond_5
new-instance v0, Ljava/lang/RuntimeException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "fetchFonts result is not OK. ("
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ")"
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
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_b
.catchall {:try_start_b .. :try_end_b} :catchall_2
:goto_5
iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 397
monitor-enter v1
:try_start_c
iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
if-eqz v2, :cond_6
.line 399
invoke-virtual {v2, v0}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;->onFailed(Ljava/lang/Throwable;)V
goto :goto_6
:catchall_5
move-exception v0
goto :goto_8
.line 401
:cond_6
:goto_6
monitor-exit v1
:try_end_c
.catchall {:try_start_c .. :try_end_c} :catchall_5
.line 402
invoke-direct {p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->cleanUp()V
:goto_7
return-void
.line 401
:goto_8
:try_start_d
monitor-exit v1
:try_end_d
.catchall {:try_start_d .. :try_end_d} :catchall_5
throw v0
.line 354
:goto_9
:try_start_e
monitor-exit v0
:try_end_e
.catchall {:try_start_e .. :try_end_e} :catchall_0
throw v1
.end method
.method public load(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;)V
.locals 1
.param p1 # Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
const-string v0, "LoaderCallback cannot be null"
.line 258
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 259
monitor-enter v0
:try_start_0
iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
.line 261
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 262
invoke-virtual {p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->loadInternal()V
return-void
:catchall_0
move-exception p1
.line 261
:try_start_1
monitor-exit v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p1
.end method
.method public loadInternal()V
.locals 3
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 267
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;
if-nez v1, :cond_0
.line 270
monitor-exit v0
return-void
:catchall_0
move-exception v1
goto :goto_0
:cond_0
iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor;
if-nez v1, :cond_1
const-string v1, "emojiCompat"
.line 273
invoke-static {v1}, Landroidx/emoji2/text/ConcurrencyHelpers;->createBackgroundPriorityExecutor(Ljava/lang/String;)Ljava/util/concurrent/ThreadPoolExecutor;
move-result-object v1
iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMyThreadPoolExecutor:Ljava/util/concurrent/ThreadPoolExecutor;
iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor;
:cond_1
iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor;
.line 277
new-instance v2, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda0;
invoke-direct {v2, p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda0;-><init>(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;)V
invoke-interface {v1, v2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
.line 278
monitor-exit v0
return-void
:goto_0
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method
.method public setExecutor(Ljava/util/concurrent/Executor;)V
.locals 1
.param p1 # Ljava/util/concurrent/Executor;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 244
monitor-enter v0
:try_start_0
iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor;
.line 246
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public setRetryPolicy(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;)V
.locals 1
.param p1 # Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object;
.line 250
monitor-enter v0
:try_start_0
iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mRetryPolicy:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;
.line 252
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method

View File

@@ -0,0 +1,30 @@
.class public abstract Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "RetryPolicy"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 58
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abstract getRetryDelay()J
.end method

View File

@@ -0,0 +1,157 @@
.class public Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.super Landroidx/emoji2/text/EmojiCompat$Config;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;,
Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;,
Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;,
Landroidx/emoji2/text/FontRequestEmojiCompatConfig$ExponentialBackoffRetryPolicy;
}
.end annotation
# static fields
.field private static final DEFAULT_FONTS_CONTRACT:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 442
new-instance v0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
invoke-direct {v0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;-><init>()V
sput-object v0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig;->DEFAULT_FONTS_CONTRACT:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/core/provider/FontRequest;)V
.locals 2
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/core/provider/FontRequest;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 122
new-instance v0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
sget-object v1, Landroidx/emoji2/text/FontRequestEmojiCompatConfig;->DEFAULT_FONTS_CONTRACT:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
invoke-direct {v0, p1, p2, v1}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;-><init>(Landroid/content/Context;Landroidx/core/provider/FontRequest;Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;)V
invoke-direct {p0, v0}, Landroidx/emoji2/text/EmojiCompat$Config;-><init>(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/core/provider/FontRequest;Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/core/provider/FontRequest;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 131
new-instance v0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
invoke-direct {v0, p1, p2, p3}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;-><init>(Landroid/content/Context;Landroidx/core/provider/FontRequest;Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;)V
invoke-direct {p0, v0}, Landroidx/emoji2/text/EmojiCompat$Config;-><init>(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;)V
return-void
.end method
# virtual methods
.method public setHandler(Landroid/os/Handler;)Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.locals 0
.param p1 # Landroid/os/Handler;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
if-nez p1, :cond_0
return-object p0
.line 177
:cond_0
invoke-static {p1}, Landroidx/emoji2/text/ConcurrencyHelpers;->convertHandlerToExecutor(Landroid/os/Handler;)Ljava/util/concurrent/Executor;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig;->setLoadingExecutor(Ljava/util/concurrent/Executor;)Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
return-object p0
.end method
.method public setLoadingExecutor(Ljava/util/concurrent/Executor;)Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.locals 1
.param p1 # Ljava/util/concurrent/Executor;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 148
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiCompat$Config;->getMetadataRepoLoader()Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
move-result-object v0
check-cast v0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
invoke-virtual {v0, p1}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->setExecutor(Ljava/util/concurrent/Executor;)V
return-object p0
.end method
.method public setRetryPolicy(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;)Landroidx/emoji2/text/FontRequestEmojiCompatConfig;
.locals 1
.param p1 # Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 191
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiCompat$Config;->getMetadataRepoLoader()Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
move-result-object v0
check-cast v0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;
invoke-virtual {v0, p1}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->setRetryPolicy(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;)V
return-object p0
.end method

View File

@@ -0,0 +1,147 @@
.class Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/MetadataListReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ByteBufferReader"
.end annotation
# instance fields
.field private final mByteBuffer:Ljava/nio/ByteBuffer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/nio/ByteBuffer;)V
.locals 1
.param p1 # Ljava/nio/ByteBuffer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 315
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 317
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
return-void
.end method
# virtual methods
.method public getPosition()J
.locals 2
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 342
invoke-virtual {v0}, Ljava/nio/Buffer;->position()I
move-result v0
int-to-long v0, v0
return-wide v0
.end method
.method public readTag()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 332
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
return v0
.end method
.method public readUnsignedInt()J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 327
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
invoke-static {v0}, Landroidx/emoji2/text/MetadataListReader;->toUnsignedInt(I)J
move-result-wide v0
return-wide v0
.end method
.method public readUnsignedShort()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 322
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->getShort()S
move-result v0
invoke-static {v0}, Landroidx/emoji2/text/MetadataListReader;->toUnsignedShort(S)I
move-result v0
return v0
.end method
.method public skip(I)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 337
invoke-virtual {v0}, Ljava/nio/Buffer;->position()I
move-result v1
add-int/2addr v1, p1
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
return-void
.end method

View File

@@ -0,0 +1,283 @@
.class Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/MetadataListReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "InputStreamOpenTypeReader"
.end annotation
# instance fields
.field private final mByteArray:[B
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final mByteBuffer:Ljava/nio/ByteBuffer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final mInputStream:Ljava/io/InputStream;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private mPosition:J
# direct methods
.method public constructor <init>(Ljava/io/InputStream;)V
.locals 2
.param p1 # Ljava/io/InputStream;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 249
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-wide/16 v0, 0x0
iput-wide v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mPosition:J
iput-object p1, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mInputStream:Ljava/io/InputStream;
const/4 p1, 0x4
new-array p1, p1, [B
iput-object p1, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mByteArray:[B
.line 252
invoke-static {p1}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object p1
iput-object p1, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 253
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
return-void
.end method
.method private read(I)V
.locals 4
.param p1 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
to = 0x4L
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mInputStream:Ljava/io/InputStream;
iget-object v1, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mByteArray:[B
const/4 v2, 0x0
.line 296
invoke-virtual {v0, v1, v2, p1}, Ljava/io/InputStream;->read([BII)I
move-result v0
if-ne v0, p1, :cond_0
iget-wide v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mPosition:J
int-to-long v2, p1
add-long/2addr v0, v2
iput-wide v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mPosition:J
return-void
.line 297
:cond_0
new-instance p1, Ljava/io/IOException;
const-string v0, "read failed"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public getPosition()J
.locals 2
iget-wide v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mPosition:J
return-wide v0
.end method
.method public readTag()I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mByteBuffer:Ljava/nio/ByteBuffer;
const/4 v1, 0x0
.line 272
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
const/4 v0, 0x4
.line 273
invoke-direct {p0, v0}, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->read(I)V
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 274
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
return v0
.end method
.method public readUnsignedInt()J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mByteBuffer:Ljava/nio/ByteBuffer;
const/4 v1, 0x0
.line 265
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
const/4 v0, 0x4
.line 266
invoke-direct {p0, v0}, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->read(I)V
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 267
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
invoke-static {v0}, Landroidx/emoji2/text/MetadataListReader;->toUnsignedInt(I)J
move-result-wide v0
return-wide v0
.end method
.method public readUnsignedShort()I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mByteBuffer:Ljava/nio/ByteBuffer;
const/4 v1, 0x0
.line 258
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
const/4 v0, 0x2
.line 259
invoke-direct {p0, v0}, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->read(I)V
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 260
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->getShort()S
move-result v0
invoke-static {v0}, Landroidx/emoji2/text/MetadataListReader;->toUnsignedShort(S)I
move-result v0
return v0
.end method
.method public skip(I)V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:goto_0
if-lez p1, :cond_1
iget-object v0, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mInputStream:Ljava/io/InputStream;
int-to-long v1, p1
.line 280
invoke-virtual {v0, v1, v2}, Ljava/io/InputStream;->skip(J)J
move-result-wide v0
long-to-int v0, v0
const/4 v1, 0x1
if-lt v0, v1, :cond_0
sub-int/2addr p1, v0
iget-wide v1, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mPosition:J
int-to-long v3, v0
add-long/2addr v1, v3
iput-wide v1, p0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;->mPosition:J
goto :goto_0
.line 282
:cond_0
new-instance p1, Ljava/io/IOException;
const-string v0, "Skip didn\'t move at least 1 byte forward"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_1
return-void
.end method

View File

@@ -0,0 +1,53 @@
.class Landroidx/emoji2/text/MetadataListReader$OffsetInfo;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/MetadataListReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "OffsetInfo"
.end annotation
# instance fields
.field private final mLength:J
.field private final mStartOffset:J
# direct methods
.method public constructor <init>(JJ)V
.locals 0
.line 171
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;->mStartOffset:J
iput-wide p3, p0, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;->mLength:J
return-void
.end method
# virtual methods
.method public getLength()J
.locals 2
iget-wide v0, p0, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;->mLength:J
return-wide v0
.end method
.method public getStartOffset()J
.locals 2
iget-wide v0, p0, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;->mStartOffset:J
return-wide v0
.end method

View File

@@ -0,0 +1,57 @@
.class interface abstract Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/MetadataListReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "OpenTypeReader"
.end annotation
# static fields
.field public static final UINT16_BYTE_COUNT:I = 0x2
.field public static final UINT32_BYTE_COUNT:I = 0x4
# virtual methods
.method public abstract getPosition()J
.end method
.method public abstract readTag()I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract readUnsignedInt()J
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract readUnsignedShort()I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract skip(I)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method

View File

@@ -0,0 +1,423 @@
.class Landroidx/emoji2/text/MetadataListReader;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/AnyThread;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;,
Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;,
Landroidx/emoji2/text/MetadataListReader$OffsetInfo;,
Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;
}
.end annotation
# static fields
.field private static final EMJI_TAG:I = 0x456d6a69
.field private static final EMJI_TAG_DEPRECATED:I = 0x656d6a69
.field private static final META_TABLE_NAME:I = 0x6d657461
# direct methods
.method private constructor <init>()V
.locals 0
.line 346
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static findOffsetInfo(Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;)Landroidx/emoji2/text/MetadataListReader$OffsetInfo;
.locals 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x4
.line 120
invoke-interface {p0, v0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->skip(I)V
.line 122
invoke-interface {p0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->readUnsignedShort()I
move-result v1
const/16 v2, 0x64
const-string v3, "Cannot read metadata."
if-gt v1, v2, :cond_5
const/4 v2, 0x6
.line 128
invoke-interface {p0, v2}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->skip(I)V
const/4 v2, 0x0
move v4, v2
:goto_0
const-wide/16 v5, -0x1
if-ge v4, v1, :cond_1
.line 132
invoke-interface {p0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->readTag()I
move-result v7
.line 134
invoke-interface {p0, v0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->skip(I)V
.line 135
invoke-interface {p0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->readUnsignedInt()J
move-result-wide v8
.line 137
invoke-interface {p0, v0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->skip(I)V
const v10, 0x6d657461
if-ne v10, v7, :cond_0
goto :goto_1
:cond_0
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_1
move-wide v8, v5
:goto_1
cmp-long v0, v8, v5
if-eqz v0, :cond_4
.line 146
invoke-interface {p0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->getPosition()J
move-result-wide v0
sub-long v0, v8, v0
long-to-int v0, v0
invoke-interface {p0, v0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->skip(I)V
const/16 v0, 0xc
.line 148
invoke-interface {p0, v0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->skip(I)V
.line 150
invoke-interface {p0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->readUnsignedInt()J
move-result-wide v0
:goto_2
int-to-long v4, v2
cmp-long v4, v4, v0
if-gez v4, :cond_4
.line 152
invoke-interface {p0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->readTag()I
move-result v4
.line 153
invoke-interface {p0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->readUnsignedInt()J
move-result-wide v5
.line 154
invoke-interface {p0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->readUnsignedInt()J
move-result-wide v10
const v7, 0x456d6a69
if-eq v7, v4, :cond_3
const v7, 0x656d6a69
if-ne v7, v4, :cond_2
goto :goto_3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_2
.line 156
:cond_3
:goto_3
new-instance p0, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;
add-long/2addr v5, v8
invoke-direct {p0, v5, v6, v10, v11}, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;-><init>(JJ)V
return-object p0
.line 161
:cond_4
new-instance p0, Ljava/io/IOException;
invoke-direct {p0, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p0
.line 125
:cond_5
new-instance p0, Ljava/io/IOException;
invoke-direct {p0, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static read(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroidx/emoji2/text/flatbuffer/MetadataList;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 106
invoke-virtual {p0, p1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object p0
.line 107
:try_start_0
invoke-static {p0}, Landroidx/emoji2/text/MetadataListReader;->read(Ljava/io/InputStream;)Landroidx/emoji2/text/flatbuffer/MetadataList;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz p0, :cond_0
.line 108
invoke-virtual {p0}, Ljava/io/InputStream;->close()V
:cond_0
return-object p1
:catchall_0
move-exception p1
if-eqz p0, :cond_1
.line 106
:try_start_1
invoke-virtual {p0}, Ljava/io/InputStream;->close()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
goto :goto_0
:catchall_1
move-exception p0
invoke-virtual {p1, p0}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V
:cond_1
:goto_0
throw p1
.end method
.method public static read(Ljava/io/InputStream;)Landroidx/emoji2/text/flatbuffer/MetadataList;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 69
new-instance v0, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;
invoke-direct {v0, p0}, Landroidx/emoji2/text/MetadataListReader$InputStreamOpenTypeReader;-><init>(Ljava/io/InputStream;)V
.line 70
invoke-static {v0}, Landroidx/emoji2/text/MetadataListReader;->findOffsetInfo(Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;)Landroidx/emoji2/text/MetadataListReader$OffsetInfo;
move-result-object v1
.line 72
invoke-virtual {v1}, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;->getStartOffset()J
move-result-wide v2
invoke-interface {v0}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->getPosition()J
move-result-wide v4
sub-long/2addr v2, v4
long-to-int v2, v2
invoke-interface {v0, v2}, Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;->skip(I)V
.line 74
invoke-virtual {v1}, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;->getLength()J
move-result-wide v2
long-to-int v0, v2
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 75
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v2
invoke-virtual {p0, v2}, Ljava/io/InputStream;->read([B)I
move-result p0
int-to-long v2, p0
.line 76
invoke-virtual {v1}, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;->getLength()J
move-result-wide v4
cmp-long v2, v2, v4
if-nez v2, :cond_0
.line 80
invoke-static {v0}, Landroidx/emoji2/text/flatbuffer/MetadataList;->getRootAsMetadataList(Ljava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/MetadataList;
move-result-object p0
return-object p0
.line 77
:cond_0
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Needed "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;->getLength()J
move-result-wide v3
invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, " bytes, got "
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static read(Ljava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/MetadataList;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 89
invoke-virtual {p0}, Ljava/nio/ByteBuffer;->duplicate()Ljava/nio/ByteBuffer;
move-result-object p0
.line 90
new-instance v0, Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;
invoke-direct {v0, p0}, Landroidx/emoji2/text/MetadataListReader$ByteBufferReader;-><init>(Ljava/nio/ByteBuffer;)V
.line 91
invoke-static {v0}, Landroidx/emoji2/text/MetadataListReader;->findOffsetInfo(Landroidx/emoji2/text/MetadataListReader$OpenTypeReader;)Landroidx/emoji2/text/MetadataListReader$OffsetInfo;
move-result-object v0
.line 93
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataListReader$OffsetInfo;->getStartOffset()J
move-result-wide v0
long-to-int v0, v0
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 94
invoke-static {p0}, Landroidx/emoji2/text/flatbuffer/MetadataList;->getRootAsMetadataList(Ljava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/MetadataList;
move-result-object p0
return-object p0
.end method
.method public static toUnsignedInt(I)J
.locals 4
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
return-wide v0
.end method
.method public static toUnsignedShort(S)I
.locals 1
const v0, 0xffff
and-int/2addr p0, v0
return p0
.end method

View File

@@ -0,0 +1,146 @@
.class Landroidx/emoji2/text/MetadataRepo$Node;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/MetadataRepo;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Node"
.end annotation
# instance fields
.field private final mChildren:Landroid/util/SparseArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/SparseArray<",
"Landroidx/emoji2/text/MetadataRepo$Node;",
">;"
}
.end annotation
.end field
.field private mData:Landroidx/emoji2/text/TypefaceEmojiRasterizer;
# direct methods
.method private constructor <init>()V
.locals 1
const/4 v0, 0x1
.line 244
invoke-direct {p0, v0}, Landroidx/emoji2/text/MetadataRepo$Node;-><init>(I)V
return-void
.end method
.method public constructor <init>(I)V
.locals 1
.line 248
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 249
new-instance v0, Landroid/util/SparseArray;
invoke-direct {v0, p1}, Landroid/util/SparseArray;-><init>(I)V
iput-object v0, p0, Landroidx/emoji2/text/MetadataRepo$Node;->mChildren:Landroid/util/SparseArray;
return-void
.end method
# virtual methods
.method public get(I)Landroidx/emoji2/text/MetadataRepo$Node;
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/MetadataRepo$Node;->mChildren:Landroid/util/SparseArray;
if-nez v0, :cond_0
const/4 p1, 0x0
goto :goto_0
.line 253
:cond_0
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/emoji2/text/MetadataRepo$Node;
:goto_0
return-object p1
.end method
.method public final getData()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/MetadataRepo$Node;->mData:Landroidx/emoji2/text/TypefaceEmojiRasterizer;
return-object v0
.end method
.method public put(Landroidx/emoji2/text/TypefaceEmojiRasterizer;II)V
.locals 3
.param p1 # Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 262
invoke-virtual {p1, p2}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getCodepointAt(I)I
move-result v0
invoke-virtual {p0, v0}, Landroidx/emoji2/text/MetadataRepo$Node;->get(I)Landroidx/emoji2/text/MetadataRepo$Node;
move-result-object v0
if-nez v0, :cond_0
.line 264
new-instance v0, Landroidx/emoji2/text/MetadataRepo$Node;
invoke-direct {v0}, Landroidx/emoji2/text/MetadataRepo$Node;-><init>()V
iget-object v1, p0, Landroidx/emoji2/text/MetadataRepo$Node;->mChildren:Landroid/util/SparseArray;
.line 265
invoke-virtual {p1, p2}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getCodepointAt(I)I
move-result v2
invoke-virtual {v1, v2, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
:cond_0
if-le p3, p2, :cond_1
add-int/lit8 p2, p2, 0x1
.line 269
invoke-virtual {v0, p1, p2, p3}, Landroidx/emoji2/text/MetadataRepo$Node;->put(Landroidx/emoji2/text/TypefaceEmojiRasterizer;II)V
goto :goto_0
.line 271
:cond_1
iput-object p1, v0, Landroidx/emoji2/text/MetadataRepo$Node;->mData:Landroidx/emoji2/text/TypefaceEmojiRasterizer;
:goto_0
return-void
.end method

View File

@@ -0,0 +1,475 @@
.class public final Landroidx/emoji2/text/MetadataRepo;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/AnyThread;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/MetadataRepo$Node;
}
.end annotation
# static fields
.field private static final DEFAULT_ROOT_SIZE:I = 0x400
.field private static final S_TRACE_CREATE_REPO:Ljava/lang/String; = "EmojiCompat.MetadataRepo.create"
# instance fields
.field private final mEmojiCharArray:[C
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final mMetadataList:Landroidx/emoji2/text/flatbuffer/MetadataList;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final mRootNode:Landroidx/emoji2/text/MetadataRepo$Node;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final mTypeface:Landroid/graphics/Typeface;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method private constructor <init>(Landroid/graphics/Typeface;Landroidx/emoji2/text/flatbuffer/MetadataList;)V
.locals 1
.param p1 # Landroid/graphics/Typeface;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/emoji2/text/flatbuffer/MetadataList;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 76
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/MetadataRepo;->mTypeface:Landroid/graphics/Typeface;
iput-object p2, p0, Landroidx/emoji2/text/MetadataRepo;->mMetadataList:Landroidx/emoji2/text/flatbuffer/MetadataList;
.line 79
new-instance p1, Landroidx/emoji2/text/MetadataRepo$Node;
const/16 v0, 0x400
invoke-direct {p1, v0}, Landroidx/emoji2/text/MetadataRepo$Node;-><init>(I)V
iput-object p1, p0, Landroidx/emoji2/text/MetadataRepo;->mRootNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 80
invoke-virtual {p2}, Landroidx/emoji2/text/flatbuffer/MetadataList;->listLength()I
move-result p1
mul-int/lit8 p1, p1, 0x2
new-array p1, p1, [C
iput-object p1, p0, Landroidx/emoji2/text/MetadataRepo;->mEmojiCharArray:[C
.line 81
invoke-direct {p0, p2}, Landroidx/emoji2/text/MetadataRepo;->constructIndex(Landroidx/emoji2/text/flatbuffer/MetadataList;)V
return-void
.end method
.method private constructIndex(Landroidx/emoji2/text/flatbuffer/MetadataList;)V
.locals 5
.line 161
invoke-virtual {p1}, Landroidx/emoji2/text/flatbuffer/MetadataList;->listLength()I
move-result p1
const/4 v0, 0x0
:goto_0
if-ge v0, p1, :cond_0
.line 163
new-instance v1, Landroidx/emoji2/text/TypefaceEmojiRasterizer;
invoke-direct {v1, p0, v0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;-><init>(Landroidx/emoji2/text/MetadataRepo;I)V
.line 167
invoke-virtual {v1}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getId()I
move-result v2
iget-object v3, p0, Landroidx/emoji2/text/MetadataRepo;->mEmojiCharArray:[C
mul-int/lit8 v4, v0, 0x2
invoke-static {v2, v3, v4}, Ljava/lang/Character;->toChars(I[CI)I
.line 168
invoke-virtual {p0, v1}, Landroidx/emoji2/text/MetadataRepo;->put(Landroidx/emoji2/text/TypefaceEmojiRasterizer;)V
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public static create(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroidx/emoji2/text/MetadataRepo;
.locals 2
.param p0 # Landroid/content/res/AssetManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:try_start_0
const-string v0, "EmojiCompat.MetadataRepo.create"
.line 148
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 149
invoke-static {p0, p1}, Landroid/graphics/Typeface;->createFromAsset(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
move-result-object v0
.line 150
new-instance v1, Landroidx/emoji2/text/MetadataRepo;
.line 151
invoke-static {p0, p1}, Landroidx/emoji2/text/MetadataListReader;->read(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroidx/emoji2/text/flatbuffer/MetadataList;
move-result-object p0
invoke-direct {v1, v0, p0}, Landroidx/emoji2/text/MetadataRepo;-><init>(Landroid/graphics/Typeface;Landroidx/emoji2/text/flatbuffer/MetadataList;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 153
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
return-object v1
:catchall_0
move-exception p0
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 154
throw p0
.end method
.method public static create(Landroid/graphics/Typeface;)Landroidx/emoji2/text/MetadataRepo;
.locals 2
.param p0 # Landroid/graphics/Typeface;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->TESTS:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
:try_start_0
const-string v0, "EmojiCompat.MetadataRepo.create"
.line 94
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 95
new-instance v0, Landroidx/emoji2/text/MetadataRepo;
new-instance v1, Landroidx/emoji2/text/flatbuffer/MetadataList;
invoke-direct {v1}, Landroidx/emoji2/text/flatbuffer/MetadataList;-><init>()V
invoke-direct {v0, p0, v1}, Landroidx/emoji2/text/MetadataRepo;-><init>(Landroid/graphics/Typeface;Landroidx/emoji2/text/flatbuffer/MetadataList;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 97
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
return-object v0
:catchall_0
move-exception p0
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 98
throw p0
.end method
.method public static create(Landroid/graphics/Typeface;Ljava/io/InputStream;)Landroidx/emoji2/text/MetadataRepo;
.locals 1
.param p0 # Landroid/graphics/Typeface;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Ljava/io/InputStream;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:try_start_0
const-string v0, "EmojiCompat.MetadataRepo.create"
.line 112
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 113
new-instance v0, Landroidx/emoji2/text/MetadataRepo;
invoke-static {p1}, Landroidx/emoji2/text/MetadataListReader;->read(Ljava/io/InputStream;)Landroidx/emoji2/text/flatbuffer/MetadataList;
move-result-object p1
invoke-direct {v0, p0, p1}, Landroidx/emoji2/text/MetadataRepo;-><init>(Landroid/graphics/Typeface;Landroidx/emoji2/text/flatbuffer/MetadataList;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 115
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
return-object v0
:catchall_0
move-exception p0
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 116
throw p0
.end method
.method public static create(Landroid/graphics/Typeface;Ljava/nio/ByteBuffer;)Landroidx/emoji2/text/MetadataRepo;
.locals 1
.param p0 # Landroid/graphics/Typeface;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Ljava/nio/ByteBuffer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:try_start_0
const-string v0, "EmojiCompat.MetadataRepo.create"
.line 130
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 131
new-instance v0, Landroidx/emoji2/text/MetadataRepo;
invoke-static {p1}, Landroidx/emoji2/text/MetadataListReader;->read(Ljava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/MetadataList;
move-result-object p1
invoke-direct {v0, p0, p1}, Landroidx/emoji2/text/MetadataRepo;-><init>(Landroid/graphics/Typeface;Landroidx/emoji2/text/flatbuffer/MetadataList;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 133
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
return-object v0
:catchall_0
move-exception p0
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 134
throw p0
.end method
# virtual methods
.method public getEmojiCharArray()[C
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataRepo;->mEmojiCharArray:[C
return-object v0
.end method
.method public getMetadataList()Landroidx/emoji2/text/flatbuffer/MetadataList;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataRepo;->mMetadataList:Landroidx/emoji2/text/flatbuffer/MetadataList;
return-object v0
.end method
.method public getMetadataVersion()I
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataRepo;->mMetadataList:Landroidx/emoji2/text/flatbuffer/MetadataList;
.line 186
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataList;->version()I
move-result v0
return v0
.end method
.method public getRootNode()Landroidx/emoji2/text/MetadataRepo$Node;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataRepo;->mRootNode:Landroidx/emoji2/text/MetadataRepo$Node;
return-object v0
.end method
.method public getTypeface()Landroid/graphics/Typeface;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/MetadataRepo;->mTypeface:Landroid/graphics/Typeface;
return-object v0
.end method
.method public put(Landroidx/emoji2/text/TypefaceEmojiRasterizer;)V
.locals 4
.param p1 # Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
const-string v0, "emoji metadata cannot be null"
.line 224
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 225
invoke-virtual {p1}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getCodepointsLength()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
const-string v3, "invalid metadata codepoint length"
invoke-static {v0, v3}, Landroidx/core/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
iget-object v0, p0, Landroidx/emoji2/text/MetadataRepo;->mRootNode:Landroidx/emoji2/text/MetadataRepo$Node;
.line 228
invoke-virtual {p1}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getCodepointsLength()I
move-result v3
sub-int/2addr v3, v2
invoke-virtual {v0, p1, v1, v3}, Landroidx/emoji2/text/MetadataRepo$Node;->put(Landroidx/emoji2/text/TypefaceEmojiRasterizer;II)V
return-void
.end method

View File

@@ -0,0 +1,248 @@
.class Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/text/TextWatcher;
.implements Landroid/text/SpanWatcher;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/SpannableBuilder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "WatcherWrapper"
.end annotation
# instance fields
.field private final mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger;
.field final mObject:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Ljava/lang/Object;)V
.locals 2
.line 379
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 377
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>(I)V
iput-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger;
iput-object p1, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object;
return-void
.end method
.method private isEmojiSpan(Ljava/lang/Object;)Z
.locals 0
.line 457
instance-of p1, p1, Landroidx/emoji2/text/EmojiSpan;
return p1
.end method
# virtual methods
.method public afterTextChanged(Landroid/text/Editable;)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object;
.line 395
check-cast v0, Landroid/text/TextWatcher;
invoke-interface {v0, p1}, Landroid/text/TextWatcher;->afterTextChanged(Landroid/text/Editable;)V
return-void
.end method
.method public beforeTextChanged(Ljava/lang/CharSequence;III)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object;
.line 385
check-cast v0, Landroid/text/TextWatcher;
invoke-interface {v0, p1, p2, p3, p4}, Landroid/text/TextWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
return-void
.end method
.method public final blockCalls()V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger;
.line 449
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
return-void
.end method
.method public onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger;
.line 404
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
if-lez v0, :cond_0
invoke-direct {p0, p2}, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->isEmojiSpan(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
return-void
:cond_0
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object;
.line 407
check-cast v0, Landroid/text/SpanWatcher;
invoke-interface {v0, p1, p2, p3, p4}, Landroid/text/SpanWatcher;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V
return-void
.end method
.method public onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
.locals 8
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger;
.line 429
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
if-lez v0, :cond_0
invoke-direct {p0, p2}, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->isEmojiSpan(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
return-void
:cond_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-ge v0, v1, :cond_2
const/4 v0, 0x0
if-le p3, p4, :cond_1
move p3, v0
:cond_1
if-le p5, p6, :cond_2
move v4, p3
move v6, v0
goto :goto_0
:cond_2
move v4, p3
move v6, p5
:goto_0
iget-object p3, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object;
.line 445
move-object v1, p3
check-cast v1, Landroid/text/SpanWatcher;
move-object v2, p1
move-object v3, p2
move v5, p4
move v7, p6
invoke-interface/range {v1 .. v7}, Landroid/text/SpanWatcher;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
return-void
.end method
.method public onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger;
.line 416
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
if-lez v0, :cond_0
invoke-direct {p0, p2}, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->isEmojiSpan(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
return-void
:cond_0
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object;
.line 419
check-cast v0, Landroid/text/SpanWatcher;
invoke-interface {v0, p1, p2, p3, p4}, Landroid/text/SpanWatcher;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V
return-void
.end method
.method public onTextChanged(Ljava/lang/CharSequence;III)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object;
.line 390
check-cast v0, Landroid/text/TextWatcher;
invoke-interface {v0, p1, p2, p3, p4}, Landroid/text/TextWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V
return-void
.end method
.method public final unblockCalls()V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger;
.line 453
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
return-void
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
.class public interface abstract annotation Landroidx/emoji2/text/TypefaceEmojiRasterizer$HasGlyph;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "HasGlyph"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,564 @@
.class public Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/AnyThread;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/TypefaceEmojiRasterizer$HasGlyph;
}
.end annotation
# static fields
.field static final HAS_GLYPH_ABSENT:I = 0x1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.end field
.field static final HAS_GLYPH_EXISTS:I = 0x2
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.end field
.field static final HAS_GLYPH_UNKNOWN:I
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.end field
.field private static final sMetadataItem:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"Landroidx/emoji2/text/flatbuffer/MetadataItem;",
">;"
}
.end annotation
.end field
# instance fields
.field private volatile mCache:I
.field private final mIndex:I
.field private final mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 89
new-instance v0, Ljava/lang/ThreadLocal;
invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
sput-object v0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->sMetadataItem:Ljava/lang/ThreadLocal;
return-void
.end method
.method public constructor <init>(Landroidx/emoji2/text/MetadataRepo;I)V
.locals 1
.param p1 # Landroidx/emoji2/text/MetadataRepo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 115
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mCache:I
iput-object p1, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
iput p2, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mIndex:I
return-void
.end method
.method private getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem;
.locals 3
sget-object v0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->sMetadataItem:Ljava/lang/ThreadLocal;
.line 154
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/emoji2/text/flatbuffer/MetadataItem;
if-nez v1, :cond_0
.line 156
new-instance v1, Landroidx/emoji2/text/flatbuffer/MetadataItem;
invoke-direct {v1}, Landroidx/emoji2/text/flatbuffer/MetadataItem;-><init>()V
.line 157
invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
:cond_0
iget-object v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
.line 167
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo;->getMetadataList()Landroidx/emoji2/text/flatbuffer/MetadataList;
move-result-object v0
iget v2, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mIndex:I
invoke-virtual {v0, v1, v2}, Landroidx/emoji2/text/flatbuffer/MetadataList;->list(Landroidx/emoji2/text/flatbuffer/MetadataItem;I)Landroidx/emoji2/text/flatbuffer/MetadataItem;
return-object v1
.end method
# virtual methods
.method public draw(Landroid/graphics/Canvas;FFLandroid/graphics/Paint;)V
.locals 9
.param p1 # Landroid/graphics/Canvas;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Landroid/graphics/Paint;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
.line 130
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo;->getTypeface()Landroid/graphics/Typeface;
move-result-object v0
.line 131
invoke-virtual {p4}, Landroid/graphics/Paint;->getTypeface()Landroid/graphics/Typeface;
move-result-object v1
.line 132
invoke-virtual {p4, v0}, Landroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
iget v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mIndex:I
mul-int/lit8 v4, v0, 0x2
iget-object v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
.line 138
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo;->getEmojiCharArray()[C
move-result-object v3
const/4 v5, 0x2
move-object v2, p1
move v6, p2
move v7, p3
move-object v8, p4
invoke-virtual/range {v2 .. v8}, Landroid/graphics/Canvas;->drawText([CIIFFLandroid/graphics/Paint;)V
.line 139
invoke-virtual {p4, v1}, Landroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
return-void
.end method
.method public getCodepointAt(I)I
.locals 1
.line 306
invoke-direct {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->codepoints(I)I
move-result p1
return p1
.end method
.method public getCodepointsLength()I
.locals 1
.line 313
invoke-direct {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->codepointsLength()I
move-result v0
return v0
.end method
.method public getCompatAdded()S
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 202
invoke-direct {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->compatAdded()S
move-result v0
return v0
.end method
.method public getHasGlyph()I
.locals 1
.annotation build Landroid/annotation/SuppressLint;
value = {
"KotlinPropertyAccess"
}
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mCache:I
and-int/lit8 v0, v0, 0x3
return v0
.end method
.method public getHeight()I
.locals 1
.line 193
invoke-direct {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->height()S
move-result v0
return v0
.end method
.method public getId()I
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 179
invoke-direct {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->id()I
move-result v0
return v0
.end method
.method public getSdkAdded()S
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 211
invoke-direct {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->sdkAdded()S
move-result v0
return v0
.end method
.method public getTypeface()Landroid/graphics/Typeface;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo;
.line 147
invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo;->getTypeface()Landroid/graphics/Typeface;
move-result-object v0
return-object v0
.end method
.method public getWidth()I
.locals 1
.line 186
invoke-direct {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->width()S
move-result v0
return v0
.end method
.method public isDefaultEmoji()Z
.locals 1
.line 297
invoke-direct {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->emojiStyle()Z
move-result v0
return v0
.end method
.method public isPreferredSystemRender()Z
.locals 1
iget v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mCache:I
and-int/lit8 v0, v0, 0x4
if-lez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public resetHasGlyphCache()V
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->TESTS:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 240
invoke-virtual {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->isPreferredSystemRender()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x4
iput v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mCache:I
goto :goto_0
:cond_0
const/4 v0, 0x0
iput v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mCache:I
:goto_0
return-void
.end method
.method public setExclusion(Z)V
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 275
invoke-virtual {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getHasGlyph()I
move-result v0
if-eqz p1, :cond_0
or-int/lit8 p1, v0, 0x4
iput p1, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mCache:I
goto :goto_0
:cond_0
iput v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mCache:I
:goto_0
return-void
.end method
.method public setHasGlyph(Z)V
.locals 1
.annotation build Landroid/annotation/SuppressLint;
value = {
"KotlinPropertyAccess"
}
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget v0, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mCache:I
and-int/lit8 v0, v0, 0x4
if-eqz p1, :cond_0
or-int/lit8 p1, v0, 0x2
goto :goto_0
:cond_0
or-int/lit8 p1, v0, 0x1
:goto_0
iput p1, p0, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->mCache:I
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 4
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 319
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 320
invoke-super {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", id:"
.line 321
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 322
invoke-virtual {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getId()I
move-result v1
invoke-static {v1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", codepoints:"
.line 323
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 324
invoke-virtual {p0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getCodepointsLength()I
move-result v1
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
.line 326
invoke-virtual {p0, v2}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getCodepointAt(I)I
move-result v3
invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, " "
.line 327
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 329
:cond_0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,380 @@
.class public final Landroidx/emoji2/text/TypefaceEmojiSpan;
.super Landroidx/emoji2/text/EmojiSpan;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x13
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field private static sDebugPaint:Landroid/graphics/Paint;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# instance fields
.field private mWorkingPaint:Landroid/text/TextPaint;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/TypefaceEmojiRasterizer;)V
.locals 0
.param p1 # Landroidx/emoji2/text/TypefaceEmojiRasterizer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 53
invoke-direct {p0, p1}, Landroidx/emoji2/text/EmojiSpan;-><init>(Landroidx/emoji2/text/TypefaceEmojiRasterizer;)V
return-void
.end method
.method private applyCharacterSpanStyles(Ljava/lang/CharSequence;IILandroid/graphics/Paint;)Landroid/text/TextPaint;
.locals 2
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 104
instance-of v0, p1, Landroid/text/Spanned;
const/4 v1, 0x0
if-eqz v0, :cond_5
.line 105
check-cast p1, Landroid/text/Spanned;
const-class v0, Landroid/text/style/CharacterStyle;
.line 106
invoke-interface {p1, p2, p3, v0}, Landroid/text/Spanned;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
move-result-object p1
check-cast p1, [Landroid/text/style/CharacterStyle;
.line 107
array-length p2, p1
if-eqz p2, :cond_3
array-length p2, p1
const/4 p3, 0x0
const/4 v0, 0x1
if-ne p2, v0, :cond_0
aget-object p2, p1, p3
if-ne p2, p0, :cond_0
goto :goto_1
:cond_0
iget-object p2, p0, Landroidx/emoji2/text/TypefaceEmojiSpan;->mWorkingPaint:Landroid/text/TextPaint;
if-nez p2, :cond_1
.line 119
new-instance p2, Landroid/text/TextPaint;
invoke-direct {p2}, Landroid/text/TextPaint;-><init>()V
iput-object p2, p0, Landroidx/emoji2/text/TypefaceEmojiSpan;->mWorkingPaint:Landroid/text/TextPaint;
.line 122
:cond_1
invoke-virtual {p2, p4}, Landroid/graphics/Paint;->set(Landroid/graphics/Paint;)V
.line 124
:goto_0
array-length p4, p1
if-ge p3, p4, :cond_2
.line 125
aget-object p4, p1, p3
invoke-virtual {p4, p2}, Landroid/text/style/CharacterStyle;->updateDrawState(Landroid/text/TextPaint;)V
add-int/lit8 p3, p3, 0x1
goto :goto_0
:cond_2
return-object p2
.line 108
:cond_3
:goto_1
instance-of p1, p4, Landroid/text/TextPaint;
if-eqz p1, :cond_4
.line 110
check-cast p4, Landroid/text/TextPaint;
return-object p4
:cond_4
return-object v1
.line 129
:cond_5
instance-of p1, p4, Landroid/text/TextPaint;
if-eqz p1, :cond_6
.line 131
check-cast p4, Landroid/text/TextPaint;
return-object p4
:cond_6
return-object v1
.end method
.method private static getDebugPaint()Landroid/graphics/Paint;
.locals 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
sget-object v0, Landroidx/emoji2/text/TypefaceEmojiSpan;->sDebugPaint:Landroid/graphics/Paint;
if-nez v0, :cond_0
.line 142
new-instance v0, Landroid/text/TextPaint;
invoke-direct {v0}, Landroid/text/TextPaint;-><init>()V
sput-object v0, Landroidx/emoji2/text/TypefaceEmojiSpan;->sDebugPaint:Landroid/graphics/Paint;
.line 143
invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat;
move-result-object v1
invoke-virtual {v1}, Landroidx/emoji2/text/EmojiCompat;->getEmojiSpanIndicatorColor()I
move-result v1
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
sget-object v0, Landroidx/emoji2/text/TypefaceEmojiSpan;->sDebugPaint:Landroid/graphics/Paint;
.line 144
sget-object v1, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
:cond_0
sget-object v0, Landroidx/emoji2/text/TypefaceEmojiSpan;->sDebugPaint:Landroid/graphics/Paint;
return-object v0
.end method
# virtual methods
.method public draw(Landroid/graphics/Canvas;Ljava/lang/CharSequence;IIFIIILandroid/graphics/Paint;)V
.locals 13
.param p1 # Landroid/graphics/Canvas;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/CharSequence;
.annotation build Landroid/annotation/SuppressLint;
value = {
"UnknownNullness"
}
.end annotation
.end param
.param p3 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
.param p4 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x0L
.end annotation
.end param
.param p9 # Landroid/graphics/Paint;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
move/from16 v7, p5
move/from16 v8, p6
move/from16 v9, p8
move-object v10, p0
move-object v0, p2
move/from16 v1, p3
move/from16 v2, p4
move-object/from16 v11, p9
.line 61
invoke-direct {p0, p2, v1, v2, v11}, Landroidx/emoji2/text/TypefaceEmojiSpan;->applyCharacterSpanStyles(Ljava/lang/CharSequence;IILandroid/graphics/Paint;)Landroid/text/TextPaint;
move-result-object v12
if-eqz v12, :cond_0
.line 62
iget v0, v12, Landroid/text/TextPaint;->bgColor:I
if-eqz v0, :cond_0
.line 63
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiSpan;->getWidth()I
move-result v0
int-to-float v0, v0
add-float v4, v7, v0
int-to-float v5, v8
int-to-float v6, v9
move-object v0, p0
move-object v1, p1
move-object v2, v12
move/from16 v3, p5
invoke-virtual/range {v0 .. v6}, Landroidx/emoji2/text/TypefaceEmojiSpan;->drawBackground(Landroid/graphics/Canvas;Landroid/text/TextPaint;FFFF)V
.line 65
:cond_0
invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat;
move-result-object v0
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat;->isEmojiSpanIndicatorEnabled()Z
move-result v0
if-eqz v0, :cond_1
int-to-float v2, v8
.line 66
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiSpan;->getWidth()I
move-result v0
int-to-float v0, v0
add-float v3, v7, v0
int-to-float v4, v9
invoke-static {}, Landroidx/emoji2/text/TypefaceEmojiSpan;->getDebugPaint()Landroid/graphics/Paint;
move-result-object v5
move-object v0, p1
move/from16 v1, p5
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 68
:cond_1
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiSpan;->getTypefaceRasterizer()Landroidx/emoji2/text/TypefaceEmojiRasterizer;
move-result-object v0
move/from16 v1, p7
int-to-float v1, v1
move-object v2, p1
if-eqz v12, :cond_2
move-object v11, v12
:cond_2
invoke-virtual {v0, p1, v7, v1, v11}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->draw(Landroid/graphics/Canvas;FFLandroid/graphics/Paint;)V
return-void
.end method
.method public drawBackground(Landroid/graphics/Canvas;Landroid/text/TextPaint;FFFF)V
.locals 8
.line 74
invoke-virtual {p2}, Landroid/graphics/Paint;->getColor()I
move-result v0
.line 75
invoke-virtual {p2}, Landroid/graphics/Paint;->getStyle()Landroid/graphics/Paint$Style;
move-result-object v1
.line 77
iget v2, p2, Landroid/text/TextPaint;->bgColor:I
invoke-virtual {p2, v2}, Landroid/graphics/Paint;->setColor(I)V
.line 78
sget-object v2, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
invoke-virtual {p2, v2}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
move-object v2, p1
move v3, p3
move v4, p5
move v5, p4
move v6, p6
move-object v7, p2
.line 79
invoke-virtual/range {v2 .. v7}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 81
invoke-virtual {p2, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 82
invoke-virtual {p2, v0}, Landroid/graphics/Paint;->setColor(I)V
return-void
.end method

View File

@@ -0,0 +1,51 @@
.class Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$CharSequenceHelper_API24;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x18
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "CharSequenceHelper_API24"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 147
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static chars(Ljava/lang/CharSequence;)Ljava/util/stream/IntStream;
.locals 0
.line 156
invoke-interface {p0}, Ljava/lang/CharSequence;->chars()Ljava/util/stream/IntStream;
move-result-object p0
return-object p0
.end method
.method public static codePoints(Ljava/lang/CharSequence;)Ljava/util/stream/IntStream;
.locals 0
.line 152
invoke-interface {p0}, Ljava/lang/CharSequence;->codePoints()Ljava/util/stream/IntStream;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,36 @@
.class Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "PrecomputedTextDetector"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 165
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public isPrecomputedText(Ljava/lang/CharSequence;)Z
.locals 0
.line 168
instance-of p1, p1, Landroidx/core/text/PrecomputedTextCompat;
return p1
.end method

View File

@@ -0,0 +1,60 @@
.class Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector_28;
.super Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x1c
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "PrecomputedTextDetector_28"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 173
invoke-direct {p0}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector;-><init>()V
return-void
.end method
# virtual methods
.method public isPrecomputedText(Ljava/lang/CharSequence;)Z
.locals 1
.line 177
invoke-static {p1}, Landroidx/core/text/PrecomputedTextCompat$$ExternalSyntheticApiModelOutline0;->m(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_1
instance-of p1, p1, Landroidx/core/text/PrecomputedTextCompat;
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method

View File

@@ -0,0 +1,360 @@
.class Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/text/Spannable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector;,
Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$CharSequenceHelper_API24;,
Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector_28;
}
.end annotation
# instance fields
.field private mDelegate:Landroid/text/Spannable;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private mSafeToWrite:Z
# direct methods
.method public constructor <init>(Landroid/text/Spannable;)V
.locals 1
.param p1 # Landroid/text/Spannable;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 48
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mSafeToWrite:Z
iput-object p1, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
return-void
.end method
.method public constructor <init>(Landroid/text/Spanned;)V
.locals 1
.param p1 # Landroid/text/Spanned;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 52
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mSafeToWrite:Z
.line 53
new-instance v0, Landroid/text/SpannableString;
invoke-direct {v0, p1}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
iput-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
return-void
.end method
.method public constructor <init>(Ljava/lang/CharSequence;)V
.locals 1
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 56
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mSafeToWrite:Z
.line 57
new-instance v0, Landroid/text/SpannableString;
invoke-direct {v0, p1}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
iput-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
return-void
.end method
.method private ensureSafeWrites()V
.locals 2
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
iget-boolean v1, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mSafeToWrite:Z
if-nez v1, :cond_0
.line 62
invoke-static {}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->precomputedTextDetector()Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector;
move-result-object v1
invoke-virtual {v1, v0}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector;->isPrecomputedText(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_0
.line 63
new-instance v1, Landroid/text/SpannableString;
invoke-direct {v1, v0}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
iput-object v1, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
:cond_0
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mSafeToWrite:Z
return-void
.end method
.method public static precomputedTextDetector()Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector;
.locals 2
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-ge v0, v1, :cond_0
.line 162
new-instance v0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector;
invoke-direct {v0}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector;-><init>()V
goto :goto_0
:cond_0
new-instance v0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector_28;
invoke-direct {v0}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$PrecomputedTextDetector_28;-><init>()V
:goto_0
return-object v0
.end method
# virtual methods
.method public charAt(I)C
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 116
invoke-interface {v0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result p1
return p1
.end method
.method public chars()Ljava/util/stream/IntStream;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
api = 0x18
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 135
invoke-static {v0}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$CharSequenceHelper_API24;->chars(Ljava/lang/CharSequence;)Ljava/util/stream/IntStream;
move-result-object v0
return-object v0
.end method
.method public codePoints()Ljava/util/stream/IntStream;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
api = 0x18
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 142
invoke-static {v0}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable$CharSequenceHelper_API24;->codePoints(Ljava/lang/CharSequence;)Ljava/util/stream/IntStream;
move-result-object v0
return-object v0
.end method
.method public getSpanEnd(Ljava/lang/Object;)I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 96
invoke-interface {v0, p1}, Landroid/text/Spanned;->getSpanEnd(Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public getSpanFlags(Ljava/lang/Object;)I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 101
invoke-interface {v0, p1}, Landroid/text/Spanned;->getSpanFlags(Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public getSpanStart(Ljava/lang/Object;)I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 91
invoke-interface {v0, p1}, Landroid/text/Spanned;->getSpanStart(Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(II",
"Ljava/lang/Class<",
"TT;>;)[TT;"
}
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 86
invoke-interface {v0, p1, p2, p3}, Landroid/text/Spanned;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public getUnwrappedSpannable()Landroid/text/Spannable;
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
return-object v0
.end method
.method public length()I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 111
invoke-interface {v0}, Ljava/lang/CharSequence;->length()I
move-result v0
return v0
.end method
.method public nextSpanTransition(IILjava/lang/Class;)I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 106
invoke-interface {v0, p1, p2, p3}, Landroid/text/Spanned;->nextSpanTransition(IILjava/lang/Class;)I
move-result p1
return p1
.end method
.method public removeSpan(Ljava/lang/Object;)V
.locals 1
.line 80
invoke-direct {p0}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->ensureSafeWrites()V
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 81
invoke-interface {v0, p1}, Landroid/text/Spannable;->removeSpan(Ljava/lang/Object;)V
return-void
.end method
.method public setSpan(Ljava/lang/Object;III)V
.locals 1
.line 74
invoke-direct {p0}, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->ensureSafeWrites()V
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 75
invoke-interface {v0, p1, p2, p3, p4}, Landroid/text/Spannable;->setSpan(Ljava/lang/Object;III)V
return-void
.end method
.method public subSequence(II)Ljava/lang/CharSequence;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 122
invoke-interface {v0, p1, p2}, Ljava/lang/CharSequence;->subSequence(II)Ljava/lang/CharSequence;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/emoji2/text/UnprecomputeTextOnModificationSpannable;->mDelegate:Landroid/text/Spannable;
.line 128
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,906 @@
.class public Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/flatbuffer/ReadWriteBuf;
# instance fields
.field private buffer:[B
.field private writePos:I
# direct methods
.method public constructor <init>()V
.locals 1
const/16 v0, 0xa
.line 20
invoke-direct {p0, v0}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;-><init>(I)V
return-void
.end method
.method public constructor <init>(I)V
.locals 0
.line 24
new-array p1, p1, [B
invoke-direct {p0, p1}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;-><init>([B)V
return-void
.end method
.method public constructor <init>([B)V
.locals 0
.line 27
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
const/4 p1, 0x0
iput p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
.method public constructor <init>([BI)V
.locals 0
.line 32
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
iput p2, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
# virtual methods
.method public data()[B
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
return-object v0
.end method
.method public get(I)B
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
.line 44
aget-byte p1, v0, p1
return p1
.end method
.method public getBoolean(I)Z
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
.line 39
aget-byte p1, v0, p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public getDouble(I)D
.locals 2
.line 79
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->getLong(I)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v0
return-wide v0
.end method
.method public getFloat(I)F
.locals 0
.line 74
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->getInt(I)I
move-result p1
invoke-static {p1}, Ljava/lang/Float;->intBitsToFloat(I)F
move-result p1
return p1
.end method
.method public getInt(I)I
.locals 3
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
add-int/lit8 v1, p1, 0x3
.line 54
aget-byte v1, v0, v1
shl-int/lit8 v1, v1, 0x18
add-int/lit8 v2, p1, 0x2
aget-byte v2, v0, v2
and-int/lit16 v2, v2, 0xff
shl-int/lit8 v2, v2, 0x10
or-int/2addr v1, v2
add-int/lit8 v2, p1, 0x1
aget-byte v2, v0, v2
and-int/lit16 v2, v2, 0xff
shl-int/lit8 v2, v2, 0x8
or-int/2addr v1, v2
aget-byte p1, v0, p1
and-int/lit16 p1, p1, 0xff
or-int/2addr p1, v1
return p1
.end method
.method public getLong(I)J
.locals 9
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
add-int/lit8 v1, p1, 0x1
.line 62
aget-byte v2, v0, p1
int-to-long v2, v2
const-wide/16 v4, 0xff
and-long/2addr v2, v4
add-int/lit8 v6, p1, 0x2
aget-byte v1, v0, v1
int-to-long v7, v1
and-long/2addr v7, v4
const/16 v1, 0x8
shl-long/2addr v7, v1
or-long v1, v2, v7
add-int/lit8 v3, p1, 0x3
aget-byte v6, v0, v6
int-to-long v6, v6
and-long/2addr v6, v4
const/16 v8, 0x10
shl-long/2addr v6, v8
or-long/2addr v1, v6
add-int/lit8 v6, p1, 0x4
aget-byte v3, v0, v3
int-to-long v7, v3
and-long/2addr v7, v4
const/16 v3, 0x18
shl-long/2addr v7, v3
or-long/2addr v1, v7
add-int/lit8 v3, p1, 0x5
aget-byte v6, v0, v6
int-to-long v6, v6
and-long/2addr v6, v4
const/16 v8, 0x20
shl-long/2addr v6, v8
or-long/2addr v1, v6
add-int/lit8 v6, p1, 0x6
aget-byte v3, v0, v3
int-to-long v7, v3
and-long/2addr v7, v4
const/16 v3, 0x28
shl-long/2addr v7, v3
or-long/2addr v1, v7
add-int/lit8 p1, p1, 0x7
aget-byte v3, v0, v6
int-to-long v6, v3
and-long v3, v6, v4
const/16 v5, 0x30
shl-long/2addr v3, v5
or-long/2addr v1, v3
aget-byte p1, v0, p1
int-to-long v3, p1
const/16 p1, 0x38
shl-long/2addr v3, p1
or-long v0, v1, v3
return-wide v0
.end method
.method public getShort(I)S
.locals 2
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
add-int/lit8 v1, p1, 0x1
.line 49
aget-byte v1, v0, v1
shl-int/lit8 v1, v1, 0x8
aget-byte p1, v0, p1
and-int/lit16 p1, p1, 0xff
or-int/2addr p1, v1
int-to-short p1, p1
return p1
.end method
.method public getString(II)Ljava/lang/String;
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
.line 84
invoke-static {v0, p1, p2}, Landroidx/emoji2/text/flatbuffer/Utf8Safe;->decodeUtf8Array([BII)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public limit()I
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return v0
.end method
.method public put(B)V
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
.line 107
invoke-virtual {p0, v0, p1}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->set(IB)V
iget p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
.method public put([BII)V
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
.line 101
invoke-virtual {p0, v0, p1, p2, p3}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->set(I[BII)V
iget p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
add-int/2addr p1, p3
iput p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
.method public putBoolean(Z)V
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
.line 95
invoke-virtual {p0, v0, p1}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->setBoolean(IZ)V
iget p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
.method public putDouble(D)V
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
.line 137
invoke-virtual {p0, v0, p1, p2}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->setDouble(ID)V
iget p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
add-int/lit8 p1, p1, 0x8
iput p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
.method public putFloat(F)V
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
.line 131
invoke-virtual {p0, v0, p1}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->setFloat(IF)V
iget p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
add-int/lit8 p1, p1, 0x4
iput p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
.method public putInt(I)V
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
.line 119
invoke-virtual {p0, v0, p1}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->setInt(II)V
iget p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
add-int/lit8 p1, p1, 0x4
iput p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
.method public putLong(J)V
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
.line 125
invoke-virtual {p0, v0, p1, p2}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->setLong(IJ)V
iget p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
add-int/lit8 p1, p1, 0x8
iput p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
.method public putShort(S)V
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
.line 113
invoke-virtual {p0, v0, p1}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->setShort(IS)V
iget p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
add-int/lit8 p1, p1, 0x2
iput p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return-void
.end method
.method public requestCapacity(I)Z
.locals 3
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
.line 232
array-length v1, v0
const/4 v2, 0x1
if-le v1, p1, :cond_0
return v2
.line 236
:cond_0
array-length p1, v0
shr-int/lit8 v1, p1, 0x1
add-int/2addr p1, v1
.line 238
invoke-static {v0, p1}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object p1
iput-object p1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
return v2
.end method
.method public set(IB)V
.locals 1
add-int/lit8 v0, p1, 0x1
.line 148
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
.line 149
aput-byte p2, v0, p1
return-void
.end method
.method public set(I[BII)V
.locals 1
sub-int v0, p4, p3
add-int/2addr v0, p1
.line 154
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
.line 155
invoke-static {p2, p3, v0, p1, p4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
return-void
.end method
.method public setBoolean(IZ)V
.locals 0
.line 143
invoke-virtual {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->set(IB)V
return-void
.end method
.method public setDouble(ID)V
.locals 5
add-int/lit8 v0, p1, 0x8
.line 205
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->requestCapacity(I)Z
.line 207
invoke-static {p2, p3}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p2
long-to-int v0, p2
iget-object v1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
add-int/lit8 v2, p1, 0x1
and-int/lit16 v3, v0, 0xff
int-to-byte v3, v3
.line 209
aput-byte v3, v1, p1
add-int/lit8 v3, p1, 0x2
shr-int/lit8 v4, v0, 0x8
and-int/lit16 v4, v4, 0xff
int-to-byte v4, v4
.line 210
aput-byte v4, v1, v2
add-int/lit8 v2, p1, 0x3
shr-int/lit8 v4, v0, 0x10
and-int/lit16 v4, v4, 0xff
int-to-byte v4, v4
.line 211
aput-byte v4, v1, v3
add-int/lit8 v3, p1, 0x4
shr-int/lit8 v0, v0, 0x18
and-int/lit16 v0, v0, 0xff
int-to-byte v0, v0
.line 212
aput-byte v0, v1, v2
const/16 v0, 0x20
shr-long/2addr p2, v0
long-to-int p2, p2
add-int/lit8 p3, p1, 0x5
and-int/lit16 v0, p2, 0xff
int-to-byte v0, v0
.line 214
aput-byte v0, v1, v3
add-int/lit8 v0, p1, 0x6
shr-int/lit8 v2, p2, 0x8
and-int/lit16 v2, v2, 0xff
int-to-byte v2, v2
.line 215
aput-byte v2, v1, p3
add-int/lit8 p1, p1, 0x7
shr-int/lit8 p3, p2, 0x10
and-int/lit16 p3, p3, 0xff
int-to-byte p3, p3
.line 216
aput-byte p3, v1, v0
shr-int/lit8 p2, p2, 0x18
and-int/lit16 p2, p2, 0xff
int-to-byte p2, p2
.line 217
aput-byte p2, v1, p1
return-void
.end method
.method public setFloat(IF)V
.locals 4
add-int/lit8 v0, p1, 0x4
.line 194
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->requestCapacity(I)Z
.line 196
invoke-static {p2}, Ljava/lang/Float;->floatToRawIntBits(F)I
move-result p2
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
add-int/lit8 v1, p1, 0x1
and-int/lit16 v2, p2, 0xff
int-to-byte v2, v2
.line 197
aput-byte v2, v0, p1
add-int/lit8 v2, p1, 0x2
shr-int/lit8 v3, p2, 0x8
and-int/lit16 v3, v3, 0xff
int-to-byte v3, v3
.line 198
aput-byte v3, v0, v1
add-int/lit8 p1, p1, 0x3
shr-int/lit8 v1, p2, 0x10
and-int/lit16 v1, v1, 0xff
int-to-byte v1, v1
.line 199
aput-byte v1, v0, v2
shr-int/lit8 p2, p2, 0x18
and-int/lit16 p2, p2, 0xff
int-to-byte p2, p2
.line 200
aput-byte p2, v0, p1
return-void
.end method
.method public setInt(II)V
.locals 4
add-int/lit8 v0, p1, 0x4
.line 168
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
add-int/lit8 v1, p1, 0x1
and-int/lit16 v2, p2, 0xff
int-to-byte v2, v2
.line 170
aput-byte v2, v0, p1
add-int/lit8 v2, p1, 0x2
shr-int/lit8 v3, p2, 0x8
and-int/lit16 v3, v3, 0xff
int-to-byte v3, v3
.line 171
aput-byte v3, v0, v1
add-int/lit8 p1, p1, 0x3
shr-int/lit8 v1, p2, 0x10
and-int/lit16 v1, v1, 0xff
int-to-byte v1, v1
.line 172
aput-byte v1, v0, v2
shr-int/lit8 p2, p2, 0x18
and-int/lit16 p2, p2, 0xff
int-to-byte p2, p2
.line 173
aput-byte p2, v0, p1
return-void
.end method
.method public setLong(IJ)V
.locals 5
add-int/lit8 v0, p1, 0x8
.line 178
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->requestCapacity(I)Z
long-to-int v0, p2
iget-object v1, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
add-int/lit8 v2, p1, 0x1
and-int/lit16 v3, v0, 0xff
int-to-byte v3, v3
.line 181
aput-byte v3, v1, p1
add-int/lit8 v3, p1, 0x2
shr-int/lit8 v4, v0, 0x8
and-int/lit16 v4, v4, 0xff
int-to-byte v4, v4
.line 182
aput-byte v4, v1, v2
add-int/lit8 v2, p1, 0x3
shr-int/lit8 v4, v0, 0x10
and-int/lit16 v4, v4, 0xff
int-to-byte v4, v4
.line 183
aput-byte v4, v1, v3
add-int/lit8 v3, p1, 0x4
shr-int/lit8 v0, v0, 0x18
and-int/lit16 v0, v0, 0xff
int-to-byte v0, v0
.line 184
aput-byte v0, v1, v2
const/16 v0, 0x20
shr-long/2addr p2, v0
long-to-int p2, p2
add-int/lit8 p3, p1, 0x5
and-int/lit16 v0, p2, 0xff
int-to-byte v0, v0
.line 186
aput-byte v0, v1, v3
add-int/lit8 v0, p1, 0x6
shr-int/lit8 v2, p2, 0x8
and-int/lit16 v2, v2, 0xff
int-to-byte v2, v2
.line 187
aput-byte v2, v1, p3
add-int/lit8 p1, p1, 0x7
shr-int/lit8 p3, p2, 0x10
and-int/lit16 p3, p3, 0xff
int-to-byte p3, p3
.line 188
aput-byte p3, v1, v0
shr-int/lit8 p2, p2, 0x18
and-int/lit16 p2, p2, 0xff
int-to-byte p2, p2
.line 189
aput-byte p2, v1, p1
return-void
.end method
.method public setShort(IS)V
.locals 3
add-int/lit8 v0, p1, 0x2
.line 160
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->buffer:[B
add-int/lit8 v1, p1, 0x1
and-int/lit16 v2, p2, 0xff
int-to-byte v2, v2
.line 162
aput-byte v2, v0, p1
shr-int/lit8 p1, p2, 0x8
and-int/lit16 p1, p1, 0xff
int-to-byte p1, p1
.line 163
aput-byte p1, v0, v1
return-void
.end method
.method public writePosition()I
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;->writePos:I
return v0
.end method

View File

@@ -0,0 +1,104 @@
.class public Landroidx/emoji2/text/flatbuffer/BaseVector;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field protected bb:Ljava/nio/ByteBuffer;
.field private element_size:I
.field private length:I
.field private vector:I
# direct methods
.method public constructor <init>()V
.locals 0
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public __element(I)I
.locals 2
iget v0, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->vector:I
iget v1, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->element_size:I
mul-int/2addr p1, v1
add-int/2addr v0, p1
return v0
.end method
.method public __reset(IILjava/nio/ByteBuffer;)V
.locals 0
iput-object p3, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->bb:Ljava/nio/ByteBuffer;
if-eqz p3, :cond_0
iput p1, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->vector:I
add-int/lit8 p1, p1, -0x4
.line 66
invoke-virtual {p3, p1}, Ljava/nio/ByteBuffer;->getInt(I)I
move-result p1
iput p1, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->length:I
iput p2, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->element_size:I
goto :goto_0
:cond_0
const/4 p1, 0x0
iput p1, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->vector:I
iput p1, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->length:I
iput p1, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->element_size:I
:goto_0
return-void
.end method
.method public __vector()I
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->vector:I
return v0
.end method
.method public length()I
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->length:I
return v0
.end method
.method public reset()V
.locals 2
const/4 v0, 0x0
const/4 v1, 0x0
.line 83
invoke-virtual {p0, v0, v0, v1}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__reset(IILjava/nio/ByteBuffer;)V
return-void
.end method

View File

@@ -0,0 +1,54 @@
.class public final Landroidx/emoji2/text/flatbuffer/BooleanVector;
.super Landroidx/emoji2/text/flatbuffer/BaseVector;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 27
invoke-direct {p0}, Landroidx/emoji2/text/flatbuffer/BaseVector;-><init>()V
return-void
.end method
# virtual methods
.method public __assign(ILjava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/BooleanVector;
.locals 1
const/4 v0, 0x1
.line 37
invoke-virtual {p0, p1, v0, p2}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__reset(IILjava/nio/ByteBuffer;)V
return-object p0
.end method
.method public get(I)Z
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->bb:Ljava/nio/ByteBuffer;
.line 47
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__element(I)I
move-result p1
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->get(I)B
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method

View File

@@ -0,0 +1,432 @@
.class public Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/emoji2/text/flatbuffer/ReadWriteBuf;
# instance fields
.field private final buffer:Ljava/nio/ByteBuffer;
# direct methods
.method public constructor <init>(Ljava/nio/ByteBuffer;)V
.locals 1
.line 10
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 12
sget-object v0, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
return-void
.end method
# virtual methods
.method public data()[B
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 57
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v0
return-object v0
.end method
.method public get(I)B
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 22
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->get(I)B
move-result p1
return p1
.end method
.method public getBoolean(I)Z
.locals 0
.line 17
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->get(I)B
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public getDouble(I)D
.locals 2
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 47
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->getDouble(I)D
move-result-wide v0
return-wide v0
.end method
.method public getFloat(I)F
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 42
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->getFloat(I)F
move-result p1
return p1
.end method
.method public getInt(I)I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 32
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->getInt(I)I
move-result p1
return p1
.end method
.method public getLong(I)J
.locals 2
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 37
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->getLong(I)J
move-result-wide v0
return-wide v0
.end method
.method public getShort(I)S
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 27
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->getShort(I)S
move-result p1
return p1
.end method
.method public getString(II)Ljava/lang/String;
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 52
invoke-static {v0, p1, p2}, Landroidx/emoji2/text/flatbuffer/Utf8Safe;->decodeUtf8Buffer(Ljava/nio/ByteBuffer;II)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public limit()I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 157
invoke-virtual {v0}, Ljava/nio/Buffer;->limit()I
move-result v0
return v0
.end method
.method public put(B)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 72
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
return-void
.end method
.method public put([BII)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 67
invoke-virtual {v0, p1, p2, p3}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
return-void
.end method
.method public putBoolean(Z)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 62
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
return-void
.end method
.method public putDouble(D)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 97
invoke-virtual {v0, p1, p2}, Ljava/nio/ByteBuffer;->putDouble(D)Ljava/nio/ByteBuffer;
return-void
.end method
.method public putFloat(F)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 92
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->putFloat(F)Ljava/nio/ByteBuffer;
return-void
.end method
.method public putInt(I)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 82
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
return-void
.end method
.method public putLong(J)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 87
invoke-virtual {v0, p1, p2}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
return-void
.end method
.method public putShort(S)V
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 77
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
return-void
.end method
.method public requestCapacity(I)Z
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 162
invoke-virtual {v0}, Ljava/nio/Buffer;->limit()I
move-result v0
if-gt p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public set(IB)V
.locals 1
add-int/lit8 v0, p1, 0x1
.line 107
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 108
invoke-virtual {v0, p1, p2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
return-void
.end method
.method public set(I[BII)V
.locals 2
sub-int v0, p4, p3
add-int/2addr v0, p1
.line 113
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 114
invoke-virtual {v0}, Ljava/nio/Buffer;->position()I
move-result v0
iget-object v1, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 115
invoke-virtual {v1, p1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
iget-object p1, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 116
invoke-virtual {p1, p2, p3, p4}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
iget-object p1, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 117
invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
return-void
.end method
.method public setBoolean(IZ)V
.locals 0
.line 102
invoke-virtual {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->set(IB)V
return-void
.end method
.method public setDouble(ID)V
.locals 1
add-int/lit8 v0, p1, 0x8
.line 146
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 147
invoke-virtual {v0, p1, p2, p3}, Ljava/nio/ByteBuffer;->putDouble(ID)Ljava/nio/ByteBuffer;
return-void
.end method
.method public setFloat(IF)V
.locals 1
add-int/lit8 v0, p1, 0x4
.line 140
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 141
invoke-virtual {v0, p1, p2}, Ljava/nio/ByteBuffer;->putFloat(IF)Ljava/nio/ByteBuffer;
return-void
.end method
.method public setInt(II)V
.locals 1
add-int/lit8 v0, p1, 0x4
.line 128
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 129
invoke-virtual {v0, p1, p2}, Ljava/nio/ByteBuffer;->putInt(II)Ljava/nio/ByteBuffer;
return-void
.end method
.method public setLong(IJ)V
.locals 1
add-int/lit8 v0, p1, 0x8
.line 134
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 135
invoke-virtual {v0, p1, p2, p3}, Ljava/nio/ByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer;
return-void
.end method
.method public setShort(IS)V
.locals 1
add-int/lit8 v0, p1, 0x2
.line 122
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->requestCapacity(I)Z
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 123
invoke-virtual {v0, p1, p2}, Ljava/nio/ByteBuffer;->putShort(IS)Ljava/nio/ByteBuffer;
return-void
.end method
.method public writePosition()I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;->buffer:Ljava/nio/ByteBuffer;
.line 152
invoke-virtual {v0}, Ljava/nio/Buffer;->position()I
move-result v0
return v0
.end method

View File

@@ -0,0 +1,49 @@
.class public Landroidx/emoji2/text/flatbuffer/ByteBufferUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 30
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getSizePrefix(Ljava/nio/ByteBuffer;)I
.locals 1
.line 39
invoke-virtual {p0}, Ljava/nio/Buffer;->position()I
move-result v0
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->getInt(I)I
move-result p0
return p0
.end method
.method public static removeSizePrefix(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.locals 1
.line 51
invoke-virtual {p0}, Ljava/nio/ByteBuffer;->duplicate()Ljava/nio/ByteBuffer;
move-result-object p0
.line 52
invoke-virtual {p0}, Ljava/nio/Buffer;->position()I
move-result v0
add-int/lit8 v0, v0, 0x4
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
return-object p0
.end method

View File

@@ -0,0 +1,57 @@
.class public final Landroidx/emoji2/text/flatbuffer/ByteVector;
.super Landroidx/emoji2/text/flatbuffer/BaseVector;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 27
invoke-direct {p0}, Landroidx/emoji2/text/flatbuffer/BaseVector;-><init>()V
return-void
.end method
# virtual methods
.method public __assign(ILjava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/ByteVector;
.locals 1
const/4 v0, 0x1
.line 37
invoke-virtual {p0, p1, v0, p2}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__reset(IILjava/nio/ByteBuffer;)V
return-object p0
.end method
.method public get(I)B
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->bb:Ljava/nio/ByteBuffer;
.line 47
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__element(I)I
move-result p1
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->get(I)B
move-result p1
return p1
.end method
.method public getAsUnsigned(I)I
.locals 0
.line 58
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/ByteVector;->get(I)B
move-result p1
and-int/lit16 p1, p1, 0xff
return p1
.end method

View File

@@ -0,0 +1,38 @@
.class public Landroidx/emoji2/text/flatbuffer/Constants;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field static final FILE_IDENTIFIER_LENGTH:I = 0x4
.field static final SIZEOF_BYTE:I = 0x1
.field static final SIZEOF_DOUBLE:I = 0x8
.field static final SIZEOF_FLOAT:I = 0x4
.field static final SIZEOF_INT:I = 0x4
.field static final SIZEOF_LONG:I = 0x8
.field static final SIZEOF_SHORT:I = 0x2
.field public static final SIZE_PREFIX_LENGTH:I = 0x4
# direct methods
.method public constructor <init>()V
.locals 0
.line 24
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static FLATBUFFERS_1_12_0()V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,44 @@
.class public final Landroidx/emoji2/text/flatbuffer/DoubleVector;
.super Landroidx/emoji2/text/flatbuffer/BaseVector;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 27
invoke-direct {p0}, Landroidx/emoji2/text/flatbuffer/BaseVector;-><init>()V
return-void
.end method
# virtual methods
.method public __assign(ILjava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/DoubleVector;
.locals 1
const/16 v0, 0x8
.line 37
invoke-virtual {p0, p1, v0, p2}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__reset(IILjava/nio/ByteBuffer;)V
return-object p0
.end method
.method public get(I)D
.locals 2
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->bb:Ljava/nio/ByteBuffer;
.line 47
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__element(I)I
move-result p1
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->getDouble(I)D
move-result-wide v0
return-wide v0
.end method

View File

@@ -0,0 +1,61 @@
.class Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$ByteBufferBackedInputStream;
.super Ljava/io/InputStream;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ByteBufferBackedInputStream"
.end annotation
# instance fields
.field buf:Ljava/nio/ByteBuffer;
# direct methods
.method public constructor <init>(Ljava/nio/ByteBuffer;)V
.locals 0
.line 1041
invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$ByteBufferBackedInputStream;->buf:Ljava/nio/ByteBuffer;
return-void
.end method
# virtual methods
.method public read()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:try_start_0
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$ByteBufferBackedInputStream;->buf:Ljava/nio/ByteBuffer;
.line 1047
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->get()B
move-result v0
:try_end_0
.catch Ljava/nio/BufferUnderflowException; {:try_start_0 .. :try_end_0} :catch_0
and-int/lit16 v0, v0, 0xff
return v0
:catch_0
const/4 v0, -0x1
return v0
.end method

View File

@@ -0,0 +1,36 @@
.class public abstract Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$ByteBufferFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "ByteBufferFactory"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 163
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abstract newByteBuffer(I)Ljava/nio/ByteBuffer;
.end method
.method public releaseByteBuffer(Ljava/nio/ByteBuffer;)V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,61 @@
.class public final Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$HeapByteBufferFactory;
.super Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$ByteBufferFactory;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "HeapByteBufferFactory"
.end annotation
# static fields
.field public static final INSTANCE:Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$HeapByteBufferFactory;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 194
new-instance v0, Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$HeapByteBufferFactory;
invoke-direct {v0}, Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$HeapByteBufferFactory;-><init>()V
sput-object v0, Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$HeapByteBufferFactory;->INSTANCE:Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$HeapByteBufferFactory;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 192
invoke-direct {p0}, Landroidx/emoji2/text/flatbuffer/FlatBufferBuilder$ByteBufferFactory;-><init>()V
return-void
.end method
# virtual methods
.method public newByteBuffer(I)Ljava/nio/ByteBuffer;
.locals 1
.line 198
invoke-static {p1}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object p1
sget-object v0, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
move-result-object p1
return-object p1
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,215 @@
.class public Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;
.super Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Blob"
.end annotation
# static fields
.field static final synthetic $assertionsDisabled:Z
.field static final EMPTY:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 674
new-instance v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;
invoke-static {}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->access$000()Landroidx/emoji2/text/flatbuffer/ReadBuf;
move-result-object v1
const/4 v2, 0x1
invoke-direct {v0, v1, v2, v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
sput-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;->EMPTY:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;
return-void
.end method
.method public constructor <init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
.locals 0
.line 677
invoke-direct {p0, p1, p2, p3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
return-void
.end method
.method public static empty()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;
.locals 1
sget-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;->EMPTY:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;
return-object v0
.end method
# virtual methods
.method public data()Ljava/nio/ByteBuffer;
.locals 3
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
.line 690
invoke-interface {v0}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->data()[B
move-result-object v0
invoke-static {v0}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v0
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
.line 691
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
.line 692
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;->size()I
move-result v2
add-int/2addr v1, v2
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 693
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->asReadOnlyBuffer()Ljava/nio/ByteBuffer;
move-result-object v0
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer;
move-result-object v0
return-object v0
.end method
.method public get(I)B
.locals 2
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
add-int/2addr v1, p1
.line 715
invoke-interface {v0, v1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result p1
return p1
.end method
.method public getBytes()[B
.locals 5
.line 701
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;->size()I
move-result v0
.line 702
new-array v1, v0, [B
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_0
iget-object v3, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v4, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
add-int/2addr v4, v2
.line 704
invoke-interface {v3, v4}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result v3
aput-byte v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-object v1
.end method
.method public bridge synthetic size()I
.locals 1
.line 673
invoke-super {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;->size()I
move-result v0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
.line 723
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;->size()I
move-result v2
invoke-interface {v0, v1, v2}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getString(II)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public toString(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
.locals 4
const/16 v0, 0x22
.line 731
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
.line 732
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;->size()I
move-result v3
invoke-interface {v1, v2, v3}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getString(II)Ljava/lang/String;
move-result-object v1
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 733
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-object p1
.end method

View File

@@ -0,0 +1,25 @@
.class public Landroidx/emoji2/text/flatbuffer/FlexBuffers$FlexBufferException;
.super Ljava/lang/RuntimeException;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "FlexBufferException"
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
.line 1083
invoke-direct {p0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
return-void
.end method

View File

@@ -0,0 +1,205 @@
.class public Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
.super Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Key"
.end annotation
# static fields
.field private static final EMPTY:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 743
new-instance v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
invoke-static {}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->access$000()Landroidx/emoji2/text/flatbuffer/ReadBuf;
move-result-object v1
const/4 v2, 0x0
invoke-direct {v0, v1, v2, v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
sput-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;->EMPTY:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
return-void
.end method
.method public constructor <init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
.locals 0
.line 746
invoke-direct {p0, p1, p2, p3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
return-void
.end method
.method public static synthetic access$700()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
.locals 1
sget-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;->EMPTY:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
return-object v0
.end method
.method public static empty()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
.locals 1
sget-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;->EMPTY:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
return-object v0
.end method
# virtual methods
.method public compareTo([B)I
.locals 5
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
const/4 v1, 0x0
:cond_0
iget-object v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
.line 782
invoke-interface {v2, v0}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result v2
.line 783
aget-byte v3, p1, v1
if-nez v2, :cond_1
sub-int/2addr v2, v3
return v2
:cond_1
add-int/lit8 v0, v0, 0x1
add-int/lit8 v1, v1, 0x1
.line 788
array-length v4, p1
if-ne v1, v4, :cond_2
sub-int/2addr v2, v3
return v2
:cond_2
if-eq v2, v3, :cond_0
sub-int/2addr v2, v3
return v2
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 3
.line 805
instance-of v0, p1, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 808
:cond_0
check-cast p1, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
iget v0, p1, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
iget v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
if-ne v0, v2, :cond_1
iget p1, p1, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
if-ne p1, v0, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.end method
.method public hashCode()I
.locals 2
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
xor-int/2addr v0, v1
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
:goto_0
iget-object v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
.line 769
invoke-interface {v1, v0}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result v1
if-nez v1, :cond_0
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
sub-int/2addr v0, v1
iget-object v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
.line 774
invoke-interface {v2, v1, v0}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getString(II)Ljava/lang/String;
move-result-object v0
return-object v0
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.end method
.method public toString(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
.locals 1
.line 762
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return-object p1
.end method

View File

@@ -0,0 +1,163 @@
.class public Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "KeyVector"
.end annotation
# instance fields
.field private final vec:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;)V
.locals 0
.line 1039
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->vec:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
return-void
.end method
# virtual methods
.method public get(I)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
.locals 3
.line 1050
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->size()I
move-result v0
if-lt p1, v0, :cond_0
.line 1051
invoke-static {}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;->access$700()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
move-result-object p1
return-object p1
:cond_0
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->vec:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
.line 1052
iget v1, v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
iget v0, v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
mul-int/2addr p1, v0
add-int/2addr v1, p1
.line 1053
new-instance p1, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->vec:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
iget-object v2, v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v0, v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
invoke-static {v2, v1, v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->access$200(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
move-result v0
const/4 v1, 0x1
invoke-direct {p1, v2, v0, v1}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
return-object p1
.end method
.method public size()I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->vec:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
.line 1062
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->size()I
move-result v0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.line 1069
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/16 v1, 0x5b
.line 1070
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v1, 0x0
:goto_0
iget-object v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->vec:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
.line 1071
invoke-virtual {v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->size()I
move-result v2
if-ge v1, v2, :cond_1
iget-object v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->vec:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
.line 1072
invoke-virtual {v2, v1}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;->get(I)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
move-result-object v2
invoke-virtual {v2, v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;->toString(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
iget-object v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->vec:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
.line 1073
invoke-virtual {v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->size()I
move-result v2
add-int/lit8 v2, v2, -0x1
if-eq v1, v2, :cond_0
const-string v2, ", "
.line 1074
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
const-string v1, "]"
.line 1077
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,315 @@
.class public Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;
.super Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Map"
.end annotation
# static fields
.field private static final EMPTY_MAP:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 820
new-instance v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;
invoke-static {}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->access$000()Landroidx/emoji2/text/flatbuffer/ReadBuf;
move-result-object v1
const/4 v2, 0x1
invoke-direct {v0, v1, v2, v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
sput-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;->EMPTY_MAP:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;
return-void
.end method
.method public constructor <init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
.locals 0
.line 823
invoke-direct {p0, p1, p2, p3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
return-void
.end method
.method private binarySearch(Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;[B)I
.locals 4
.line 903
invoke-virtual {p1}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
const/4 v1, 0x0
:goto_0
if-gt v1, v0, :cond_2
add-int v2, v1, v0
ushr-int/lit8 v2, v2, 0x1
.line 907
invoke-virtual {p1, v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->get(I)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
move-result-object v3
.line 908
invoke-virtual {v3, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;->compareTo([B)I
move-result v3
if-gez v3, :cond_0
add-int/lit8 v2, v2, 0x1
move v1, v2
goto :goto_0
:cond_0
if-lez v3, :cond_1
add-int/lit8 v2, v2, -0x1
move v0, v2
goto :goto_0
:cond_1
return v2
:cond_2
add-int/lit8 v1, v1, 0x1
neg-int p1, v1
return p1
.end method
.method public static empty()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;
.locals 1
sget-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;->EMPTY_MAP:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;
return-object v0
.end method
# virtual methods
.method public get(Ljava/lang/String;)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
.locals 1
.line 839
sget-object v0, Ljava/nio/charset/StandardCharsets;->UTF_8:Ljava/nio/charset/Charset;
invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;->get([B)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
move-result-object p1
return-object p1
.end method
.method public get([B)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
.locals 2
.line 847
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;->keys()Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;
move-result-object v0
.line 848
invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->size()I
move-result v1
.line 849
invoke-direct {p0, v0, p1}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;->binarySearch(Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;[B)I
move-result p1
if-ltz p1, :cond_0
if-ge p1, v1, :cond_0
.line 851
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->get(I)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
move-result-object p1
return-object p1
.line 853
:cond_0
invoke-static {}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;->access$600()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
move-result-object p1
return-object p1
.end method
.method public keys()Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;
.locals 7
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
mul-int/lit8 v1, v1, 0x3
sub-int/2addr v0, v1
.line 864
new-instance v1, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;
new-instance v2, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
iget-object v3, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v4, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
.line 865
invoke-static {v3, v0, v4}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->access$200(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
move-result v4
iget-object v5, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v6, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
add-int/2addr v0, v6
.line 866
invoke-static {v5, v0, v6}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->access$100(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
move-result v0
const/4 v5, 0x4
invoke-direct {v2, v3, v4, v0, v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;III)V
invoke-direct {v1, v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;-><init>(Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;)V
return-object v1
.end method
.method public toString(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
.locals 5
const-string v0, "{ "
.line 884
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 885
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;->keys()Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;
move-result-object v0
.line 886
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->size()I
move-result v1
.line 887
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;->values()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
move-result-object v2
const/4 v3, 0x0
:goto_0
if-ge v3, v1, :cond_1
const/16 v4, 0x22
.line 889
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 890
invoke-virtual {v0, v3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;->get(I)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;
move-result-object v4
invoke-virtual {v4}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, "\" : "
.line 891
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 892
invoke-virtual {v2, v3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->get(I)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
move-result-object v4
invoke-virtual {v4}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v4, v1, -0x1
if-eq v3, v4, :cond_0
const-string v4, ", "
.line 894
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_0
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_1
const-string v0, " }"
.line 896
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return-object p1
.end method
.method public values()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
.locals 4
.line 874
new-instance v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
iget-object v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
iget v3, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
invoke-direct {v0, v1, v2, v3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
return-object v0
.end method

View File

@@ -0,0 +1,65 @@
.class abstract Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "Object"
.end annotation
# instance fields
.field bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
.field byteWidth:I
.field end:I
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
.locals 0
.line 637
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iput p2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
iput p3, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
return-void
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.locals 2
.line 645
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x80
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
invoke-virtual {p0, v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->toString(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public abstract toString(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,50 @@
.class abstract Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;
.super Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "Sized"
.end annotation
# instance fields
.field protected final size:I
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
.locals 0
.line 657
invoke-direct {p0, p1, p2, p3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
iget-object p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
sub-int/2addr p2, p3
.line 658
invoke-static {p1, p2, p3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->access$100(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
move-result p1
iput p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;->size:I
return-void
.end method
# virtual methods
.method public size()I
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;->size:I
return v0
.end method

View File

@@ -0,0 +1,134 @@
.class public Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
.super Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "TypedVector"
.end annotation
# static fields
.field private static final EMPTY_VECTOR:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
# instance fields
.field private final elemType:I
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 986
new-instance v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
invoke-static {}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->access$000()Landroidx/emoji2/text/flatbuffer/ReadBuf;
move-result-object v1
const/4 v2, 0x1
invoke-direct {v0, v1, v2, v2, v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;III)V
sput-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;->EMPTY_VECTOR:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
return-void
.end method
.method public constructor <init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;III)V
.locals 0
.line 991
invoke-direct {p0, p1, p2, p3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
iput p4, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;->elemType:I
return-void
.end method
.method public static empty()Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
.locals 1
sget-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;->EMPTY_VECTOR:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
return-object v0
.end method
# virtual methods
.method public get(I)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
.locals 7
.line 1025
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->size()I
move-result v0
if-lt p1, v0, :cond_0
.line 1026
invoke-static {}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;->access$600()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
move-result-object p1
return-object p1
:cond_0
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
mul-int/2addr p1, v1
add-int v3, v0, p1
.line 1028
new-instance p1, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
iget-object v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v4, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
const/4 v5, 0x1
iget v6, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;->elemType:I
move-object v1, p1
invoke-direct/range {v1 .. v6}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;IIII)V
return-object p1
.end method
.method public getElemType()I
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;->elemType:I
return v0
.end method
.method public isEmptyVector()Z
.locals 1
sget-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;->EMPTY_VECTOR:Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;
if-ne p0, v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method

View File

@@ -0,0 +1,55 @@
.class Landroidx/emoji2/text/flatbuffer/FlexBuffers$Unsigned;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Unsigned"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1087
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static byteToUnsignedInt(B)I
.locals 0
and-int/lit16 p0, p0, 0xff
return p0
.end method
.method public static intToUnsignedLong(I)J
.locals 4
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
return-wide v0
.end method
.method public static shortToUnsignedInt(S)I
.locals 1
const v0, 0xffff
and-int/2addr p0, v0
return p0
.end method

View File

@@ -0,0 +1,217 @@
.class public Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
.super Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Vector"
.end annotation
# static fields
.field private static final EMPTY_VECTOR:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 925
new-instance v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
invoke-static {}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->access$000()Landroidx/emoji2/text/flatbuffer/ReadBuf;
move-result-object v1
const/4 v2, 0x1
invoke-direct {v0, v1, v2, v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
sput-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->EMPTY_VECTOR:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
return-void
.end method
.method public constructor <init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
.locals 0
.line 928
invoke-direct {p0, p1, p2, p3}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)V
return-void
.end method
.method public static empty()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
.locals 1
sget-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->EMPTY_VECTOR:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
return-object v0
.end method
# virtual methods
.method public get(I)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
.locals 9
.line 971
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->size()I
move-result v0
int-to-long v0, v0
int-to-long v2, p1
cmp-long v4, v2, v0
if-ltz v4, :cond_0
.line 973
invoke-static {}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;->access$600()Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
move-result-object p1
return-object p1
:cond_0
iget-object v4, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v5, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
int-to-long v5, v5
iget v7, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
int-to-long v7, v7
mul-long/2addr v0, v7
add-long/2addr v5, v0
add-long/2addr v5, v2
long-to-int v0, v5
.line 975
invoke-interface {v4, v0}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result v0
invoke-static {v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Unsigned;->byteToUnsignedInt(B)I
move-result v0
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->end:I
iget v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
mul-int/2addr p1, v2
add-int/2addr v1, p1
.line 977
new-instance p1, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
iget-object v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->bb:Landroidx/emoji2/text/flatbuffer/ReadBuf;
iget v3, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->byteWidth:I
invoke-direct {p1, v2, v1, v3, v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;III)V
return-object p1
.end method
.method public isEmpty()Z
.locals 1
sget-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->EMPTY_VECTOR:Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;
if-ne p0, v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public bridge synthetic size()I
.locals 1
.line 923
invoke-super {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;->size()I
move-result v0
return v0
.end method
.method public bridge synthetic toString()Ljava/lang/String;
.locals 1
.line 923
invoke-super {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public toString(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
.locals 3
const-string v0, "[ "
.line 952
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 953
invoke-virtual {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->size()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 955
invoke-virtual {p0, v1}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;->get(I)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
move-result-object v2
invoke-virtual {v2, p1}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;->toString(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
add-int/lit8 v2, v0, -0x1
if-eq v1, v2, :cond_0
const-string v2, ", "
.line 957
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
const-string v0, " ]"
.line 960
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return-object p1
.end method

View File

@@ -0,0 +1,578 @@
.class public Landroidx/emoji2/text/flatbuffer/FlexBuffers;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/emoji2/text/flatbuffer/FlexBuffers$Unsigned;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$FlexBufferException;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$KeyVector;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$TypedVector;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$Vector;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$Map;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$Key;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$Blob;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$Sized;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$Object;,
Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
}
.end annotation
# static fields
.field static final synthetic $assertionsDisabled:Z = false
.field private static final EMPTY_BB:Landroidx/emoji2/text/flatbuffer/ReadBuf;
.field public static final FBT_BLOB:I = 0x19
.field public static final FBT_BOOL:I = 0x1a
.field public static final FBT_FLOAT:I = 0x3
.field public static final FBT_INDIRECT_FLOAT:I = 0x8
.field public static final FBT_INDIRECT_INT:I = 0x6
.field public static final FBT_INDIRECT_UINT:I = 0x7
.field public static final FBT_INT:I = 0x1
.field public static final FBT_KEY:I = 0x4
.field public static final FBT_MAP:I = 0x9
.field public static final FBT_NULL:I = 0x0
.field public static final FBT_STRING:I = 0x5
.field public static final FBT_UINT:I = 0x2
.field public static final FBT_VECTOR:I = 0xa
.field public static final FBT_VECTOR_BOOL:I = 0x24
.field public static final FBT_VECTOR_FLOAT:I = 0xd
.field public static final FBT_VECTOR_FLOAT2:I = 0x12
.field public static final FBT_VECTOR_FLOAT3:I = 0x15
.field public static final FBT_VECTOR_FLOAT4:I = 0x18
.field public static final FBT_VECTOR_INT:I = 0xb
.field public static final FBT_VECTOR_INT2:I = 0x10
.field public static final FBT_VECTOR_INT3:I = 0x13
.field public static final FBT_VECTOR_INT4:I = 0x16
.field public static final FBT_VECTOR_KEY:I = 0xe
.field public static final FBT_VECTOR_STRING_DEPRECATED:I = 0xf
.field public static final FBT_VECTOR_UINT:I = 0xc
.field public static final FBT_VECTOR_UINT2:I = 0x11
.field public static final FBT_VECTOR_UINT3:I = 0x14
.field public static final FBT_VECTOR_UINT4:I = 0x17
# direct methods
.method static constructor <clinit>()V
.locals 4
.line 103
new-instance v0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;
const/4 v1, 0x1
new-array v2, v1, [B
const/4 v3, 0x0
aput-byte v3, v2, v3
invoke-direct {v0, v2, v1}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;-><init>([BI)V
sput-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->EMPTY_BB:Landroidx/emoji2/text/flatbuffer/ReadBuf;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 45
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static synthetic access$000()Landroidx/emoji2/text/flatbuffer/ReadBuf;
.locals 1
sget-object v0, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->EMPTY_BB:Landroidx/emoji2/text/flatbuffer/ReadBuf;
return-object v0
.end method
.method public static synthetic access$100(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
.locals 0
.line 45
invoke-static {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->readInt(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
move-result p0
return p0
.end method
.method public static synthetic access$200(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
.locals 0
.line 45
invoke-static {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->indirect(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
move-result p0
return p0
.end method
.method public static synthetic access$300(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)J
.locals 0
.line 45
invoke-static {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->readUInt(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)J
move-result-wide p0
return-wide p0
.end method
.method public static synthetic access$400(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)D
.locals 0
.line 45
invoke-static {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->readDouble(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)D
move-result-wide p0
return-wide p0
.end method
.method public static synthetic access$500(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)J
.locals 0
.line 45
invoke-static {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->readLong(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)J
move-result-wide p0
return-wide p0
.end method
.method public static getRoot(Landroidx/emoji2/text/flatbuffer/ReadBuf;)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
.locals 4
.line 214
invoke-interface {p0}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->limit()I
move-result v0
add-int/lit8 v1, v0, -0x1
.line 215
invoke-interface {p0, v1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result v1
add-int/lit8 v0, v0, -0x2
.line 216
invoke-interface {p0, v0}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result v2
invoke-static {v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Unsigned;->byteToUnsignedInt(B)I
move-result v2
sub-int/2addr v0, v1
.line 218
new-instance v3, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
invoke-direct {v3, p0, v0, v1, v2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;-><init>(Landroidx/emoji2/text/flatbuffer/ReadBuf;III)V
return-object v3
.end method
.method public static getRoot(Ljava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
.locals 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 202
invoke-virtual {p0}, Ljava/nio/ByteBuffer;->hasArray()Z
move-result v0
if-eqz v0, :cond_0
new-instance v0, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;
invoke-virtual {p0}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v1
invoke-virtual {p0}, Ljava/nio/Buffer;->limit()I
move-result p0
invoke-direct {v0, v1, p0}, Landroidx/emoji2/text/flatbuffer/ArrayReadWriteBuf;-><init>([BI)V
goto :goto_0
:cond_0
new-instance v0, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;
invoke-direct {v0, p0}, Landroidx/emoji2/text/flatbuffer/ByteBufferReadWriteBuf;-><init>(Ljava/nio/ByteBuffer;)V
:goto_0
invoke-static {v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->getRoot(Landroidx/emoji2/text/flatbuffer/ReadBuf;)Landroidx/emoji2/text/flatbuffer/FlexBuffers$Reference;
move-result-object p0
return-object p0
.end method
.method private static indirect(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
.locals 2
int-to-long v0, p1
.line 156
invoke-static {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->readUInt(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)J
move-result-wide p0
sub-long/2addr v0, p0
long-to-int p0, v0
return p0
.end method
.method public static isTypeInline(I)Z
.locals 1
const/4 v0, 0x3
if-le p0, v0, :cond_1
const/16 v0, 0x1a
if-ne p0, v0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p0, 0x1
:goto_1
return p0
.end method
.method public static isTypedVector(I)Z
.locals 1
const/16 v0, 0xb
if-lt p0, v0, :cond_0
const/16 v0, 0xf
if-le p0, v0, :cond_1
:cond_0
const/16 v0, 0x24
if-ne p0, v0, :cond_2
:cond_1
const/4 p0, 0x1
goto :goto_0
:cond_2
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static isTypedVectorElementType(I)Z
.locals 2
const/4 v0, 0x1
if-lt p0, v0, :cond_0
const/4 v1, 0x4
if-le p0, v1, :cond_2
:cond_0
const/16 v1, 0x1a
if-ne p0, v1, :cond_1
goto :goto_0
:cond_1
const/4 v0, 0x0
:cond_2
:goto_0
return v0
.end method
.method private static readDouble(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)D
.locals 1
const/4 v0, 0x4
if-eq p2, v0, :cond_1
const/16 v0, 0x8
if-eq p2, v0, :cond_0
const-wide/high16 p0, -0x4010000000000000L # -1.0
return-wide p0
.line 189
:cond_0
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getDouble(I)D
move-result-wide p0
return-wide p0
.line 188
:cond_1
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getFloat(I)F
move-result p0
float-to-double p0, p0
return-wide p0
.end method
.method private static readInt(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)I
.locals 0
.line 172
invoke-static {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->readLong(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)J
move-result-wide p0
long-to-int p0, p0
return p0
.end method
.method private static readLong(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)J
.locals 1
const/4 v0, 0x1
if-eq p2, v0, :cond_3
const/4 v0, 0x2
if-eq p2, v0, :cond_2
const/4 v0, 0x4
if-eq p2, v0, :cond_1
const/16 v0, 0x8
if-eq p2, v0, :cond_0
const-wide/16 p0, -0x1
return-wide p0
.line 181
:cond_0
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getLong(I)J
move-result-wide p0
return-wide p0
.line 180
:cond_1
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getInt(I)I
move-result p0
:goto_0
int-to-long p0, p0
return-wide p0
.line 179
:cond_2
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getShort(I)S
move-result p0
goto :goto_0
.line 178
:cond_3
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result p0
goto :goto_0
.end method
.method private static readUInt(Landroidx/emoji2/text/flatbuffer/ReadBuf;II)J
.locals 1
const/4 v0, 0x1
if-eq p2, v0, :cond_3
const/4 v0, 0x2
if-eq p2, v0, :cond_2
const/4 v0, 0x4
if-eq p2, v0, :cond_1
const/16 v0, 0x8
if-eq p2, v0, :cond_0
const-wide/16 p0, -0x1
return-wide p0
.line 165
:cond_0
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getLong(I)J
move-result-wide p0
return-wide p0
.line 164
:cond_1
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getInt(I)I
move-result p0
invoke-static {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Unsigned;->intToUnsignedLong(I)J
move-result-wide p0
return-wide p0
.line 163
:cond_2
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->getShort(I)S
move-result p0
invoke-static {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Unsigned;->shortToUnsignedInt(S)I
move-result p0
int-to-long p0, p0
return-wide p0
.line 162
:cond_3
invoke-interface {p0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result p0
invoke-static {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers$Unsigned;->byteToUnsignedInt(B)I
move-result p0
int-to-long p0, p0
return-wide p0
.end method
.method public static toTypedVector(II)I
.locals 1
if-eqz p1, :cond_3
const/4 v0, 0x2
if-eq p1, v0, :cond_2
const/4 v0, 0x3
if-eq p1, v0, :cond_1
const/4 v0, 0x4
if-eq p1, v0, :cond_0
const/4 p0, 0x0
return p0
:cond_0
add-int/lit8 p0, p0, 0x15
return p0
:cond_1
add-int/lit8 p0, p0, 0x12
return p0
:cond_2
add-int/lit8 p0, p0, 0xf
return p0
:cond_3
add-int/lit8 p0, p0, 0xa
return p0
.end method
.method public static toTypedVectorElementType(I)I
.locals 0
add-int/lit8 p0, p0, -0xa
return p0
.end method

View File

@@ -0,0 +1,110 @@
.class Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator<",
"Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;",
">;"
}
.end annotation
# instance fields
.field final synthetic this$0:Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;
# direct methods
.method public constructor <init>(Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;)V
.locals 0
iput-object p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$1;->this$0:Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;
.line 94
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public compare(Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;)I
.locals 2
.line 97
iget p1, p1, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->key:I
.line 98
iget p2, p2, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->key:I
:cond_0
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$1;->this$0:Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;
.line 101
invoke-static {v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;->access$000(Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;)Landroidx/emoji2/text/flatbuffer/ReadWriteBuf;
move-result-object v0
invoke-interface {v0, p1}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result v0
iget-object v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$1;->this$0:Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;
.line 102
invoke-static {v1}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;->access$000(Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;)Landroidx/emoji2/text/flatbuffer/ReadWriteBuf;
move-result-object v1
invoke-interface {v1, p2}, Landroidx/emoji2/text/flatbuffer/ReadBuf;->get(I)B
move-result v1
if-nez v0, :cond_1
sub-int/2addr v0, v1
return v0
:cond_1
add-int/lit8 p1, p1, 0x1
add-int/lit8 p2, p2, 0x1
if-eq v0, v1, :cond_0
sub-int/2addr v0, v1
return v0
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 94
check-cast p1, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
check-cast p2, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
invoke-virtual {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$1;->compare(Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;)I
move-result p1
return p1
.end method

View File

@@ -0,0 +1,571 @@
.class Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Value"
.end annotation
# static fields
.field static final synthetic $assertionsDisabled:Z
# instance fields
.field final dValue:D
.field iValue:J
.field key:I
.field final minBitWidth:I
.field final type:I
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public constructor <init>(IIID)V
.locals 0
.line 657
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->key:I
iput p2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->type:I
iput p3, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->minBitWidth:I
iput-wide p4, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->dValue:D
const-wide/high16 p1, -0x8000000000000000L
iput-wide p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->iValue:J
return-void
.end method
.method public constructor <init>(IIIJ)V
.locals 0
.line 649
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->key:I
iput p2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->type:I
iput p3, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->minBitWidth:I
iput-wide p4, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->iValue:J
const-wide/16 p1, 0x1
iput-wide p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->dValue:D
return-void
.end method
.method public static synthetic access$100(II)I
.locals 0
.line 636
invoke-static {p0, p1}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->paddingBytes(II)I
move-result p0
return p0
.end method
.method public static synthetic access$200(Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;II)I
.locals 0
.line 636
invoke-direct {p0, p1, p2}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->elemWidth(II)I
move-result p0
return p0
.end method
.method public static synthetic access$300(Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;)B
.locals 0
.line 636
invoke-direct {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->storedPackedType()B
move-result p0
return p0
.end method
.method public static synthetic access$400(Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;I)B
.locals 0
.line 636
invoke-direct {p0, p1}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->storedPackedType(I)B
move-result p0
return p0
.end method
.method public static synthetic access$500(IIJII)I
.locals 0
.line 636
invoke-static/range {p0 .. p5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->elemWidth(IIJII)I
move-result p0
return p0
.end method
.method public static blob(IIII)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 670
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
int-to-long v4, p1
move-object v0, v6
move v1, p0
move v2, p2
move v3, p3
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method
.method public static bool(IZ)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 666
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/16 v2, 0x1a
const/4 v3, 0x0
if-eqz p1, :cond_0
const-wide/16 v0, 0x1
:goto_0
move-wide v4, v0
goto :goto_1
:cond_0
const-wide/16 v0, 0x0
goto :goto_0
:goto_1
move-object v0, v6
move v1, p0
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method
.method private elemWidth(II)I
.locals 6
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->type:I
iget v1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->minBitWidth:I
iget-wide v2, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->iValue:J
move v4, p1
move v5, p2
.line 734
invoke-static/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->elemWidth(IIJII)I
move-result p1
return p1
.end method
.method private static elemWidth(IIJII)I
.locals 4
.line 738
invoke-static {p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->isTypeInline(I)Z
move-result p0
if-eqz p0, :cond_0
return p1
:cond_0
const/4 p0, 0x1
:goto_0
const/16 p1, 0x20
if-gt p0, p1, :cond_2
.line 751
invoke-static {p4, p0}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->paddingBytes(II)I
move-result p1
add-int/2addr p1, p4
mul-int v0, p5, p0
add-int/2addr p1, v0
int-to-long v0, p1
sub-long/2addr v0, p2
long-to-int p1, v0
int-to-long v0, p1
.line 755
invoke-static {v0, v1}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder;->widthUInBits(J)I
move-result p1
const-wide/16 v0, 0x1
shl-long/2addr v0, p1
int-to-long v2, p0
cmp-long v0, v0, v2
if-nez v0, :cond_1
return p1
:cond_1
mul-int/lit8 p0, p0, 0x2
goto :goto_0
:cond_2
const/4 p0, 0x3
return p0
.end method
.method public static float32(IF)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 706
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x3
const/4 v3, 0x2
float-to-double v4, p1
move-object v0, v6
move v1, p0
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIID)V
return-object v6
.end method
.method public static float64(ID)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 710
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x3
const/4 v3, 0x3
move-object v0, v6
move v1, p0
move-wide v4, p1
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIID)V
return-object v6
.end method
.method public static int16(II)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 678
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x1
const/4 v3, 0x1
int-to-long v4, p1
move-object v0, v6
move v1, p0
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method
.method public static int32(II)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 682
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x1
const/4 v3, 0x2
int-to-long v4, p1
move-object v0, v6
move v1, p0
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method
.method public static int64(IJ)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 686
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x1
const/4 v3, 0x3
move-object v0, v6
move v1, p0
move-wide v4, p1
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method
.method public static int8(II)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 674
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x1
const/4 v3, 0x0
int-to-long v4, p1
move-object v0, v6
move v1, p0
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method
.method private static packedType(II)B
.locals 0
shl-int/lit8 p1, p1, 0x2
or-int/2addr p0, p1
int-to-byte p0, p0
return p0
.end method
.method private static paddingBytes(II)I
.locals 0
not-int p0, p0
add-int/lit8 p0, p0, 0x1
add-int/lit8 p1, p1, -0x1
and-int/2addr p0, p1
return p0
.end method
.method private storedPackedType()B
.locals 1
const/4 v0, 0x0
.line 714
invoke-direct {p0, v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->storedPackedType(I)B
move-result v0
return v0
.end method
.method private storedPackedType(I)B
.locals 1
.line 718
invoke-direct {p0, p1}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->storedWidth(I)I
move-result p1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->type:I
invoke-static {p1, v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->packedType(II)B
move-result p1
return p1
.end method
.method private storedWidth(I)I
.locals 1
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->type:I
.line 726
invoke-static {v0}, Landroidx/emoji2/text/flatbuffer/FlexBuffers;->isTypeInline(I)Z
move-result v0
if-eqz v0, :cond_0
iget v0, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->minBitWidth:I
.line 727
invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I
move-result p1
return p1
:cond_0
iget p1, p0, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;->minBitWidth:I
return p1
.end method
.method public static uInt16(II)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 694
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x2
const/4 v3, 0x1
int-to-long v4, p1
move-object v0, v6
move v1, p0
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method
.method public static uInt32(II)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 698
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x2
const/4 v3, 0x2
int-to-long v4, p1
move-object v0, v6
move v1, p0
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method
.method public static uInt64(IJ)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 702
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x2
const/4 v3, 0x3
move-object v0, v6
move v1, p0
move-wide v4, p1
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method
.method public static uInt8(II)Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
.locals 7
.line 690
new-instance v6, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;
const/4 v2, 0x2
const/4 v3, 0x0
int-to-long v4, p1
move-object v0, v6
move v1, p0
invoke-direct/range {v0 .. v5}, Landroidx/emoji2/text/flatbuffer/FlexBuffersBuilder$Value;-><init>(IIIJ)V
return-object v6
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,44 @@
.class public final Landroidx/emoji2/text/flatbuffer/FloatVector;
.super Landroidx/emoji2/text/flatbuffer/BaseVector;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 27
invoke-direct {p0}, Landroidx/emoji2/text/flatbuffer/BaseVector;-><init>()V
return-void
.end method
# virtual methods
.method public __assign(ILjava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/FloatVector;
.locals 1
const/4 v0, 0x4
.line 37
invoke-virtual {p0, p1, v0, p2}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__reset(IILjava/nio/ByteBuffer;)V
return-object p0
.end method
.method public get(I)F
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->bb:Ljava/nio/ByteBuffer;
.line 47
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__element(I)I
move-result p1
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->getFloat(I)F
move-result p1
return p1
.end method

View File

@@ -0,0 +1,61 @@
.class public final Landroidx/emoji2/text/flatbuffer/IntVector;
.super Landroidx/emoji2/text/flatbuffer/BaseVector;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 27
invoke-direct {p0}, Landroidx/emoji2/text/flatbuffer/BaseVector;-><init>()V
return-void
.end method
# virtual methods
.method public __assign(ILjava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/IntVector;
.locals 1
const/4 v0, 0x4
.line 37
invoke-virtual {p0, p1, v0, p2}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__reset(IILjava/nio/ByteBuffer;)V
return-object p0
.end method
.method public get(I)I
.locals 1
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->bb:Ljava/nio/ByteBuffer;
.line 47
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__element(I)I
move-result p1
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->getInt(I)I
move-result p1
return p1
.end method
.method public getAsUnsigned(I)J
.locals 4
.line 58
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/IntVector;->get(I)I
move-result p1
int-to-long v0, p1
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
return-wide v0
.end method

View File

@@ -0,0 +1,44 @@
.class public final Landroidx/emoji2/text/flatbuffer/LongVector;
.super Landroidx/emoji2/text/flatbuffer/BaseVector;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 27
invoke-direct {p0}, Landroidx/emoji2/text/flatbuffer/BaseVector;-><init>()V
return-void
.end method
# virtual methods
.method public __assign(ILjava/nio/ByteBuffer;)Landroidx/emoji2/text/flatbuffer/LongVector;
.locals 1
const/16 v0, 0x8
.line 37
invoke-virtual {p0, p1, v0, p2}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__reset(IILjava/nio/ByteBuffer;)V
return-object p0
.end method
.method public get(I)J
.locals 2
iget-object v0, p0, Landroidx/emoji2/text/flatbuffer/BaseVector;->bb:Ljava/nio/ByteBuffer;
.line 47
invoke-virtual {p0, p1}, Landroidx/emoji2/text/flatbuffer/BaseVector;->__element(I)I
move-result p1
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->getLong(I)J
move-result-wide v0
return-wide v0
.end method

Some files were not shown because too many files have changed in this diff Show More