diff --git a/com.discord/apktool.yml b/com.discord/apktool.yml
index 40c16e483f..32a899031d 100644
--- a/com.discord/apktool.yml
+++ b/com.discord/apktool.yml
@@ -1,5 +1,5 @@
!!brut.androlib.meta.MetaInfo
-apkFileName: com.discord-1135.apk
+apkFileName: com.discord-1138.apk
compressionType: false
doNotCompress:
- arsc
@@ -190,5 +190,5 @@ usesFramework:
tag: null
version: 2.4.1-197d46-SNAPSHOT
versionInfo:
- versionCode: '1135'
- versionName: '22.0'
+ versionCode: '1138'
+ versionName: '22.1'
diff --git a/com.discord/assets/crashlytics-build.properties b/com.discord/assets/crashlytics-build.properties
index f5589eb27a..ffa2deafda 100644
--- a/com.discord/assets/crashlytics-build.properties
+++ b/com.discord/assets/crashlytics-build.properties
@@ -3,9 +3,9 @@
#
#Do NOT modify, delete, or commit to source control!
#
-#Mon May 11 19:09:10 UTC 2020
-version_name=22.0
+#Thu May 14 01:04:11 UTC 2020
+version_name=22.1
package_name=com.discord
-build_id=f692b65e-9728-4f2f-94ff-9980244a5a85
-version_code=1135
+build_id=10d6473a-95c1-4688-8ad9-7358c258678d
+version_code=1138
app_name=com.discord
diff --git a/com.discord/original/AndroidManifest.xml b/com.discord/original/AndroidManifest.xml
index 4a8a68e060..d3f93fbe3e 100644
Binary files a/com.discord/original/AndroidManifest.xml and b/com.discord/original/AndroidManifest.xml differ
diff --git a/com.discord/res/values/strings.xml b/com.discord/res/values/strings.xml
index 0e4f9ac76b..d9ca7e0230 100644
--- a/com.discord/res/values/strings.xml
+++ b/com.discord/res/values/strings.xml
@@ -1057,7 +1057,7 @@ Last month, in response to COVID-19, we upped the Go Live viewer limit from 10 t
OR
Collapse
Collapse Category
- f692b65e-9728-4f2f-94ff-9980244a5a85
+ 10d6473a-95c1-4688-8ad9-7358c258678d
Coming Soon
Search Animated GIFs on the Web
Displays text with emphasis.
diff --git a/com.discord/smali/com/discord/BuildConfig.smali b/com.discord/smali/com/discord/BuildConfig.smali
index 29a313f6b8..b245e4c173 100644
--- a/com.discord/smali/com/discord/BuildConfig.smali
+++ b/com.discord/smali/com/discord/BuildConfig.smali
@@ -40,11 +40,11 @@
.field public static final SAMSUNGxDISCORD_CLIENT_ID:Ljava/lang/String; = "97t47j218f"
-.field public static final USER_AGENT:Ljava/lang/String; = "Discord-Android/1135"
+.field public static final USER_AGENT:Ljava/lang/String; = "Discord-Android/1138"
-.field public static final VERSION_CODE:I = 0x46f
+.field public static final VERSION_CODE:I = 0x472
-.field public static final VERSION_NAME:Ljava/lang/String; = "22.0"
+.field public static final VERSION_NAME:Ljava/lang/String; = "22.1"
# direct methods
diff --git a/com.discord/smali/com/discord/stores/StoreClientVersion.smali b/com.discord/smali/com/discord/stores/StoreClientVersion.smali
index ce68fcaf7f..c2ddca4810 100644
--- a/com.discord/smali/com/discord/stores/StoreClientVersion.smali
+++ b/com.discord/smali/com/discord/stores/StoreClientVersion.smali
@@ -28,7 +28,7 @@
invoke-direct {p0}, Lcom/discord/stores/Store;->()V
- const/16 v0, 0x46f
+ const/16 v0, 0x472
iput v0, p0, Lcom/discord/stores/StoreClientVersion;->clientVersion:I
diff --git a/com.discord/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali b/com.discord/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali
index 355e7d21aa..13e43d5775 100644
--- a/com.discord/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali
+++ b/com.discord/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali
@@ -181,7 +181,7 @@
const-string v3, "browser_user_agent"
- const-string v4, "Discord-Android/1135"
+ const-string v4, "Discord-Android/1138"
invoke-direct {v2, v3, v4}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V
@@ -189,7 +189,7 @@
const/4 v1, 0x2
- const/16 v2, 0x46f
+ const/16 v2, 0x472
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
@@ -205,7 +205,7 @@
const/4 v1, 0x3
- const-string v2, "22.0"
+ const-string v2, "22.1"
const-string v3, ""
diff --git a/com.discord/smali/com/discord/utilities/rest/RestAPI$AppHeadersProvider.smali b/com.discord/smali/com/discord/utilities/rest/RestAPI$AppHeadersProvider.smali
index b9bd4e28e0..c6de7b8fbe 100644
--- a/com.discord/smali/com/discord/utilities/rest/RestAPI$AppHeadersProvider.smali
+++ b/com.discord/smali/com/discord/utilities/rest/RestAPI$AppHeadersProvider.smali
@@ -159,7 +159,7 @@
.method public getUserAgent()Ljava/lang/String;
.locals 1
- const-string v0, "Discord-Android/1135"
+ const-string v0, "Discord-Android/1138"
return-object v0
.end method
diff --git a/com.discord/smali/com/discord/widgets/chat/list/InlineMediaView.smali b/com.discord/smali/com/discord/widgets/chat/list/InlineMediaView.smali
index 9029e4ba0d..4782d74185 100644
--- a/com.discord/smali/com/discord/widgets/chat/list/InlineMediaView.smali
+++ b/com.discord/smali/com/discord/widgets/chat/list/InlineMediaView.smali
@@ -575,6 +575,22 @@
return-void
.end method
+.method private final clearPlayerAndSubscriptions()V
+ .locals 2
+
+ invoke-direct {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->releasePlayer()V
+
+ invoke-virtual {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->getPaused()Lrx/subjects/Subject;
+
+ move-result-object v0
+
+ const/4 v1, 0x0
+
+ invoke-interface {v0, v1}, Lg0/g;->onNext(Ljava/lang/Object;)V
+
+ return-void
+.end method
+
.method private final getImagePreview()Lcom/facebook/drawee/view/SimpleDraweeView;
.locals 3
@@ -1078,37 +1094,35 @@
move-result-object v4
:goto_1
- move-object v5, v4
-
- iput-object v5, v0, Lcom/discord/widgets/chat/list/InlineMediaView;->appMediaPlayer:Lcom/discord/player/AppMediaPlayer;
+ iput-object v4, v0, Lcom/discord/widgets/chat/list/InlineMediaView;->appMediaPlayer:Lcom/discord/player/AppMediaPlayer;
invoke-direct/range {p0 .. p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->getPlayerView()Lcom/google/android/exoplayer2/ui/PlayerView;
- move-result-object v4
+ move-result-object v5
const/4 v6, 0x0
- invoke-virtual {v4, v6}, Lcom/google/android/exoplayer2/ui/PlayerView;->setVisibility(I)V
+ invoke-virtual {v5, v6}, Lcom/google/android/exoplayer2/ui/PlayerView;->setVisibility(I)V
- move-object/from16 v4, p4
+ move-object/from16 v5, p4
- invoke-static {v1, v2, v4}, Ls/a/b/b/a;->a(Lcom/discord/models/domain/ModelMessageEmbed;Ljava/lang/String;Ljava/lang/String;)Lcom/discord/player/MediaSource;
+ invoke-static {v1, v2, v5}, Ls/a/b/b/a;->a(Lcom/discord/models/domain/ModelMessageEmbed;Ljava/lang/String;Ljava/lang/String;)Lcom/discord/player/MediaSource;
move-result-object v2
- new-instance v4, Lrx/subscriptions/CompositeSubscription;
+ new-instance v5, Lrx/subscriptions/CompositeSubscription;
- invoke-direct {v4}, Lrx/subscriptions/CompositeSubscription;->()V
+ invoke-direct {v5}, Lrx/subscriptions/CompositeSubscription;->()V
- iput-object v4, v0, Lcom/discord/widgets/chat/list/InlineMediaView;->compositeSubscription:Lrx/subscriptions/CompositeSubscription;
+ iput-object v5, v0, Lcom/discord/widgets/chat/list/InlineMediaView;->compositeSubscription:Lrx/subscriptions/CompositeSubscription;
- invoke-virtual {v5}, Lcom/discord/player/AppMediaPlayer;->c()Lrx/Observable;
+ invoke-virtual {v4}, Lcom/discord/player/AppMediaPlayer;->c()Lrx/Observable;
- move-result-object v4
+ move-result-object v5
const/4 v6, 0x2
- invoke-static {v4, v0, v3, v6, v3}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->ui$default(Lrx/Observable;Lcom/discord/app/AppComponent;Lcom/discord/utilities/mg_recycler/MGRecyclerAdapterSimple;ILjava/lang/Object;)Lrx/Observable;
+ invoke-static {v5, v0, v3, v6, v3}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->ui$default(Lrx/Observable;Lcom/discord/app/AppComponent;Lcom/discord/utilities/mg_recycler/MGRecyclerAdapterSimple;ILjava/lang/Object;)Lrx/Observable;
move-result-object v7
@@ -1126,7 +1140,7 @@
new-instance v13, Lcom/discord/widgets/chat/list/InlineMediaView$updateUIWithValidatedEmbed$2;
- invoke-direct {v13, v0, v5}, Lcom/discord/widgets/chat/list/InlineMediaView$updateUIWithValidatedEmbed$2;->(Lcom/discord/widgets/chat/list/InlineMediaView;Lcom/discord/player/AppMediaPlayer;)V
+ invoke-direct {v13, v0, v4}, Lcom/discord/widgets/chat/list/InlineMediaView$updateUIWithValidatedEmbed$2;->(Lcom/discord/widgets/chat/list/InlineMediaView;Lcom/discord/player/AppMediaPlayer;)V
const/16 v14, 0x1a
@@ -1134,11 +1148,11 @@
invoke-static/range {v7 .. v15}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->appSubscribe$default(Lrx/Observable;Ljava/lang/Class;Landroid/content/Context;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
- invoke-virtual {v5}, Lcom/discord/player/AppMediaPlayer;->b()Lrx/Observable;
+ invoke-virtual {v4}, Lcom/discord/player/AppMediaPlayer;->b()Lrx/Observable;
- move-result-object v4
+ move-result-object v5
- invoke-static {v4, v0, v3, v6, v3}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->ui$default(Lrx/Observable;Lcom/discord/app/AppComponent;Lcom/discord/utilities/mg_recycler/MGRecyclerAdapterSimple;ILjava/lang/Object;)Lrx/Observable;
+ invoke-static {v5, v0, v3, v6, v3}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->ui$default(Lrx/Observable;Lcom/discord/app/AppComponent;Lcom/discord/utilities/mg_recycler/MGRecyclerAdapterSimple;ILjava/lang/Object;)Lrx/Observable;
move-result-object v7
@@ -1174,11 +1188,24 @@
const/16 v13, 0x28
+ move-object v5, v4
+
move-object v6, v2
invoke-static/range {v5 .. v13}, Lcom/discord/player/AppMediaPlayer;->a(Lcom/discord/player/AppMediaPlayer;Lcom/discord/player/MediaSource;ZZJLcom/google/android/exoplayer2/ui/PlayerView;Lcom/google/android/exoplayer2/ui/PlayerControlView;I)V
+ const/4 v1, 0x0
+
+ invoke-virtual {v4, v1}, Lcom/discord/player/AppMediaPlayer;->a(F)V
+
+ goto :goto_2
+
:cond_6
+ const/high16 v1, 0x3f800000 # 1.0f
+
+ invoke-virtual {v4, v1}, Lcom/discord/player/AppMediaPlayer;->a(F)V
+
+ :goto_2
invoke-direct/range {p0 .. p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->getPlayButton()Landroid/widget/ImageView;
move-result-object v1
@@ -1237,17 +1264,9 @@
.end method
.method public final onPause()V
- .locals 2
+ .locals 0
- invoke-direct {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->releasePlayer()V
-
- invoke-virtual {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->getPaused()Lrx/subjects/Subject;
-
- move-result-object v0
-
- const/4 v1, 0x0
-
- invoke-interface {v0, v1}, Lg0/g;->onNext(Ljava/lang/Object;)V
+ invoke-direct {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->clearPlayerAndSubscriptions()V
return-void
.end method
@@ -1280,19 +1299,11 @@
.end method
.method public onViewDetachedFromWindow(Landroid/view/View;)V
- .locals 1
-
- const/4 v0, 0x0
+ .locals 0
if-eqz p1, :cond_0
- invoke-direct {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->releasePlayer()V
-
- invoke-virtual {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->getPaused()Lrx/subjects/Subject;
-
- move-result-object p1
-
- invoke-interface {p1, v0}, Lg0/g;->onNext(Ljava/lang/Object;)V
+ invoke-direct {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->clearPlayerAndSubscriptions()V
return-void
@@ -1301,7 +1312,38 @@
invoke-static {p1}, Ly/v/b/j;->a(Ljava/lang/String;)V
- throw v0
+ const/4 p1, 0x0
+
+ throw p1
+.end method
+
+.method public onVisibilityChanged(Landroid/view/View;I)V
+ .locals 0
+
+ if-eqz p1, :cond_1
+
+ invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->onVisibilityChanged(Landroid/view/View;I)V
+
+ if-nez p2, :cond_0
+
+ invoke-direct {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->resetCurrentEmbed()V
+
+ goto :goto_0
+
+ :cond_0
+ invoke-direct {p0}, Lcom/discord/widgets/chat/list/InlineMediaView;->clearPlayerAndSubscriptions()V
+
+ :goto_0
+ return-void
+
+ :cond_1
+ const-string p1, "changedView"
+
+ invoke-static {p1}, Ly/v/b/j;->a(Ljava/lang/String;)V
+
+ const/4 p1, 0x0
+
+ throw p1
.end method
.method public final updateUIWithAttachment(Lcom/discord/models/domain/ModelMessageAttachment;Ljava/lang/Integer;Ljava/lang/Integer;)V
diff --git a/com.discord/smali/com/discord/widgets/debugging/WidgetFatalCrash.smali b/com.discord/smali/com/discord/widgets/debugging/WidgetFatalCrash.smali
index 5ae481054d..625b66fc3f 100644
--- a/com.discord/smali/com/discord/widgets/debugging/WidgetFatalCrash.smali
+++ b/com.discord/smali/com/discord/widgets/debugging/WidgetFatalCrash.smali
@@ -492,7 +492,7 @@
new-array v1, v2, [Ljava/lang/Object;
- const-string v3, "22.0"
+ const-string v3, "22.1"
aput-object v3, v1, v4
diff --git a/com.discord/smali/com/discord/widgets/media/WidgetMedia.smali b/com.discord/smali/com/discord/widgets/media/WidgetMedia.smali
index 55d401859c..443ec25192 100644
--- a/com.discord/smali/com/discord/widgets/media/WidgetMedia.smali
+++ b/com.discord/smali/com/discord/widgets/media/WidgetMedia.smali
@@ -1416,7 +1416,7 @@
const/4 v8, 0x0
- if-eqz v0, :cond_f
+ if-eqz v0, :cond_12
invoke-virtual {v0}, Lcom/discord/widgets/media/WidgetMediaViewModel;->getShowCoverFrame()Z
@@ -1543,7 +1543,7 @@
:cond_4
iget-object v0, v6, Lcom/discord/widgets/media/WidgetMedia;->imageUri:Landroid/net/Uri;
- if-eqz v0, :cond_e
+ if-eqz v0, :cond_11
:goto_2
move-object v11, v0
@@ -1654,41 +1654,36 @@
iget-object v0, v6, Lcom/discord/widgets/media/WidgetMedia;->mediaSource:Lcom/discord/player/MediaSource;
- if-eqz v0, :cond_d
+ if-eqz v0, :cond_10
+ invoke-virtual {v0}, Lcom/discord/player/MediaSource;->q()Lcom/discord/player/MediaType;
+
+ move-result-object v1
+
+ sget-object v2, Lcom/discord/player/MediaType;->GIFV:Lcom/discord/player/MediaType;
+
+ if-ne v1, v2, :cond_8
+
+ const/4 v9, 0x1
+
+ :cond_8
iget-object v1, v6, Lcom/discord/widgets/media/WidgetMedia;->appMediaPlayer:Lcom/discord/player/AppMediaPlayer;
const-string v2, "appMediaPlayer"
- if-eqz v1, :cond_c
+ if-eqz v1, :cond_f
iget-object v3, v6, Lcom/discord/widgets/media/WidgetMedia;->viewModel:Lcom/discord/widgets/media/WidgetMediaViewModel;
- if-eqz v3, :cond_b
+ if-eqz v3, :cond_e
invoke-virtual {v3}, Lcom/discord/widgets/media/WidgetMediaViewModel;->isPlaying()Z
move-result v19
- invoke-virtual {v0}, Lcom/discord/player/MediaSource;->q()Lcom/discord/player/MediaType;
-
- move-result-object v3
-
- sget-object v4, Lcom/discord/player/MediaType;->GIFV:Lcom/discord/player/MediaType;
-
- if-ne v3, v4, :cond_8
-
- const/16 v20, 0x1
-
- goto :goto_6
-
- :cond_8
- const/16 v20, 0x0
-
- :goto_6
iget-object v3, v6, Lcom/discord/widgets/media/WidgetMedia;->viewModel:Lcom/discord/widgets/media/WidgetMediaViewModel;
- if-eqz v3, :cond_a
+ if-eqz v3, :cond_d
invoke-virtual {v3}, Lcom/discord/widgets/media/WidgetMediaViewModel;->getCurrentPlayerPositionMs()J
@@ -1706,12 +1701,41 @@
move-object/from16 v18, v0
+ move/from16 v20, v9
+
invoke-virtual/range {v17 .. v24}, Lcom/discord/player/AppMediaPlayer;->a(Lcom/discord/player/MediaSource;ZZJLcom/google/android/exoplayer2/ui/PlayerView;Lcom/google/android/exoplayer2/ui/PlayerControlView;)V
+ if-eqz v9, :cond_a
+
iget-object v0, v6, Lcom/discord/widgets/media/WidgetMedia;->appMediaPlayer:Lcom/discord/player/AppMediaPlayer;
if-eqz v0, :cond_9
+ const/4 v1, 0x0
+
+ invoke-virtual {v0, v1}, Lcom/discord/player/AppMediaPlayer;->a(F)V
+
+ goto :goto_6
+
+ :cond_9
+ invoke-static {v2}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
+
+ throw v8
+
+ :cond_a
+ iget-object v0, v6, Lcom/discord/widgets/media/WidgetMedia;->appMediaPlayer:Lcom/discord/player/AppMediaPlayer;
+
+ if-eqz v0, :cond_c
+
+ const/high16 v1, 0x3f800000 # 1.0f
+
+ invoke-virtual {v0, v1}, Lcom/discord/player/AppMediaPlayer;->a(F)V
+
+ :goto_6
+ iget-object v0, v6, Lcom/discord/widgets/media/WidgetMedia;->appMediaPlayer:Lcom/discord/player/AppMediaPlayer;
+
+ if-eqz v0, :cond_b
+
invoke-virtual {v0}, Lcom/discord/player/AppMediaPlayer;->b()Lrx/Observable;
move-result-object v0
@@ -1742,18 +1766,8 @@
goto :goto_7
- :cond_9
- invoke-static {v2}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
-
- throw v8
-
- :cond_a
- invoke-static {v7}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
-
- throw v8
-
:cond_b
- invoke-static {v7}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
+ invoke-static {v2}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
throw v8
@@ -1763,17 +1777,32 @@
throw v8
:cond_d
+ invoke-static {v7}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
+
+ throw v8
+
+ :cond_e
+ invoke-static {v7}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
+
+ throw v8
+
+ :cond_f
+ invoke-static {v2}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
+
+ throw v8
+
+ :cond_10
:goto_7
return-void
- :cond_e
+ :cond_11
const-string v0, "imageUri"
invoke-static {v0}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
throw v8
- :cond_f
+ :cond_12
invoke-static {v7}, Ly/v/b/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
throw v8
diff --git a/com.discord/smali/com/discord/widgets/settings/WidgetSettings.smali b/com.discord/smali/com/discord/widgets/settings/WidgetSettings.smali
index 62d30b8a6c..88516e56b8 100644
--- a/com.discord/smali/com/discord/widgets/settings/WidgetSettings.smali
+++ b/com.discord/smali/com/discord/widgets/settings/WidgetSettings.smali
@@ -1989,7 +1989,7 @@
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
- const-string v0, " - 22.0 (1135)"
+ const-string v0, " - 22.1 (1138)"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
diff --git a/com.discord/smali/f/a/b/h.smali b/com.discord/smali/f/a/b/h.smali
index 641af437c7..f81452e73d 100644
--- a/com.discord/smali/f/a/b/h.smali
+++ b/com.discord/smali/f/a/b/h.smali
@@ -613,7 +613,7 @@
sput-object v0, Lf/a/b/h;->c:Ljava/util/List;
- new-array v0, v5, [Ly/z/b;
+ new-array v0, v6, [Ly/z/b;
const-class v1, Lcom/discord/widgets/settings/billing/WidgetSettingsBilling;
@@ -631,6 +631,14 @@
aput-object v1, v0, v4
+ const-class v1, Lcom/discord/widgets/media/WidgetMedia;
+
+ invoke-static {v1}, Ly/v/b/x;->getOrCreateKotlinClass(Ljava/lang/Class;)Ly/z/b;
+
+ move-result-object v1
+
+ aput-object v1, v0, v5
+
invoke-static {v0}, Lf/o/a/j/a;->listOf([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0