apkfuckery/com.discord/smali/com/discord/stores/StoreUserSettings.smali

1008 lines
32 KiB
Smali
Raw Normal View History

2019-02-04 20:05:16 +00:00
.class public Lcom/discord/stores/StoreUserSettings;
.super Ljava/lang/Object;
.source "StoreUserSettings.java"
# instance fields
.field private final $lock:Ljava/lang/Object;
.field private final collector:Lcom/discord/stores/StoreStreamCollector;
.field private final guildPositionsPublisher:Lcom/discord/utilities/mg_preference/MGPreferenceRx;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/discord/utilities/mg_preference/MGPreferenceRx",
"<",
"Ljava/util/List",
"<",
"Ljava/lang/Long;",
">;>;"
}
.end annotation
.end field
.field private final locale:Lcom/discord/utilities/mg_preference/MGPreference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/discord/utilities/mg_preference/MGPreference",
"<",
"Lcom/discord/models/application/ModelAppSettingsLocale;",
">;"
}
.end annotation
.end field
.field private final localePublisher:Lrx/subjects/Subject;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/subjects/Subject",
"<",
"Lcom/discord/models/application/ModelAppSettingsLocale;",
"Lcom/discord/models/application/ModelAppSettingsLocale;",
">;"
}
.end annotation
.end field
.field private final theme:Lcom/discord/utilities/mg_preference/MGPreference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/discord/utilities/mg_preference/MGPreference",
"<",
"Lcom/discord/models/application/ModelAppSettingsTheme;",
">;"
}
.end annotation
.end field
.field private final themePublisher:Lrx/subjects/Subject;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/subjects/Subject",
"<",
"Lcom/discord/models/application/ModelAppSettingsTheme;",
"Lcom/discord/models/application/ModelAppSettingsTheme;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lcom/discord/stores/StoreStreamCollector;)V
.locals 2
.param p1, "collector" # Lcom/discord/stores/StoreStreamCollector;
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Object;
iput-object v0, p0, Lcom/discord/stores/StoreUserSettings;->$lock:Ljava/lang/Object;
const-string v0, "STORE_SETTINGS_LOCALE"
new-instance v1, Lcom/discord/models/application/ModelAppSettingsLocale;
invoke-direct {v1}, Lcom/discord/models/application/ModelAppSettingsLocale;-><init>()V
invoke-static {v0, v1}, Lcom/discord/utilities/mg_preference/MGPreference;->create(Ljava/lang/String;Ljava/lang/Object;)Lcom/discord/utilities/mg_preference/MGPreference;
move-result-object v0
iput-object v0, p0, Lcom/discord/stores/StoreUserSettings;->locale:Lcom/discord/utilities/mg_preference/MGPreference;
const-string v0, "STORE_SETTINGS_THEME_V2"
new-instance v1, Lcom/discord/models/application/ModelAppSettingsTheme;
invoke-direct {v1}, Lcom/discord/models/application/ModelAppSettingsTheme;-><init>()V
invoke-static {v0, v1}, Lcom/discord/utilities/mg_preference/MGPreference;->create(Ljava/lang/String;Ljava/lang/Object;)Lcom/discord/utilities/mg_preference/MGPreference;
move-result-object v0
iput-object v0, p0, Lcom/discord/stores/StoreUserSettings;->theme:Lcom/discord/utilities/mg_preference/MGPreference;
const-string v0, "STORE_SETTINGS_POSITIONS_V3"
invoke-static {v0}, Lcom/discord/utilities/mg_preference/MGPreferenceRx;->create(Ljava/lang/String;)Lcom/discord/utilities/mg_preference/MGPreferenceRx;
move-result-object v0
iput-object v0, p0, Lcom/discord/stores/StoreUserSettings;->guildPositionsPublisher:Lcom/discord/utilities/mg_preference/MGPreferenceRx;
new-instance v0, Lrx/subjects/SerializedSubject;
invoke-static {}, Lrx/subjects/BehaviorSubject;->create()Lrx/subjects/BehaviorSubject;
move-result-object v1
invoke-direct {v0, v1}, Lrx/subjects/SerializedSubject;-><init>(Lrx/subjects/Subject;)V
iput-object v0, p0, Lcom/discord/stores/StoreUserSettings;->localePublisher:Lrx/subjects/Subject;
new-instance v0, Lrx/subjects/SerializedSubject;
invoke-static {}, Lrx/subjects/BehaviorSubject;->create()Lrx/subjects/BehaviorSubject;
move-result-object v1
invoke-direct {v0, v1}, Lrx/subjects/SerializedSubject;-><init>(Lrx/subjects/Subject;)V
iput-object v0, p0, Lcom/discord/stores/StoreUserSettings;->themePublisher:Lrx/subjects/Subject;
iput-object p1, p0, Lcom/discord/stores/StoreUserSettings;->collector:Lcom/discord/stores/StoreStreamCollector;
return-void
.end method
.method static synthetic access$lambda$0(Lcom/discord/models/domain/ModelUser;)Ljava/lang/Boolean;
.locals 1
invoke-static {p0}, Lcom/discord/stores/StoreUserSettings;->lambda$getUserSettings$193(Lcom/discord/models/domain/ModelUser;)Ljava/lang/Boolean;
move-result-object v0
return-object v0
.end method
.method static synthetic access$lambda$1(JLcom/discord/models/domain/ModelUser;)Lrx/Observable;
.locals 2
invoke-static {p0, p1, p2}, Lcom/discord/stores/StoreUserSettings;->lambda$getUserSettings$195(JLcom/discord/models/domain/ModelUser;)Lrx/Observable;
move-result-object v0
return-object v0
.end method
.method static synthetic access$lambda$2(Lcom/discord/utilities/app/AppFragment;Lcom/discord/models/domain/ModelUserSettings;)V
.locals 0
invoke-static {p0, p1}, Lcom/discord/stores/StoreUserSettings;->lambda$setTheme$196(Lcom/discord/utilities/app/AppFragment;Lcom/discord/models/domain/ModelUserSettings;)V
return-void
.end method
.method static synthetic access$lambda$3(Lcom/discord/utilities/app/AppDialog;Lcom/discord/models/domain/ModelUserSettings;)V
.locals 0
invoke-static {p0, p1}, Lcom/discord/stores/StoreUserSettings;->lambda$setLocale$197(Lcom/discord/utilities/app/AppDialog;Lcom/discord/models/domain/ModelUserSettings;)V
return-void
.end method
.method static synthetic access$lambda$4(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelPresence;Ljava/lang/Integer;Ljava/lang/Boolean;)Lcom/discord/models/application/ModelAppUserSettings;
.locals 1
invoke-static {p0, p1, p2, p3}, Lcom/discord/stores/StoreUserSettings;->lambda$null$194(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelPresence;Ljava/lang/Integer;Ljava/lang/Boolean;)Lcom/discord/models/application/ModelAppUserSettings;
move-result-object v0
return-object v0
.end method
.method private handleUserSettings(Lcom/discord/models/domain/ModelUserSettings;)V
.locals 2
.param p1, "userSettings" # Lcom/discord/models/domain/ModelUserSettings;
.prologue
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->guildPositionsPublisher:Lcom/discord/utilities/mg_preference/MGPreferenceRx;
invoke-virtual {p1}, Lcom/discord/models/domain/ModelUserSettings;->getGuildPositions()Ljava/util/List;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/discord/utilities/mg_preference/MGPreferenceRx;->set(Ljava/lang/Object;)V
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->theme:Lcom/discord/utilities/mg_preference/MGPreference;
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->theme:Lcom/discord/utilities/mg_preference/MGPreference;
invoke-virtual {v0}, Lcom/discord/utilities/mg_preference/MGPreference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/discord/models/application/ModelAppSettingsTheme;
invoke-virtual {v0, p1}, Lcom/discord/models/application/ModelAppSettingsTheme;->merge(Lcom/discord/models/domain/ModelUserSettings;)Lcom/discord/models/application/ModelAppSettingsTheme;
move-result-object v0
invoke-virtual {v1, v0}, Lcom/discord/utilities/mg_preference/MGPreference;->set(Ljava/lang/Object;)V
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->locale:Lcom/discord/utilities/mg_preference/MGPreference;
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->locale:Lcom/discord/utilities/mg_preference/MGPreference;
invoke-virtual {v0}, Lcom/discord/utilities/mg_preference/MGPreference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/discord/models/application/ModelAppSettingsLocale;
invoke-virtual {v0, p1}, Lcom/discord/models/application/ModelAppSettingsLocale;->merge(Lcom/discord/models/domain/ModelUserSettings;)Lcom/discord/models/application/ModelAppSettingsLocale;
move-result-object v0
invoke-virtual {v1, v0}, Lcom/discord/utilities/mg_preference/MGPreference;->set(Ljava/lang/Object;)V
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->themePublisher:Lrx/subjects/Subject;
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->theme:Lcom/discord/utilities/mg_preference/MGPreference;
invoke-virtual {v1}, Lcom/discord/utilities/mg_preference/MGPreference;->get()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->localePublisher:Lrx/subjects/Subject;
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->locale:Lcom/discord/utilities/mg_preference/MGPreference;
invoke-virtual {v1}, Lcom/discord/utilities/mg_preference/MGPreference;->get()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
return-void
.end method
.method private static synthetic lambda$getUserSettings$193(Lcom/discord/models/domain/ModelUser;)Ljava/lang/Boolean;
.locals 1
.param p0, "user" # Lcom/discord/models/domain/ModelUser;
.prologue
if-eqz p0, :cond_0
const/4 v0, 0x1
:goto_0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
return-object v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method private static synthetic lambda$getUserSettings$195(JLcom/discord/models/domain/ModelUser;)Lrx/Observable;
.locals 4
.param p2, "user" # Lcom/discord/models/domain/ModelUser;
.prologue
invoke-static {}, Lcom/discord/stores/StoreStream;->getPresences()Lcom/discord/stores/StoreUserPresence;
move-result-object v0
invoke-virtual {p2}, Lcom/discord/models/domain/ModelUser;->getId()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Lcom/discord/stores/StoreUserPresence;->getForUserId(J)Lrx/Observable;
move-result-object v0
invoke-static {p0, p1}, Lcom/discord/stores/StoreVoiceEngine;->getUserVolume(J)Lrx/Observable;
move-result-object v1
invoke-static {p0, p1}, Lcom/discord/stores/StoreVoiceEngine;->getUserMuted(J)Lrx/Observable;
move-result-object v2
invoke-static {p2}, Lcom/discord/stores/StoreUserSettings$$Lambda$5;->lambdaFactory$(Lcom/discord/models/domain/ModelUser;)Lrx/functions/Func3;
move-result-object v3
invoke-static {v0, v1, v2, v3}, Lrx/Observable;->combineLatest(Lrx/Observable;Lrx/Observable;Lrx/Observable;Lrx/functions/Func3;)Lrx/Observable;
move-result-object v0
return-object v0
.end method
.method private static synthetic lambda$null$194(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelPresence;Ljava/lang/Integer;Ljava/lang/Boolean;)Lcom/discord/models/application/ModelAppUserSettings;
.locals 3
.param p1, "presence" # Lcom/discord/models/domain/ModelPresence;
.param p2, "userVolume" # Ljava/lang/Integer;
.param p3, "userMuted" # Ljava/lang/Boolean;
.prologue
new-instance v0, Lcom/discord/models/application/ModelAppUserSettings;
invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
move-result v1
invoke-virtual {p3}, Ljava/lang/Boolean;->booleanValue()Z
move-result v2
invoke-direct {v0, p1, p0, v1, v2}, Lcom/discord/models/application/ModelAppUserSettings;-><init>(Lcom/discord/models/domain/ModelPresence;Lcom/discord/models/domain/ModelUser;IZ)V
return-object v0
.end method
.method private static synthetic lambda$setLocale$197(Lcom/discord/utilities/app/AppDialog;Lcom/discord/models/domain/ModelUserSettings;)V
.locals 1
.param p1, "userSettings" # Lcom/discord/models/domain/ModelUserSettings;
.prologue
const v0, 0x7f060389
invoke-static {p0, v0}, Lcom/discord/utilities/app/AppToast;->show(Landroid/support/v4/app/Fragment;I)V
return-void
.end method
.method private static synthetic lambda$setTheme$196(Lcom/discord/utilities/app/AppFragment;Lcom/discord/models/domain/ModelUserSettings;)V
.locals 1
.param p1, "userSettings" # Lcom/discord/models/domain/ModelUserSettings;
.prologue
const v0, 0x7f0603e2
invoke-static {p0, v0}, Lcom/discord/utilities/app/AppToast;->show(Landroid/support/v4/app/Fragment;I)V
return-void
.end method
# virtual methods
.method public getGuildPositions()Lrx/Observable;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lrx/Observable",
"<",
"Ljava/util/List",
"<",
"Ljava/lang/Long;",
">;>;"
}
.end annotation
.prologue
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->guildPositionsPublisher:Lcom/discord/utilities/mg_preference/MGPreferenceRx;
invoke-virtual {v0}, Lcom/discord/utilities/mg_preference/MGPreferenceRx;->get()Lrx/Observable;
move-result-object v0
invoke-static {}, Lcom/discord/utilities/app/AppTransformers;->computationDistinctUntilChanged()Lrx/Observable$Transformer;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/Observable;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
move-result-object v0
return-object v0
.end method
.method public getLocale()Lrx/Observable;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lrx/Observable",
"<",
"Lcom/discord/models/application/ModelAppSettingsLocale;",
">;"
}
.end annotation
.prologue
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->localePublisher:Lrx/subjects/Subject;
invoke-static {}, Lcom/discord/utilities/app/AppTransformers;->computationDistinctUntilChanged()Lrx/Observable$Transformer;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/subjects/Subject;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
move-result-object v0
return-object v0
.end method
.method public getLocaleBlocking()Lcom/discord/models/application/ModelAppSettingsLocale;
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->locale:Lcom/discord/utilities/mg_preference/MGPreference;
invoke-virtual {v0}, Lcom/discord/utilities/mg_preference/MGPreference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/discord/models/application/ModelAppSettingsLocale;
return-object v0
.end method
.method public getTheme()Lrx/Observable;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lrx/Observable",
"<",
"Lcom/discord/models/application/ModelAppSettingsTheme;",
">;"
}
.end annotation
.prologue
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->themePublisher:Lrx/subjects/Subject;
invoke-static {}, Lcom/discord/utilities/app/AppTransformers;->computationDistinctUntilChanged()Lrx/Observable$Transformer;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/subjects/Subject;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
move-result-object v0
return-object v0
.end method
.method public getTheme(Z)Lrx/Observable;
.locals 4
.param p1, "sample" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z)",
"Lrx/Observable",
"<",
"Lcom/discord/models/application/ModelAppSettingsTheme;",
">;"
}
.end annotation
.prologue
if-eqz p1, :cond_0
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getTheme()Lrx/Observable;
move-result-object v0
const-wide/16 v2, 0x5dc
sget-object v1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v2, v3, v1}, Lrx/Observable;->sample(JLjava/util/concurrent/TimeUnit;)Lrx/Observable;
move-result-object v0
:goto_0
return-object v0
:cond_0
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getTheme()Lrx/Observable;
move-result-object v0
goto :goto_0
.end method
.method public getThemeBlocking()Lcom/discord/models/application/ModelAppSettingsTheme;
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->theme:Lcom/discord/utilities/mg_preference/MGPreference;
invoke-virtual {v0}, Lcom/discord/utilities/mg_preference/MGPreference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/discord/models/application/ModelAppSettingsTheme;
return-object v0
.end method
.method public getUserSettings(J)Lrx/Observable;
.locals 3
.param p1, "userId" # J
.annotation system Ldalvik/annotation/Signature;
value = {
"(J)",
"Lrx/Observable",
"<",
"Lcom/discord/models/application/ModelAppUserSettings;",
">;"
}
.end annotation
.prologue
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->collector:Lcom/discord/stores/StoreStreamCollector;
iget-object v0, v0, Lcom/discord/stores/StoreStreamCollector;->users:Lcom/discord/stores/StoreUser;
invoke-virtual {v0, p1, p2}, Lcom/discord/stores/StoreUser;->getUser(J)Lrx/Observable;
move-result-object v0
invoke-static {}, Lcom/discord/stores/StoreUserSettings$$Lambda$1;->lambdaFactory$()Lrx/functions/Func1;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/Observable;->filter(Lrx/functions/Func1;)Lrx/Observable;
move-result-object v0
invoke-static {p1, p2}, Lcom/discord/stores/StoreUserSettings$$Lambda$2;->lambdaFactory$(J)Lrx/functions/Func1;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/Observable;->switchMap(Lrx/functions/Func1;)Lrx/Observable;
move-result-object v0
invoke-static {}, Lcom/discord/utilities/app/AppTransformers;->computationDistinctUntilChanged()Lrx/Observable$Transformer;
move-result-object v1
invoke-virtual {v0, v1}, Lrx/Observable;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
move-result-object v0
return-object v0
.end method
.method handleConnectionOpen(Lcom/discord/models/domain/ModelPayload;)V
.locals 2
.param p1, "payload" # Lcom/discord/models/domain/ModelPayload;
.prologue
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->$lock:Ljava/lang/Object;
monitor-enter v1
:try_start_0
invoke-virtual {p1}, Lcom/discord/models/domain/ModelPayload;->getUserSettings()Lcom/discord/models/domain/ModelUserSettings;
move-result-object v0
invoke-direct {p0, v0}, Lcom/discord/stores/StoreUserSettings;->handleUserSettings(Lcom/discord/models/domain/ModelUserSettings;)V
monitor-exit v1
return-void
:catchall_0
move-exception v0
monitor-exit v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method handleUserSettingsUpdate(Ljava/util/List;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lcom/discord/models/domain/ModelUserSettings;",
">;)V"
}
.end annotation
.prologue
.local p1, "userSettings":Ljava/util/List;, "Ljava/util/List<Lcom/discord/models/domain/ModelUserSettings;>;"
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->$lock:Ljava/lang/Object;
monitor-enter v1
:try_start_0
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/discord/models/domain/ModelUserSettings;
invoke-direct {p0, v0}, Lcom/discord/stores/StoreUserSettings;->handleUserSettings(Lcom/discord/models/domain/ModelUserSettings;)V
monitor-exit v1
return-void
:catchall_0
move-exception v0
monitor-exit v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method init()V
.locals 3
.prologue
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->$lock:Ljava/lang/Object;
monitor-enter v1
:try_start_0
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->localePublisher:Lrx/subjects/Subject;
iget-object v2, p0, Lcom/discord/stores/StoreUserSettings;->locale:Lcom/discord/utilities/mg_preference/MGPreference;
invoke-virtual {v2}, Lcom/discord/utilities/mg_preference/MGPreference;->get()Ljava/lang/Object;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->themePublisher:Lrx/subjects/Subject;
iget-object v2, p0, Lcom/discord/stores/StoreUserSettings;->theme:Lcom/discord/utilities/mg_preference/MGPreference;
invoke-virtual {v2}, Lcom/discord/utilities/mg_preference/MGPreference;->get()Ljava/lang/Object;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
monitor-exit v1
return-void
:catchall_0
move-exception v0
monitor-exit v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public reset()V
.locals 3
.prologue
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->$lock:Ljava/lang/Object;
monitor-enter v1
:try_start_0
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->themePublisher:Lrx/subjects/Subject;
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getThemeBlocking()Lcom/discord/models/application/ModelAppSettingsTheme;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->localePublisher:Lrx/subjects/Subject;
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getLocaleBlocking()Lcom/discord/models/application/ModelAppSettingsLocale;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
monitor-exit v1
return-void
:catchall_0
move-exception v0
monitor-exit v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public setLocale(Lcom/discord/utilities/app/AppDialog;Ljava/lang/String;)V
.locals 4
.param p1, "fragment" # Lcom/discord/utilities/app/AppDialog;
.param p2, "localeString" # Ljava/lang/String;
.prologue
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->$lock:Ljava/lang/Object;
monitor-enter v1
:try_start_0
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getLocaleBlocking()Lcom/discord/models/application/ModelAppSettingsLocale;
move-result-object v0
invoke-virtual {v0}, Lcom/discord/models/application/ModelAppSettingsLocale;->isSync()Z
move-result v0
if-eqz v0, :cond_0
invoke-static {}, Lcom/discord/utilities/rest/RestAPI;->getApi()Lcom/discord/utilities/rest/RestAPIInterface;
move-result-object v0
invoke-static {p2}, Lcom/discord/utilities/rest/RestAPIParams$UserSettings;->createWithLocale(Ljava/lang/String;)Lcom/discord/utilities/rest/RestAPIParams$UserSettings;
move-result-object v2
invoke-interface {v0, v2}, Lcom/discord/utilities/rest/RestAPIInterface;->updateUserSettings(Lcom/discord/utilities/rest/RestAPIParams$UserSettings;)Lrx/Observable;
move-result-object v0
invoke-static {}, Lcom/discord/utilities/app/AppTransformers;->restSubscribeOn()Lrx/Observable$Transformer;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/Observable;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
move-result-object v0
invoke-static {p1}, Lcom/discord/utilities/app/AppTransformers;->ui(Lcom/discord/utilities/app/AppDialog;)Lrx/Observable$Transformer;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/Observable;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
move-result-object v0
invoke-static {p1}, Lcom/discord/stores/StoreUserSettings$$Lambda$4;->lambdaFactory$(Lcom/discord/utilities/app/AppDialog;)Lrx/functions/Action1;
move-result-object v2
invoke-static {v2, p1}, Lcom/discord/utilities/app/AppTransformers;->subscribeWithRestClient(Lrx/functions/Action1;Lcom/discord/utilities/app/AppDialog;)Lrx/Observable$Transformer;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/Observable;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
:goto_0
monitor-exit v1
return-void
:cond_0
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->locale:Lcom/discord/utilities/mg_preference/MGPreference;
new-instance v2, Lcom/discord/models/application/ModelAppSettingsLocale;
const/4 v3, 0x0
invoke-direct {v2, v3, p2}, Lcom/discord/models/application/ModelAppSettingsLocale;-><init>(ZLjava/lang/String;)V
invoke-virtual {v0, v2}, Lcom/discord/utilities/mg_preference/MGPreference;->set(Ljava/lang/Object;)V
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->localePublisher:Lrx/subjects/Subject;
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getLocaleBlocking()Lcom/discord/models/application/ModelAppSettingsLocale;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
goto :goto_0
:catchall_0
move-exception v0
monitor-exit v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public setLocaleSync(Z)V
.locals 4
.param p1, "sync" # Z
.prologue
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->$lock:Ljava/lang/Object;
monitor-enter v1
:try_start_0
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->locale:Lcom/discord/utilities/mg_preference/MGPreference;
new-instance v2, Lcom/discord/models/application/ModelAppSettingsLocale;
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getLocaleBlocking()Lcom/discord/models/application/ModelAppSettingsLocale;
move-result-object v3
invoke-virtual {v3}, Lcom/discord/models/application/ModelAppSettingsLocale;->getLocale()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, p1, v3}, Lcom/discord/models/application/ModelAppSettingsLocale;-><init>(ZLjava/lang/String;)V
invoke-virtual {v0, v2}, Lcom/discord/utilities/mg_preference/MGPreference;->set(Ljava/lang/Object;)V
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->localePublisher:Lrx/subjects/Subject;
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getLocaleBlocking()Lcom/discord/models/application/ModelAppSettingsLocale;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
monitor-exit v1
return-void
:catchall_0
move-exception v0
monitor-exit v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public setTheme(Lcom/discord/utilities/app/AppFragment;Ljava/lang/String;)V
.locals 4
.param p1, "fragment" # Lcom/discord/utilities/app/AppFragment;
.param p2, "themeString" # Ljava/lang/String;
.prologue
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->$lock:Ljava/lang/Object;
monitor-enter v1
:try_start_0
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getThemeBlocking()Lcom/discord/models/application/ModelAppSettingsTheme;
move-result-object v0
invoke-virtual {v0}, Lcom/discord/models/application/ModelAppSettingsTheme;->isSync()Z
move-result v0
if-eqz v0, :cond_0
invoke-static {}, Lcom/discord/utilities/rest/RestAPI;->getApi()Lcom/discord/utilities/rest/RestAPIInterface;
move-result-object v0
invoke-static {p2}, Lcom/discord/utilities/rest/RestAPIParams$UserSettings;->createWithTheme(Ljava/lang/String;)Lcom/discord/utilities/rest/RestAPIParams$UserSettings;
move-result-object v2
invoke-interface {v0, v2}, Lcom/discord/utilities/rest/RestAPIInterface;->updateUserSettings(Lcom/discord/utilities/rest/RestAPIParams$UserSettings;)Lrx/Observable;
move-result-object v0
invoke-static {}, Lcom/discord/utilities/app/AppTransformers;->restSubscribeOn()Lrx/Observable$Transformer;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/Observable;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
move-result-object v0
invoke-static {p1}, Lcom/discord/utilities/app/AppTransformers;->ui(Lcom/discord/utilities/app/AppFragment;)Lrx/Observable$Transformer;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/Observable;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
move-result-object v0
invoke-static {p1}, Lcom/discord/stores/StoreUserSettings$$Lambda$3;->lambdaFactory$(Lcom/discord/utilities/app/AppFragment;)Lrx/functions/Action1;
move-result-object v2
invoke-static {v2, p1}, Lcom/discord/utilities/app/AppTransformers;->subscribeWithRestClient(Lrx/functions/Action1;Lcom/discord/utilities/app/AppFragment;)Lrx/Observable$Transformer;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/Observable;->compose(Lrx/Observable$Transformer;)Lrx/Observable;
:goto_0
monitor-exit v1
return-void
:cond_0
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->theme:Lcom/discord/utilities/mg_preference/MGPreference;
new-instance v2, Lcom/discord/models/application/ModelAppSettingsTheme;
const/4 v3, 0x0
invoke-direct {v2, v3, p2}, Lcom/discord/models/application/ModelAppSettingsTheme;-><init>(ZLjava/lang/String;)V
invoke-virtual {v0, v2}, Lcom/discord/utilities/mg_preference/MGPreference;->set(Ljava/lang/Object;)V
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->themePublisher:Lrx/subjects/Subject;
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getThemeBlocking()Lcom/discord/models/application/ModelAppSettingsTheme;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
goto :goto_0
:catchall_0
move-exception v0
monitor-exit v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public setThemeSync(Z)V
.locals 4
.param p1, "sync" # Z
.prologue
iget-object v1, p0, Lcom/discord/stores/StoreUserSettings;->$lock:Ljava/lang/Object;
monitor-enter v1
:try_start_0
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->theme:Lcom/discord/utilities/mg_preference/MGPreference;
new-instance v2, Lcom/discord/models/application/ModelAppSettingsTheme;
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getThemeBlocking()Lcom/discord/models/application/ModelAppSettingsTheme;
move-result-object v3
invoke-virtual {v3}, Lcom/discord/models/application/ModelAppSettingsTheme;->getTheme()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, p1, v3}, Lcom/discord/models/application/ModelAppSettingsTheme;-><init>(ZLjava/lang/String;)V
invoke-virtual {v0, v2}, Lcom/discord/utilities/mg_preference/MGPreference;->set(Ljava/lang/Object;)V
iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->themePublisher:Lrx/subjects/Subject;
invoke-virtual {p0}, Lcom/discord/stores/StoreUserSettings;->getThemeBlocking()Lcom/discord/models/application/ModelAppSettingsTheme;
move-result-object v2
invoke-virtual {v0, v2}, Lrx/subjects/Subject;->onNext(Ljava/lang/Object;)V
monitor-exit v1
return-void
:catchall_0
move-exception v0
monitor-exit v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method