package com.discord.widgets.chat.list; import android.content.Context; import android.os.Build; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ProgressBar; import androidx.cardview.widget.CardView; import c.a.p.i; import c.c.a.a0.d; import c.d.b.a.a; import com.discord.api.message.attachment.MessageAttachment; import com.discord.api.message.attachment.MessageAttachmentType; import com.discord.api.message.embed.EmbedType; import com.discord.api.message.embed.EmbedVideo; import com.discord.api.message.embed.MessageEmbed; import com.discord.app.AppComponent; import com.discord.databinding.InlineMediaViewBinding; import com.discord.embed.RenderableEmbedMedia; import com.discord.player.AppMediaPlayer; import com.discord.player.MediaSource; import com.discord.player.MediaType; import com.discord.stores.StoreStream; import com.discord.stores.StoreUserSettings; import com.discord.utilities.embed.EmbedResourceUtils; import com.discord.utilities.images.MGImages; import com.discord.utilities.rx.ObservableExtensionsKt; import com.facebook.drawee.view.SimpleDraweeView; import com.google.android.exoplayer2.ui.PlayerView; import d0.z.d.m; import kotlin.NoWhenBranchMatchedException; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; import rx.Observable; import rx.subjects.PublishSubject; import rx.subjects.Subject; import rx.subscriptions.CompositeSubscription; /* compiled from: InlineMediaView.kt */ public final class InlineMediaView extends CardView implements View.OnAttachStateChangeListener, AppComponent { private AppMediaPlayer appMediaPlayer; private final InlineMediaViewBinding binding; private CompositeSubscription compositeSubscription; private String featureTag; private final StoreUserSettings storeUserSettings; private final Subject unsubscribeSignal; private ViewParams viewParams; /* compiled from: InlineMediaView.kt */ public static final class ViewParams { private final boolean autoPlayGifs; private final EmbedType embedType; private final RenderableEmbedMedia previewImage; private final String progressiveMediaUri; private final Integer targetHeight; private final Integer targetWidth; public ViewParams(RenderableEmbedMedia renderableEmbedMedia, String str, EmbedType embedType, Integer num, Integer num2, boolean z2) { this.previewImage = renderableEmbedMedia; this.progressiveMediaUri = str; this.embedType = embedType; this.targetWidth = num; this.targetHeight = num2; this.autoPlayGifs = z2; } public static /* synthetic */ ViewParams copy$default(ViewParams viewParams, RenderableEmbedMedia renderableEmbedMedia, String str, EmbedType embedType, Integer num, Integer num2, boolean z2, int i, Object obj) { if ((i & 1) != 0) { renderableEmbedMedia = viewParams.previewImage; } if ((i & 2) != 0) { str = viewParams.progressiveMediaUri; } if ((i & 4) != 0) { embedType = viewParams.embedType; } if ((i & 8) != 0) { num = viewParams.targetWidth; } if ((i & 16) != 0) { num2 = viewParams.targetHeight; } if ((i & 32) != 0) { z2 = viewParams.autoPlayGifs; } return viewParams.copy(renderableEmbedMedia, str, embedType, num, num2, z2); } public final RenderableEmbedMedia component1() { return this.previewImage; } public final String component2() { return this.progressiveMediaUri; } public final EmbedType component3() { return this.embedType; } public final Integer component4() { return this.targetWidth; } public final Integer component5() { return this.targetHeight; } public final boolean component6() { return this.autoPlayGifs; } public final ViewParams copy(RenderableEmbedMedia renderableEmbedMedia, String str, EmbedType embedType, Integer num, Integer num2, boolean z2) { return new ViewParams(renderableEmbedMedia, str, embedType, num, num2, z2); } public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof ViewParams)) { return false; } ViewParams viewParams = (ViewParams) obj; return m.areEqual(this.previewImage, viewParams.previewImage) && m.areEqual(this.progressiveMediaUri, viewParams.progressiveMediaUri) && m.areEqual(this.embedType, viewParams.embedType) && m.areEqual(this.targetWidth, viewParams.targetWidth) && m.areEqual(this.targetHeight, viewParams.targetHeight) && this.autoPlayGifs == viewParams.autoPlayGifs; } public final boolean getAutoPlayGifs() { return this.autoPlayGifs; } public final EmbedType getEmbedType() { return this.embedType; } public final RenderableEmbedMedia getPreviewImage() { return this.previewImage; } public final String getProgressiveMediaUri() { return this.progressiveMediaUri; } public final Integer getTargetHeight() { return this.targetHeight; } public final Integer getTargetWidth() { return this.targetWidth; } public int hashCode() { RenderableEmbedMedia renderableEmbedMedia = this.previewImage; int i = 0; int hashCode = (renderableEmbedMedia != null ? renderableEmbedMedia.hashCode() : 0) * 31; String str = this.progressiveMediaUri; int hashCode2 = (hashCode + (str != null ? str.hashCode() : 0)) * 31; EmbedType embedType = this.embedType; int hashCode3 = (hashCode2 + (embedType != null ? embedType.hashCode() : 0)) * 31; Integer num = this.targetWidth; int hashCode4 = (hashCode3 + (num != null ? num.hashCode() : 0)) * 31; Integer num2 = this.targetHeight; if (num2 != null) { i = num2.hashCode(); } int i2 = (hashCode4 + i) * 31; boolean z2 = this.autoPlayGifs; if (z2) { z2 = true; } int i3 = z2 ? 1 : 0; int i4 = z2 ? 1 : 0; int i5 = z2 ? 1 : 0; return i2 + i3; } public String toString() { StringBuilder R = a.R("ViewParams(previewImage="); R.append(this.previewImage); R.append(", progressiveMediaUri="); R.append(this.progressiveMediaUri); R.append(", embedType="); R.append(this.embedType); R.append(", targetWidth="); R.append(this.targetWidth); R.append(", targetHeight="); R.append(this.targetHeight); R.append(", autoPlayGifs="); return a.L(R, this.autoPlayGifs, ")"); } } public final /* synthetic */ class WhenMappings { public static final /* synthetic */ int[] $EnumSwitchMapping$0; static { MessageAttachmentType.values(); int[] iArr = new int[3]; $EnumSwitchMapping$0 = iArr; iArr[MessageAttachmentType.VIDEO.ordinal()] = 1; iArr[MessageAttachmentType.IMAGE.ordinal()] = 2; iArr[MessageAttachmentType.FILE.ordinal()] = 3; } } /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public InlineMediaView(Context context) { super(context); m.checkNotNullParameter(context, "context"); InlineMediaViewBinding a = InlineMediaViewBinding.a(LayoutInflater.from(getContext()), this); m.checkNotNullExpressionValue(a, "InlineMediaViewBinding.i…ater.from(context), this)"); this.binding = a; this.storeUserSettings = StoreStream.Companion.getUserSettings(); this.featureTag = ""; this.compositeSubscription = new CompositeSubscription(); addOnAttachStateChangeListener(this); PublishSubject k0 = PublishSubject.k0(); m.checkNotNullExpressionValue(k0, "PublishSubject.create()"); this.unsubscribeSignal = k0; } /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public InlineMediaView(Context context, AttributeSet attributeSet) { super(context, attributeSet); m.checkNotNullParameter(context, "context"); InlineMediaViewBinding a = InlineMediaViewBinding.a(LayoutInflater.from(getContext()), this); m.checkNotNullExpressionValue(a, "InlineMediaViewBinding.i…ater.from(context), this)"); this.binding = a; this.storeUserSettings = StoreStream.Companion.getUserSettings(); this.featureTag = ""; this.compositeSubscription = new CompositeSubscription(); addOnAttachStateChangeListener(this); PublishSubject k0 = PublishSubject.k0(); m.checkNotNullExpressionValue(k0, "PublishSubject.create()"); this.unsubscribeSignal = k0; } /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public InlineMediaView(Context context, AttributeSet attributeSet, int i) { super(context, attributeSet, i); m.checkNotNullParameter(context, "context"); InlineMediaViewBinding a = InlineMediaViewBinding.a(LayoutInflater.from(getContext()), this); m.checkNotNullExpressionValue(a, "InlineMediaViewBinding.i…ater.from(context), this)"); this.binding = a; this.storeUserSettings = StoreStream.Companion.getUserSettings(); this.featureTag = ""; this.compositeSubscription = new CompositeSubscription(); addOnAttachStateChangeListener(this); PublishSubject k0 = PublishSubject.k0(); m.checkNotNullExpressionValue(k0, "PublishSubject.create()"); this.unsubscribeSignal = k0; } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ public /* synthetic */ InlineMediaView(Context context, AttributeSet attributeSet, int i, int i2, DefaultConstructorMarker defaultConstructorMarker) { this(context, (i2 & 2) != 0 ? null : attributeSet, (i2 & 4) != 0 ? 0 : i); } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ public /* synthetic */ InlineMediaView(Context context, AttributeSet attributeSet, int i, DefaultConstructorMarker defaultConstructorMarker) { this(context, (i & 2) != 0 ? null : attributeSet); } public static final /* synthetic */ AppMediaPlayer access$getAppMediaPlayer$p(InlineMediaView inlineMediaView) { return inlineMediaView.appMediaPlayer; } public static final /* synthetic */ InlineMediaViewBinding access$getBinding$p(InlineMediaView inlineMediaView) { return inlineMediaView.binding; } public static final /* synthetic */ CompositeSubscription access$getCompositeSubscription$p(InlineMediaView inlineMediaView) { return inlineMediaView.compositeSubscription; } public static final /* synthetic */ void access$handlePlayerEvent(InlineMediaView inlineMediaView, AppMediaPlayer.Event event) { inlineMediaView.handlePlayerEvent(event); } public static final /* synthetic */ void access$setAppMediaPlayer$p(InlineMediaView inlineMediaView, AppMediaPlayer appMediaPlayer) { inlineMediaView.appMediaPlayer = appMediaPlayer; } public static final /* synthetic */ void access$setCompositeSubscription$p(InlineMediaView inlineMediaView, CompositeSubscription compositeSubscription) { inlineMediaView.compositeSubscription = compositeSubscription; } private final void clearPlayerAndSubscriptions() { releasePlayer(); getUnsubscribeSignal().onNext(null); } private final void diffViewParamsAndUpdateEmbed(RenderableEmbedMedia renderableEmbedMedia, String str, EmbedType embedType, Integer num, Integer num2, String str2, boolean z2) { Integer num3; Integer num4; Integer num5 = null; if (num != null) { num3 = num; } else { ViewParams viewParams = this.viewParams; num3 = viewParams != null ? viewParams.getTargetWidth() : null; } if (num2 != null) { num4 = num2; } else { ViewParams viewParams2 = this.viewParams; if (viewParams2 != null) { num5 = viewParams2.getTargetHeight(); } num4 = num5; } ViewParams viewParams3 = new ViewParams(renderableEmbedMedia, str, embedType, num3, num4, z2); if (!m.areEqual(viewParams3, this.viewParams)) { this.viewParams = viewParams3; updateUI(renderableEmbedMedia, str, embedType, num, num2, str2); } } public static /* synthetic */ void diffViewParamsAndUpdateEmbed$default(InlineMediaView inlineMediaView, RenderableEmbedMedia renderableEmbedMedia, String str, EmbedType embedType, Integer num, Integer num2, String str2, boolean z2, int i, Object obj) { inlineMediaView.diffViewParamsAndUpdateEmbed(renderableEmbedMedia, str, embedType, (i & 8) != 0 ? null : num, (i & 16) != 0 ? null : num2, str2, z2); } private final void handlePlayerEvent(AppMediaPlayer.Event event) { boolean z2 = true; int i = 0; if (m.areEqual(event, AppMediaPlayer.Event.a.a)) { SimpleDraweeView simpleDraweeView = this.binding.f1674c; m.checkNotNullExpressionValue(simpleDraweeView, "binding.inlineMediaImagePreview"); if (!(!shouldAutoPlay())) { i = 8; } simpleDraweeView.setVisibility(i); ProgressBar progressBar = this.binding.d; m.checkNotNullExpressionValue(progressBar, "binding.inlineMediaLoadingIndicator"); progressBar.setVisibility(8); } else if (m.areEqual(event, AppMediaPlayer.Event.f.a)) { ViewParams viewParams = this.viewParams; EmbedType embedType = viewParams != null ? viewParams.getEmbedType() : null; ImageView imageView = this.binding.g; m.checkNotNullExpressionValue(imageView, "binding.inlineMediaVolumeToggle"); if (!(embedType == EmbedType.VIDEO || embedType == null)) { z2 = false; } if (!z2) { i = 8; } imageView.setVisibility(i); } else if (m.areEqual(event, AppMediaPlayer.Event.e.a)) { resetCurrentEmbed(); } } private final void releasePlayer() { AppMediaPlayer appMediaPlayer = this.appMediaPlayer; if (appMediaPlayer != null) { appMediaPlayer.c(); } this.appMediaPlayer = null; } private final void resetCurrentEmbed() { ViewParams viewParams = this.viewParams; if (viewParams != null) { updateUI(viewParams.getPreviewImage(), viewParams.getProgressiveMediaUri(), viewParams.getEmbedType(), viewParams.getTargetWidth(), viewParams.getTargetHeight(), this.featureTag); } } private final void resetViews() { ViewParams viewParams = this.viewParams; if (viewParams != null) { SimpleDraweeView simpleDraweeView = this.binding.f1674c; m.checkNotNullExpressionValue(simpleDraweeView, "binding.inlineMediaImagePreview"); int i = 0; simpleDraweeView.setVisibility(0); ImageView imageView = this.binding.b; m.checkNotNullExpressionValue(imageView, "binding.inlineMediaGifIndicator"); boolean z2 = true; imageView.setVisibility(shouldAutoPlay() ^ true ? 0 : 8); PlayerView playerView = this.binding.f; m.checkNotNullExpressionValue(playerView, "binding.inlineMediaPlayerView"); playerView.setVisibility(8); ImageView imageView2 = this.binding.g; m.checkNotNullExpressionValue(imageView2, "binding.inlineMediaVolumeToggle"); imageView2.setVisibility(8); ImageView imageView3 = this.binding.e; m.checkNotNullExpressionValue(imageView3, "binding.inlineMediaPlayButton"); if (viewParams.getEmbedType() != EmbedType.VIDEO) { z2 = false; } if (!z2) { i = 8; } imageView3.setVisibility(i); ProgressBar progressBar = this.binding.d; m.checkNotNullExpressionValue(progressBar, "binding.inlineMediaLoadingIndicator"); progressBar.setVisibility(8); ImageView imageView4 = this.binding.g; m.checkNotNullExpressionValue(imageView4, "binding.inlineMediaVolumeToggle"); imageView4.setVisibility(8); } } private final boolean shouldAutoPlay() { ViewParams viewParams = this.viewParams; String str = null; if ((viewParams != null ? viewParams.getEmbedType() : null) == EmbedType.GIFV && Build.VERSION.SDK_INT > 30) { return false; } EmbedResourceUtils embedResourceUtils = EmbedResourceUtils.INSTANCE; ViewParams viewParams2 = this.viewParams; EmbedType embedType = viewParams2 != null ? viewParams2.getEmbedType() : null; ViewParams viewParams3 = this.viewParams; if (viewParams3 != null) { str = viewParams3.getProgressiveMediaUri(); } if (!embedResourceUtils.isAnimated(embedType, str)) { return true; } ViewParams viewParams4 = this.viewParams; return viewParams4 != null ? viewParams4.getAutoPlayGifs() : this.storeUserSettings.getIsAutoPlayGifsEnabled(); } private final void updateUI(RenderableEmbedMedia renderableEmbedMedia, String str, EmbedType embedType, Integer num, Integer num2, String str2) { resetViews(); this.compositeSubscription.unsubscribe(); if (!(num == null || num2 == null)) { ViewGroup.LayoutParams layoutParams = getLayoutParams(); if (!(layoutParams.width == num.intValue() && layoutParams.height == num2.intValue())) { layoutParams.width = num.intValue(); layoutParams.height = num2.intValue(); requestLayout(); } if ((renderableEmbedMedia != null ? renderableEmbedMedia.a : null) != null) { SimpleDraweeView simpleDraweeView = this.binding.f1674c; m.checkNotNullExpressionValue(simpleDraweeView, "binding.inlineMediaImagePreview"); MGImages.setImage$default(simpleDraweeView, EmbedResourceUtils.INSTANCE.getPreviewUrls(renderableEmbedMedia.a, num.intValue(), num2.intValue(), shouldAutoPlay()), 0, 0, false, null, null, null, 252, null); } } if (str != null) { AppMediaPlayer appMediaPlayer = this.appMediaPlayer; if (appMediaPlayer == null) { Context context = getContext(); m.checkNotNullExpressionValue(context, "context"); appMediaPlayer = i.a(context); } this.appMediaPlayer = appMediaPlayer; PlayerView playerView = this.binding.f; m.checkNotNullExpressionValue(playerView, "binding.inlineMediaPlayerView"); int i = 8; playerView.setVisibility(shouldAutoPlay() ? 0 : 8); ImageView imageView = this.binding.b; m.checkNotNullExpressionValue(imageView, "binding.inlineMediaGifIndicator"); if (!shouldAutoPlay()) { i = 0; } imageView.setVisibility(i); m.checkNotNullParameter(str, "progressiveMediaUri"); m.checkNotNullParameter(str2, "featureTag"); EmbedType embedType2 = EmbedType.GIFV; MediaSource O = d.O(embedType == embedType2 ? MediaType.GIFV : MediaType.VIDEO, str, str2); this.compositeSubscription = new CompositeSubscription(); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(appMediaPlayer.d, this, null, 2, null), InlineMediaView.class, (Context) null, new InlineMediaView$updateUI$1(this), (Function1) null, (Function0) null, (Function0) null, new InlineMediaView$updateUI$2(this, appMediaPlayer), 58, (Object) null); Observable J = appMediaPlayer.a.J(); m.checkNotNullExpressionValue(J, "eventSubject.onBackpressureBuffer()"); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(J, this, null, 2, null), InlineMediaView.class, (Context) null, new InlineMediaView$updateUI$3(this), (Function1) null, (Function0) null, (Function0) null, new InlineMediaView$updateUI$4(this), 58, (Object) null); if (embedType == embedType2) { boolean shouldAutoPlay = shouldAutoPlay(); PlayerView playerView2 = this.binding.f; m.checkNotNullExpressionValue(playerView2, "binding.inlineMediaPlayerView"); AppMediaPlayer.b(appMediaPlayer, O, shouldAutoPlay, true, 0, playerView2, null, 40); appMediaPlayer.d(0.0f); } else { appMediaPlayer.d(1.0f); } this.binding.e.setOnClickListener(new InlineMediaView$updateUI$5(this, O)); } } public static /* synthetic */ void updateUI$default(InlineMediaView inlineMediaView, RenderableEmbedMedia renderableEmbedMedia, String str, EmbedType embedType, Integer num, Integer num2, String str2, int i, Object obj) { inlineMediaView.updateUI(renderableEmbedMedia, str, embedType, (i & 8) != 0 ? null : num, (i & 16) != 0 ? null : num2, str2); } public static /* synthetic */ void updateUIWithAttachment$default(InlineMediaView inlineMediaView, MessageAttachment messageAttachment, Integer num, Integer num2, boolean z2, int i, Object obj) { if ((i & 2) != 0) { num = null; } if ((i & 4) != 0) { num2 = null; } inlineMediaView.updateUIWithAttachment(messageAttachment, num, num2, z2); } public static /* synthetic */ void updateUIWithEmbed$default(InlineMediaView inlineMediaView, MessageEmbed messageEmbed, Integer num, Integer num2, boolean z2, int i, Object obj) { if ((i & 2) != 0) { num = null; } if ((i & 4) != 0) { num2 = null; } inlineMediaView.updateUIWithEmbed(messageEmbed, num, num2, z2); } @Override // com.discord.app.AppComponent public Subject getUnsubscribeSignal() { return this.unsubscribeSignal; } public final void onPause() { clearPlayerAndSubscriptions(); } public final void onResume() { resetCurrentEmbed(); } @Override // android.view.View.OnAttachStateChangeListener public void onViewAttachedToWindow(View view) { m.checkNotNullParameter(view, "view"); resetCurrentEmbed(); } @Override // android.view.View.OnAttachStateChangeListener public void onViewDetachedFromWindow(View view) { m.checkNotNullParameter(view, "view"); clearPlayerAndSubscriptions(); } @Override // android.view.View public void onVisibilityChanged(View view, int i) { m.checkNotNullParameter(view, "changedView"); super.onVisibilityChanged(view, i); if (i == 0) { resetCurrentEmbed(); } else { clearPlayerAndSubscriptions(); } } public final void updateUIWithAttachment(MessageAttachment messageAttachment, Integer num, Integer num2, boolean z2) { EmbedType embedType; m.checkNotNullParameter(messageAttachment, "attachment"); MessageAttachmentType e = messageAttachment.e(); boolean z3 = false; if ((e == MessageAttachmentType.IMAGE || e == MessageAttachmentType.VIDEO) && this.storeUserSettings.getIsAttachmentMediaInline()) { RenderableEmbedMedia createRenderableEmbedMediaFromAttachment = EmbedResourceUtils.INSTANCE.createRenderableEmbedMediaFromAttachment(messageAttachment); this.featureTag = InlineMediaView.class.getSimpleName() + ": attachment"; if (messageAttachment.e() == MessageAttachmentType.VIDEO) { z3 = true; } String c2 = z3 ? messageAttachment.c() : null; int ordinal = e.ordinal(); if (ordinal == 0) { embedType = EmbedType.VIDEO; } else if (ordinal == 1) { embedType = EmbedType.IMAGE; } else if (ordinal == 2) { embedType = EmbedType.FILE; } else { throw new NoWhenBranchMatchedException(); } diffViewParamsAndUpdateEmbed(createRenderableEmbedMediaFromAttachment, c2, embedType, num, num2, this.featureTag, z2); } } public final void updateUIWithEmbed(MessageEmbed messageEmbed, Integer num, Integer num2, boolean z2) { String str; m.checkNotNullParameter(messageEmbed, "embed"); EmbedResourceUtils embedResourceUtils = EmbedResourceUtils.INSTANCE; boolean z3 = true; if (!(embedResourceUtils.getPreviewImage(messageEmbed) != null) || !this.storeUserSettings.getIsEmbedMediaInlined() || !this.storeUserSettings.getIsRenderEmbedsEnabled()) { z3 = false; } if (z3) { this.featureTag = InlineMediaView.class.getSimpleName() + ": embed"; EmbedVideo m = messageEmbed.m(); if (m == null || (str = m.b()) == null) { EmbedVideo m2 = messageEmbed.m(); str = m2 != null ? m2.c() : null; } diffViewParamsAndUpdateEmbed(embedResourceUtils.getPreviewImage(messageEmbed), str, messageEmbed.k(), num, num2, this.featureTag, z2); } } }