Barebones resource merging

This commit is contained in:
maelstrom 2024-07-19 15:10:42 +02:00
parent b78fed57f4
commit cbae799830
31 changed files with 51164 additions and 3 deletions

View file

@ -32,14 +32,18 @@ tasks.register('extractApk', JavaExec) {
tasks.register('mergeResources') { tasks.register('mergeResources') {
dependsOn tasks.extractApk dependsOn tasks.extractApk
doLast { doLast {
copy { copy { // Copy from extracted
from 'build/extracted' from 'build/extracted'
into 'build/merged' into 'build/merged'
exclude 'smali_classes*', 'smali' //exclude 'smali_classes*', 'smali'
} }
copy { copy { // Copy resources from src
from 'src/main/resources' from 'src/main/resources'
into 'build/merged' into 'build/merged'
} }
copy { // Copy smali from src
from 'src/main/smali'
into 'build/merged'
}
} }
} }

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/tumblr_yellow" />
<size android:height="@dimen/post_form_color_icon" android:width="@dimen/post_form_color_icon" />
<stroke android:width="@dimen/post_form_color_icon_halo" android:color="@color/white" />
</shape>

View file

@ -0,0 +1,43 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="403.66dp"
android:height="431.87dp"
android:viewportWidth="403.66"
android:viewportHeight="431.87">
<path
android:pathData="M201.83,431.87L0,146.58h403.66l-201.83,285.29ZM17.39,155.58l184.44,260.71 184.44,-260.71H17.39Z"
android:strokeWidth="0"
android:fillColor="#ffd900"/>
<path
android:pathData="M0,146.58L85.5,0l85.5,146.58M159.74,146.58 L159.74,146.58L85.5,18 11.26,146.58"
android:strokeWidth="0"
android:fillColor="#ffd900"/>
<path
android:pathData="M232.66,146.58L318.16,0l85.5,146.58M392.4,146.58 L392.4,146.58L318.16,18l-74.24,128.58"
android:strokeWidth="0"
android:fillColor="#ffd900"/>
<path
android:pathData="M0,146.58h403.66s-201.83,285.29 -201.83,285.29L0,146.58ZM17.39,155.58l184.44,260.71 184.44,-260.71H17.39Z"
android:strokeWidth="0"
android:fillColor="#ffd900"/>
<path
android:pathData="M114.31,181.71l18.31,23.99l-3.22,0l-15.09,-19.92l-15.04,19.92l-3.27,0l18.31,-23.99z"
android:strokeWidth="0"
android:fillColor="#ffd900"/>
<path
android:pathData="M289.35,181.71l-18.3,23.99l3.21,0l15.09,-19.92l15.04,19.92l3.27,0l-18.31,-23.99z"
android:strokeWidth="0"
android:fillColor="#ffd900"/>
<path
android:pathData="M190.44,180.42l11.23,19.29l11.26,-19.29l11.15,0l-16.83,28.86l-0.05,31.04l-10.73,0l-0.16,-31.41l-16.59,-28.49l10.72,0z"
android:strokeWidth="0"
android:fillColor="#ffd900"/>
<path
android:pathData="M201.9,316.7l-17.85,-21.3l35.71,0l-17.86,21.3z"
android:strokeWidth="0"
android:fillColor="#ffd900"/>
<path
android:pathData="M170.99,326.43l14.76,28.13l16.03,-21l14.01,20.56l16.88,-28.58"
android:strokeWidth="6"
android:fillColor="#00000000"
android:strokeColor="#ffd900"/>
</vector>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<merge android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="48.0dip"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/color_editing_controls" android:background="?selectableItemBackgroundBorderless" android:layout_width="fill_parent" android:layout_height="48.0dip">
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/text_color_default" android:background="?selectableItemBackgroundBorderless" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_marginLeft="2.0dip" android:layout_marginRight="2.0dip" android:layout_weight="0.5" app:srcCompat="@drawable/oval_main_text_color" />
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/text_color_red" android:background="?selectableItemBackgroundBorderless" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_marginLeft="2.0dip" android:layout_marginRight="2.0dip" android:layout_weight="0.5" app:srcCompat="@drawable/oval_red" />
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/text_color_orange" android:background="?selectableItemBackgroundBorderless" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_marginLeft="2.0dip" android:layout_marginRight="2.0dip" android:layout_weight="0.5" app:srcCompat="@drawable/oval_orange" />
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/text_color_yellow" android:background="?selectableItemBackgroundBorderless" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_marginLeft="2.0dip" android:layout_marginRight="2.0dip" android:layout_weight="0.5" app:srcCompat="@drawable/oval_yellow" />
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/text_color_green" android:background="?selectableItemBackgroundBorderless" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_marginLeft="2.0dip" android:layout_marginRight="2.0dip" android:layout_weight="0.5" app:srcCompat="@drawable/oval_green" />
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/text_color_blue" android:background="?selectableItemBackgroundBorderless" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_marginLeft="2.0dip" android:layout_marginRight="2.0dip" android:layout_weight="0.5" app:srcCompat="@drawable/oval_blue" />
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/text_color_purple" android:background="?selectableItemBackgroundBorderless" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_marginLeft="2.0dip" android:layout_marginRight="2.0dip" android:layout_weight="0.5" app:srcCompat="@drawable/oval_purple" />
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/text_color_pink" android:background="?selectableItemBackgroundBorderless" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_marginLeft="2.0dip" android:layout_marginRight="2.0dip" android:layout_weight="0.5" app:srcCompat="@drawable/oval_pink" />
</LinearLayout>
</merge>

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,373 @@
.class public final enum Lee0/l2;
.super Ljava/lang/Enum;
.source "SourceFile"
# static fields
.field private static final synthetic $VALUES:[Lee0/l2;
.field public static final enum BLUE:Lee0/l2;
.field public static final enum DEFAULT:Lee0/l2;
.field public static final enum GREEN:Lee0/l2;
.field public static final enum ORANGE:Lee0/l2;
.field public static final enum PINK:Lee0/l2;
.field public static final enum PURPLE:Lee0/l2;
.field public static final enum RED:Lee0/l2;
## YKit-BringBackPhoebe
.field public static final enum YELLOW:Lee0/l2;
## /YKit-BringBackPhoebe
# instance fields
.field private mColorHex:Ljava/lang/String;
.field private mColorRsrcId:Ljava/lang/Integer;
.field private mIsDefault:Ljava/lang/Boolean;
# direct methods
.method static constructor <clinit>()V
.locals 5
new-instance v0, Lee0/l2;
sget v1, Lla0/b;->m:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "DEFAULT"
const/4 v3, 0x0
const/4 v4, 0x1
invoke-direct {v0, v2, v3, v4, v1}, Lee0/l2;-><init>(Ljava/lang/String;IZLjava/lang/Integer;)V
sput-object v0, Lee0/l2;->DEFAULT:Lee0/l2;
new-instance v0, Lee0/l2;
sget v1, Lyy/a;->n:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "PINK"
invoke-direct {v0, v2, v4, v3, v1}, Lee0/l2;-><init>(Ljava/lang/String;IZLjava/lang/Integer;)V
sput-object v0, Lee0/l2;->PINK:Lee0/l2;
new-instance v0, Lee0/l2;
sget v1, Lyy/a;->o:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "PURPLE"
const/4 v4, 0x2
invoke-direct {v0, v2, v4, v3, v1}, Lee0/l2;-><init>(Ljava/lang/String;IZLjava/lang/Integer;)V
sput-object v0, Lee0/l2;->PURPLE:Lee0/l2;
new-instance v0, Lee0/l2;
sget v1, Lyy/a;->h:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "BLUE"
const/4 v4, 0x3
invoke-direct {v0, v2, v4, v3, v1}, Lee0/l2;-><init>(Ljava/lang/String;IZLjava/lang/Integer;)V
sput-object v0, Lee0/l2;->BLUE:Lee0/l2;
new-instance v0, Lee0/l2;
sget v1, Lyy/a;->k:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "GREEN"
const/4 v4, 0x4
invoke-direct {v0, v2, v4, v3, v1}, Lee0/l2;-><init>(Ljava/lang/String;IZLjava/lang/Integer;)V
sput-object v0, Lee0/l2;->GREEN:Lee0/l2;
new-instance v0, Lee0/l2;
sget v1, Lyy/a;->m:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "ORANGE"
const/4 v4, 0x5
invoke-direct {v0, v2, v4, v3, v1}, Lee0/l2;-><init>(Ljava/lang/String;IZLjava/lang/Integer;)V
sput-object v0, Lee0/l2;->ORANGE:Lee0/l2;
new-instance v0, Lee0/l2;
sget v1, Lsw/f;->G:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "RED"
const/4 v4, 0x6
invoke-direct {v0, v2, v4, v3, v1}, Lee0/l2;-><init>(Ljava/lang/String;IZLjava/lang/Integer;)V
sput-object v0, Lee0/l2;->RED:Lee0/l2;
## YKit-BringBackPhoebe
new-instance v0, Lee0/l2;
const v1, 0x7f0604a1 # tumblr_color_yellow
#const v1, 0x7f060183 # kanvas_tooltip_background_orange_yellow
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; # Manual boxing
move-result-object v1
const-string v2, "YELLOW"
const/4 v4, 0x7 # ordinal
invoke-direct {v0, v2, v4, v3, v1}, Lee0/l2;-><init>(Ljava/lang/String;IZLjava/lang/Integer;)V
sput-object v0, Lee0/l2;->YELLOW:Lee0/l2;
## /YKit-BringBackPhoebe
invoke-static {}, Lee0/l2;->e()[Lee0/l2;
move-result-object v0
sput-object v0, Lee0/l2;->$VALUES:[Lee0/l2;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;IZLjava/lang/Integer;)V
.locals 0
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
invoke-static {p3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
iput-object p1, p0, Lee0/l2;->mIsDefault:Ljava/lang/Boolean;
iput-object p4, p0, Lee0/l2;->mColorRsrcId:Ljava/lang/Integer;
return-void
.end method
.method private static synthetic e()[Lee0/l2;
.locals 7
sget-object v0, Lee0/l2;->DEFAULT:Lee0/l2;
sget-object v1, Lee0/l2;->PINK:Lee0/l2;
sget-object v2, Lee0/l2;->PURPLE:Lee0/l2;
sget-object v3, Lee0/l2;->BLUE:Lee0/l2;
sget-object v4, Lee0/l2;->GREEN:Lee0/l2;
sget-object v5, Lee0/l2;->ORANGE:Lee0/l2;
sget-object v6, Lee0/l2;->RED:Lee0/l2;
filled-new-array/range {v0 .. v6}, [Lee0/l2;
move-result-object v0
return-object v0
.end method
.method public static f(Landroid/content/Context;Ljava/lang/String;)Lee0/l2;
.locals 5
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_1
invoke-static {}, Lee0/l2;->values()[Lee0/l2;
move-result-object v0
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_1
aget-object v3, v0, v2
invoke-virtual {v3, p0}, Lee0/l2;->g(Landroid/content/Context;)Ljava/lang/String;
move-result-object v4
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_0
return-object v3
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
const/4 p0, 0x0
return-object p0
.end method
.method public static valueOf(Ljava/lang/String;)Lee0/l2;
.locals 1
const-class v0, Lee0/l2;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lee0/l2;
return-object p0
.end method
.method public static values()[Lee0/l2;
.locals 1
sget-object v0, Lee0/l2;->$VALUES:[Lee0/l2;
invoke-virtual {v0}, [Lee0/l2;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lee0/l2;
return-object v0
.end method
# virtual methods
.method public g(Landroid/content/Context;)Ljava/lang/String;
.locals 1
iget-object v0, p0, Lee0/l2;->mColorHex:Ljava/lang/String;
if-nez v0, :cond_0
invoke-virtual {p0, p1}, Lee0/l2;->h(Landroid/content/Context;)Ljava/lang/Integer;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
invoke-static {p1}, Lbu/g;->g(I)Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lee0/l2;->mColorHex:Ljava/lang/String;
:cond_0
iget-object p1, p0, Lee0/l2;->mColorHex:Ljava/lang/String;
return-object p1
.end method
.method public h(Landroid/content/Context;)Ljava/lang/Integer;
.locals 2
iget-object v0, p0, Lee0/l2;->mIsDefault:Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lee0/l2;->mColorRsrcId:Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-static {p1, v0}, Lna0/b;->y(Landroid/content/Context;I)I
move-result p1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
:cond_0
sget-object v0, Lbu/j0;->INSTANCE:Lbu/j0;
iget-object v1, p0, Lee0/l2;->mColorRsrcId:Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
invoke-virtual {v0, p1, v1}, Lbu/j0;->h(Landroid/content/Context;I)I
move-result p1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public i()Ljava/lang/Boolean;
.locals 1
iget-object v0, p0, Lee0/l2;->mIsDefault:Ljava/lang/Boolean;
return-object v0
.end method

View file

@ -0,0 +1,369 @@
.class public abstract Lsd0/m;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lsd0/m$b;,
Lsd0/m$a;
}
.end annotation
# instance fields
.field protected a:Landroid/view/View;
.field protected final b:Landroid/content/Context;
.field protected final c:Lft/j0;
.field protected d:Loa0/a0;
.field protected e:Lua0/d0;
.field protected f:I
.field protected g:I
.field private h:Lef0/a;
.field private i:Z
# direct methods
.method public constructor <init>(Landroid/content/Context;Lft/j0;Loa0/a0;Lua0/d0;II)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lsd0/m;->b:Landroid/content/Context;
iput-object p2, p0, Lsd0/m;->c:Lft/j0;
iput-object p3, p0, Lsd0/m;->d:Loa0/a0;
iput-object p4, p0, Lsd0/m;->e:Lua0/d0;
iput p5, p0, Lsd0/m;->f:I
iput p6, p0, Lsd0/m;->g:I
return-void
.end method
.method protected static j(Lcom/tumblr/ui/widget/CheckableImageButton;II)V
.locals 5
if-eqz p1, :cond_0
invoke-virtual {p0}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v0
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
move-result-object v0
new-instance v1, Landroid/content/res/ColorStateList;
const/4 v2, 0x2
new-array v2, v2, [[I
const v3, -0x10100a0
filled-new-array {v3}, [I
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
const v3, 0x10100a0
filled-new-array {v3}, [I
move-result-object v3
const/4 v4, 0x1
aput-object v3, v2, v4
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0, p2}, Landroid/content/res/Resources;->getColor(I)I
move-result p0
filled-new-array {p1, p0}, [I
move-result-object p0
invoke-direct {v1, v2, p0}, Landroid/content/res/ColorStateList;-><init>([[I[I)V
invoke-static {v0, v1}, Landroidx/core/graphics/drawable/a;->i(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V
:cond_0
return-void
.end method
# virtual methods
.method public a()I
.locals 1
iget v0, p0, Lsd0/m;->f:I
return v0
.end method
.method public abstract b()I
.end method
.method public c()Landroid/view/View;
.locals 1
iget-object v0, p0, Lsd0/m;->a:Landroid/view/View;
return-object v0
.end method
.method protected d(ILandroid/view/ViewGroup;)Landroid/view/View;
.locals 2
iget-object v0, p0, Lsd0/m;->h:Lef0/a;
if-eqz v0, :cond_0
invoke-virtual {v0, p1, p2}, Lef0/a;->g(ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object p1
return-object p1
:cond_0
iget-object p2, p0, Lsd0/m;->b:Landroid/content/Context;
invoke-static {p2}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object p2
const/4 v0, 0x0
const/4 v1, 0x0
invoke-virtual {p2, p1, v0, v1}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object p1
return-object p1
.end method
.method public abstract e(Landroid/view/ViewGroup;)Landroid/view/View;
.end method
.method public f()Z
.locals 1
iget-object v0, p0, Lsd0/m;->a:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getVisibility()I
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method protected g()V
.locals 2
iget-object v0, p0, Lsd0/m;->a:Landroid/view/View;
instance-of v1, v0, Landroidx/appcompat/widget/AppCompatImageButton;
if-eqz v1, :cond_0
check-cast v0, Landroidx/appcompat/widget/AppCompatImageButton;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageTintList(Landroid/content/res/ColorStateList;)V
goto :goto_0
:cond_0
instance-of v1, v0, Landroidx/appcompat/widget/AppCompatTextView;
if-eqz v1, :cond_1
move-object v1, v0
check-cast v1, Landroidx/appcompat/widget/AppCompatTextView;
invoke-virtual {v0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lna0/b;->x(Landroid/content/Context;)I
move-result v0
invoke-virtual {v1, v0}, Landroid/widget/TextView;->setTextColor(I)V
:cond_1
:goto_0
return-void
.end method
.method public h(Z)V
.locals 0
iput-boolean p1, p0, Lsd0/m;->i:Z
return-void
.end method
.method protected i(I)V
.locals 2
iget-object v0, p0, Lsd0/m;->a:Landroid/view/View;
instance-of v1, v0, Landroidx/appcompat/widget/AppCompatImageButton;
if-eqz v1, :cond_0
check-cast v0, Landroidx/appcompat/widget/AppCompatImageButton;
invoke-static {p1}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
move-result-object p1
invoke-virtual {v0, p1}, Landroid/widget/ImageView;->setImageTintList(Landroid/content/res/ColorStateList;)V
goto :goto_0
:cond_0
instance-of v1, v0, Landroidx/appcompat/widget/AppCompatTextView;
if-eqz v1, :cond_1
check-cast v0, Landroidx/appcompat/widget/AppCompatTextView;
invoke-virtual {v0, p1}, Landroid/widget/TextView;->setTextColor(I)V
:cond_1
:goto_0
return-void
.end method
.method public k(Lef0/a;)V
.locals 0
iput-object p1, p0, Lsd0/m;->h:Lef0/a;
return-void
.end method
.method public l()Z
.locals 1
invoke-virtual {p0}, Lsd0/m;->m()Z
move-result v0
if-eqz v0, :cond_0
iget-boolean v0, p0, Lsd0/m;->i:Z
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method protected abstract m()Z
.end method
.method public n(Loa0/a0;Lua0/d0;)Landroid/view/View;
.locals 0
iput-object p1, p0, Lsd0/m;->d:Loa0/a0;
iput-object p2, p0, Lsd0/m;->e:Lua0/d0;
invoke-virtual {p0}, Lsd0/m;->l()Z
move-result p1
if-eqz p1, :cond_0
iget-object p1, p0, Lsd0/m;->a:Landroid/view/View;
sget p2, Lcom/tumblr/R$drawable;->V3:I
invoke-virtual {p1, p2}, Landroid/view/View;->setBackgroundResource(I)V
iget-object p1, p0, Lsd0/m;->a:Landroid/view/View;
const/4 p2, 0x0
invoke-virtual {p1, p2}, Landroid/view/View;->setVisibility(I)V
goto :goto_0
:cond_0
iget-object p1, p0, Lsd0/m;->a:Landroid/view/View;
const/16 p2, 0x8
invoke-virtual {p1, p2}, Landroid/view/View;->setVisibility(I)V
:goto_0
iget p1, p0, Lsd0/m;->g:I
if-eqz p1, :cond_1
invoke-virtual {p0, p1}, Lsd0/m;->i(I)V
goto :goto_1
:cond_1
invoke-virtual {p0}, Lsd0/m;->g()V
:goto_1
iget-object p1, p0, Lsd0/m;->a:Landroid/view/View;
return-object p1
.end method
.method public o(II)V
.locals 0
iput p1, p0, Lsd0/m;->f:I
iput p2, p0, Lsd0/m;->g:I
return-void
.end method

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,192 @@
.class final Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory$TimelineObjectJsonAdapter;
.super Lcom/squareup/moshi/h;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "TimelineObjectJsonAdapter"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/squareup/moshi/h<",
"Lcom/tumblr/rumblr/model/TimelineObject<",
"*>;>;"
}
.end annotation
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u00002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0002\u0008\u0005\u0008\u0002\u0018\u00002\u000e\u0012\n\u0012\u0008\u0012\u0002\u0008\u0003\u0018\u00010\u00020\u0001B#\u0012\u000c\u0010\u000f\u001a\u0008\u0012\u0004\u0012\u00020\u000b0\u0001\u0012\u000c\u0010\u0012\u001a\u0008\u0012\u0004\u0012\u00020\u00100\u0001\u00a2\u0006\u0004\u0008\u0013\u0010\u0014J\u0016\u0010\u0005\u001a\u0008\u0012\u0002\u0008\u0003\u0018\u00010\u00022\u0006\u0010\u0004\u001a\u00020\u0003H\u0016J\u001e\u0010\n\u001a\u00020\t2\u0006\u0010\u0007\u001a\u00020\u00062\u000c\u0010\u0008\u001a\u0008\u0012\u0002\u0008\u0003\u0018\u00010\u0002H\u0016R\u001d\u0010\u000f\u001a\u0008\u0012\u0004\u0012\u00020\u000b0\u00018\u0006\u00a2\u0006\u000c\n\u0004\u0008\u0005\u0010\u000c\u001a\u0004\u0008\r\u0010\u000eR\u001d\u0010\u0012\u001a\u0008\u0012\u0004\u0012\u00020\u00100\u00018\u0006\u00a2\u0006\u000c\n\u0004\u0008\n\u0010\u000c\u001a\u0004\u0008\u0011\u0010\u000e\u00a8\u0006\u0015"
}
d2 = {
"Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory$TimelineObjectJsonAdapter;",
"Lcom/squareup/moshi/h;",
"Lcom/tumblr/rumblr/model/TimelineObject;",
"Lcom/squareup/moshi/k;",
"reader",
"a",
"Lcom/squareup/moshi/q;",
"writer",
"value",
"Ldh0/f0;",
"b",
"Lcom/tumblr/rumblr/model/Timelineable;",
"Lcom/squareup/moshi/h;",
"getTimelineableAdapter",
"()Lcom/squareup/moshi/h;",
"timelineableAdapter",
"Lcom/tumblr/rumblr/model/TimelineObjectMetadata;",
"getTimelineMetadataAdapter",
"timelineMetadataAdapter",
"<init>",
"(Lcom/squareup/moshi/h;Lcom/squareup/moshi/h;)V",
"rumblr_release"
}
k = 0x1
mv = {
0x1,
0x9,
0x0
}
.end annotation
# instance fields
.field private final a:Lcom/squareup/moshi/h;
.field private final b:Lcom/squareup/moshi/h;
# direct methods
.method public constructor <init>(Lcom/squareup/moshi/h;Lcom/squareup/moshi/h;)V
.locals 1
const-string v0, "timelineableAdapter"
invoke-static {p1, v0}, Lqh0/s;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "timelineMetadataAdapter"
invoke-static {p2, v0}, Lqh0/s;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Lcom/squareup/moshi/h;-><init>()V
iput-object p1, p0, Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory$TimelineObjectJsonAdapter;->a:Lcom/squareup/moshi/h;
iput-object p2, p0, Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory$TimelineObjectJsonAdapter;->b:Lcom/squareup/moshi/h;
return-void
.end method
# virtual methods
.method public a(Lcom/squareup/moshi/k;)Lcom/tumblr/rumblr/model/TimelineObject;
.locals 4
const-string v0, "reader"
invoke-static {p1, v0}, Lqh0/s;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p1}, Lcom/squareup/moshi/k;->B()Lcom/squareup/moshi/k;
move-result-object v0
const/4 v1, 0x0
:try_start_0
iget-object v2, p0, Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory$TimelineObjectJsonAdapter;->a:Lcom/squareup/moshi/h;
invoke-virtual {v2, v0}, Lcom/squareup/moshi/h;->fromJson(Lcom/squareup/moshi/k;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tumblr/rumblr/model/Timelineable;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
const-class v2, Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory$TimelineObjectJsonAdapter;
invoke-virtual {v2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v2
const-string v3, "getSimpleName(...)"
invoke-static {v2, v3}, Lqh0/s;->g(Ljava/lang/Object;Ljava/lang/String;)V
const-string v3, "Failed when parsed a JSON to Timelineable object"
invoke-static {v2, v3, v0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
move-object v0, v1
:goto_0
iget-object v2, p0, Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory$TimelineObjectJsonAdapter;->b:Lcom/squareup/moshi/h;
invoke-virtual {v2, p1}, Lcom/squareup/moshi/h;->fromJson(Lcom/squareup/moshi/k;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/tumblr/rumblr/model/TimelineObjectMetadata;
if-eqz v0, :cond_0
if-eqz p1, :cond_0
new-instance v1, Lcom/tumblr/rumblr/model/TimelineObject;
invoke-direct {v1, p1, v0}, Lcom/tumblr/rumblr/model/TimelineObject;-><init>(Lcom/tumblr/rumblr/model/TimelineObjectMetadata;Lcom/tumblr/rumblr/model/Timelineable;)V
:cond_0
return-object v1
.end method
.method public b(Lcom/squareup/moshi/q;Lcom/tumblr/rumblr/model/TimelineObject;)V
.locals 0
const-string p2, "writer"
invoke-static {p1, p2}, Lqh0/s;->h(Ljava/lang/Object;Ljava/lang/String;)V
return-void
.end method
.method public bridge synthetic fromJson(Lcom/squareup/moshi/k;)Ljava/lang/Object;
.locals 0
invoke-virtual {p0, p1}, Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory$TimelineObjectJsonAdapter;->a(Lcom/squareup/moshi/k;)Lcom/tumblr/rumblr/model/TimelineObject;
move-result-object p1
## YKit-DashboardDeclutter
if-eqz p1, :skip_dashboardDeclutter
check-cast p1, Lcom/tumblr/rumblr/model/TimelineObject;
invoke-static {p1}, Ldev/maelstrom/ykit/DashboardDeclutterShim;->filterObject(Lcom/tumblr/rumblr/model/TimelineObject;)Lcom/tumblr/rumblr/model/TimelineObject;
move-result-object p1
:skip_dashboardDeclutter
## /YKit-DashboardDeclutter
return-object p1
.end method
.method public bridge synthetic toJson(Lcom/squareup/moshi/q;Ljava/lang/Object;)V
.locals 0
check-cast p2, Lcom/tumblr/rumblr/model/TimelineObject;
invoke-virtual {p0, p1, p2}, Lcom/tumblr/rumblr/moshi/TimelineObjectAdapterFactory$TimelineObjectJsonAdapter;->b(Lcom/squareup/moshi/q;Lcom/tumblr/rumblr/model/TimelineObject;)V
return-void
.end method

View file

@ -0,0 +1,994 @@
.class public final Lhw/e$b;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lhw/e;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "b"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 1
invoke-direct {p0}, Lhw/e$b;-><init>()V
return-void
.end method
.method private final f(Lhw/e;Liw/b;)Z
.locals 0
invoke-interface {p2}, Liw/b;->getValue()Ljava/lang/String;
move-result-object p2
invoke-direct {p0, p1, p2}, Lhw/e$b;->g(Lhw/e;Ljava/lang/String;)Z
move-result p1
return p1
.end method
.method private final g(Lhw/e;Ljava/lang/String;)Z
.locals 4
invoke-static {}, Lhw/c;->e()Lhw/b;
move-result-object v0
const/4 v1, 0x2
const/4 v2, 0x0
const/4 v3, 0x0
invoke-static {v0, p1, v3, v1, v2}, Lhw/b;->d(Lhw/b;Lhw/e;ZILjava/lang/Object;)Ljava/lang/String;
move-result-object v0
const/4 v1, 0x1
invoke-static {p2, v0, v1}, Lzh0/n;->x(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result p2
invoke-direct {p0, p1, p2}, Lhw/e$b;->l(Lhw/e;Z)V
return p2
.end method
.method private final h()Lorg/json/JSONObject;
.locals 3
:try_start_0
new-instance v0, Lorg/json/JSONObject;
const-string v1, "pref_features_exposed"
const-string v2, "{}"
invoke-static {v1, v2}, Lcom/tumblr/Remember;->h(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
invoke-static {}, Lhw/e;->i()Ljava/lang/String;
move-result-object v1
const-string v2, "access$getTAG$cp(...)"
invoke-static {v1, v2}, Lqh0/s;->g(Ljava/lang/Object;Ljava/lang/String;)V
const-string v2, "Error decoding JSON obj from Remember pref_features_exposed"
invoke-static {v1, v2, v0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:goto_0
return-object v0
.end method
.method private final i()Lorg/json/JSONObject;
.locals 3
:try_start_0
new-instance v0, Lorg/json/JSONObject;
const-string v1, "pref_features_read"
const-string v2, "{}"
invoke-static {v1, v2}, Lcom/tumblr/Remember;->h(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
invoke-static {}, Lhw/e;->i()Ljava/lang/String;
move-result-object v1
const-string v2, "access$getTAG$cp(...)"
invoke-static {v1, v2}, Lqh0/s;->g(Ljava/lang/Object;Ljava/lang/String;)V
const-string v2, "Error decoding JSON obj from Remember pref_features_read"
invoke-static {v1, v2, v0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:goto_0
return-object v0
.end method
.method private final l(Lhw/e;Z)V
.locals 8
invoke-static {}, Lhw/e;->g()Lorg/json/JSONObject;
move-result-object v0
if-nez v0, :cond_0
invoke-direct {p0}, Lhw/e$b;->i()Lorg/json/JSONObject;
move-result-object v0
invoke-static {v0}, Lhw/e;->k(Lorg/json/JSONObject;)V
:cond_0
:try_start_0
invoke-virtual {p1}, Lhw/e;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {}, Lhw/e;->g()Lorg/json/JSONObject;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_1
const-string v0, "analyticsFeatureReadStateMap"
invoke-static {v0}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v0, v1
goto :goto_0
:catch_0
move-exception p1
goto/16 :goto_6
:cond_1
:goto_0
monitor-enter v0
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
:try_start_1
invoke-static {}, Lhw/e;->g()Lorg/json/JSONObject;
move-result-object v2
if-nez v2, :cond_2
const-string v2, "analyticsFeatureReadStateMap"
invoke-static {v2}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v2, v1
goto :goto_1
:catchall_0
move-exception p1
goto/16 :goto_5
:cond_2
:goto_1
invoke-virtual {v2, p1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v2
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
if-eqz v2, :cond_3
:try_start_2
monitor-exit v0
:try_end_2
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0
return-void
:cond_3
:try_start_3
sget-object v2, Ldh0/f0;->a:Ldh0/f0;
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
:try_start_4
monitor-exit v0
const-string v0, "last_server_configuration_received_long"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
invoke-static {v0, v2, v3}, Lcom/tumblr/Remember;->f(Ljava/lang/String;J)J
move-result-wide v2
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-static {}, Lhw/e;->g()Lorg/json/JSONObject;
move-result-object v0
if-nez v0, :cond_4
const-string v0, "analyticsFeatureReadStateMap"
invoke-static {v0}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v0, v1
:cond_4
monitor-enter v0
:try_end_4
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_0
:try_start_5
invoke-static {}, Lhw/e;->g()Lorg/json/JSONObject;
move-result-object v6
if-nez v6, :cond_5
const-string v6, "analyticsFeatureReadStateMap"
invoke-static {v6}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v6, v1
goto :goto_2
:catchall_1
move-exception p1
goto :goto_4
:cond_5
:goto_2
invoke-virtual {v6, p1, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
const-string v6, "pref_features_read"
invoke-static {}, Lhw/e;->g()Lorg/json/JSONObject;
move-result-object v7
if-nez v7, :cond_6
const-string v7, "analyticsFeatureReadStateMap"
invoke-static {v7}, Lqh0/s;->y(Ljava/lang/String;)V
goto :goto_3
:cond_6
move-object v1, v7
:goto_3
invoke-virtual {v1}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v6, v1}, Lcom/tumblr/Remember;->o(Ljava/lang/String;Ljava/lang/String;)Lcom/tumblr/Remember;
:try_end_5
.catchall {:try_start_5 .. :try_end_5} :catchall_1
:try_start_6
monitor-exit v0
new-instance v0, Lcom/google/common/collect/ImmutableMap$Builder;
invoke-direct {v0}, Lcom/google/common/collect/ImmutableMap$Builder;-><init>()V
sget-object v1, Lzo/d;->FEATURE_KEY:Lzo/d;
invoke-virtual {v0, v1, p1}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
move-result-object p1
sget-object v0, Lzo/d;->FEATURE_VALUE:Lzo/d;
invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p2
invoke-virtual {p1, v0, p2}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
move-result-object p1
sget-object p2, Lzo/d;->DELTA_MS:Lzo/d;
sub-long/2addr v4, v2
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
invoke-virtual {p1, p2, v0}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
move-result-object p1
invoke-virtual {p1}, Lcom/google/common/collect/ImmutableMap$Builder;->build()Lcom/google/common/collect/ImmutableMap;
move-result-object p1
const-string p2, "build(...)"
invoke-static {p1, p2}, Lqh0/s;->g(Ljava/lang/Object;Ljava/lang/String;)V
sget-object p2, Lzo/e;->FEATURE_READ:Lzo/e;
sget-object v0, Lcom/tumblr/analytics/ScreenType;->UNKNOWN:Lcom/tumblr/analytics/ScreenType;
invoke-static {p2, v0, p1}, Lzo/n;->g(Lzo/e;Lcom/tumblr/analytics/ScreenType;Ljava/util/Map;)Lzo/m;
move-result-object p1
invoke-static {p1}, Lzo/r0;->h0(Lzo/m;)V
goto :goto_7
:goto_4
monitor-exit v0
throw p1
:goto_5
monitor-exit v0
throw p1
:try_end_6
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6} :catch_0
:goto_6
invoke-static {}, Lhw/e;->i()Ljava/lang/String;
move-result-object p2
const-string v0, "access$getTAG$cp(...)"
invoke-static {p2, v0}, Lqh0/s;->g(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "Something wrong when logging feature accessed."
invoke-static {p2, v0, p1}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_7
return-void
.end method
# virtual methods
.method public final varargs a([Lhw/e;)Z
.locals 2
const-string v0, "features"
invoke-static {p1, v0}, Lqh0/s;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p1}, Leh0/l;->d([Ljava/lang/Object;)Ljava/util/List;
move-result-object p1
check-cast p1, Ljava/lang/Iterable;
instance-of v0, p1, Ljava/util/Collection;
const/4 v1, 0x1
if-eqz v0, :cond_0
move-object v0, p1
check-cast v0, Ljava/util/Collection;
invoke-interface {v0}, Ljava/util/Collection;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
:cond_0
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_1
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lhw/e;
invoke-virtual {v0}, Lhw/e;->t()Z
move-result v0
if-nez v0, :cond_1
const/4 v1, 0x0
:cond_2
:goto_0
return v1
.end method
.method public final b()V
.locals 1
const-string v0, "pref_features_exposed"
invoke-static {v0}, Lcom/tumblr/Remember;->q(Ljava/lang/String;)Z
const-string v0, "pref_features_read"
invoke-static {v0}, Lcom/tumblr/Remember;->q(Ljava/lang/String;)Z
const-string v0, "last_server_configuration_received_long"
invoke-static {v0}, Lcom/tumblr/Remember;->q(Ljava/lang/String;)Z
invoke-direct {p0}, Lhw/e$b;->i()Lorg/json/JSONObject;
move-result-object v0
invoke-static {v0}, Lhw/e;->k(Lorg/json/JSONObject;)V
invoke-direct {p0}, Lhw/e$b;->h()Lorg/json/JSONObject;
move-result-object v0
invoke-static {v0}, Lhw/e;->j(Lorg/json/JSONObject;)V
return-void
.end method
.method public final c(Ljava/lang/String;)Lhw/e;
.locals 2
const-string v0, "value"
invoke-static {p1, v0}, Lqh0/s;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lcom/google/common/base/CaseFormat;->LOWER_CAMEL:Lcom/google/common/base/CaseFormat;
sget-object v1, Lcom/google/common/base/CaseFormat;->UPPER_UNDERSCORE:Lcom/google/common/base/CaseFormat;
invoke-virtual {v0, v1, p1}, Lcom/google/common/base/CaseFormat;->to(Lcom/google/common/base/CaseFormat;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-class v0, Lhw/e;
invoke-static {v0, p1}, Lcom/google/common/base/Enums;->getIfPresent(Ljava/lang/Class;Ljava/lang/String;)Lcom/google/common/base/Optional;
move-result-object p1
sget-object v0, Lhw/e;->UNKNOWN:Lhw/e;
invoke-virtual {p1, v0}, Lcom/google/common/base/Optional;->or(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
const-string v0, "or(...)"
invoke-static {p1, v0}, Lqh0/s;->g(Ljava/lang/Object;Ljava/lang/String;)V
check-cast p1, Lhw/e;
return-object p1
.end method
.method public final d(Lhw/e;)Z
.locals 3
const-string v0, "feature"
invoke-static {p1, v0}, Lqh0/s;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0, p1}, Lhw/e$b;->e(Lhw/e;)Z
move-result v0
invoke-static {}, Lhw/e;->h()Ljava/util/concurrent/ConcurrentHashMap;
move-result-object v1
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v2
invoke-virtual {v1, p1, v2}, Ljava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Boolean;
if-nez v1, :cond_0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
:cond_0
invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
invoke-direct {p0, p1, v0}, Lhw/e$b;->l(Lhw/e;Z)V
return v0
.end method
# isEnabled
.method public final e(Lhw/e;)Z
.locals 5
## YKit-FeatureOverride
invoke-static {p1}, Ldev/maelstrom/ykit/FeatureOverride;->getFeatureOverride(Lhw/e;)I
move-result v4
if-ltz v4, :ykit_featureOverrideSkip
if-eqz v4, :ykit_false
const p1, 0x1
return p1
:ykit_false
const p1, 0x0
return p1
:ykit_featureOverrideSkip
## /YKit-FeatureOverride
const-string v0, "feature"
invoke-static {p1, v0}, Lqh0/s;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p1}, Lhw/e;->q()Z
move-result v0
if-nez v0, :cond_0
invoke-static {}, Lhw/e;->i()Ljava/lang/String;
move-result-object v0
const-string v1, "access$getTAG$cp(...)"
invoke-static {v0, v1}, Lqh0/s;->g(Ljava/lang/Object;Ljava/lang/String;)V
const-string v1, "You\'re checking for Feature.isEnabled() with a non-boolean bucket!"
const/4 v2, 0x4
const/4 v3, 0x0
invoke-static {v0, v1, v3, v2, v3}, Ltz/a;->v(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V
:cond_0
sget-object v0, Liw/a;->TRUE:Liw/a;
invoke-direct {p0, p1, v0}, Lhw/e$b;->f(Lhw/e;Liw/b;)Z
move-result p1
return p1
.end method
.method public final j()V
.locals 1
invoke-static {}, Lhw/e;->h()Ljava/util/concurrent/ConcurrentHashMap;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;->clear()V
return-void
.end method
.method public final k(Lhw/e;)V
.locals 8
const-string v0, "feature"
invoke-static {p1, v0}, Lqh0/s;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {}, Lhw/e;->f()Lorg/json/JSONObject;
move-result-object v0
if-nez v0, :cond_0
invoke-direct {p0}, Lhw/e$b;->h()Lorg/json/JSONObject;
move-result-object v0
invoke-static {v0}, Lhw/e;->j(Lorg/json/JSONObject;)V
:cond_0
:try_start_0
sget-object v0, Lhw/e;->SEND_FEATURE_EXPOSED_ANALYTICS:Lhw/e;
if-eq p1, v0, :cond_a
sget-object v1, Liw/a;->TRUE:Liw/a;
invoke-virtual {v1}, Liw/a;->getValue()Ljava/lang/String;
move-result-object v1
invoke-static {}, Lhw/c;->e()Lhw/b;
move-result-object v2
const/4 v3, 0x0
const/4 v4, 0x2
const/4 v5, 0x0
invoke-static {v2, v0, v3, v4, v5}, Lhw/b;->d(Lhw/b;Lhw/e;ZILjava/lang/Object;)Ljava/lang/String;
move-result-object v0
const/4 v2, 0x1
invoke-static {v1, v0, v2}, Lzh0/n;->x(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_1
goto/16 :goto_8
:cond_1
invoke-virtual {p1}, Lhw/e;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {}, Lhw/e;->f()Lorg/json/JSONObject;
move-result-object v0
if-nez v0, :cond_2
const-string v0, "analyticsFeatureExposedStateMap"
invoke-static {v0}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v0, v5
goto :goto_0
:catch_0
move-exception p1
goto/16 :goto_9
:cond_2
:goto_0
monitor-enter v0
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
:try_start_1
invoke-static {}, Lhw/e;->f()Lorg/json/JSONObject;
move-result-object v1
if-nez v1, :cond_3
const-string v1, "analyticsFeatureExposedStateMap"
invoke-static {v1}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v1, v5
goto :goto_1
:catchall_0
move-exception p1
goto/16 :goto_7
:cond_3
:goto_1
invoke-virtual {v1, p1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
if-eqz v1, :cond_4
:try_start_2
monitor-exit v0
:try_end_2
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0
return-void
:cond_4
:try_start_3
sget-object v1, Ldh0/f0;->a:Ldh0/f0;
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
:try_start_4
monitor-exit v0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
invoke-static {}, Lhw/e;->g()Lorg/json/JSONObject;
move-result-object v3
if-nez v3, :cond_5
const-string v3, "analyticsFeatureReadStateMap"
invoke-static {v3}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v3, v5
:cond_5
monitor-enter v3
:try_end_4
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_0
:try_start_5
invoke-static {}, Lhw/e;->g()Lorg/json/JSONObject;
move-result-object v4
if-nez v4, :cond_6
const-string v4, "analyticsFeatureReadStateMap"
invoke-static {v4}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v4, v5
goto :goto_2
:catchall_1
move-exception p1
goto :goto_6
:cond_6
:goto_2
invoke-virtual {v4, p1, v0, v1}, Lorg/json/JSONObject;->optLong(Ljava/lang/String;J)J
move-result-wide v6
:try_end_5
.catchall {:try_start_5 .. :try_end_5} :catchall_1
sub-long/2addr v0, v6
:try_start_6
monitor-exit v3
invoke-static {}, Lhw/e;->f()Lorg/json/JSONObject;
move-result-object v3
if-nez v3, :cond_7
const-string v3, "analyticsFeatureExposedStateMap"
invoke-static {v3}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v3, v5
:cond_7
monitor-enter v3
:try_end_6
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6} :catch_0
:try_start_7
invoke-static {}, Lhw/e;->f()Lorg/json/JSONObject;
move-result-object v4
if-nez v4, :cond_8
const-string v4, "analyticsFeatureExposedStateMap"
invoke-static {v4}, Lqh0/s;->y(Ljava/lang/String;)V
move-object v4, v5
goto :goto_3
:catchall_2
move-exception p1
goto :goto_5
:cond_8
:goto_3
invoke-virtual {v4, p1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
const-string v2, "pref_features_exposed"
invoke-static {}, Lhw/e;->f()Lorg/json/JSONObject;
move-result-object v4
if-nez v4, :cond_9
const-string v4, "analyticsFeatureExposedStateMap"
invoke-static {v4}, Lqh0/s;->y(Ljava/lang/String;)V
goto :goto_4
:cond_9
move-object v5, v4
:goto_4
invoke-virtual {v5}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v2, v4}, Lcom/tumblr/Remember;->o(Ljava/lang/String;Ljava/lang/String;)Lcom/tumblr/Remember;
:try_end_7
.catchall {:try_start_7 .. :try_end_7} :catchall_2
:try_start_8
monitor-exit v3
new-instance v2, Lcom/google/common/collect/ImmutableMap$Builder;
invoke-direct {v2}, Lcom/google/common/collect/ImmutableMap$Builder;-><init>()V
sget-object v3, Lzo/d;->FEATURE_KEY:Lzo/d;
invoke-virtual {v2, v3, p1}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
move-result-object p1
sget-object v2, Lzo/d;->DELTA_MS:Lzo/d;
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
invoke-virtual {p1, v2, v0}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
move-result-object p1
invoke-virtual {p1}, Lcom/google/common/collect/ImmutableMap$Builder;->build()Lcom/google/common/collect/ImmutableMap;
move-result-object p1
const-string v0, "build(...)"
invoke-static {p1, v0}, Lqh0/s;->g(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lzo/e;->FEATURE_EXPOSED:Lzo/e;
sget-object v1, Lcom/tumblr/analytics/ScreenType;->UNKNOWN:Lcom/tumblr/analytics/ScreenType;
invoke-static {v0, v1, p1}, Lzo/n;->g(Lzo/e;Lcom/tumblr/analytics/ScreenType;Ljava/util/Map;)Lzo/m;
move-result-object p1
invoke-static {p1}, Lzo/r0;->h0(Lzo/m;)V
goto :goto_a
:goto_5
monitor-exit v3
throw p1
:goto_6
monitor-exit v3
throw p1
:goto_7
monitor-exit v0
throw p1
:try_end_8
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_8} :catch_0
:cond_a
:goto_8
return-void
:goto_9
invoke-static {}, Lhw/e;->i()Ljava/lang/String;
move-result-object v0
const-string v1, "access$getTAG$cp(...)"
invoke-static {v0, v1}, Lqh0/s;->g(Ljava/lang/Object;Ljava/lang/String;)V
const-string v1, "Something wrong when logging feature exposed."
invoke-static {v0, v1, p1}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_a
return-void
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,886 @@
.class public Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;
.super Landroid/widget/LinearLayout;
.source "SourceFile"
# instance fields
.field private b:Landroid/widget/ImageButton;
.field private c:Landroid/widget/ImageButton;
.field private d:Landroid/widget/ImageButton;
.field private e:Landroid/widget/ImageButton;
.field private f:Landroid/widget/ImageButton;
.field private g:Landroid/widget/ImageButton;
.field private h:Landroid/widget/ImageButton;
.field private final i:Ljava/util/HashSet;
.field private yellow:Landroid/widget/ImageButton;
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 0
invoke-direct {p0, p1, p2}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
new-instance p2, Ljava/util/HashSet;
invoke-direct {p2}, Ljava/util/HashSet;-><init>()V
iput-object p2, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->i:Ljava/util/HashSet;
invoke-direct {p0, p1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->q(Landroid/content/Context;)V
return-void
.end method
.method private static synthetic A(Ljava/lang/Throwable;)V
.locals 2
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
const-string v1, "ColorOptionsToolBar"
invoke-static {v1, v0, p0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method private synthetic B(Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
sget-object p3, Lee0/l2;->BLUE:Lee0/l2;
invoke-direct {p0, p3, p1, p2}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->o(Lee0/l2;Lu50/y2;Ls50/b;)V
return-void
.end method
.method private static synthetic C(Ljava/lang/Throwable;)V
.locals 2
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
const-string v1, "ColorOptionsToolBar"
invoke-static {v1, v0, p0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method private synthetic D(Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
sget-object p3, Lee0/l2;->GREEN:Lee0/l2;
invoke-direct {p0, p3, p1, p2}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->o(Lee0/l2;Lu50/y2;Ls50/b;)V
return-void
.end method
.method private static synthetic E(Ljava/lang/Throwable;)V
.locals 2
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
const-string v1, "ColorOptionsToolBar"
invoke-static {v1, v0, p0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method private H(Landroid/widget/ImageView;Lee0/l2;)V
.locals 4
if-nez p2, :cond_0
return-void
:cond_0
invoke-virtual {p1}, Landroid/view/View;->getWidth()I
move-result v0
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
move-result v1
if-le v0, v1, :cond_1
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
move-result v0
goto :goto_0
:cond_1
invoke-virtual {p1}, Landroid/view/View;->getWidth()I
move-result v0
:goto_0
iget-object v1, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->i:Ljava/util/HashSet;
invoke-virtual {v1, p2}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_2
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {p2, v1}, Lee0/l2;->h(Landroid/content/Context;)Ljava/lang/Integer;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
move-result p2
new-instance v1, Landroid/graphics/drawable/GradientDrawable;
sget-object v3, Landroid/graphics/drawable/GradientDrawable$Orientation;->TL_BR:Landroid/graphics/drawable/GradientDrawable$Orientation;
filled-new-array {p2, p2, p2, p2, v2}, [I
move-result-object p2
invoke-direct {v1, v3, p2}, Landroid/graphics/drawable/GradientDrawable;-><init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V
const/4 p2, 0x1
invoke-virtual {v1, p2}, Landroid/graphics/drawable/GradientDrawable;->setGradientType(I)V
div-int/lit8 v0, v0, 0x2
int-to-float p2, v0
invoke-virtual {v1, p2}, Landroid/graphics/drawable/GradientDrawable;->setGradientRadius(F)V
const/16 p2, 0x96
invoke-virtual {v1, p2}, Landroid/graphics/drawable/GradientDrawable;->setAlpha(I)V
invoke-virtual {p1, v1}, Landroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V
goto :goto_1
:cond_2
invoke-virtual {p1, v2}, Landroid/view/View;->setBackgroundColor(I)V
:goto_1
return-void
.end method
.method private I()V
.locals 2
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->b:Landroid/widget/ImageButton;
sget-object v1, Lee0/l2;->DEFAULT:Lee0/l2;
invoke-direct {p0, v0, v1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->H(Landroid/widget/ImageView;Lee0/l2;)V
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->c:Landroid/widget/ImageButton;
sget-object v1, Lee0/l2;->PINK:Lee0/l2;
invoke-direct {p0, v0, v1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->H(Landroid/widget/ImageView;Lee0/l2;)V
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->d:Landroid/widget/ImageButton;
sget-object v1, Lee0/l2;->PURPLE:Lee0/l2;
invoke-direct {p0, v0, v1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->H(Landroid/widget/ImageView;Lee0/l2;)V
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->e:Landroid/widget/ImageButton;
sget-object v1, Lee0/l2;->BLUE:Lee0/l2;
invoke-direct {p0, v0, v1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->H(Landroid/widget/ImageView;Lee0/l2;)V
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->f:Landroid/widget/ImageButton;
sget-object v1, Lee0/l2;->GREEN:Lee0/l2;
invoke-direct {p0, v0, v1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->H(Landroid/widget/ImageView;Lee0/l2;)V
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->g:Landroid/widget/ImageButton;
sget-object v1, Lee0/l2;->ORANGE:Lee0/l2;
invoke-direct {p0, v0, v1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->H(Landroid/widget/ImageView;Lee0/l2;)V
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->h:Landroid/widget/ImageButton;
sget-object v1, Lee0/l2;->RED:Lee0/l2;
invoke-direct {p0, v0, v1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->H(Landroid/widget/ImageView;Lee0/l2;)V
## YKit-BringBackPhoebe
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->yellow:Landroid/widget/ImageButton;
if-eqz v0, :post_bringBackPhoebe2
sget-object v1, Lee0/l2;->YELLOW:Lee0/l2;
invoke-direct {p0, v0, v1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->H(Landroid/widget/ImageView;Lee0/l2;)V
:post_bringBackPhoebe2
## /YKit-BringBackPhoebe
return-void
.end method
.method public static synthetic a(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->v(Lu50/y2;Ls50/b;Ldh0/f0;)V
return-void
.end method
.method public static synthetic b(Ljava/lang/Throwable;)V
.locals 0
invoke-static {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->u(Ljava/lang/Throwable;)V
return-void
.end method
.method public static synthetic c(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->x(Lu50/y2;Ls50/b;Ldh0/f0;)V
return-void
.end method
.method public static synthetic d(Ljava/lang/Throwable;)V
.locals 0
invoke-static {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->E(Ljava/lang/Throwable;)V
return-void
.end method
.method public static synthetic e(Ljava/lang/Throwable;)V
.locals 0
invoke-static {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->C(Ljava/lang/Throwable;)V
return-void
.end method
.method public static synthetic f(Ljava/lang/Throwable;)V
.locals 0
invoke-static {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->s(Ljava/lang/Throwable;)V
return-void
.end method
.method public static synthetic g(Ljava/lang/Throwable;)V
.locals 0
invoke-static {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->w(Ljava/lang/Throwable;)V
return-void
.end method
.method public static synthetic h(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->z(Lu50/y2;Ls50/b;Ldh0/f0;)V
return-void
.end method
.method public static synthetic i(Ljava/lang/Throwable;)V
.locals 0
invoke-static {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->y(Ljava/lang/Throwable;)V
return-void
.end method
.method public static synthetic j(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->t(Lu50/y2;Ls50/b;Ldh0/f0;)V
return-void
.end method
.method public static synthetic k(Ljava/lang/Throwable;)V
.locals 0
invoke-static {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->A(Ljava/lang/Throwable;)V
return-void
.end method
.method public static synthetic l(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->D(Lu50/y2;Ls50/b;Ldh0/f0;)V
return-void
.end method
.method public static synthetic m(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->r(Lu50/y2;Ls50/b;Ldh0/f0;)V
return-void
.end method
.method public static synthetic n(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->B(Lu50/y2;Ls50/b;Ldh0/f0;)V
return-void
.end method
.method private o(Lee0/l2;Lu50/y2;Ls50/b;)V
.locals 2
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {p1, v0}, Lee0/l2;->g(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_2
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->i:Ljava/util/HashSet;
invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->i:Ljava/util/HashSet;
invoke-virtual {v0, p1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
invoke-virtual {p2, p1}, Lu50/y2;->e(Lee0/l2;)V
goto :goto_0
:cond_0
invoke-virtual {p1}, Lee0/l2;->i()Ljava/lang/Boolean;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-nez v0, :cond_1
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->i:Ljava/util/HashSet;
invoke-virtual {v0, p1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
new-instance v0, Lu50/d1;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {p1, v1}, Lee0/l2;->g(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lu50/d1;-><init>(Ljava/lang/String;)V
invoke-virtual {p2, v0}, Lu50/y2;->a(Lu50/d1;)V
goto :goto_0
:cond_1
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->i:Ljava/util/HashSet;
invoke-virtual {v0}, Ljava/util/HashSet;->clear()V
invoke-virtual {p2}, Lu50/y2;->f()V
:goto_0
sget-object p2, Lcom/tumblr/analytics/ScreenType;->CANVAS:Lcom/tumblr/analytics/ScreenType;
invoke-virtual {p1}, Ljava/lang/Enum;->name()Ljava/lang/String;
move-result-object p1
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p1
invoke-interface {p3, p2, p1}, Ls50/b;->Q0(Lcom/tumblr/analytics/ScreenType;Ljava/lang/String;)V
invoke-direct {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->I()V
:cond_2
return-void
.end method
.method private q(Landroid/content/Context;)V
.locals 4 ## YKit-BringBackPhoebe
invoke-static {p1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object p1
sget v0, Lcom/tumblr/R$layout;->i0:I
const/4 v1, 0x1
invoke-virtual {p1, v0, p0, v1}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
invoke-virtual {p0, v1}, Landroid/widget/LinearLayout;->setOrientation(I)V
sget p1, Lcom/tumblr/R$id;->Rk:I
invoke-virtual {p0, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/ImageButton;
iput-object p1, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->b:Landroid/widget/ImageButton;
sget p1, Lcom/tumblr/R$id;->Uk:I
invoke-virtual {p0, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/ImageButton;
iput-object p1, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->c:Landroid/widget/ImageButton;
sget p1, Lcom/tumblr/R$id;->Vk:I
invoke-virtual {p0, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/ImageButton;
iput-object p1, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->d:Landroid/widget/ImageButton;
sget p1, Lcom/tumblr/R$id;->Qk:I
invoke-virtual {p0, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/ImageButton;
iput-object p1, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->e:Landroid/widget/ImageButton;
sget p1, Lcom/tumblr/R$id;->Sk:I
invoke-virtual {p0, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/ImageButton;
iput-object p1, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->f:Landroid/widget/ImageButton;
sget p1, Lcom/tumblr/R$id;->Tk:I
invoke-virtual {p0, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/ImageButton;
iput-object p1, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->g:Landroid/widget/ImageButton;
sget p1, Lcom/tumblr/R$id;->Wk:I
invoke-virtual {p0, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/ImageButton;
iput-object p1, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->h:Landroid/widget/ImageButton;
## YKit-BringBackPhoebe
const p1, 0x7f0bf002
invoke-virtual {p0, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p1
# Disable the widget and skip if bringBackPhoebe has not been enabled/has been disabled
sget-boolean v2, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->bringBackPhoebeEnabled:Z
if-nez v2, :post_disablePhoebe
const v3, 0x8
invoke-virtual {p1, v3}, Landroid/view/View;->setVisibility(I)V
goto :post_bringBackPhoebe3
:post_disablePhoebe
check-cast p1, Landroid/widget/ImageButton;
iput-object p1, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->yellow:Landroid/widget/ImageButton;
:post_bringBackPhoebe3
## /YKit-BringBackPhoebe
return-void
.end method
.method private synthetic r(Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
sget-object p3, Lee0/l2;->DEFAULT:Lee0/l2;
invoke-direct {p0, p3, p1, p2}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->o(Lee0/l2;Lu50/y2;Ls50/b;)V
return-void
.end method
.method private static synthetic s(Ljava/lang/Throwable;)V
.locals 2
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
const-string v1, "ColorOptionsToolBar"
invoke-static {v1, v0, p0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method private synthetic t(Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
sget-object p3, Lee0/l2;->ORANGE:Lee0/l2;
invoke-direct {p0, p3, p1, p2}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->o(Lee0/l2;Lu50/y2;Ls50/b;)V
return-void
.end method
.method private static synthetic u(Ljava/lang/Throwable;)V
.locals 2
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
const-string v1, "ColorOptionsToolBar"
invoke-static {v1, v0, p0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method private synthetic v(Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
sget-object p3, Lee0/l2;->RED:Lee0/l2;
invoke-direct {p0, p3, p1, p2}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->o(Lee0/l2;Lu50/y2;Ls50/b;)V
return-void
.end method
.method private static synthetic w(Ljava/lang/Throwable;)V
.locals 2
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
const-string v1, "ColorOptionsToolBar"
invoke-static {v1, v0, p0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method private synthetic x(Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
sget-object p3, Lee0/l2;->PINK:Lee0/l2;
invoke-direct {p0, p3, p1, p2}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->o(Lee0/l2;Lu50/y2;Ls50/b;)V
return-void
.end method
.method private static synthetic y(Ljava/lang/Throwable;)V
.locals 2
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
const-string v1, "ColorOptionsToolBar"
invoke-static {v1, v0, p0}, Ltz/a;->f(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method private synthetic z(Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
sget-object p3, Lee0/l2;->PURPLE:Lee0/l2;
invoke-direct {p0, p3, p1, p2}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->o(Lee0/l2;Lu50/y2;Ls50/b;)V
return-void
.end method
## YKit-BringBackPhoebe
.method private synthetic setYellow(Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
sget-object p3, Lee0/l2;->YELLOW:Lee0/l2;
invoke-direct {p0, p3, p1, p2}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->o(Lee0/l2;Lu50/y2;Ls50/b;)V
return-void
.end method
.method public static synthetic setYellowProxy(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;Ldh0/f0;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->setYellow(Lu50/y2;Ls50/b;Ldh0/f0;)V
return-void
.end method
## /YKit-BringBackPhoebe
# virtual methods
.method public F(Lcg0/a;Lu50/y2;Ls50/b;)V
.locals 3
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->b:Landroid/widget/ImageButton;
invoke-static {v0}, Luk/a;->a(Landroid/view/View;)Lyf0/o;
move-result-object v0
new-instance v1, Lx50/a;
invoke-direct {v1, p0, p2, p3}, Lx50/a;-><init>(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;)V
new-instance v2, Lx50/j;
invoke-direct {v2}, Lx50/j;-><init>()V
invoke-virtual {v0, v1, v2}, Lyf0/o;->subscribe(Lfg0/f;Lfg0/f;)Lcg0/b;
move-result-object v0
invoke-virtual {p1, v0}, Lcg0/a;->b(Lcg0/b;)Z
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->c:Landroid/widget/ImageButton;
invoke-static {v0}, Luk/a;->a(Landroid/view/View;)Lyf0/o;
move-result-object v0
new-instance v1, Lx50/k;
invoke-direct {v1, p0, p2, p3}, Lx50/k;-><init>(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;)V
new-instance v2, Lx50/l;
invoke-direct {v2}, Lx50/l;-><init>()V
invoke-virtual {v0, v1, v2}, Lyf0/o;->subscribe(Lfg0/f;Lfg0/f;)Lcg0/b;
move-result-object v0
invoke-virtual {p1, v0}, Lcg0/a;->b(Lcg0/b;)Z
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->d:Landroid/widget/ImageButton;
invoke-static {v0}, Luk/a;->a(Landroid/view/View;)Lyf0/o;
move-result-object v0
new-instance v1, Lx50/m;
invoke-direct {v1, p0, p2, p3}, Lx50/m;-><init>(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;)V
new-instance v2, Lx50/n;
invoke-direct {v2}, Lx50/n;-><init>()V
invoke-virtual {v0, v1, v2}, Lyf0/o;->subscribe(Lfg0/f;Lfg0/f;)Lcg0/b;
move-result-object v0
invoke-virtual {p1, v0}, Lcg0/a;->b(Lcg0/b;)Z
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->e:Landroid/widget/ImageButton;
invoke-static {v0}, Luk/a;->a(Landroid/view/View;)Lyf0/o;
move-result-object v0
new-instance v1, Lx50/b;
invoke-direct {v1, p0, p2, p3}, Lx50/b;-><init>(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;)V
new-instance v2, Lx50/c;
invoke-direct {v2}, Lx50/c;-><init>()V
invoke-virtual {v0, v1, v2}, Lyf0/o;->subscribe(Lfg0/f;Lfg0/f;)Lcg0/b;
move-result-object v0
invoke-virtual {p1, v0}, Lcg0/a;->b(Lcg0/b;)Z
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->f:Landroid/widget/ImageButton;
invoke-static {v0}, Luk/a;->a(Landroid/view/View;)Lyf0/o;
move-result-object v0
new-instance v1, Lx50/d;
invoke-direct {v1, p0, p2, p3}, Lx50/d;-><init>(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;)V
new-instance v2, Lx50/e;
invoke-direct {v2}, Lx50/e;-><init>()V
invoke-virtual {v0, v1, v2}, Lyf0/o;->subscribe(Lfg0/f;Lfg0/f;)Lcg0/b;
move-result-object v0
invoke-virtual {p1, v0}, Lcg0/a;->b(Lcg0/b;)Z
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->g:Landroid/widget/ImageButton;
invoke-static {v0}, Luk/a;->a(Landroid/view/View;)Lyf0/o;
move-result-object v0
new-instance v1, Lx50/f;
invoke-direct {v1, p0, p2, p3}, Lx50/f;-><init>(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;)V
new-instance v2, Lx50/g;
invoke-direct {v2}, Lx50/g;-><init>()V
invoke-virtual {v0, v1, v2}, Lyf0/o;->subscribe(Lfg0/f;Lfg0/f;)Lcg0/b;
move-result-object v0
invoke-virtual {p1, v0}, Lcg0/a;->b(Lcg0/b;)Z
## YKit-BringBackPhoebe
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->yellow:Landroid/widget/ImageButton;
# Yellow button has been disabled, skip this
if-eqz v0, :post_bringBackPhoebe
invoke-static {v0}, Luk/a;->a(Landroid/view/View;)Lyf0/o;
move-result-object v0
new-instance v1, Ldev/maelstrom/ykit/PhoebeCallback;
invoke-direct {v1, p0, p2, p3}, Ldev/maelstrom/ykit/PhoebeCallback;-><init>(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;)V
new-instance v2, Lx50/j;
invoke-direct {v2}, Lx50/j;-><init>()V
invoke-virtual {v0, v1, v2}, Lyf0/o;->subscribe(Lfg0/f;Lfg0/f;)Lcg0/b;
move-result-object v0
invoke-virtual {p1, v0}, Lcg0/a;->b(Lcg0/b;)Z
:post_bringBackPhoebe
## /YKit-BringBackPhoebe
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->h:Landroid/widget/ImageButton;
invoke-static {v0}, Luk/a;->a(Landroid/view/View;)Lyf0/o;
move-result-object v0
new-instance v1, Lx50/h;
invoke-direct {v1, p0, p2, p3}, Lx50/h;-><init>(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;)V
new-instance p2, Lx50/i;
invoke-direct {p2}, Lx50/i;-><init>()V
invoke-virtual {v0, v1, p2}, Lyf0/o;->subscribe(Lfg0/f;Lfg0/f;)Lcg0/b;
move-result-object p2
invoke-virtual {p1, p2}, Lcg0/a;->b(Lcg0/b;)Z
return-void
.end method
.method public G(Ljava/util/HashSet;)V
.locals 1
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->i:Ljava/util/HashSet;
invoke-virtual {v0, p1}, Ljava/util/AbstractCollection;->addAll(Ljava/util/Collection;)Z
invoke-direct {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->I()V
return-void
.end method
.method public p()V
.locals 1
iget-object v0, p0, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->i:Ljava/util/HashSet;
invoke-virtual {v0}, Ljava/util/HashSet;->clear()V
invoke-direct {p0}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->I()V
return-void
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,162 @@
.class public Ldev/maelstrom/ykit/CoreAppShim;
.super Ljava/lang/Object;
.source "SourceFile"
# This class injects important fields just like CoreApp does for MediaAutoPlaySettingsActivity, check ix.f$n.x5
.method public static initYkitSettingsActivity(Lix/f$n;Ldev/maelstrom/ykit/settings/YkitSettingsActivity;)Ldev/maelstrom/ykit/settings/YkitSettingsActivity;
.registers 3
iget-object v0, p0, Lix/f$n;->R1:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lrw/a;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/t;->b(Lcom/tumblr/ui/activity/s;Lrw/a;)V
iget-object v0, p0, Lix/f$n;->Y:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tumblr/rumblr/TumblrService;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/t;->a(Lcom/tumblr/ui/activity/s;Lcom/tumblr/rumblr/TumblrService;)V
iget-object v0, p0, Lix/f$n;->K0:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tumblr/image/j;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->i(Lcom/tumblr/ui/activity/a;Lcom/tumblr/image/j;)V
iget-object v0, p0, Lix/f$n;->p0:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lft/j0;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->h(Lcom/tumblr/ui/activity/a;Lft/j0;)V
iget-object v0, p0, Lix/f$n;->D:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Low/a;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->c(Lcom/tumblr/ui/activity/a;Low/a;)V
invoke-virtual {p0}, Lix/f$n;->W1()Lwb0/j0;
move-result-object v0
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->f(Lcom/tumblr/ui/activity/a;Lwb0/j0;)V
iget-object v0, p0, Lix/f$n;->S1:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lgx/b;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->d(Lcom/tumblr/ui/activity/a;Lgx/b;)V
iget-object v0, p0, Lix/f$n;->L0:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lx10/b;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->j(Lcom/tumblr/ui/activity/a;Lx10/b;)V
iget-object v0, p0, Lix/f$n;->J0:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lx10/d;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->g(Lcom/tumblr/ui/activity/a;Lx10/d;)V
iget-object v0, p0, Lix/f$n;->T1:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcv/b;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->b(Lcom/tumblr/ui/activity/a;Lcv/b;)V
invoke-virtual {p0}, Lix/f$n;->g0()Ldagger/android/DispatchingAndroidInjector;
move-result-object v0
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->e(Lcom/tumblr/ui/activity/a;Ldagger/android/DispatchingAndroidInjector;)V
iget-object v0, p0, Lix/f$n;->w:Lwf0/j;
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tumblr/AppController;
invoke-static {p1, v0}, Lcom/tumblr/ui/activity/c;->a(Lcom/tumblr/ui/activity/a;Lcom/tumblr/AppController;)V
return-object p1
.end method
.method public static getTumblrService()Lcom/tumblr/rumblr/TumblrService;
.locals 1
# Get an instance of CoreApp
invoke-static {}, Lcom/tumblr/CoreApp;->Q()Lix/b;
move-result-object v0
check-cast v0, Lix/f$n;
# Get TumblrService from it
iget-object v0, v0, Lix/f$n;->Y:Lwf0/j; # TumblrService provider
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tumblr/rumblr/TumblrService;
return-object v0
.end method
.method public static getCurrentBlogName()Ljava/lang/String;
.locals 1
# Get an instance of CoreApp
invoke-static {}, Lcom/tumblr/CoreApp;->Q()Lix/b;
move-result-object v0
check-cast v0, Lix/f$n;
# Get p0 (main blog info) from it
iget-object v0, v0, Lix/f$n;->p0:Lwf0/j; # p0 provider
invoke-interface {v0}, Lch0/a;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lft/j0;
# Call k0.getCurrentBlogName
invoke-static {v0}, Lnc0/k0;->b(Lft/j0;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,148 @@
.class public final Ldev/maelstrom/ykit/DashboardDeclutterShim;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static cachedBlocks:Ljava/util/List; # List<String uniqueId>
# direct methods
.method public static final filterObject(Lcom/tumblr/rumblr/model/TimelineObject;)Lcom/tumblr/rumblr/model/TimelineObject;
.locals 3
# Get the Timelineable object
invoke-virtual {p0}, Lcom/tumblr/rumblr/model/TimelineObject;->getData()Lcom/tumblr/rumblr/model/Timelineable;
move-result-object v0
# Get the timelineable's type
invoke-interface {v0}, Lcom/tumblr/rumblr/model/Timelineable;->getTimelineObjectType()Lcom/tumblr/rumblr/model/TimelineObjectType;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Enum;->name()Ljava/lang/String;
move-result-object v0
# Check if the timeline's type has been blocked
sget-boolean v1, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->blockAdsEnabled:Z
if-eqz v1, :skip_blockAds
invoke-static {v0}, Ldev/maelstrom/ykit/DashboardDeclutterShim;->isAd(Ljava/lang/String;)Z
move-result v1
if-nez v1, :returnNull
:skip_blockAds
sget-boolean v1, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->reduceDashboardClutterEnabled:Z
if-eqz v1, :skip_reduceDashboardClutter
const-string v2, "TITLE"
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
const-string v2, "FOLLOWED_TAG_CAROUSEL_CARD" # Check these out
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
const-string v2, "VIDEO_HUB_FEATURED" # Tumblr TV
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
const-string v2, "VIDEO_HUB_FEATURED_BORDERED"
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
const-string v2, "TAG_CARDS_ROW"
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
const-string v2, "TAG_CARDS_COLLECTION"
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
const-string v2, "TAG_CAROUSEL_CARD"
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
const-string v2, "BLOG_CARD"
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
const-string v2, "BLOG_ROW"
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
:skip_reduceDashboardClutter
sget-boolean v1, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->hideBlazedPosts:Z
if-eqz v1, :skip_hideBlazedPosts
const-string v2, "BLAZED_POST"
invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnNull
:skip_hideBlazedPosts
goto :returnNormal
:returnNull
const p0, 0x0
:returnNormal
return-object p0
.end method
.method public static final isAd(Ljava/lang/String;)Z
.locals 2
const-string v0, "CLIENT_SIDE_MEDIATION"
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnTrue
const-string v0, "CLIENT_SIDE_AD"
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnTrue
const-string v0, "GEMINI_AD"
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnTrue
const-string v0, "NIMBUS_AD"
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnTrue
const-string v0, "DISPLAY_IO_INTERSCROLLER_AD"
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnTrue
const-string v0, "DISPLAY_IO_HEADLINE_VIDEO_AD"
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnTrue
const-string v0, "FACEBOOK_BIDDAABLE"
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnTrue
const-string v0, "GOOGLE_NATIVE"
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :returnTrue
const v1, 0x0
goto :returnFalse
:returnTrue
const v1, 0x1
:returnFalse
return v1
.end method

View file

@ -0,0 +1,24 @@
.class public Ldev/maelstrom/ykit/FeatureOverride;
.super Ljava/lang/Object;
.method public static getFeatureOverride(Lhw/e;)I
.locals 2
const v0, -0x1 # -1 = PASS
# Get Feature.AD_FREE_CTA_BANNER
sget-object v1, Lhw/e;->AD_FREE_CTA_BANNER:Lhw/e;
# Check if they equal
if-ne v1, p0, :end
# Check if boilTheFrog is enabled
sget-boolean v1, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->boilTheFrog:Z
if-eqz v1, :end
# Boil the fucking frog
const v0, 0x0
:end
return v0
.end method

View file

@ -0,0 +1,48 @@
.class public final synthetic Ldev/maelstrom/ykit/PhoebeCallback;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lfg0/f;
# instance fields
.field public final synthetic b:Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;
.field public final synthetic c:Lu50/y2;
.field public final synthetic d:Ls50/b;
# direct methods
.method public synthetic constructor <init>(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Ldev/maelstrom/ykit/PhoebeCallback;->b:Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;
iput-object p2, p0, Ldev/maelstrom/ykit/PhoebeCallback;->c:Lu50/y2;
iput-object p3, p0, Ldev/maelstrom/ykit/PhoebeCallback;->d:Ls50/b;
return-void
.end method
# virtual methods
.method public final accept(Ljava/lang/Object;)V
.locals 3
iget-object v0, p0, Ldev/maelstrom/ykit/PhoebeCallback;->b:Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;
iget-object v1, p0, Ldev/maelstrom/ykit/PhoebeCallback;->c:Lu50/y2;
iget-object v2, p0, Ldev/maelstrom/ykit/PhoebeCallback;->d:Ls50/b;
check-cast p1, Ldh0/f0;
invoke-static {v0, v1, v2, p1}, Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;->setYellowProxy(Lcom/tumblr/posts/postform/view/ColorOptionsToolBar;Lu50/y2;Ls50/b;Ldh0/f0;)V
return-void
.end method

View file

@ -0,0 +1,31 @@
.class Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener$Thread;
.super Ljava/lang/Object;
.source "SourceFile"
.implements Ljava/lang/Runnable;
.field private final blogName:Ljava/lang/String;
# direct methods
.method constructor <init>(Ljava/lang/String;)V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener$Thread;->blogName:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public run()V
.locals 1
iget-object v0, p0, Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener$Thread;->blogName:Ljava/lang/String;
# Fetch block list (and cache it)
invoke-static {v0}, Ldev/maelstrom/ykit/PostJsonAdapterShim;->fetchBlockList(Ljava/lang/String;)Ljava/util/List;
return-void
.end method

View file

@ -0,0 +1,53 @@
.class Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener;
.super Landroid/content/BroadcastReceiver;
.source "SourceFile"
# direct methods
.method constructor <init>(Lcom/tumblr/ui/fragment/UserBlogPagesDashboardFragment;)V
.registers 2
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
return-void
.end method
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 4
# If intent is null, skip
if-eqz p2, :return
# If not blog changed event, skip
invoke-static {p2}, Lee0/p;->g(Landroid/content/Intent;)Z # BlogChangedEvent.isBlogChangedEvent
move-result v0
if-eqz v0, :return
# Get blog info
invoke-static {p2}, Lee0/p;->f(Landroid/content/Intent;)Lcom/tumblr/bloginfo/BlogInfo; # BlogChangedEvent.getBlogInfo
move-result-object v1
# Get blog url
invoke-virtual {v1}, Lcom/tumblr/bloginfo/BlogInfo;->T()Ljava/lang/String; # getName
move-result-object v1
# Append tumblr extension for host name
const-string v2, ".tumblr.com"
invoke-virtual {v1, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
## Because you cannot make requests on the ui thread, start a new thread in the background and fetch the blocklist from it (async)
# Start new thread
new-instance v2, Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener$Thread;
invoke-direct {v2, v1}, Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener$Thread;-><init>(Ljava/lang/String;)V
new-instance v3, Ljava/lang/Thread;
invoke-direct {v3, v2}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
invoke-virtual {v3}, Ljava/lang/Thread;->start()V
:return
return-void
.end method

View file

@ -0,0 +1,215 @@
.class public final Ldev/maelstrom/ykit/PostJsonAdapterShim;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static cachedBlocks:Ljava/util/List; # List<String uniqueId>
# direct methods
.method public static final filterPost(Lcom/tumblr/rumblr/model/post/Post;)Lcom/tumblr/rumblr/model/post/Post;
.locals 1
# Try enhanced block filter
invoke-static {p0}, Ldev/maelstrom/ykit/PostJsonAdapterShim;->filterPostEnhancedBlock(Lcom/tumblr/rumblr/model/post/Post;)Lcom/tumblr/rumblr/model/post/Post;
move-result-object p0
# If null, finish
if-eqz p0, :returnNormal
# Try filtered post filter
# Check to see if it's enabled
sget-boolean v0, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->hideFilteredPosts:Z
if-eqz v0, :returnNormal
# Get filtered field
invoke-virtual {p0}, Lcom/tumblr/rumblr/model/post/Post;->X()Lcom/tumblr/rumblr/model/post/asset/Filtered;
move-result-object v0
# If v0 is null, then continue as normal. Otherwise, return null
if-eqz v0, :returnNormal
const p0, 0x0
:returnNormal
return-object p0
.end method
.method private static final filterPostEnhancedBlock(Lcom/tumblr/rumblr/model/post/Post;)Lcom/tumblr/rumblr/model/post/Post;
.locals 4
# Check that EnhancedBlock is enabled, skip if otherwise
sget-boolean v0, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->enhancedBlockEnabled:Z
if-eqz v0, :returnNormal
# Get the reblog trail
invoke-virtual {p0}, Lcom/tumblr/rumblr/model/post/Post;->s0()Ljava/util/List; # getReblogTrail()
move-result-object v1
# Iterate over reblog trail
invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v2
:loop
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :loopEnd
# Get next reblog trail
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/tumblr/rumblr/model/post/ReblogTrail;
# Get the blog
invoke-virtual {v3}, Lcom/tumblr/rumblr/model/post/ReblogTrail;->c()Lcom/tumblr/rumblr/model/blog/ShortBlogInfoReblogTrail; # getShortBlogInfo()
move-result-object v3
# If the blog info is null, then skip
if-eqz v3, :loop # continue
# Get the blog's uuid
invoke-virtual {v3}, Lcom/tumblr/rumblr/model/blog/ShortBlogInfoReblogTrail;->X()Ljava/lang/String; # getUniqueId()
move-result-object v3
# Check if the uuid is blocked
invoke-static {v3}, Ldev/maelstrom/ykit/PostJsonAdapterShim;->isBlocked(Ljava/lang/String;)Z
move-result v0
# If it matches, then return null
if-nez v0, :returnNull
goto :loop
:loopEnd
## End
goto :returnNormal
:returnNull
const p0, 0x0 # Set timeline object to null
:returnNormal
return-object p0
.end method
# isBlocked(String uuid) -> boolean
.method private static final isBlocked(Ljava/lang/String;)Z
.locals 2
# Fetch blocklist if not already cached
sget-object v1, Ldev/maelstrom/ykit/PostJsonAdapterShim;->cachedBlocks:Ljava/util/List;
if-nez v1, :skipFetchBlockList
invoke-static {}, Ldev/maelstrom/ykit/PostJsonAdapterShim;->fetchBlockList()Ljava/util/List;
move-result-object v1
:skipFetchBlockList
invoke-interface {v1, p0}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v0
return v0
.end method
# fetchBlockList() -> List<String uuid>
.method public static final fetchBlockList()Ljava/util/List;
.locals 2
# Get current blog name
invoke-static {}, Ldev/maelstrom/ykit/CoreAppShim;->getCurrentBlogName()Ljava/lang/String;
move-result-object v0
# Append tumblr extension for host name
const-string v1, ".tumblr.com"
invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
# Fetch block list
invoke-static {v0}, Ldev/maelstrom/ykit/PostJsonAdapterShim;->fetchBlockList(Ljava/lang/String;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
# Called by fetchBlockList above and also BlogChangedListener
# fetchBlockList(String blogHostName) -> List<String uuid>
.method public static final fetchBlockList(Ljava/lang/String;)Ljava/util/List;
.locals 4
# Get TumblrService
invoke-static {}, Ldev/maelstrom/ykit/CoreAppShim;->getTumblrService()Lcom/tumblr/rumblr/TumblrService;
move-result-object v0
# Build blocklist query
#const-string v1, "jingle--balls.tumblr.com" # TODO:
invoke-interface {v0, p0}, Lcom/tumblr/rumblr/TumblrService;->blocks(Ljava/lang/String;)Lretrofit2/Call;
move-result-object v0
# Execute
invoke-interface {v0}, Lretrofit2/Call;->execute()Lretrofit2/Response;
move-result-object v0
# Get BlocksResponse
invoke-virtual {v0}, Lretrofit2/Response;->body()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tumblr/rumblr/response/ApiResponse;
invoke-virtual {v0}, Lcom/tumblr/rumblr/response/ApiResponse;->getResponse()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tumblr/rumblr/response/BlocksResponse;
# Get list of blocked blogs
invoke-virtual {v0}, Lcom/tumblr/rumblr/response/BlocksResponse;->getBlocks()Ljava/util/List;
move-result-object v0
# Iterate over each blog and extract its UUID, put that into a new list
new-instance v1, Ljava/util/ArrayList;
invoke-interface {v0}, Ljava/util/Collection;->size()I
move-result v2
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V # Pre-allocate with enough items
# Get the iterator
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:loop
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :loopEnd
# Get next blocked blog
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/tumblr/rumblr/model/blog/ShortBlogInfo;
# Get the blog's unique id
invoke-virtual {v3}, Lcom/tumblr/rumblr/model/blog/ShortBlogInfo;->X()Ljava/lang/String; # getUniqueId()
move-result-object v3
# Add it to the list
invoke-interface {v1, v3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
goto :loop
:loopEnd
## End
# Cache results for further calls
sput-object v1, Ldev/maelstrom/ykit/PostJsonAdapterShim;->cachedBlocks:Ljava/util/List;
return-object v1
.end method
.method static constructor <clinit>()V
.locals 2
# Get Context
invoke-static {}, Lcom/tumblr/CoreApp;->M()Landroid/content/Context;
move-result-object v0
# Create event listener
new-instance v1, Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener;
invoke-direct {v1}, Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener;-><init>()V
# Add event listener
invoke-static {v0, v1}, Lee0/p;->i(Landroid/content/Context;Landroid/content/BroadcastReceiver;)V # BlogChangedEvent.listen
return-void
.end method

View file

@ -0,0 +1,213 @@
.class public final Ldev/maelstrom/ykit/enhancedblock/EnhancedBlockFilter;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static final filterPost(Lcom/tumblr/rumblr/model/post/Post;)Lcom/tumblr/rumblr/model/post/Post;
.locals 1
# Try enhanced block filter
invoke-static {p0}, Ldev/maelstrom/ykit/PostJsonAdapterShim;->filterPostEnhancedBlock(Lcom/tumblr/rumblr/model/post/Post;)Lcom/tumblr/rumblr/model/post/Post;
move-result-object p0
# If null, finish
if-eqz p0, :returnNormal
# Try filtered post filter
# Check to see if it's enabled
sget-boolean v0, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->hideFilteredPosts:Z
if-eqz v0, :returnNormal
# Get filtered field
invoke-virtual {p0}, Lcom/tumblr/rumblr/model/post/Post;->X()Lcom/tumblr/rumblr/model/post/asset/Filtered;
move-result-object v0
# If v0 is null, then continue as normal. Otherwise, return null
if-eqz v0, :returnNormal
const p0, 0x0
:returnNormal
return-object p0
.end method
.method private static final filterPostEnhancedBlock(Lcom/tumblr/rumblr/model/post/Post;)Lcom/tumblr/rumblr/model/post/Post;
.locals 4
# Check that EnhancedBlock is enabled, skip if otherwise
sget-boolean v0, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->enhancedBlockEnabled:Z
if-eqz v0, :returnNormal
# Get the reblog trail
invoke-virtual {p0}, Lcom/tumblr/rumblr/model/post/Post;->s0()Ljava/util/List; # getReblogTrail()
move-result-object v1
# Iterate over reblog trail
invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v2
:loop
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :loopEnd
# Get next reblog trail
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/tumblr/rumblr/model/post/ReblogTrail;
# Get the blog
invoke-virtual {v3}, Lcom/tumblr/rumblr/model/post/ReblogTrail;->c()Lcom/tumblr/rumblr/model/blog/ShortBlogInfoReblogTrail; # getShortBlogInfo()
move-result-object v3
# If the blog info is null, then skip
if-eqz v3, :loop # continue
# Get the blog's uuid
invoke-virtual {v3}, Lcom/tumblr/rumblr/model/blog/ShortBlogInfoReblogTrail;->X()Ljava/lang/String; # getUniqueId()
move-result-object v3
# Check if the uuid is blocked
invoke-static {v3}, Ldev/maelstrom/ykit/PostJsonAdapterShim;->isBlocked(Ljava/lang/String;)Z
move-result v0
# If it matches, then return null
if-nez v0, :returnNull
goto :loop
:loopEnd
## End
goto :returnNormal
:returnNull
const p0, 0x0 # Set timeline object to null
:returnNormal
return-object p0
.end method
# isBlocked(String uuid) -> boolean
.method private static final isBlocked(Ljava/lang/String;)Z
.locals 2
# Fetch blocklist if not already cached
sget-object v1, Ldev/maelstrom/ykit/PostJsonAdapterShim;->cachedBlocks:Ljava/util/List;
if-nez v1, :skipFetchBlockList
invoke-static {}, Ldev/maelstrom/ykit/PostJsonAdapterShim;->fetchBlockList()Ljava/util/List;
move-result-object v1
:skipFetchBlockList
invoke-interface {v1, p0}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v0
return v0
.end method
# fetchBlockList() -> List<String uuid>
.method public static final fetchBlockList()Ljava/util/List;
.locals 2
# Get current blog name
invoke-static {}, Ldev/maelstrom/ykit/CoreAppShim;->getCurrentBlogName()Ljava/lang/String;
move-result-object v0
# Append tumblr extension for host name
const-string v1, ".tumblr.com"
invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
# Fetch block list
invoke-static {v0}, Ldev/maelstrom/ykit/PostJsonAdapterShim;->fetchBlockList(Ljava/lang/String;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
# Called by fetchBlockList above and also BlogChangedListener
# fetchBlockList(String blogHostName) -> List<String uuid>
.method public static final fetchBlockList(Ljava/lang/String;)Ljava/util/List;
.locals 4
# Get TumblrService
invoke-static {}, Ldev/maelstrom/ykit/CoreAppShim;->getTumblrService()Lcom/tumblr/rumblr/TumblrService;
move-result-object v0
# Build blocklist query
#const-string v1, "jingle--balls.tumblr.com" # TODO:
invoke-interface {v0, p0}, Lcom/tumblr/rumblr/TumblrService;->blocks(Ljava/lang/String;)Lretrofit2/Call;
move-result-object v0
# Execute
invoke-interface {v0}, Lretrofit2/Call;->execute()Lretrofit2/Response;
move-result-object v0
# Get BlocksResponse
invoke-virtual {v0}, Lretrofit2/Response;->body()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tumblr/rumblr/response/ApiResponse;
invoke-virtual {v0}, Lcom/tumblr/rumblr/response/ApiResponse;->getResponse()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tumblr/rumblr/response/BlocksResponse;
# Get list of blocked blogs
invoke-virtual {v0}, Lcom/tumblr/rumblr/response/BlocksResponse;->getBlocks()Ljava/util/List;
move-result-object v0
# Iterate over each blog and extract its UUID, put that into a new list
new-instance v1, Ljava/util/ArrayList;
invoke-interface {v0}, Ljava/util/Collection;->size()I
move-result v2
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V # Pre-allocate with enough items
# Get the iterator
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:loop
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :loopEnd
# Get next blocked blog
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/tumblr/rumblr/model/blog/ShortBlogInfo;
# Get the blog's unique id
invoke-virtual {v3}, Lcom/tumblr/rumblr/model/blog/ShortBlogInfo;->X()Ljava/lang/String; # getUniqueId()
move-result-object v3
# Add it to the list
invoke-interface {v1, v3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
goto :loop
:loopEnd
## End
# Cache results for further calls
sput-object v1, Ldev/maelstrom/ykit/PostJsonAdapterShim;->cachedBlocks:Ljava/util/List;
return-object v1
.end method
.method static constructor <clinit>()V
.locals 2
# Get Context
invoke-static {}, Lcom/tumblr/CoreApp;->M()Landroid/content/Context;
move-result-object v0
# Create event listener
new-instance v1, Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener;
invoke-direct {v1}, Ldev/maelstrom/ykit/PostJsonAdapterShim$BlogChangedListener;-><init>()V
# Add event listener
invoke-static {v0, v1}, Lee0/p;->i(Landroid/content/Context;Landroid/content/BroadcastReceiver;)V # BlogChangedEvent.listen
return-void
.end method

View file

@ -0,0 +1,145 @@
.class public final Ldev/maelstrom/ykit/settings/YkitCurrentSettings;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static bringBackPhoebeEnabled:Z
.field public static enhancedBlockEnabled:Z
.field public static blockAdsEnabled:Z
.field public static reduceDashboardClutterEnabled:Z
.field public static boilTheFrog:Z
.field public static hideBlazedPosts:Z
.field public static hideFilteredPosts:Z
.field public static hideBlazeButton:Z
# direct methods
.method static constructor <clinit>()V
.locals 3
# Get context from CoreApp
invoke-static {}, Lcom/tumblr/CoreApp;->M()Landroid/content/Context;
move-result-object v0
# Get shared prefs
const-string v1, "dev.maelstrom.ykit.YKIT_PREFERENCES"
const v2, 0x0
invoke-virtual {v0, v1, v2}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v0
sput-object v0, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->prefs:Landroid/content/SharedPreferences;
invoke-static {}, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->loadSettings()V
return-void
.end method
.method public static update()V
.locals 0
invoke-static {}, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->saveSettings()V
return-void
.end method
# constructor
.method private constructor <init>()V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# private fields
.field private static prefs:Landroid/content/SharedPreferences;
# private methods
.method private static loadSettings()V
.locals 7
sget-object v0, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->prefs:Landroid/content/SharedPreferences;
# Get fields from class
const-class v1, Ldev/maelstrom/ykit/settings/YkitCurrentSettings; # YkitCurrentSettings.class
invoke-virtual {v1}, Ljava/lang/Class;->getFields()[Ljava/lang/reflect/Field; # clazz.getFields()
move-result-object v1
# Iterate over each field
const v2, 0x0 # i
:loop
# i < v1_array.length()
array-length v3, v1
if-ge v2, v3, :loopEnd
aget-object v4, v1, v2 # v4 = v1_array[v2_i]
# Get field name
invoke-virtual {v4}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v5 # v5_name = v4.getName()
# Get stored value in preferences
const v6, 0x0 # default value
invoke-interface {v0, v5, v6}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
move-result v6 # v6_value = v0_prefs.getBoolean(v5_name, v6_false);
# Set field value
const v5, 0x0 # v5_null = null;
invoke-virtual {v4, v5, v6}, Ljava/lang/reflect/Field;->setBoolean(Ljava/lang/Object;Z)V # v4_field.setBoolean(v5_null, v6_value);
const v3, 0x1
add-int v2, v3, v2 # i++
goto :loop
:loopEnd
return-void
.end method
.method private static saveSettings()V
.locals 7
sget-object v0, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->prefs:Landroid/content/SharedPreferences;
invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v0
# Get fields from class
const-class v1, Ldev/maelstrom/ykit/settings/YkitCurrentSettings; # YkitCurrentSettings.class
invoke-virtual {v1}, Ljava/lang/Class;->getFields()[Ljava/lang/reflect/Field; # clazz.getFields()
move-result-object v1
# Iterate over each field
const v2, 0x0 # i
:loop
# i < v1_array.length()
array-length v3, v1
if-ge v2, v3, :loopEnd
aget-object v4, v1, v2 # v4 = v1_array[v2_i]
# Get field name
invoke-virtual {v4}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v5 # v5_name = v4.getName()
# Get field value
const v6, 0x0 # null
invoke-virtual {v4, v6}, Ljava/lang/reflect/Field;->getBoolean(Ljava/lang/Object;)Z
move-result v6 # v6_value = v4.getBoolean(null)
# Put it into preferences
invoke-interface {v0, v5, v6}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;
const v3, 0x1
add-int v2, v3, v2 # i++
goto :loop
:loopEnd
invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->apply()V
return-void
.end method

View file

@ -0,0 +1,35 @@
.class final Ldev/maelstrom/ykit/settings/YkitSettingsActivity$UpdateSetting2;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/widget/CompoundButton$OnCheckedChangeListener;
# instance fields
.field private final field:Ljava/lang/reflect/Field;
# direct methods
.method constructor <init>(Ljava/lang/reflect/Field;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Ldev/maelstrom/ykit/settings/YkitSettingsActivity$UpdateSetting2;->field:Ljava/lang/reflect/Field;
return-void
.end method
# virtual methods
.method public onCheckedChanged(Landroid/widget/CompoundButton;Z)V
.locals 0
const p1, 0x0 # null
iget-object p0, p0, Ldev/maelstrom/ykit/settings/YkitSettingsActivity$UpdateSetting2;->field:Ljava/lang/reflect/Field;
invoke-virtual {p0, p1, p2}, Ljava/lang/reflect/Field;->setBoolean(Ljava/lang/Object;Z)V
invoke-static {}, Ldev/maelstrom/ykit/settings/YkitCurrentSettings;->update()V
return-void
.end method

View file

@ -0,0 +1,32 @@
.class final Ldev/maelstrom/ykit/settings/YkitSettingsActivity$toggleHelper;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/view/View$OnClickListener;
# instance fields
.field private final toggleSwitch:Lcom/tumblr/components/smartswitch/SmartSwitch;
# direct methods
.method public constructor <init>(Lcom/tumblr/components/smartswitch/SmartSwitch;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Ldev/maelstrom/ykit/settings/YkitSettingsActivity$toggleHelper;->toggleSwitch:Lcom/tumblr/components/smartswitch/SmartSwitch;
return-void
.end method
# virtual methods
.method public final onClick(Landroid/view/View;)V
.locals 1
iget-object v0, p0, Ldev/maelstrom/ykit/settings/YkitSettingsActivity$toggleHelper;->toggleSwitch:Lcom/tumblr/components/smartswitch/SmartSwitch;
invoke-virtual {v0}, Landroidx/appcompat/widget/SwitchCompat;->toggle()V
return-void
.end method

View file

@ -0,0 +1,81 @@
.class public final Ldev/maelstrom/ykit/settings/YkitSettingsActivity;
.super Lcom/tumblr/ui/activity/a;
.source "SourceFile"
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Lcom/tumblr/ui/activity/a;-><init>()V
return-void
.end method
# virtual methods
.method public F3()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method protected I3()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
# Get screen type for analytics. Don't care, don't give any info
.method public m0()Lcom/tumblr/analytics/ScreenType;
.locals 1
sget-object v0, Lcom/tumblr/analytics/ScreenType;->UNKNOWN:Lcom/tumblr/analytics/ScreenType;
return-object v0
.end method
.method protected onCreate(Landroid/os/Bundle;)V
.locals 6
invoke-super {p0, p1}, Lcom/tumblr/ui/activity/a;->onCreate(Landroid/os/Bundle;)V
const p1, 0x7f0ef001 # activity_ykit_settings
invoke-virtual {p0, p1}, Lcom/tumblr/ui/activity/a;->setContentView(I)V
return-void
.end method
.method protected s3()V
.locals 1
invoke-static {}, Lcom/tumblr/CoreApp;->Q()Lix/b;
move-result-object v0
#invoke-interface {v0, p0}, Lix/a;->R1(Lcom/tumblr/settings/SettingsActivity;)V
check-cast v0, Lix/f$n;
invoke-static {v0, p0}, Ldev/maelstrom/ykit/CoreAppShim;->initYkitSettingsActivity(Lix/f$n;Ldev/maelstrom/ykit/settings/YkitSettingsActivity;)Ldev/maelstrom/ykit/settings/YkitSettingsActivity;
return-void
.end method
.method public w0()Ljava/lang/String;
.locals 1
const-string v0, "YkitSettingsActivity"
return-object v0
.end method

View file

@ -0,0 +1,46 @@
.class public final synthetic Ldev/maelstrom/ykit/settings/YkitSettingsClickListener;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/view/View$OnClickListener;
# instance fields
.field public final synthetic b:Lcom/tumblr/ui/fragment/BlogSettingsFragment;
# direct methods
.method public synthetic constructor <init>(Lcom/tumblr/ui/fragment/BlogSettingsFragment;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Ldev/maelstrom/ykit/settings/YkitSettingsClickListener;->b:Lcom/tumblr/ui/fragment/BlogSettingsFragment;
return-void
.end method
# virtual methods
.method public final onClick(Landroid/view/View;)V
.locals 4
iget-object v0, p0, Ldev/maelstrom/ykit/settings/YkitSettingsClickListener;->b:Lcom/tumblr/ui/fragment/BlogSettingsFragment;
#invoke-static {v0, p1}, Lcom/tumblr/ui/fragment/BlogSettingsFragment;->k7(Lcom/tumblr/ui/fragment/BlogSettingsFragment;Landroid/view/View;)V
new-instance v1, Landroid/content/Intent;
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->L3()Landroidx/fragment/app/g;
move-result-object v2
const-class v3, Ldev/maelstrom/ykit/settings/YkitSettingsActivity;
invoke-direct {v1, v2, v3}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
invoke-virtual {v0, v1}, Landroidx/fragment/app/Fragment;->z6(Landroid/content/Intent;)V
return-void
.end method

View file

@ -0,0 +1,100 @@
.class public final Ldev/maelstrom/ykit/settings/YkitSettingsToggle;
.super Landroid/widget/FrameLayout;
.source "SourceFile"
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 10
invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
# Inflate layout
invoke-static {p1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object v0
sget v1, Lcom/tumblr/R$layout;->b5:I # 0x7f0e0237 / list_item_setting_boolean
const/4 v2, 0x1
invoke-virtual {v0, v1, p0, v2}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
# Get title
const-string v4, "title"
const v5, 0x0
invoke-interface {p2, v5, v4}, Landroid/util/AttributeSet;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
# Get subtitle
const-string v4, "subtitle"
const v5, 0x0
invoke-interface {p2, v5, v4}, Landroid/util/AttributeSet;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
# Get bound field name
const-string v4, "bindSetting"
const v5, 0x0
invoke-interface {p2, v5, v4}, Landroid/util/AttributeSet;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
move-object v0, p0 # Move this to v0
const-class p0, Ldev/maelstrom/ykit/settings/YkitCurrentSettings; # Use p0 for YkitCurrentSettings.class because it's now free for us to use
invoke-virtual {p0, v3}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v3
invoke-direct/range {v0 .. v3}, Ldev/maelstrom/ykit/settings/YkitSettingsToggle;->initToggle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/reflect/Field;)Lq90/b;
return-void
.end method
# initToggle(String title, String subtitle, Field boundSettingField) -> TMToggleHolder
.method private initToggle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/reflect/Field;)Lq90/b;
.locals 7
# v0 - View
# v1 - TMToggleContainer
# v2 - Integer
# v3 - Boolean
# v4 - Listener
# v5 - toggleHelper
# Get inner RelativeLayout from container
const v2, 0x0
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object p0
# Create holder for toggle
new-instance v1, Lq90/b; # TMToggleContainer
invoke-direct {v1, p0}, Lq90/b;-><init>(Landroid/view/View;)V
# Set text for the toggle
iget-object v0, v1, Lq90/b;->z:Landroid/widget/TextView; # title
invoke-virtual {v0, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
# Set subtitle for the toggle
iget-object v0, v1, Lq90/b;->x:Landroid/widget/TextView; # subtitle
invoke-virtual {v0, p2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
# Enable the subtitle
const v2, 0x0
invoke-virtual {v0, v2}, Landroid/view/View;->setVisibility(I)V
# Enable the toggle
iget-object v0, v1, Lq90/b;->w:Lcom/tumblr/components/smartswitch/SmartSwitch;
const v3, 0x1
invoke-virtual {v0, v3}, Landroid/view/View;->setEnabled(Z)V
# Set the toggle's current value
const v6, 0x0 # null
invoke-virtual {p3, v6}, Ljava/lang/reflect/Field;->getBoolean(Ljava/lang/Object;)Z
move-result v3
invoke-virtual {v0, v3}, Lcom/tumblr/components/smartswitch/SmartSwitch;->G(Z)V # setCheckedWithoutUpdate
# Add event listener for toggle
new-instance v4, Ldev/maelstrom/ykit/settings/YkitSettingsActivity$UpdateSetting2;
invoke-direct {v4, p3}, Ldev/maelstrom/ykit/settings/YkitSettingsActivity$UpdateSetting2;-><init>(Ljava/lang/reflect/Field;)V
invoke-virtual {v0, v4}, Lcom/tumblr/components/smartswitch/SmartSwitch;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V
# Toggle fix (Tapping elsewhere on the row otherwise doesn't toggle the switch for some reason)
new-instance v5, Ldev/maelstrom/ykit/settings/YkitSettingsActivity$toggleHelper;
invoke-direct {v5, v0}, Ldev/maelstrom/ykit/settings/YkitSettingsActivity$toggleHelper;-><init>(Lcom/tumblr/components/smartswitch/SmartSwitch;)V
invoke-virtual {p0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
return-object v1
.end method

View file

@ -0,0 +1,48 @@
.class final Ldev/maelstrom/ykit/settings/YkitSettingsVersionButton$LongClickListener;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/view/View$OnLongClickListener;
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onLongClick(Landroid/view/View;)Z
.locals 3
# Get context
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
const v1, 0x7f12f001 # ykit_meow
# Create media player
# MediaPlayer ChatHelper.createMediaPlayer(Context context, int soundRscId);
invoke-static {v0, v1}, Lbu/k0;->n(Landroid/content/Context;I)Landroid/media/MediaPlayer;
move-result-object v2
invoke-virtual {v2}, Landroid/media/MediaPlayer;->start()V
# Display toast
const-string v1, "Meow!"
sget v2, Landroid/widget/Toast;->LENGTH_SHORT:I
# Make toast
invoke-static {v0, v1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v0
invoke-virtual {v0}, Landroid/widget/Toast;->show()V
const p0, 0x1
return p0
.end method

View file

@ -0,0 +1,17 @@
.class public final Ldev/maelstrom/ykit/settings/YkitSettingsVersionButton;
.super Lcom/tumblr/ui/widget/TMBlogSettingsTextRow;
.source "SourceFile"
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 10
invoke-direct {p0, p1, p2}, Lcom/tumblr/ui/widget/TMBlogSettingsTextRow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
# Meow!
new-instance p1, Ldev/maelstrom/ykit/settings/YkitSettingsVersionButton$LongClickListener;
invoke-direct {p1}, Ldev/maelstrom/ykit/settings/YkitSettingsVersionButton$LongClickListener;-><init>()V
invoke-virtual {p0, p1}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
return-void
.end method