diff --git a/app/build.gradle b/app/build.gradle index 58059eda25..39c81ad294 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 29 - versionCode 100204 - versionName "100.4 - Alpha" + versionCode 100206 + versionName "100.6 - Alpha" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b8a8cf205d..6ff889bdbb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + @@ -72,6 +72,8 @@ + + @@ -91,6 +93,8 @@ + + @@ -174,7 +178,7 @@ - + diff --git a/app/src/main/java/c/a/a/i.java b/app/src/main/java/c/a/a/i.java index c8fe95e09f..066f0ac5ac 100644 --- a/app/src/main/java/c/a/a/i.java +++ b/app/src/main/java/c/a/a/i.java @@ -10,6 +10,7 @@ import c0.z.d.k; import c0.z.d.m; import com.discord.R; import com.discord.app.AppDialog; +import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.uri.UriHandler; import com.discord.utilities.view.extensions.ViewExtensions; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; @@ -108,11 +109,11 @@ public final class i extends AppDialog { super.onViewBound(view); String string = getArgumentsOrDefault().getString("ARG_PROFILE_URL", ""); String string2 = getArgumentsOrDefault().getString("ARG_USERNAME", ""); - int i2 = getArgumentsOrDefault().getInt("ARG_PLATFORM_IMAGE_RES", 0); + int i2 = getArgumentsOrDefault().getInt("ARG_THEMED_PLATFORM_IMAGE_RES", 0); if (i2 != 0) { TextView textView = g().f103c; m.checkNotNullExpressionValue(textView, "binding.connectedAccountActionsDialogHeader"); - ViewExtensions.setCompoundDrawableWithIntrinsicBounds$default(textView, i2, 0, 0, 0, 14, null); + ViewExtensions.setCompoundDrawableWithIntrinsicBounds$default(textView, DrawableCompat.getThemedDrawableRes$default(view, i2, 0, 2, (Object) null), 0, 0, 0, 14, null); } TextView textView2 = g().f103c; m.checkNotNullExpressionValue(textView2, "binding.connectedAccountActionsDialogHeader"); diff --git a/app/src/main/java/c/a/d/l0/a.java b/app/src/main/java/c/a/d/l0/a.java index 3ccab1036e..e4173251b9 100644 --- a/app/src/main/java/c/a/d/l0/a.java +++ b/app/src/main/java/c/a/d/l0/a.java @@ -12,7 +12,8 @@ public final class a { public static final Regex B; public static final Regex C = new Regex("^/ra/([\\w-]+)$"); public static final Regex D; - public static final a E; + public static final Regex E; + public static final a F; public static final String a; public static final String b; @@ -54,7 +55,7 @@ public final class a { static { a aVar = new a(); - E = aVar; + F = aVar; String b2 = aVar.b(BuildConfig.HOST); a = b2; String b3 = aVar.b(BuildConfig.HOST_ALTERNATE); @@ -114,6 +115,7 @@ public final class a { A = new Regex("^/query(/\\w+)*/?$", iVar); B = new Regex("^/(?:oauth2|connect)/authorize/?$", iVar); D = new Regex("^/guild/((?:@me)|(?:\\d+))/premiumguild/?$", iVar); + E = new Regex("^/events/(\\d+)/(\\d+)/?$", iVar); } public final boolean a(String str) { diff --git a/app/src/main/java/c/a/q/o0/a.java b/app/src/main/java/c/a/q/o0/a.java index 59f31af98f..26fa249f26 100644 --- a/app/src/main/java/c/a/q/o0/a.java +++ b/app/src/main/java/c/a/q/o0/a.java @@ -46,7 +46,7 @@ public final /* synthetic */ class a extends k implements Function1 Transport transport = stats2.getTransport(); eVar.g(null, Integer.valueOf((transport == null || (receiverReports = transport.getReceiverReports()) == null) ? 0 : receiverReports.length), currentTimeMillis); if (!eVar.k.a() && (outboundRtpVideo = stats2.getOutboundRtpVideo()) != null) { - eVar.a(eVar.l, new e.g((long) outboundRtpVideo.getResolution().getHeight(), currentTimeMillis, new e.a(outboundRtpVideo.getFramesEncoded(), outboundRtpVideo.getFramesSent(), outboundRtpVideo.getPacketsSent(), (long) outboundRtpVideo.getPacketsLost(), 0, outboundRtpVideo.getBytesSent(), outboundRtpVideo.getNackCount(), outboundRtpVideo.getPliCount(), outboundRtpVideo.getQpSum()))); + eVar.a(eVar.l, new e.g((long) outboundRtpVideo.getResolution().getHeight(), currentTimeMillis, new e.a(outboundRtpVideo.getFramesEncoded(), outboundRtpVideo.getFramesSent(), outboundRtpVideo.getPacketsSent(), (long) outboundRtpVideo.getPacketsLost(), 0, outboundRtpVideo.getBytesSent(), outboundRtpVideo.getNackCount(), outboundRtpVideo.getPliCount(), outboundRtpVideo.getQpSum(), 0, 0, 0, 0, 0))); if (eVar.l.d == null && outboundRtpVideo.getFramesEncoded() > 0) { eVar.l.d = Long.valueOf(currentTimeMillis - eVar.g); Logger.i$default(eVar.p, "VideoQuality: outboundStats.timeToFirstFrame: " + eVar.l.d, null, 2, null); diff --git a/app/src/main/java/c/a/q/o0/e.java b/app/src/main/java/c/a/q/o0/e.java index 664aa5c7c5..c2e3022b19 100644 --- a/app/src/main/java/c/a/q/o0/e.java +++ b/app/src/main/java/c/a/q/o0/e.java @@ -1,7 +1,6 @@ package c.a.q.o0; import androidx.annotation.AnyThread; -import androidx.core.app.FrameMetricsAggregator; import c0.t.h0; import c0.t.n; import c0.t.r; @@ -60,12 +59,17 @@ public final class e { public long g; public long h; public long i; + public long j; + public long k; + public long l; + public long m; + public long n; public a() { - this(0, 0, 0, 0, 0, 0, 0, 0, 0, FrameMetricsAggregator.EVERY_DURATION); + this(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16383); } - public a(long j, long j2, long j3, long j4, long j5, long j6, long j7, long j8, long j9) { + public a(long j, long j2, long j3, long j4, long j5, long j6, long j7, long j8, long j9, long j10, long j11, long j12, long j13, long j14) { this.a = j; this.b = j2; this.f232c = j3; @@ -75,11 +79,16 @@ public final class e { this.g = j7; this.h = j8; this.i = j9; + this.j = j10; + this.k = j11; + this.l = j12; + this.m = j13; + this.n = j14; } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ - public /* synthetic */ a(long j, long j2, long j3, long j4, long j5, long j6, long j7, long j8, long j9, int i) { - this((i & 1) != 0 ? 0 : j, (i & 2) != 0 ? 0 : j2, (i & 4) != 0 ? 0 : j3, (i & 8) != 0 ? 0 : j4, (i & 16) != 0 ? 0 : j5, (i & 32) != 0 ? 0 : j6, (i & 64) != 0 ? 0 : j7, (i & 128) != 0 ? 0 : j8, (i & 256) == 0 ? j9 : 0); + public /* synthetic */ a(long j, long j2, long j3, long j4, long j5, long j6, long j7, long j8, long j9, long j10, long j11, long j12, long j13, long j14, int i) { + this((i & 1) != 0 ? 0 : j, (i & 2) != 0 ? 0 : j2, (i & 4) != 0 ? 0 : j3, (i & 8) != 0 ? 0 : j4, (i & 16) != 0 ? 0 : j5, (i & 32) != 0 ? 0 : j6, (i & 64) != 0 ? 0 : j7, (i & 128) != 0 ? 0 : j8, (i & 256) != 0 ? 0 : j9, (i & 512) != 0 ? 0 : j10, (i & 1024) != 0 ? 0 : j11, (i & 2048) != 0 ? 0 : j12, (i & 4096) != 0 ? 0 : j13, (i & 8192) == 0 ? j14 : 0); } public boolean equals(Object obj) { @@ -90,7 +99,7 @@ public final class e { return false; } a aVar = (a) obj; - return this.a == aVar.a && this.b == aVar.b && this.f232c == aVar.f232c && this.d == aVar.d && this.e == aVar.e && this.f == aVar.f && this.g == aVar.g && this.h == aVar.h && this.i == aVar.i; + return this.a == aVar.a && this.b == aVar.b && this.f232c == aVar.f232c && this.d == aVar.d && this.e == aVar.e && this.f == aVar.f && this.g == aVar.g && this.h == aVar.h && this.i == aVar.i && this.j == aVar.j && this.k == aVar.k && this.l == aVar.l && this.m == aVar.m && this.n == aVar.n; } public int hashCode() { @@ -101,7 +110,12 @@ public final class e { int a5 = z.a.a.b.a(this.f); int a6 = z.a.a.b.a(this.g); int a7 = z.a.a.b.a(this.h); - return z.a.a.b.a(this.i) + ((a7 + ((a6 + ((a5 + ((a4 + ((a3 + ((a2 + ((a + (z.a.a.b.a(this.a) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31); + int a8 = z.a.a.b.a(this.i); + int a9 = z.a.a.b.a(this.j); + int a10 = z.a.a.b.a(this.k); + int a11 = z.a.a.b.a(this.l); + int a12 = z.a.a.b.a(this.m); + return z.a.a.b.a(this.n) + ((a12 + ((a11 + ((a10 + ((a9 + ((a8 + ((a7 + ((a6 + ((a5 + ((a4 + ((a3 + ((a2 + ((a + (z.a.a.b.a(this.a) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31); } public String toString() { @@ -122,7 +136,17 @@ public final class e { O.append(", pliCount="); O.append(this.h); O.append(", qpSum="); - return c.d.b.a.a.A(O, this.i, ")"); + O.append(this.i); + O.append(", freezeCount="); + O.append(this.j); + O.append(", pauseCount="); + O.append(this.k); + O.append(", totalFreezesDuration="); + O.append(this.l); + O.append(", totalPausesDuration="); + O.append(this.m); + O.append(", totalFramesDuration="); + return c.d.b.a.a.A(O, this.n, ")"); } } @@ -189,7 +213,7 @@ public final class e { /* renamed from: c reason: collision with root package name */ public final Histogram f233c = new Histogram(25600, 0, 2, null); public Long d; - public a e = new a(0, 0, 0, 0, 0, 0, 0, 0, 0, FrameMetricsAggregator.EVERY_DURATION); + public a e = new a(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16383); public long f; public Map g = new LinkedHashMap(); public Map h = new LinkedHashMap(); @@ -227,7 +251,7 @@ public final class e { public final a f234c; public g() { - this(0, 0, new a(0, 0, 0, 0, 0, 0, 0, 0, 0, FrameMetricsAggregator.EVERY_DURATION)); + this(0, 0, new a(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16383)); } public g(long j, long j2, a aVar) { @@ -336,6 +360,11 @@ public final class e { aVar.g = fVar.a(aVar2.g, aVar3.g) + aVar.g; aVar.h = fVar.a(aVar2.h, aVar3.h) + aVar.h; aVar.i = fVar.a(aVar2.i, aVar3.i) + aVar.i; + aVar.j = fVar.a(aVar2.j, aVar3.j) + aVar.j; + aVar.k = fVar.a(aVar2.j, aVar3.j) + aVar.k; + aVar.l = fVar.a(aVar2.l, aVar3.l) + aVar.l; + aVar.m = fVar.a(aVar2.m, aVar3.m) + aVar.m; + aVar.n = fVar.a(aVar2.n, aVar3.n) + aVar.n; a aVar4 = gVar2.f234c; long j = aVar4.f; long j2 = aVar4.a; @@ -442,12 +471,12 @@ public final class e { return h0.plus(e(this.l), h0.mapOf(c0.o.to("target_bitrate_max", Long.valueOf((i <= 0 || (valueOf3 = Float.valueOf(((float) (fVar.o * ((long) 8))) / f2)) == null) ? 0 : c0.a0.a.roundToLong(valueOf3.floatValue()))), c0.o.to("target_bitrate_network", Long.valueOf((i <= 0 || (valueOf2 = Float.valueOf(((float) (this.l.n * ((long) 8))) / f2)) == null) ? 0 : c0.a0.a.roundToLong(valueOf2.floatValue()))), c0.o.to("target_fps", Long.valueOf((i <= 0 || (valueOf = Float.valueOf(((float) this.l.m) / f2)) == null) ? 0 : c0.a0.a.roundToLong(valueOf.floatValue()))), c0.o.to("duration_encoder_nvidia_cuda", 0L), c0.o.to("duration_encoder_nvidia_direct3d", 0L), c0.o.to("duration_encoder_openh264", 0L), c0.o.to("duration_encoder_videotoolbox", 0L), c0.o.to("duration_encoder_amd_direct3d", 0L), c0.o.to("duration_encoder_intel", 0L), c0.o.to("duration_encoder_intel_direct3d", 0L), c0.o.to("duration_encoder_unknown", 0L))); } - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x04e0: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x04e4: APUT (r6v4 kotlin.Pair[]) (6 ??[int, float, short, byte, char]) - (wrap: kotlin.Pair : 0x04db: INVOKE (r1v3 kotlin.Pair) = + (wrap: kotlin.Pair : 0x04df: INVOKE (r1v3 kotlin.Pair) = ("time_to_first_frame_ms") - (wrap: java.lang.Long : 0x04d4: INVOKE (r1v2 java.lang.Long) = (r4v22 long) type: STATIC call: java.lang.Long.valueOf(long):java.lang.Long) + (wrap: java.lang.Long : 0x04d8: INVOKE (r1v2 java.lang.Long) = (r4v22 long) type: STATIC call: java.lang.Long.valueOf(long):java.lang.Long) type: STATIC call: c0.o.to(java.lang.Object, java.lang.Object):kotlin.Pair) */ public final Map e(C0043e eVar) { @@ -466,7 +495,7 @@ public final class e { a aVar = eVar.e; long a2 = i > 0 ? b.a(bVar, Float.valueOf(((float) (aVar.f * ((long) 8))) / f2)) : 0; long a3 = i > 0 ? b.a(bVar, Float.valueOf(((float) aVar.a) / f2)) : 0; - Pair[] pairArr = new Pair[11]; + Pair[] pairArr = new Pair[16]; pairArr[0] = c0.o.to("avg_bitrate", Long.valueOf(a2)); pairArr[1] = c0.o.to("avg_fps", Long.valueOf(a3)); pairArr[2] = c0.o.to("num_bytes", Long.valueOf(aVar.f)); @@ -479,11 +508,16 @@ public final class e { pairArr[8] = c0.o.to("num_nacks", Long.valueOf(aVar.g)); pairArr[9] = c0.o.to("num_plis", Long.valueOf(aVar.h)); pairArr[10] = c0.o.to("qp_sum", Long.valueOf(aVar.i)); + pairArr[11] = c0.o.to("receiver_freeze_count", Long.valueOf(aVar.j)); + pairArr[12] = c0.o.to("receiver_pause_count", Long.valueOf(aVar.k)); + pairArr[13] = c0.o.to("receiver_total_freezes_duration", Long.valueOf(aVar.l)); + pairArr[14] = c0.o.to("receiver_total_pauses_duration", Long.valueOf(aVar.m)); + pairArr[15] = c0.o.to("receiver_total_frames_duration", Long.valueOf(aVar.n)); return h0.plus(mapOf, h0.mapOf(pairArr)); } public final g f(InboundRtpVideo inboundRtpVideo, long j) { - return new g((long) inboundRtpVideo.getResolution().getHeight(), j, new a((long) inboundRtpVideo.getFramesDecoded(), (long) inboundRtpVideo.getFramesReceived(), (long) inboundRtpVideo.getPacketsReceived(), (long) inboundRtpVideo.getPacketsLost(), (long) inboundRtpVideo.getFramesDropped(), inboundRtpVideo.getBytesReceived(), inboundRtpVideo.getNackCount(), inboundRtpVideo.getPliCount(), inboundRtpVideo.getQpSum())); + return new g((long) inboundRtpVideo.getResolution().getHeight(), j, new a((long) inboundRtpVideo.getFramesDecoded(), (long) inboundRtpVideo.getFramesReceived(), (long) inboundRtpVideo.getPacketsReceived(), (long) inboundRtpVideo.getPacketsLost(), (long) inboundRtpVideo.getFramesDropped(), inboundRtpVideo.getBytesReceived(), inboundRtpVideo.getNackCount(), inboundRtpVideo.getPliCount(), inboundRtpVideo.getQpSum(), inboundRtpVideo.getFreezeCount(), inboundRtpVideo.getPauseCount(), inboundRtpVideo.getTotalFreezesDuration(), inboundRtpVideo.getTotalPausesDuration(), inboundRtpVideo.getTotalFramesDuration())); } public final void g(Boolean bool, Integer num, long j) { diff --git a/app/src/main/java/co/discord/media_engine/InboundRtpVideo.java b/app/src/main/java/co/discord/media_engine/InboundRtpVideo.java index a6147edcd2..5ead7e4677 100644 --- a/app/src/main/java/co/discord/media_engine/InboundRtpVideo.java +++ b/app/src/main/java/co/discord/media_engine/InboundRtpVideo.java @@ -1,7 +1,7 @@ package co.discord.media_engine; -import c.d.b.a.a; import c0.z.d.m; +import z.a.a.a; import z.a.a.b; /* compiled from: Statistics.kt */ public final class InboundRtpVideo { @@ -17,16 +17,22 @@ public final class InboundRtpVideo { private final int framesDecoded; private final int framesDropped; private final int framesReceived; + private final long freezeCount; private final long nackCount; private final int packetsLost; private final int packetsReceived; + private final long pauseCount; private final long pliCount; private final long qpSum; private final Resolution resolution; private final long ssrc; + private final double sumOfSquaredFramesDurations; + private final long totalFramesDuration; + private final long totalFreezesDuration; + private final long totalPausesDuration; private final String type; - public InboundRtpVideo(String str, long j, StatsCodec statsCodec, long j2, int i, int i2, int i3, int i4, Resolution resolution, String str2, int i5, int i6, int i7, int i8, int i9, int i10, long j3, long j4, long j5, long j6) { + public InboundRtpVideo(String str, long j, StatsCodec statsCodec, long j2, int i, int i2, int i3, int i4, Resolution resolution, String str2, int i5, int i6, int i7, int i8, int i9, int i10, long j3, long j4, long j5, long j6, long j7, long j8, long j9, long j10, long j11, double d) { m.checkNotNullParameter(str, "type"); m.checkNotNullParameter(resolution, "resolution"); m.checkNotNullParameter(str2, "decoderImplementationName"); @@ -50,10 +56,16 @@ public final class InboundRtpVideo { this.nackCount = j4; this.pliCount = j5; this.qpSum = j6; + this.freezeCount = j7; + this.pauseCount = j8; + this.totalFreezesDuration = j9; + this.totalPausesDuration = j10; + this.totalFramesDuration = j11; + this.sumOfSquaredFramesDurations = d; } - public static /* synthetic */ InboundRtpVideo copy$default(InboundRtpVideo inboundRtpVideo, String str, long j, StatsCodec statsCodec, long j2, int i, int i2, int i3, int i4, Resolution resolution, String str2, int i5, int i6, int i7, int i8, int i9, int i10, long j3, long j4, long j5, long j6, int i11, Object obj) { - return inboundRtpVideo.copy((i11 & 1) != 0 ? inboundRtpVideo.type : str, (i11 & 2) != 0 ? inboundRtpVideo.ssrc : j, (i11 & 4) != 0 ? inboundRtpVideo.codec : statsCodec, (i11 & 8) != 0 ? inboundRtpVideo.bytesReceived : j2, (i11 & 16) != 0 ? inboundRtpVideo.packetsReceived : i, (i11 & 32) != 0 ? inboundRtpVideo.packetsLost : i2, (i11 & 64) != 0 ? inboundRtpVideo.bitrate : i3, (i11 & 128) != 0 ? inboundRtpVideo.averageDecodeTime : i4, (i11 & 256) != 0 ? inboundRtpVideo.resolution : resolution, (i11 & 512) != 0 ? inboundRtpVideo.decoderImplementationName : str2, (i11 & 1024) != 0 ? inboundRtpVideo.framesDecoded : i5, (i11 & 2048) != 0 ? inboundRtpVideo.framesDropped : i6, (i11 & 4096) != 0 ? inboundRtpVideo.framesReceived : i7, (i11 & 8192) != 0 ? inboundRtpVideo.frameRateDecode : i8, (i11 & 16384) != 0 ? inboundRtpVideo.frameRateNetwork : i9, (i11 & 32768) != 0 ? inboundRtpVideo.frameRateRender : i10, (i11 & 65536) != 0 ? inboundRtpVideo.firCount : j3, (i11 & 131072) != 0 ? inboundRtpVideo.nackCount : j4, (i11 & 262144) != 0 ? inboundRtpVideo.pliCount : j5, (i11 & 524288) != 0 ? inboundRtpVideo.qpSum : j6); + public static /* synthetic */ InboundRtpVideo copy$default(InboundRtpVideo inboundRtpVideo, String str, long j, StatsCodec statsCodec, long j2, int i, int i2, int i3, int i4, Resolution resolution, String str2, int i5, int i6, int i7, int i8, int i9, int i10, long j3, long j4, long j5, long j6, long j7, long j8, long j9, long j10, long j11, double d, int i11, Object obj) { + return inboundRtpVideo.copy((i11 & 1) != 0 ? inboundRtpVideo.type : str, (i11 & 2) != 0 ? inboundRtpVideo.ssrc : j, (i11 & 4) != 0 ? inboundRtpVideo.codec : statsCodec, (i11 & 8) != 0 ? inboundRtpVideo.bytesReceived : j2, (i11 & 16) != 0 ? inboundRtpVideo.packetsReceived : i, (i11 & 32) != 0 ? inboundRtpVideo.packetsLost : i2, (i11 & 64) != 0 ? inboundRtpVideo.bitrate : i3, (i11 & 128) != 0 ? inboundRtpVideo.averageDecodeTime : i4, (i11 & 256) != 0 ? inboundRtpVideo.resolution : resolution, (i11 & 512) != 0 ? inboundRtpVideo.decoderImplementationName : str2, (i11 & 1024) != 0 ? inboundRtpVideo.framesDecoded : i5, (i11 & 2048) != 0 ? inboundRtpVideo.framesDropped : i6, (i11 & 4096) != 0 ? inboundRtpVideo.framesReceived : i7, (i11 & 8192) != 0 ? inboundRtpVideo.frameRateDecode : i8, (i11 & 16384) != 0 ? inboundRtpVideo.frameRateNetwork : i9, (i11 & 32768) != 0 ? inboundRtpVideo.frameRateRender : i10, (i11 & 65536) != 0 ? inboundRtpVideo.firCount : j3, (i11 & 131072) != 0 ? inboundRtpVideo.nackCount : j4, (i11 & 262144) != 0 ? inboundRtpVideo.pliCount : j5, (i11 & 524288) != 0 ? inboundRtpVideo.qpSum : j6, (i11 & 1048576) != 0 ? inboundRtpVideo.freezeCount : j7, (i11 & 2097152) != 0 ? inboundRtpVideo.pauseCount : j8, (i11 & 4194304) != 0 ? inboundRtpVideo.totalFreezesDuration : j9, (i11 & 8388608) != 0 ? inboundRtpVideo.totalPausesDuration : j10, (i11 & 16777216) != 0 ? inboundRtpVideo.totalFramesDuration : j11, (i11 & 33554432) != 0 ? inboundRtpVideo.sumOfSquaredFramesDurations : d); } public final String component1() { @@ -108,6 +120,30 @@ public final class InboundRtpVideo { return this.qpSum; } + public final long component21() { + return this.freezeCount; + } + + public final long component22() { + return this.pauseCount; + } + + public final long component23() { + return this.totalFreezesDuration; + } + + public final long component24() { + return this.totalPausesDuration; + } + + public final long component25() { + return this.totalFramesDuration; + } + + public final double component26() { + return this.sumOfSquaredFramesDurations; + } + public final StatsCodec component3() { return this.codec; } @@ -136,11 +172,11 @@ public final class InboundRtpVideo { return this.resolution; } - public final InboundRtpVideo copy(String str, long j, StatsCodec statsCodec, long j2, int i, int i2, int i3, int i4, Resolution resolution, String str2, int i5, int i6, int i7, int i8, int i9, int i10, long j3, long j4, long j5, long j6) { + public final InboundRtpVideo copy(String str, long j, StatsCodec statsCodec, long j2, int i, int i2, int i3, int i4, Resolution resolution, String str2, int i5, int i6, int i7, int i8, int i9, int i10, long j3, long j4, long j5, long j6, long j7, long j8, long j9, long j10, long j11, double d) { m.checkNotNullParameter(str, "type"); m.checkNotNullParameter(resolution, "resolution"); m.checkNotNullParameter(str2, "decoderImplementationName"); - return new InboundRtpVideo(str, j, statsCodec, j2, i, i2, i3, i4, resolution, str2, i5, i6, i7, i8, i9, i10, j3, j4, j5, j6); + return new InboundRtpVideo(str, j, statsCodec, j2, i, i2, i3, i4, resolution, str2, i5, i6, i7, i8, i9, i10, j3, j4, j5, j6, j7, j8, j9, j10, j11, d); } public boolean equals(Object obj) { @@ -151,7 +187,7 @@ public final class InboundRtpVideo { return false; } InboundRtpVideo inboundRtpVideo = (InboundRtpVideo) obj; - return m.areEqual(this.type, inboundRtpVideo.type) && this.ssrc == inboundRtpVideo.ssrc && m.areEqual(this.codec, inboundRtpVideo.codec) && this.bytesReceived == inboundRtpVideo.bytesReceived && this.packetsReceived == inboundRtpVideo.packetsReceived && this.packetsLost == inboundRtpVideo.packetsLost && this.bitrate == inboundRtpVideo.bitrate && this.averageDecodeTime == inboundRtpVideo.averageDecodeTime && m.areEqual(this.resolution, inboundRtpVideo.resolution) && m.areEqual(this.decoderImplementationName, inboundRtpVideo.decoderImplementationName) && this.framesDecoded == inboundRtpVideo.framesDecoded && this.framesDropped == inboundRtpVideo.framesDropped && this.framesReceived == inboundRtpVideo.framesReceived && this.frameRateDecode == inboundRtpVideo.frameRateDecode && this.frameRateNetwork == inboundRtpVideo.frameRateNetwork && this.frameRateRender == inboundRtpVideo.frameRateRender && this.firCount == inboundRtpVideo.firCount && this.nackCount == inboundRtpVideo.nackCount && this.pliCount == inboundRtpVideo.pliCount && this.qpSum == inboundRtpVideo.qpSum; + return m.areEqual(this.type, inboundRtpVideo.type) && this.ssrc == inboundRtpVideo.ssrc && m.areEqual(this.codec, inboundRtpVideo.codec) && this.bytesReceived == inboundRtpVideo.bytesReceived && this.packetsReceived == inboundRtpVideo.packetsReceived && this.packetsLost == inboundRtpVideo.packetsLost && this.bitrate == inboundRtpVideo.bitrate && this.averageDecodeTime == inboundRtpVideo.averageDecodeTime && m.areEqual(this.resolution, inboundRtpVideo.resolution) && m.areEqual(this.decoderImplementationName, inboundRtpVideo.decoderImplementationName) && this.framesDecoded == inboundRtpVideo.framesDecoded && this.framesDropped == inboundRtpVideo.framesDropped && this.framesReceived == inboundRtpVideo.framesReceived && this.frameRateDecode == inboundRtpVideo.frameRateDecode && this.frameRateNetwork == inboundRtpVideo.frameRateNetwork && this.frameRateRender == inboundRtpVideo.frameRateRender && this.firCount == inboundRtpVideo.firCount && this.nackCount == inboundRtpVideo.nackCount && this.pliCount == inboundRtpVideo.pliCount && this.qpSum == inboundRtpVideo.qpSum && this.freezeCount == inboundRtpVideo.freezeCount && this.pauseCount == inboundRtpVideo.pauseCount && this.totalFreezesDuration == inboundRtpVideo.totalFreezesDuration && this.totalPausesDuration == inboundRtpVideo.totalPausesDuration && this.totalFramesDuration == inboundRtpVideo.totalFramesDuration && Double.compare(this.sumOfSquaredFramesDurations, inboundRtpVideo.sumOfSquaredFramesDurations) == 0; } public final int getAverageDecodeTime() { @@ -202,6 +238,10 @@ public final class InboundRtpVideo { return this.framesReceived; } + public final long getFreezeCount() { + return this.freezeCount; + } + public final long getNackCount() { return this.nackCount; } @@ -214,6 +254,10 @@ public final class InboundRtpVideo { return this.packetsReceived; } + public final long getPauseCount() { + return this.pauseCount; + } + public final long getPliCount() { return this.pliCount; } @@ -230,6 +274,22 @@ public final class InboundRtpVideo { return this.ssrc; } + public final double getSumOfSquaredFramesDurations() { + return this.sumOfSquaredFramesDurations; + } + + public final long getTotalFramesDuration() { + return this.totalFramesDuration; + } + + public final long getTotalFreezesDuration() { + return this.totalFreezesDuration; + } + + public final long getTotalPausesDuration() { + return this.totalPausesDuration; + } + public final String getType() { return this.type; } @@ -246,11 +306,17 @@ public final class InboundRtpVideo { if (str2 != null) { i = str2.hashCode(); } - return b.a(this.qpSum) + ((b.a(this.pliCount) + ((b.a(this.nackCount) + ((b.a(this.firCount) + ((((((((((((((hashCode + i) * 31) + this.framesDecoded) * 31) + this.framesDropped) * 31) + this.framesReceived) * 31) + this.frameRateDecode) * 31) + this.frameRateNetwork) * 31) + this.frameRateRender) * 31)) * 31)) * 31)) * 31); + int a3 = b.a(this.firCount); + int a4 = b.a(this.nackCount); + int a5 = b.a(this.pliCount); + int a6 = b.a(this.qpSum); + int a7 = b.a(this.freezeCount); + int a8 = b.a(this.pauseCount); + return a.a(this.sumOfSquaredFramesDurations) + ((b.a(this.totalFramesDuration) + ((b.a(this.totalPausesDuration) + ((b.a(this.totalFreezesDuration) + ((a8 + ((a7 + ((a6 + ((a5 + ((a4 + ((a3 + ((((((((((((((hashCode + i) * 31) + this.framesDecoded) * 31) + this.framesDropped) * 31) + this.framesReceived) * 31) + this.frameRateDecode) * 31) + this.frameRateNetwork) * 31) + this.frameRateRender) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31); } public String toString() { - StringBuilder O = a.O("InboundRtpVideo(type="); + StringBuilder O = c.d.b.a.a.O("InboundRtpVideo(type="); O.append(this.type); O.append(", ssrc="); O.append(this.ssrc); @@ -289,6 +355,20 @@ public final class InboundRtpVideo { O.append(", pliCount="); O.append(this.pliCount); O.append(", qpSum="); - return a.A(O, this.qpSum, ")"); + O.append(this.qpSum); + O.append(", freezeCount="); + O.append(this.freezeCount); + O.append(", pauseCount="); + O.append(this.pauseCount); + O.append(", totalFreezesDuration="); + O.append(this.totalFreezesDuration); + O.append(", totalPausesDuration="); + O.append(this.totalPausesDuration); + O.append(", totalFramesDuration="); + O.append(this.totalFramesDuration); + O.append(", sumOfSquaredFramesDurations="); + O.append(this.sumOfSquaredFramesDurations); + O.append(")"); + return O.toString(); } } diff --git a/app/src/main/java/co/discord/media_engine/internal/InboundVideo.java b/app/src/main/java/co/discord/media_engine/internal/InboundVideo.java index 5787c73df2..377672988f 100644 --- a/app/src/main/java/co/discord/media_engine/internal/InboundVideo.java +++ b/app/src/main/java/co/discord/media_engine/internal/InboundVideo.java @@ -1,7 +1,8 @@ package co.discord.media_engine.internal; -import c.d.b.a.a; +import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure; import c0.z.d.m; +import z.a.a.a; import z.a.a.b; /* compiled from: NativeStatistics.kt */ public final class InboundVideo { @@ -16,23 +17,29 @@ public final class InboundVideo { private final long framesDecoded; private final int framesDropped; private final long framesRendered; + private final long freezeCount; private final int height; private final int jitterBuffer; private final int maxDecode; private final int minPlayoutDelay; private final int networkFrameRate; + private final long pauseCount; private final long qpSum; private final int renderDelay; private final int renderFrameRate; private final InboundRtcpStats rtcpStats; private final InboundRtpStats rtpStats; private final long ssrc; + private final double sumOfSquaredFramesDurations; private final float syncOffset; private final float targetDelay; private final int totalBitrate; + private final long totalFramesDuration; + private final long totalFreezesDuration; + private final long totalPausesDuration; private final int width; - public InboundVideo(String str, int i, int i2, int i3, int i4, int i5, String str2, FrameCounts frameCounts, long j, long j2, int i6, int i7, int i8, int i9, int i10, int i11, long j3, int i12, int i13, InboundRtcpStats inboundRtcpStats, InboundRtpStats inboundRtpStats, long j4, float f, float f2, int i14, int i15) { + public InboundVideo(String str, int i, int i2, int i3, int i4, int i5, String str2, FrameCounts frameCounts, long j, long j2, int i6, int i7, int i8, int i9, int i10, int i11, long j3, int i12, int i13, InboundRtcpStats inboundRtcpStats, InboundRtpStats inboundRtpStats, long j4, float f, float f2, int i14, int i15, long j5, long j6, long j7, long j8, long j9, double d) { m.checkNotNullParameter(str, "codecName"); m.checkNotNullParameter(str2, "decoderImplementationName"); m.checkNotNullParameter(frameCounts, "frameCounts"); @@ -64,10 +71,16 @@ public final class InboundVideo { this.targetDelay = f2; this.totalBitrate = i14; this.width = i15; + this.freezeCount = j5; + this.pauseCount = j6; + this.totalFreezesDuration = j7; + this.totalPausesDuration = j8; + this.totalFramesDuration = j9; + this.sumOfSquaredFramesDurations = d; } - public static /* synthetic */ InboundVideo copy$default(InboundVideo inboundVideo, String str, int i, int i2, int i3, int i4, int i5, String str2, FrameCounts frameCounts, long j, long j2, int i6, int i7, int i8, int i9, int i10, int i11, long j3, int i12, int i13, InboundRtcpStats inboundRtcpStats, InboundRtpStats inboundRtpStats, long j4, float f, float f2, int i14, int i15, int i16, Object obj) { - return inboundVideo.copy((i16 & 1) != 0 ? inboundVideo.codecName : str, (i16 & 2) != 0 ? inboundVideo.codecPayloadType : i, (i16 & 4) != 0 ? inboundVideo.currentDelay : i2, (i16 & 8) != 0 ? inboundVideo.currentPayloadType : i3, (i16 & 16) != 0 ? inboundVideo.decodeFrameRate : i4, (i16 & 32) != 0 ? inboundVideo.decode : i5, (i16 & 64) != 0 ? inboundVideo.decoderImplementationName : str2, (i16 & 128) != 0 ? inboundVideo.frameCounts : frameCounts, (i16 & 256) != 0 ? inboundVideo.framesDecoded : j, (i16 & 512) != 0 ? inboundVideo.framesRendered : j2, (i16 & 1024) != 0 ? inboundVideo.framesDropped : i6, (i16 & 2048) != 0 ? inboundVideo.height : i7, (i16 & 4096) != 0 ? inboundVideo.jitterBuffer : i8, (i16 & 8192) != 0 ? inboundVideo.maxDecode : i9, (i16 & 16384) != 0 ? inboundVideo.minPlayoutDelay : i10, (i16 & 32768) != 0 ? inboundVideo.networkFrameRate : i11, (i16 & 65536) != 0 ? inboundVideo.qpSum : j3, (i16 & 131072) != 0 ? inboundVideo.renderDelay : i12, (262144 & i16) != 0 ? inboundVideo.renderFrameRate : i13, (i16 & 524288) != 0 ? inboundVideo.rtcpStats : inboundRtcpStats, (i16 & 1048576) != 0 ? inboundVideo.rtpStats : inboundRtpStats, (i16 & 2097152) != 0 ? inboundVideo.ssrc : j4, (i16 & 4194304) != 0 ? inboundVideo.syncOffset : f, (8388608 & i16) != 0 ? inboundVideo.targetDelay : f2, (i16 & 16777216) != 0 ? inboundVideo.totalBitrate : i14, (i16 & 33554432) != 0 ? inboundVideo.width : i15); + public static /* synthetic */ InboundVideo copy$default(InboundVideo inboundVideo, String str, int i, int i2, int i3, int i4, int i5, String str2, FrameCounts frameCounts, long j, long j2, int i6, int i7, int i8, int i9, int i10, int i11, long j3, int i12, int i13, InboundRtcpStats inboundRtcpStats, InboundRtpStats inboundRtpStats, long j4, float f, float f2, int i14, int i15, long j5, long j6, long j7, long j8, long j9, double d, int i16, Object obj) { + return inboundVideo.copy((i16 & 1) != 0 ? inboundVideo.codecName : str, (i16 & 2) != 0 ? inboundVideo.codecPayloadType : i, (i16 & 4) != 0 ? inboundVideo.currentDelay : i2, (i16 & 8) != 0 ? inboundVideo.currentPayloadType : i3, (i16 & 16) != 0 ? inboundVideo.decodeFrameRate : i4, (i16 & 32) != 0 ? inboundVideo.decode : i5, (i16 & 64) != 0 ? inboundVideo.decoderImplementationName : str2, (i16 & 128) != 0 ? inboundVideo.frameCounts : frameCounts, (i16 & 256) != 0 ? inboundVideo.framesDecoded : j, (i16 & 512) != 0 ? inboundVideo.framesRendered : j2, (i16 & 1024) != 0 ? inboundVideo.framesDropped : i6, (i16 & 2048) != 0 ? inboundVideo.height : i7, (i16 & 4096) != 0 ? inboundVideo.jitterBuffer : i8, (i16 & 8192) != 0 ? inboundVideo.maxDecode : i9, (i16 & 16384) != 0 ? inboundVideo.minPlayoutDelay : i10, (i16 & 32768) != 0 ? inboundVideo.networkFrameRate : i11, (i16 & 65536) != 0 ? inboundVideo.qpSum : j3, (i16 & 131072) != 0 ? inboundVideo.renderDelay : i12, (262144 & i16) != 0 ? inboundVideo.renderFrameRate : i13, (i16 & 524288) != 0 ? inboundVideo.rtcpStats : inboundRtcpStats, (i16 & 1048576) != 0 ? inboundVideo.rtpStats : inboundRtpStats, (i16 & 2097152) != 0 ? inboundVideo.ssrc : j4, (i16 & 4194304) != 0 ? inboundVideo.syncOffset : f, (8388608 & i16) != 0 ? inboundVideo.targetDelay : f2, (i16 & 16777216) != 0 ? inboundVideo.totalBitrate : i14, (i16 & 33554432) != 0 ? inboundVideo.width : i15, (i16 & 67108864) != 0 ? inboundVideo.freezeCount : j5, (i16 & 134217728) != 0 ? inboundVideo.pauseCount : j6, (i16 & 268435456) != 0 ? inboundVideo.totalFreezesDuration : j7, (i16 & 536870912) != 0 ? inboundVideo.totalPausesDuration : j8, (i16 & BasicMeasure.EXACTLY) != 0 ? inboundVideo.totalFramesDuration : j9, (i16 & Integer.MIN_VALUE) != 0 ? inboundVideo.sumOfSquaredFramesDurations : d); } public final String component1() { @@ -146,10 +159,34 @@ public final class InboundVideo { return this.width; } + public final long component27() { + return this.freezeCount; + } + + public final long component28() { + return this.pauseCount; + } + + public final long component29() { + return this.totalFreezesDuration; + } + public final int component3() { return this.currentDelay; } + public final long component30() { + return this.totalPausesDuration; + } + + public final long component31() { + return this.totalFramesDuration; + } + + public final double component32() { + return this.sumOfSquaredFramesDurations; + } + public final int component4() { return this.currentPayloadType; } @@ -174,13 +211,13 @@ public final class InboundVideo { return this.framesDecoded; } - public final InboundVideo copy(String str, int i, int i2, int i3, int i4, int i5, String str2, FrameCounts frameCounts, long j, long j2, int i6, int i7, int i8, int i9, int i10, int i11, long j3, int i12, int i13, InboundRtcpStats inboundRtcpStats, InboundRtpStats inboundRtpStats, long j4, float f, float f2, int i14, int i15) { + public final InboundVideo copy(String str, int i, int i2, int i3, int i4, int i5, String str2, FrameCounts frameCounts, long j, long j2, int i6, int i7, int i8, int i9, int i10, int i11, long j3, int i12, int i13, InboundRtcpStats inboundRtcpStats, InboundRtpStats inboundRtpStats, long j4, float f, float f2, int i14, int i15, long j5, long j6, long j7, long j8, long j9, double d) { m.checkNotNullParameter(str, "codecName"); m.checkNotNullParameter(str2, "decoderImplementationName"); m.checkNotNullParameter(frameCounts, "frameCounts"); m.checkNotNullParameter(inboundRtcpStats, "rtcpStats"); m.checkNotNullParameter(inboundRtpStats, "rtpStats"); - return new InboundVideo(str, i, i2, i3, i4, i5, str2, frameCounts, j, j2, i6, i7, i8, i9, i10, i11, j3, i12, i13, inboundRtcpStats, inboundRtpStats, j4, f, f2, i14, i15); + return new InboundVideo(str, i, i2, i3, i4, i5, str2, frameCounts, j, j2, i6, i7, i8, i9, i10, i11, j3, i12, i13, inboundRtcpStats, inboundRtpStats, j4, f, f2, i14, i15, j5, j6, j7, j8, j9, d); } public boolean equals(Object obj) { @@ -191,7 +228,7 @@ public final class InboundVideo { return false; } InboundVideo inboundVideo = (InboundVideo) obj; - return m.areEqual(this.codecName, inboundVideo.codecName) && this.codecPayloadType == inboundVideo.codecPayloadType && this.currentDelay == inboundVideo.currentDelay && this.currentPayloadType == inboundVideo.currentPayloadType && this.decodeFrameRate == inboundVideo.decodeFrameRate && this.decode == inboundVideo.decode && m.areEqual(this.decoderImplementationName, inboundVideo.decoderImplementationName) && m.areEqual(this.frameCounts, inboundVideo.frameCounts) && this.framesDecoded == inboundVideo.framesDecoded && this.framesRendered == inboundVideo.framesRendered && this.framesDropped == inboundVideo.framesDropped && this.height == inboundVideo.height && this.jitterBuffer == inboundVideo.jitterBuffer && this.maxDecode == inboundVideo.maxDecode && this.minPlayoutDelay == inboundVideo.minPlayoutDelay && this.networkFrameRate == inboundVideo.networkFrameRate && this.qpSum == inboundVideo.qpSum && this.renderDelay == inboundVideo.renderDelay && this.renderFrameRate == inboundVideo.renderFrameRate && m.areEqual(this.rtcpStats, inboundVideo.rtcpStats) && m.areEqual(this.rtpStats, inboundVideo.rtpStats) && this.ssrc == inboundVideo.ssrc && Float.compare(this.syncOffset, inboundVideo.syncOffset) == 0 && Float.compare(this.targetDelay, inboundVideo.targetDelay) == 0 && this.totalBitrate == inboundVideo.totalBitrate && this.width == inboundVideo.width; + return m.areEqual(this.codecName, inboundVideo.codecName) && this.codecPayloadType == inboundVideo.codecPayloadType && this.currentDelay == inboundVideo.currentDelay && this.currentPayloadType == inboundVideo.currentPayloadType && this.decodeFrameRate == inboundVideo.decodeFrameRate && this.decode == inboundVideo.decode && m.areEqual(this.decoderImplementationName, inboundVideo.decoderImplementationName) && m.areEqual(this.frameCounts, inboundVideo.frameCounts) && this.framesDecoded == inboundVideo.framesDecoded && this.framesRendered == inboundVideo.framesRendered && this.framesDropped == inboundVideo.framesDropped && this.height == inboundVideo.height && this.jitterBuffer == inboundVideo.jitterBuffer && this.maxDecode == inboundVideo.maxDecode && this.minPlayoutDelay == inboundVideo.minPlayoutDelay && this.networkFrameRate == inboundVideo.networkFrameRate && this.qpSum == inboundVideo.qpSum && this.renderDelay == inboundVideo.renderDelay && this.renderFrameRate == inboundVideo.renderFrameRate && m.areEqual(this.rtcpStats, inboundVideo.rtcpStats) && m.areEqual(this.rtpStats, inboundVideo.rtpStats) && this.ssrc == inboundVideo.ssrc && Float.compare(this.syncOffset, inboundVideo.syncOffset) == 0 && Float.compare(this.targetDelay, inboundVideo.targetDelay) == 0 && this.totalBitrate == inboundVideo.totalBitrate && this.width == inboundVideo.width && this.freezeCount == inboundVideo.freezeCount && this.pauseCount == inboundVideo.pauseCount && this.totalFreezesDuration == inboundVideo.totalFreezesDuration && this.totalPausesDuration == inboundVideo.totalPausesDuration && this.totalFramesDuration == inboundVideo.totalFramesDuration && Double.compare(this.sumOfSquaredFramesDurations, inboundVideo.sumOfSquaredFramesDurations) == 0; } public final String getCodecName() { @@ -238,6 +275,10 @@ public final class InboundVideo { return this.framesRendered; } + public final long getFreezeCount() { + return this.freezeCount; + } + public final int getHeight() { return this.height; } @@ -258,6 +299,10 @@ public final class InboundVideo { return this.networkFrameRate; } + public final long getPauseCount() { + return this.pauseCount; + } + public final long getQpSum() { return this.qpSum; } @@ -282,6 +327,10 @@ public final class InboundVideo { return this.ssrc; } + public final double getSumOfSquaredFramesDurations() { + return this.sumOfSquaredFramesDurations; + } + public final float getSyncOffset() { return this.syncOffset; } @@ -294,6 +343,18 @@ public final class InboundVideo { return this.totalBitrate; } + public final long getTotalFramesDuration() { + return this.totalFramesDuration; + } + + public final long getTotalFreezesDuration() { + return this.totalFreezesDuration; + } + + public final long getTotalPausesDuration() { + return this.totalPausesDuration; + } + public final int getWidth() { return this.width; } @@ -312,11 +373,15 @@ public final class InboundVideo { if (inboundRtpStats != null) { i = inboundRtpStats.hashCode(); } - return ((((Float.floatToIntBits(this.targetDelay) + ((Float.floatToIntBits(this.syncOffset) + ((b.a(this.ssrc) + ((hashCode3 + i) * 31)) * 31)) * 31)) * 31) + this.totalBitrate) * 31) + this.width; + int a2 = b.a(this.ssrc); + int floatToIntBits = Float.floatToIntBits(this.syncOffset); + int floatToIntBits2 = Float.floatToIntBits(this.targetDelay); + int a3 = b.a(this.freezeCount); + return a.a(this.sumOfSquaredFramesDurations) + ((b.a(this.totalFramesDuration) + ((b.a(this.totalPausesDuration) + ((b.a(this.totalFreezesDuration) + ((b.a(this.pauseCount) + ((a3 + ((((((floatToIntBits2 + ((floatToIntBits + ((a2 + ((hashCode3 + i) * 31)) * 31)) * 31)) * 31) + this.totalBitrate) * 31) + this.width) * 31)) * 31)) * 31)) * 31)) * 31)) * 31); } public String toString() { - StringBuilder O = a.O("InboundVideo(codecName="); + StringBuilder O = c.d.b.a.a.O("InboundVideo(codecName="); O.append(this.codecName); O.append(", codecPayloadType="); O.append(this.codecPayloadType); @@ -367,6 +432,20 @@ public final class InboundVideo { O.append(", totalBitrate="); O.append(this.totalBitrate); O.append(", width="); - return a.z(O, this.width, ")"); + O.append(this.width); + O.append(", freezeCount="); + O.append(this.freezeCount); + O.append(", pauseCount="); + O.append(this.pauseCount); + O.append(", totalFreezesDuration="); + O.append(this.totalFreezesDuration); + O.append(", totalPausesDuration="); + O.append(this.totalPausesDuration); + O.append(", totalFramesDuration="); + O.append(this.totalFramesDuration); + O.append(", sumOfSquaredFramesDurations="); + O.append(this.sumOfSquaredFramesDurations); + O.append(")"); + return O.toString(); } } diff --git a/app/src/main/java/co/discord/media_engine/internal/TransformStats.java b/app/src/main/java/co/discord/media_engine/internal/TransformStats.java index d65bb4aeda..5626e7d413 100644 --- a/app/src/main/java/co/discord/media_engine/internal/TransformStats.java +++ b/app/src/main/java/co/discord/media_engine/internal/TransformStats.java @@ -39,9 +39,9 @@ public final class TransformStats { /* JADX WARNING: Removed duplicated region for block: B:47:0x00f7 */ /* JADX WARNING: Removed duplicated region for block: B:54:0x01c9 */ /* JADX WARNING: Removed duplicated region for block: B:57:0x01dc */ - /* JADX WARNING: Removed duplicated region for block: B:95:0x03bf */ - /* JADX WARNING: Removed duplicated region for block: B:98:0x03c9 */ - /* JADX WARNING: Removed duplicated region for block: B:99:0x03eb */ + /* JADX WARNING: Removed duplicated region for block: B:95:0x03d7 */ + /* JADX WARNING: Removed duplicated region for block: B:98:0x03e1 */ + /* JADX WARNING: Removed duplicated region for block: B:99:0x0403 */ public static final Stats transform(String str) { OutboundRtpAudio outboundRtpAudio; long j; @@ -127,7 +127,7 @@ public final class TransformStats { InboundVideo video = inbound2.getVideo(); long payloadBytes = video.getRtpStats().getPayloadBytes() + video.getRtpStats().getPaddingBytes() + video.getRtpStats().getHeaderBytes(); bytesReceived += payloadBytes; - InboundRtpVideo inboundRtpVideo = (InboundRtpVideo) linkedHashMap2.put(id2, new InboundRtpVideo(MediaStreamTrack.VIDEO_TRACK_KIND, video.getSsrc(), video.getCodecPayloadType() != -1 ? new StatsCodec(video.getCodecPayloadType(), video.getCodecName()) : null, payloadBytes, (int) video.getRtpStats().getPackets(), video.getRtpStats().getPacketsLost(), video.getTotalBitrate(), video.getDecode(), new Resolution(video.getWidth(), video.getHeight()), video.getDecoderImplementationName(), (int) video.getFramesDecoded(), video.getFramesDropped(), video.getFrameCounts().getKeyFrames() + video.getFrameCounts().getDeltaFrames(), video.getDecodeFrameRate(), video.getNetworkFrameRate(), video.getRenderFrameRate(), video.getRtcpStats().getFirPackets(), video.getRtcpStats().getNackPackets(), video.getRtcpStats().getPliPackets(), video.getQpSum())); + InboundRtpVideo inboundRtpVideo = (InboundRtpVideo) linkedHashMap2.put(id2, new InboundRtpVideo(MediaStreamTrack.VIDEO_TRACK_KIND, video.getSsrc(), video.getCodecPayloadType() != -1 ? new StatsCodec(video.getCodecPayloadType(), video.getCodecName()) : null, payloadBytes, (int) video.getRtpStats().getPackets(), video.getRtpStats().getPacketsLost(), video.getTotalBitrate(), video.getDecode(), new Resolution(video.getWidth(), video.getHeight()), video.getDecoderImplementationName(), (int) video.getFramesDecoded(), video.getFramesDropped(), video.getFrameCounts().getKeyFrames() + video.getFrameCounts().getDeltaFrames(), video.getDecodeFrameRate(), video.getNetworkFrameRate(), video.getRenderFrameRate(), video.getRtcpStats().getFirPackets(), video.getRtcpStats().getNackPackets(), video.getRtcpStats().getPliPackets(), video.getQpSum(), video.getFreezeCount(), video.getPauseCount(), video.getTotalFreezesDuration(), video.getTotalPausesDuration(), video.getTotalFramesDuration(), video.getSumOfSquaredFramesDurations())); } j7 = bytesReceived; } diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackNotifyStreamSettingUpdate.java b/app/src/main/java/com/discord/analytics/generated/events/TrackNotifyStreamSettingUpdate.java new file mode 100644 index 0000000000..bbe16b8848 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackNotifyStreamSettingUpdate.java @@ -0,0 +1,48 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import c0.z.d.m; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackNotifyStreamSettingUpdate.kt */ +public final class TrackNotifyStreamSettingUpdate implements AnalyticsSchema, TrackBaseReceiver { + private final transient String analyticsSchemaTypeName = "notify_stream_setting_update"; + private final Boolean prechecked = null; + private TrackBase trackBase; + private final Boolean value = null; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackNotifyStreamSettingUpdate)) { + return false; + } + TrackNotifyStreamSettingUpdate trackNotifyStreamSettingUpdate = (TrackNotifyStreamSettingUpdate) obj; + return m.areEqual(this.value, trackNotifyStreamSettingUpdate.value) && m.areEqual(this.prechecked, trackNotifyStreamSettingUpdate.prechecked); + } + + public int hashCode() { + Boolean bool = this.value; + int i = 0; + int hashCode = (bool != null ? bool.hashCode() : 0) * 31; + Boolean bool2 = this.prechecked; + if (bool2 != null) { + i = bool2.hashCode(); + } + return hashCode + i; + } + + public String toString() { + StringBuilder O = a.O("TrackNotifyStreamSettingUpdate(value="); + O.append(this.value); + O.append(", prechecked="); + return a.B(O, this.prechecked, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackNotifyStreamSettingUpdateReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackNotifyStreamSettingUpdateReceiver.java new file mode 100644 index 0000000000..50a2d43758 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackNotifyStreamSettingUpdateReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackNotifyStreamSettingUpdate.kt */ +public interface TrackNotifyStreamSettingUpdateReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/app/DiscordConnectService.java b/app/src/main/java/com/discord/app/DiscordConnectService.java index f4789d699a..171d7430ce 100644 --- a/app/src/main/java/com/discord/app/DiscordConnectService.java +++ b/app/src/main/java/com/discord/app/DiscordConnectService.java @@ -207,7 +207,7 @@ public final class DiscordConnectService extends Service { observable2 = Observable.w(new IllegalStateException("UNAUTHED")); m.checkNotNullExpressionValue(observable2, "Observable.error(Illegal…ateException(\"UNAUTHED\"))"); } else { - c.a.d.l0.a aVar = c.a.d.l0.a.E; + c.a.d.l0.a aVar = c.a.d.l0.a.F; Regex regex = c.a.d.l0.a.s; String path = data.getPath(); if (path == null) { diff --git a/app/src/main/java/com/discord/models/domain/ModelUserSettings.java b/app/src/main/java/com/discord/models/domain/ModelUserSettings.java index 0dfb3caa0e..60c1be1ea4 100644 --- a/app/src/main/java/com/discord/models/domain/ModelUserSettings.java +++ b/app/src/main/java/com/discord/models/domain/ModelUserSettings.java @@ -25,6 +25,7 @@ public class ModelUserSettings implements Model { private Boolean allowAccessibilityDetection; private Boolean animateEmoji; private Integer animateStickers; + private Boolean contactSyncUpsellShown; private ModelCustomStatusSetting customStatus; private Boolean defaultGuildsRestricted; private Boolean developerMode; @@ -252,33 +253,39 @@ public class ModelUserSettings implements Model { break; } break; + case 652639068: + if (nextName.equals("contact_sync_enabled")) { + c2 = 14; + break; + } + break; case 1168748672: if (nextName.equals("custom_status")) { - c2 = 14; + c2 = 15; break; } break; case 1265830244: if (nextName.equals("friend_source_flags")) { - c2 = 15; + c2 = 16; break; } break; case 1776929396: if (nextName.equals("animate_stickers")) { - c2 = 16; + c2 = 17; break; } break; case 2020489111: if (nextName.equals("friend_discovery_flags")) { - c2 = 17; + c2 = 18; break; } break; case 2039062684: if (nextName.equals("default_guilds_restricted")) { - c2 = 18; + c2 = 19; break; } break; @@ -335,18 +342,21 @@ public class ModelUserSettings implements Model { this.inlineEmbedMedia = jsonReader.nextBooleanOrNull(); return; case 14: - this.customStatus = ModelCustomStatusSetting.Parser.INSTANCE.parse(jsonReader); + this.contactSyncUpsellShown = jsonReader.nextBooleanOrNull(); return; case 15: - this.friendSourceFlags = (FriendSourceFlags) jsonReader.parse(new FriendSourceFlags()); + this.customStatus = ModelCustomStatusSetting.Parser.INSTANCE.parse(jsonReader); return; case 16: - this.animateStickers = jsonReader.nextIntOrNull(); + this.friendSourceFlags = (FriendSourceFlags) jsonReader.parse(new FriendSourceFlags()); return; case 17: - this.friendDiscoveryFlags = Integer.valueOf(jsonReader.nextInt(0)); + this.animateStickers = jsonReader.nextIntOrNull(); return; case 18: + this.friendDiscoveryFlags = Integer.valueOf(jsonReader.nextInt(0)); + return; + case 19: this.defaultGuildsRestricted = jsonReader.nextBooleanOrNull(); return; default: @@ -405,6 +415,11 @@ public class ModelUserSettings implements Model { if (friendDiscoveryFlags != null ? !friendDiscoveryFlags.equals(friendDiscoveryFlags2) : friendDiscoveryFlags2 != null) { return false; } + Boolean contactSyncUpsellShown = getContactSyncUpsellShown(); + Boolean contactSyncUpsellShown2 = modelUserSettings.getContactSyncUpsellShown(); + if (contactSyncUpsellShown != null ? !contactSyncUpsellShown.equals(contactSyncUpsellShown2) : contactSyncUpsellShown2 != null) { + return false; + } Boolean showCurrentGame = getShowCurrentGame(); Boolean showCurrentGame2 = modelUserSettings.getShowCurrentGame(); if (showCurrentGame != null ? !showCurrentGame.equals(showCurrentGame2) : showCurrentGame2 != null) { @@ -472,6 +487,10 @@ public class ModelUserSettings implements Model { return this.animateStickers; } + public Boolean getContactSyncUpsellShown() { + return this.contactSyncUpsellShown; + } + public ModelCustomStatusSetting getCustomStatus() { return this.customStatus; } @@ -548,28 +567,30 @@ public class ModelUserSettings implements Model { int hashCode6 = (hashCode5 * 59) + (explicitContentFilter == null ? 43 : explicitContentFilter.hashCode()); Integer friendDiscoveryFlags = getFriendDiscoveryFlags(); int hashCode7 = (hashCode6 * 59) + (friendDiscoveryFlags == null ? 43 : friendDiscoveryFlags.hashCode()); + Boolean contactSyncUpsellShown = getContactSyncUpsellShown(); + int hashCode8 = (hashCode7 * 59) + (contactSyncUpsellShown == null ? 43 : contactSyncUpsellShown.hashCode()); Boolean showCurrentGame = getShowCurrentGame(); - int hashCode8 = (hashCode7 * 59) + (showCurrentGame == null ? 43 : showCurrentGame.hashCode()); + int hashCode9 = (hashCode8 * 59) + (showCurrentGame == null ? 43 : showCurrentGame.hashCode()); Boolean animateEmoji = getAnimateEmoji(); - int hashCode9 = (hashCode8 * 59) + (animateEmoji == null ? 43 : animateEmoji.hashCode()); + int hashCode10 = (hashCode9 * 59) + (animateEmoji == null ? 43 : animateEmoji.hashCode()); Boolean allowAccessibilityDetection = getAllowAccessibilityDetection(); - int hashCode10 = (hashCode9 * 59) + (allowAccessibilityDetection == null ? 43 : allowAccessibilityDetection.hashCode()); + int hashCode11 = (hashCode10 * 59) + (allowAccessibilityDetection == null ? 43 : allowAccessibilityDetection.hashCode()); Integer animateStickers = getAnimateStickers(); - int hashCode11 = (hashCode10 * 59) + (animateStickers == null ? 43 : animateStickers.hashCode()); + int hashCode12 = (hashCode11 * 59) + (animateStickers == null ? 43 : animateStickers.hashCode()); String theme = getTheme(); - int hashCode12 = (hashCode11 * 59) + (theme == null ? 43 : theme.hashCode()); + int hashCode13 = (hashCode12 * 59) + (theme == null ? 43 : theme.hashCode()); List guildFolders = getGuildFolders(); - int hashCode13 = (hashCode12 * 59) + (guildFolders == null ? 43 : guildFolders.hashCode()); + int hashCode14 = (hashCode13 * 59) + (guildFolders == null ? 43 : guildFolders.hashCode()); String locale = getLocale(); - int hashCode14 = (hashCode13 * 59) + (locale == null ? 43 : locale.hashCode()); + int hashCode15 = (hashCode14 * 59) + (locale == null ? 43 : locale.hashCode()); List restrictedGuilds = getRestrictedGuilds(); - int hashCode15 = (hashCode14 * 59) + (restrictedGuilds == null ? 43 : restrictedGuilds.hashCode()); + int hashCode16 = (hashCode15 * 59) + (restrictedGuilds == null ? 43 : restrictedGuilds.hashCode()); FriendSourceFlags friendSourceFlags = getFriendSourceFlags(); - int hashCode16 = (hashCode15 * 59) + (friendSourceFlags == null ? 43 : friendSourceFlags.hashCode()); + int hashCode17 = (hashCode16 * 59) + (friendSourceFlags == null ? 43 : friendSourceFlags.hashCode()); ClientStatus status = getStatus(); - int hashCode17 = (hashCode16 * 59) + (status == null ? 43 : status.hashCode()); + int hashCode18 = (hashCode17 * 59) + (status == null ? 43 : status.hashCode()); ModelCustomStatusSetting customStatus = getCustomStatus(); - int i2 = hashCode17 * 59; + int i2 = hashCode18 * 59; if (customStatus != null) { i = customStatus.hashCode(); } @@ -601,6 +622,8 @@ public class ModelUserSettings implements Model { O.append(getExplicitContentFilter()); O.append(", friendDiscoveryFlags="); O.append(getFriendDiscoveryFlags()); + O.append(", contactSyncUpsellShown="); + O.append(getContactSyncUpsellShown()); O.append(", status="); O.append(getStatus()); O.append(", customStatus="); diff --git a/app/src/main/java/com/discord/restapi/RestAPIParams.java b/app/src/main/java/com/discord/restapi/RestAPIParams.java index 17807cc85d..1529e132bb 100644 --- a/app/src/main/java/com/discord/restapi/RestAPIParams.java +++ b/app/src/main/java/com/discord/restapi/RestAPIParams.java @@ -4284,6 +4284,7 @@ public final class RestAPIParams { private final Boolean animateEmoji; private final Integer animateStickers; private final Boolean blockedMessageBar; + private final Boolean contactSyncEnabled; private final Boolean defaultGuildsRestricted; private final Boolean developerMode; private final Integer explicitContentFilter; @@ -4309,61 +4310,65 @@ public final class RestAPIParams { } public final UserSettings createWithAllowAccessibilityDetection(Boolean bool) { - return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, bool, null, null, 229375, null); + return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, bool, null, null, null, 491519, null); } public final UserSettings createWithAllowAnimatedEmojis(Boolean bool) { - return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, null, bool, null, null, null, 245759, null); + return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, null, bool, null, null, null, null, 507903, null); } public final UserSettings createWithBlockedMessageBar(boolean z2) { - return new UserSettings(null, null, null, null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, 262111, null); + return new UserSettings(null, null, null, null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, null, 524255, null); + } + + public final UserSettings createWithContactSyncUpsellShown() { + return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, Boolean.TRUE, null, 393215, null); } public final UserSettings createWithDeveloperMode(boolean z2) { - return new UserSettings(null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 262141, null); + return new UserSettings(null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 524285, null); } public final UserSettings createWithExplicitContentFilter(int i) { - return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, Integer.valueOf(i), null, null, null, null, 253951, null); + return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, Integer.valueOf(i), null, null, null, null, null, 516095, null); } public final UserSettings createWithFriendDiscoveryFlags(Integer num) { - return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, num, 131071, null); + return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, num, 262143, null); } public final UserSettings createWithFriendSourceFlags(Boolean bool, Boolean bool2, Boolean bool3) { - return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, new FriendSourceFlags(bool, bool2, bool3), null, null, null, null, null, 258047, null); + return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, new FriendSourceFlags(bool, bool2, bool3), null, null, null, null, null, null, 520191, null); } public final UserSettings createWithGuildFolders(List list) { m.checkNotNullParameter(list, "guildFolders"); - return new UserSettings(null, null, null, null, null, null, null, null, null, null, list, null, null, null, null, null, null, null, 261119, null); + return new UserSettings(null, null, null, null, null, null, null, null, null, null, list, null, null, null, null, null, null, null, null, 523263, null); } public final UserSettings createWithInlineAttachmentMedia(boolean z2) { - return new UserSettings(null, null, null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, null, 262127, null); + return new UserSettings(null, null, null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, null, null, 524271, null); } public final UserSettings createWithInlineEmbedMedia(boolean z2) { - return new UserSettings(null, null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, null, null, 262135, null); + return new UserSettings(null, null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 524279, null); } public final UserSettings createWithLocale(String str) { m.checkNotNullParameter(str, "locale"); - return new UserSettings(null, null, null, null, null, null, str, null, null, null, null, null, null, null, null, null, null, null, 262079, null); + return new UserSettings(null, null, null, null, null, null, str, null, null, null, null, null, null, null, null, null, null, null, null, 524223, null); } public final UserSettings createWithRenderEmbeds(boolean z2) { - return new UserSettings(null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 262139, null); + return new UserSettings(null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 524283, null); } public final UserSettings createWithRestrictedGuilds(Boolean bool, Collection collection) { - return new UserSettings(null, null, null, null, null, null, null, collection, null, null, null, bool, null, null, null, null, null, null, 259967, null); + return new UserSettings(null, null, null, null, null, null, null, collection, null, null, null, bool, null, null, null, null, null, null, null, 522111, null); } public final UserSettings createWithShowCurrentGame(boolean z2) { - return new UserSettings(null, null, null, null, null, null, null, null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, 261631, null); + return new UserSettings(null, null, null, null, null, null, null, null, null, Boolean.valueOf(z2), null, null, null, null, null, null, null, null, null, 523775, null); } public final UserSettings createWithStatus(ClientStatus clientStatus) { @@ -4374,16 +4379,16 @@ public final class RestAPIParams { Objects.requireNonNull(name, "null cannot be cast to non-null type java.lang.String"); String lowerCase = name.toLowerCase(locale); m.checkNotNullExpressionValue(lowerCase, "(this as java.lang.String).toLowerCase(locale)"); - return new UserSettings(null, null, null, null, null, null, null, null, lowerCase, null, null, null, null, null, null, null, null, null, 261887, null); + return new UserSettings(null, null, null, null, null, null, null, null, lowerCase, null, null, null, null, null, null, null, null, null, null, 524031, null); } public final UserSettings createWithStickerAnimationSettings(Integer num) { - return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, num, null, 196607, null); + return new UserSettings(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, num, null, null, 458751, null); } public final UserSettings createWithTheme(String str) { m.checkNotNullParameter(str, "theme"); - return new UserSettings(str, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 262142, null); + return new UserSettings(str, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 524286, null); } } @@ -4400,7 +4405,7 @@ public final class RestAPIParams { } } - private UserSettings(String str, Boolean bool, Boolean bool2, Boolean bool3, Boolean bool4, Boolean bool5, String str2, Collection collection, String str3, Boolean bool6, Collection collection2, Boolean bool7, FriendSourceFlags friendSourceFlags, Integer num, Boolean bool8, Boolean bool9, Integer num2, Integer num3) { + private UserSettings(String str, Boolean bool, Boolean bool2, Boolean bool3, Boolean bool4, Boolean bool5, String str2, Collection collection, String str3, Boolean bool6, Collection collection2, Boolean bool7, FriendSourceFlags friendSourceFlags, Integer num, Boolean bool8, Boolean bool9, Integer num2, Boolean bool10, Integer num3) { this.theme = str; this.developerMode = bool; this.renderEmbeds = bool2; @@ -4418,12 +4423,13 @@ public final class RestAPIParams { this.animateEmoji = bool8; this.allowAccessibilityDetection = bool9; this.animateStickers = num2; + this.contactSyncEnabled = bool10; this.friendDiscoveryFlags = num3; } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ - public /* synthetic */ UserSettings(String str, Boolean bool, Boolean bool2, Boolean bool3, Boolean bool4, Boolean bool5, String str2, Collection collection, String str3, Boolean bool6, Collection collection2, Boolean bool7, FriendSourceFlags friendSourceFlags, Integer num, Boolean bool8, Boolean bool9, Integer num2, Integer num3, int i, DefaultConstructorMarker defaultConstructorMarker) { - this((i & 1) != 0 ? null : str, (i & 2) != 0 ? null : bool, (i & 4) != 0 ? null : bool2, (i & 8) != 0 ? null : bool3, (i & 16) != 0 ? null : bool4, (i & 32) != 0 ? null : bool5, (i & 64) != 0 ? null : str2, (i & 128) != 0 ? null : collection, (i & 256) != 0 ? null : str3, (i & 512) != 0 ? null : bool6, (i & 1024) != 0 ? null : collection2, (i & 2048) != 0 ? null : bool7, (i & 4096) != 0 ? null : friendSourceFlags, (i & 8192) != 0 ? null : num, (i & 16384) != 0 ? null : bool8, (i & 32768) != 0 ? null : bool9, (i & 65536) != 0 ? null : num2, (i & 131072) != 0 ? null : num3); + public /* synthetic */ UserSettings(String str, Boolean bool, Boolean bool2, Boolean bool3, Boolean bool4, Boolean bool5, String str2, Collection collection, String str3, Boolean bool6, Collection collection2, Boolean bool7, FriendSourceFlags friendSourceFlags, Integer num, Boolean bool8, Boolean bool9, Integer num2, Boolean bool10, Integer num3, int i, DefaultConstructorMarker defaultConstructorMarker) { + this((i & 1) != 0 ? null : str, (i & 2) != 0 ? null : bool, (i & 4) != 0 ? null : bool2, (i & 8) != 0 ? null : bool3, (i & 16) != 0 ? null : bool4, (i & 32) != 0 ? null : bool5, (i & 64) != 0 ? null : str2, (i & 128) != 0 ? null : collection, (i & 256) != 0 ? null : str3, (i & 512) != 0 ? null : bool6, (i & 1024) != 0 ? null : collection2, (i & 2048) != 0 ? null : bool7, (i & 4096) != 0 ? null : friendSourceFlags, (i & 8192) != 0 ? null : num, (i & 16384) != 0 ? null : bool8, (i & 32768) != 0 ? null : bool9, (i & 65536) != 0 ? null : num2, (i & 131072) != 0 ? null : bool10, (i & 262144) != 0 ? null : num3); } public static final UserSettings createWithAllowAccessibilityDetection(Boolean bool) { @@ -4438,6 +4444,10 @@ public final class RestAPIParams { return Companion.createWithBlockedMessageBar(z2); } + public static final UserSettings createWithContactSyncUpsellShown() { + return Companion.createWithContactSyncUpsellShown(); + } + public static final UserSettings createWithDeveloperMode(boolean z2) { return Companion.createWithDeveloperMode(z2); } diff --git a/app/src/main/java/com/discord/stores/StoreContactSync.java b/app/src/main/java/com/discord/stores/StoreContactSync.java index 292dfeb15b..ed47aca83b 100644 --- a/app/src/main/java/com/discord/stores/StoreContactSync.java +++ b/app/src/main/java/com/discord/stores/StoreContactSync.java @@ -37,9 +37,10 @@ public final class StoreContactSync extends StoreV2 { private final RestAPI restAPI; private boolean shouldTryUploadContacts; private final Persister uploadTimestampCache = new Persister<>("CONTACT_SYNC_LAST_UPLOAD_TIME", 0L); + private final StoreUserSettings userSettingsStore; private final StoreUser usersStore; - public StoreContactSync(Dispatcher dispatcher, RestAPI restAPI, Clock clock, StoreUserConnections storeUserConnections, StoreUser storeUser, StoreExperiments storeExperiments, StoreNotices storeNotices) { + public StoreContactSync(Dispatcher dispatcher, RestAPI restAPI, Clock clock, StoreUserConnections storeUserConnections, StoreUser storeUser, StoreExperiments storeExperiments, StoreNotices storeNotices, StoreUserSettings storeUserSettings) { m.checkNotNullParameter(dispatcher, "dispatcher"); m.checkNotNullParameter(restAPI, "restAPI"); m.checkNotNullParameter(clock, "clock"); @@ -47,6 +48,7 @@ public final class StoreContactSync extends StoreV2 { m.checkNotNullParameter(storeUser, "usersStore"); m.checkNotNullParameter(storeExperiments, "experimentsStore"); m.checkNotNullParameter(storeNotices, "noticesStore"); + m.checkNotNullParameter(storeUserSettings, "userSettingsStore"); this.dispatcher = dispatcher; this.restAPI = restAPI; this.clock = clock; @@ -54,6 +56,7 @@ public final class StoreContactSync extends StoreV2 { this.usersStore = storeUser; this.experimentsStore = storeExperiments; this.noticesStore = storeNotices; + this.userSettingsStore = storeUserSettings; } private final StoreNotices.Notice createContactSyncNotice() { @@ -120,15 +123,23 @@ public final class StoreContactSync extends StoreV2 { } ModelConnectedAccount modelConnectedAccount2 = modelConnectedAccount; Boolean bool = this.dismissState.get("CONTACT_SYNC_DISMISS_UPSELL"); + Boolean contactSyncUpsellShown = this.userSettingsStore.getContactSyncUpsellShown(); boolean z2 = false; Experiment userExperiment = this.experimentsStore.getUserExperiment("2021-04_contact_sync_android_main", modelConnectedAccount2 == null); if (userExperiment != null && userExperiment.getBucket() == 1 && modelConnectedAccount2 == null) { UserUtils userUtils = UserUtils.INSTANCE; - if (userUtils.getHasPhone(me2) && (!m.areEqual(bool, Boolean.TRUE)) && userUtils.getAgeMs(me2, ClockFactory.get()) > 604800000) { - z2 = true; + if (userUtils.getHasPhone(me2)) { + Boolean bool2 = Boolean.TRUE; + if ((!m.areEqual(bool, bool2)) && (!m.areEqual(contactSyncUpsellShown, bool2)) && userUtils.getAgeMs(me2, ClockFactory.get()) > 604800000) { + z2 = true; + } } } Experiment userExperiment2 = this.experimentsStore.getUserExperiment("2021-04_contact_sync_android_existing_user_phone_prompt", z2); + Boolean bool3 = Boolean.TRUE; + if (m.areEqual(bool, bool3) && (!m.areEqual(contactSyncUpsellShown, bool3))) { + this.userSettingsStore.updateContactSyncShown(); + } if (z2 && userExperiment2 != null && userExperiment2.getBucket() == 1) { this.noticesStore.requestToShow(createContactSyncNotice()); } diff --git a/app/src/main/java/com/discord/stores/StoreDynamicLink$storeLinkIfExists$1.java b/app/src/main/java/com/discord/stores/StoreDynamicLink$storeLinkIfExists$1.java index dce475c317..619d0590bf 100644 --- a/app/src/main/java/com/discord/stores/StoreDynamicLink$storeLinkIfExists$1.java +++ b/app/src/main/java/com/discord/stores/StoreDynamicLink$storeLinkIfExists$1.java @@ -35,7 +35,7 @@ public final class StoreDynamicLink$storeLinkIfExists$1 implements b implements b implements b getStageChannelsInGuild(long j, Map map, long j2, Map map2, Map map3) { - ArrayList arrayList; - Iterator it; - StageChannel stageChannel; StoreStageChannels storeStageChannels = this; Map map4 = map2; m.checkNotNullParameter(map, "channelsInGuild"); m.checkNotNullParameter(map4, "users"); m.checkNotNullParameter(map3, "voiceStates"); Collection values = map.values(); - ArrayList arrayList2 = new ArrayList(); - Iterator it2 = values.iterator(); - while (it2.hasNext()) { - Channel channel = (Channel) it2.next(); - Map map5 = (Map) a.c(channel, storeStageChannels.stageRolesByChannelSnapshot); - if (map5 != null) { - Set keySet = map5.keySet(); - ArrayList arrayList3 = new ArrayList(); - for (Number number : keySet) { - User user = (User) map4.get(Long.valueOf(number.longValue())); - if (user != null) { - arrayList3.add(user); - } - } - ArrayList arrayList4 = new ArrayList(); - for (Object obj : arrayList3) { - StageRoles r11 = storeStageChannels.m28getUserRolesuOBN1zc(((User) obj).getId(), channel.h()); - if (r11 != null && StageRoles.m43isSpeakerimpl(r11.m45unboximpl())) { - arrayList4.add(obj); - } - } - ArrayList arrayList5 = new ArrayList(o.collectionSizeOrDefault(arrayList4, 10)); - for (User user2 : arrayList4) { - arrayList5.add(Long.valueOf(user2.getId())); - } - Set set = u.toSet(arrayList5); - int size = arrayList3.size() - set.size(); - Long l = (Long) a.c(channel, storeStageChannels.permissionsStore.getPermissionsByChannel()); - boolean z2 = PermissionUtils.can(Permission.CONNECT, l) && PermissionUtils.can(Permission.VIEW_CHANNEL, l); - Map map6 = storeStageChannels.guildsStore.getMembers().get(Long.valueOf(j)); - ArrayList arrayList6 = new ArrayList(); - for (Object obj2 : arrayList3) { - if (set.contains(Long.valueOf(((User) obj2).getId()))) { - arrayList6.add(obj2); - } - } - ArrayList arrayList7 = new ArrayList(o.collectionSizeOrDefault(arrayList6, 10)); - for (User user3 : arrayList6) { - arrayList7.add(new UserGuildMember(user3, map6 != null ? (GuildMember) a.e(user3, map6) : null)); - } - it = it2; - arrayList = arrayList2; - StageRoles r9 = storeStageChannels.m26getMyRolesvisDeB4(channel.h()); - StageInstance stageInstanceForChannel = storeStageChannels.stageInstancesStore.getStageInstanceForChannel(channel.h()); - VoiceState voiceState = map3.get(Long.valueOf(j2)); - Long a = voiceState != null ? voiceState.a() : null; - stageChannel = new StageChannel(channel, arrayList3, r9, set, arrayList7, size, stageInstanceForChannel, z2, a != null && a.longValue() == channel.h(), null); - } else { - it = it2; - arrayList = arrayList2; - stageChannel = null; - } - if (stageChannel != null) { - arrayList.add(stageChannel); - map4 = map2; - arrayList2 = arrayList; - it2 = it; - storeStageChannels = this; - } else { - storeStageChannels = this; - arrayList2 = arrayList; - map4 = map2; - it2 = it; + ArrayList arrayList = new ArrayList(); + for (Object obj : values) { + if (ChannelUtils.z((Channel) obj)) { + arrayList.add(obj); } } - LinkedHashMap linkedHashMap = new LinkedHashMap(f.coerceAtLeast(g0.mapCapacity(o.collectionSizeOrDefault(arrayList2, 10)), 16)); - for (Object obj3 : arrayList2) { - linkedHashMap.put(Long.valueOf(((StageChannel) obj3).getChannel().h()), obj3); + int i = 10; + ArrayList arrayList2 = new ArrayList(o.collectionSizeOrDefault(arrayList, 10)); + Iterator it = arrayList.iterator(); + while (it.hasNext()) { + Channel channel = (Channel) it.next(); + Map map5 = (Map) a.c(channel, storeStageChannels.stageRolesByChannelSnapshot); + if (map5 == null) { + map5 = h0.emptyMap(); + } + Set keySet = map5.keySet(); + ArrayList arrayList3 = new ArrayList(); + for (Number number : keySet) { + User user = (User) map4.get(Long.valueOf(number.longValue())); + if (user != null) { + arrayList3.add(user); + } + } + ArrayList arrayList4 = new ArrayList(); + for (Object obj2 : arrayList3) { + StageRoles r11 = storeStageChannels.m28getUserRolesuOBN1zc(((User) obj2).getId(), channel.h()); + if (r11 != null && StageRoles.m43isSpeakerimpl(r11.m45unboximpl())) { + arrayList4.add(obj2); + } + } + ArrayList arrayList5 = new ArrayList(o.collectionSizeOrDefault(arrayList4, 10)); + for (User user2 : arrayList4) { + arrayList5.add(Long.valueOf(user2.getId())); + } + Set set = u.toSet(arrayList5); + int size = arrayList3.size() - set.size(); + Long l = (Long) a.c(channel, storeStageChannels.permissionsStore.getPermissionsByChannel()); + boolean z2 = PermissionUtils.can(Permission.CONNECT, l) && PermissionUtils.can(Permission.VIEW_CHANNEL, l); + Map map6 = storeStageChannels.guildsStore.getMembers().get(Long.valueOf(j)); + ArrayList arrayList6 = new ArrayList(); + for (Object obj3 : arrayList3) { + if (set.contains(Long.valueOf(((User) obj3).getId()))) { + arrayList6.add(obj3); + } + } + ArrayList arrayList7 = new ArrayList(o.collectionSizeOrDefault(arrayList6, 10)); + for (User user3 : arrayList6) { + arrayList7.add(new UserGuildMember(user3, map6 != null ? (GuildMember) a.e(user3, map6) : null)); + } + StageRoles r9 = storeStageChannels.m26getMyRolesvisDeB4(channel.h()); + StageInstance stageInstanceForChannel = storeStageChannels.stageInstancesStore.getStageInstanceForChannel(channel.h()); + VoiceState voiceState = map3.get(Long.valueOf(j2)); + Long a = voiceState != null ? voiceState.a() : null; + arrayList2.add(new StageChannel(channel, arrayList3, r9, set, arrayList7, size, stageInstanceForChannel, z2, a != null && a.longValue() == channel.h(), null)); + i = 10; + map4 = map2; + arrayList2 = arrayList2; + it = it; + storeStageChannels = this; + } + LinkedHashMap linkedHashMap = new LinkedHashMap(f.coerceAtLeast(g0.mapCapacity(o.collectionSizeOrDefault(arrayList2, i)), 16)); + for (Object obj4 : arrayList2) { + linkedHashMap.put(Long.valueOf(((StageChannel) obj4).getChannel().h()), obj4); } return linkedHashMap; } diff --git a/app/src/main/java/com/discord/stores/StoreStream.java b/app/src/main/java/com/discord/stores/StoreStream.java index 8d062dcfd1..d25c498977 100644 --- a/app/src/main/java/com/discord/stores/StoreStream.java +++ b/app/src/main/java/com/discord/stores/StoreStream.java @@ -1001,7 +1001,7 @@ public final class StoreStream { this.stageSelfPresence = storeStageChannelSelfPresence; StoreAutocomplete storeAutocomplete = new StoreAutocomplete(ObservationDeckProvider.get(), this.dispatcher); this.autocomplete = storeAutocomplete; - StoreContactSync storeContactSync = new StoreContactSync(this.dispatcher, companion.getApi(), this.clock, this.userConnections, this.users, this.experiments, this.notices); + StoreContactSync storeContactSync = new StoreContactSync(this.dispatcher, companion.getApi(), this.clock, this.userConnections, this.users, this.experiments, this.notices, this.userSettings); this.contactSync = storeContactSync; Dispatcher dispatcher2 = this.dispatcher; StoreFriendSuggestions storeFriendSuggestions = new StoreFriendSuggestions(this, dispatcher2, new FriendSuggestionsFetcher(dispatcher2, companion.getApi(), new StoreStream$friendSuggestions$1(this), new StoreStream$friendSuggestions$2(this))); diff --git a/app/src/main/java/com/discord/stores/StoreUserSettings.java b/app/src/main/java/com/discord/stores/StoreUserSettings.java index a3b109719c..1b1d294b2e 100644 --- a/app/src/main/java/com/discord/stores/StoreUserSettings.java +++ b/app/src/main/java/com/discord/stores/StoreUserSettings.java @@ -36,6 +36,7 @@ public final class StoreUserSettings extends Store { private final Persister allowAccessibilityDetectionPublisher; private final Persister allowAnimatedEmojisPublisher; private final Persister autoPlayGifsPublisher; + private Boolean contactSyncUpsellShown; private final SerializedSubject customStatusSubject = new SerializedSubject<>(BehaviorSubject.k0()); private final SerializedSubject defaultGuildsRestrictedSubject = new SerializedSubject<>(BehaviorSubject.k0()); private final Dispatcher dispatcher; @@ -179,6 +180,9 @@ public final class StoreUserSettings extends Store { SerializedSubject serializedSubject4 = this.friendDiscoveryFlagsSubject; serializedSubject4.j.onNext(modelUserSettings.getFriendDiscoveryFlags()); } + if (modelUserSettings.getContactSyncUpsellShown() != null) { + this.contactSyncUpsellShown = modelUserSettings.getContactSyncUpsellShown(); + } } public static /* synthetic */ Observable observeIsAnimatedEmojisEnabled$default(StoreUserSettings storeUserSettings, boolean z2, int i, Object obj) { @@ -228,6 +232,10 @@ public final class StoreUserSettings extends Store { } } + public final Boolean getContactSyncUpsellShown() { + return this.contactSyncUpsellShown; + } + public final boolean getIsAttachmentMediaInline() { return getPrefs().getBoolean("CACHE_KEY_INLINE_ATTACHMENT_MEDIA", true); } @@ -405,6 +413,10 @@ public final class StoreUserSettings extends Store { return q; } + public final void setContactSyncUpsellShown(Boolean bool) { + this.contactSyncUpsellShown = bool; + } + public final void setDefaultGuildsRestricted(AppActivity appActivity, boolean z2, Collection collection) { if (appActivity != null) { Companion.updateUserSettings$default(Companion, appActivity, RestAPIParams.UserSettings.Companion.createWithRestrictedGuilds(Boolean.valueOf(z2), collection), null, 2, null); @@ -551,6 +563,10 @@ public final class StoreUserSettings extends Store { } } + public final Observable updateContactSyncShown() { + return RestAPI.Companion.getApi().updateUserSettings(RestAPIParams.UserSettings.Companion.createWithContactSyncUpsellShown()); + } + public final Observable updateCustomStatus(ModelCustomStatusSetting modelCustomStatusSetting) { return RestAPI.Companion.getApiSerializeNulls().updateUserSettingsCustomStatus(new RestAPIParams.UserSettingsCustomStatus(modelCustomStatusSetting)); } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$10.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$10.java index 98445cf922..9137685816 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$10.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$10.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$10 extends k implements Function3 { public IntentUtils$pathRouterMap$10(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "remoteAuth", "remoteAuth(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "authorize", "authorize(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).remoteAuth(uri, matchResult, context); + return ((RouteHandlers) this.receiver).authorize(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$11.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$11.java index 6e71c84abd..c757bd5b7f 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$11.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$11.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$11 extends k implements Function3 { public IntentUtils$pathRouterMap$11(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "selectPremiumGuild", "selectPremiumGuild(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "remoteAuth", "remoteAuth(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).selectPremiumGuild(uri, matchResult, context); + return ((RouteHandlers) this.receiver).remoteAuth(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$12.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$12.java index 77d538eda1..ddeb35e7f2 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$12.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$12.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$12 extends k implements Function3 { public IntentUtils$pathRouterMap$12(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "handleQuery", "handleQuery(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "selectPremiumGuild", "selectPremiumGuild(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).handleQuery(uri, matchResult, context); + return ((RouteHandlers) this.receiver).selectPremiumGuild(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$13.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$13.java index 4e9d94c5ef..30a9d4a47a 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$13.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$13.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$13 extends k implements Function3 { public IntentUtils$pathRouterMap$13(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "wildCardMatcher", "wildCardMatcher(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "handleQuery", "handleQuery(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).wildCardMatcher(uri, matchResult, context); + return ((RouteHandlers) this.receiver).handleQuery(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$14.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$14.java new file mode 100644 index 0000000000..31532f97e5 --- /dev/null +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$14.java @@ -0,0 +1,21 @@ +package com.discord.utilities.intent; + +import android.content.Context; +import android.net.Uri; +import c0.z.d.k; +import c0.z.d.m; +import com.discord.utilities.intent.RouteHandlers; +import kotlin.jvm.functions.Function3; +import kotlin.text.MatchResult; +/* compiled from: IntentUtils.kt */ +public final /* synthetic */ class IntentUtils$pathRouterMap$14 extends k implements Function3 { + public IntentUtils$pathRouterMap$14(RouteHandlers routeHandlers) { + super(3, routeHandlers, RouteHandlers.class, "wildCardMatcher", "wildCardMatcher(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + } + + public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { + m.checkNotNullParameter(uri, "p1"); + m.checkNotNullParameter(context, "p3"); + return ((RouteHandlers) this.receiver).wildCardMatcher(uri, matchResult, context); + } +} diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$2.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$2.java index 4aa26513dc..51fbff4e62 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$2.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$2.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$2 extends k implements Function3 { public IntentUtils$pathRouterMap$2(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "navigateToFriendsScreen", "navigateToFriendsScreen(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "openEventDetails", "openEventDetails(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).navigateToFriendsScreen(uri, matchResult, context); + return ((RouteHandlers) this.receiver).openEventDetails(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$3.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$3.java index 0e8ba18489..4323980223 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$3.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$3.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$3 extends k implements Function3 { public IntentUtils$pathRouterMap$3(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "selectDirectMessage", "selectDirectMessage(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "navigateToFriendsScreen", "navigateToFriendsScreen(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).selectDirectMessage(uri, matchResult, context); + return ((RouteHandlers) this.receiver).navigateToFriendsScreen(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$4.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$4.java index 46a794b094..463fe42bee 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$4.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$4.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$4 extends k implements Function3 { public IntentUtils$pathRouterMap$4(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "selectUserProfile", "selectUserProfile(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "selectDirectMessage", "selectDirectMessage(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).selectUserProfile(uri, matchResult, context); + return ((RouteHandlers) this.receiver).selectDirectMessage(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$5.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$5.java index 8c9cb567a2..f6b1eb6022 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$5.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$5.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$5 extends k implements Function3 { public IntentUtils$pathRouterMap$5(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "selectFeature", "selectFeature(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "selectUserProfile", "selectUserProfile(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).selectFeature(uri, matchResult, context); + return ((RouteHandlers) this.receiver).selectUserProfile(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$7.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$7.java index 97362341fa..997cdab36e 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$7.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$7.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$7 extends k implements Function3 { public IntentUtils$pathRouterMap$7(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "voiceConnect", "voiceConnect(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "selectFeature", "selectFeature(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).voiceConnect(uri, matchResult, context); + return ((RouteHandlers) this.receiver).selectFeature(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$8.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$8.java index 27d193ef5c..cc4bacaf1f 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$8.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$8.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$8 extends k implements Function3 { public IntentUtils$pathRouterMap$8(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "selectLurk", "selectLurk(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "voiceConnect", "voiceConnect(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).selectLurk(uri, matchResult, context); + return ((RouteHandlers) this.receiver).voiceConnect(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$9.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$9.java index bd2576da95..fd92a88d58 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$9.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils$pathRouterMap$9.java @@ -10,12 +10,12 @@ import kotlin.text.MatchResult; /* compiled from: IntentUtils.kt */ public final /* synthetic */ class IntentUtils$pathRouterMap$9 extends k implements Function3 { public IntentUtils$pathRouterMap$9(RouteHandlers routeHandlers) { - super(3, routeHandlers, RouteHandlers.class, "authorize", "authorize(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); + super(3, routeHandlers, RouteHandlers.class, "selectLurk", "selectLurk(Landroid/net/Uri;Lkotlin/text/MatchResult;Landroid/content/Context;)Lcom/discord/utilities/intent/RouteHandlers$AnalyticsMetadata;", 0); } public final RouteHandlers.AnalyticsMetadata invoke(Uri uri, MatchResult matchResult, Context context) { m.checkNotNullParameter(uri, "p1"); m.checkNotNullParameter(context, "p3"); - return ((RouteHandlers) this.receiver).authorize(uri, matchResult, context); + return ((RouteHandlers) this.receiver).selectLurk(uri, matchResult, context); } } diff --git a/app/src/main/java/com/discord/utilities/intent/IntentUtils.java b/app/src/main/java/com/discord/utilities/intent/IntentUtils.java index a8141ce1dc..d77f0a53b8 100644 --- a/app/src/main/java/com/discord/utilities/intent/IntentUtils.java +++ b/app/src/main/java/com/discord/utilities/intent/IntentUtils.java @@ -128,7 +128,7 @@ public final class IntentUtils { m.checkNotNullExpressionValue(parse, NotificationCompat.MessagingStyle.Message.KEY_DATA_URI); if (parse.getScheme() == null) { if (str != null) { - a aVar = a.E; + a aVar = a.F; if (t.startsWith$default(str, a.e, false, 2, null)) { parse = Uri.parse("https://" + str); } @@ -145,7 +145,7 @@ public final class IntentUtils { m.checkNotNullExpressionValue(parse, NotificationCompat.MessagingStyle.Message.KEY_DATA_URI); if (parse.getScheme() == null) { if (str != null) { - a aVar = a.E; + a aVar = a.F; if (t.startsWith$default(str, a.d, false, 2, null)) { parse = Uri.parse("https://" + str); } @@ -159,10 +159,10 @@ public final class IntentUtils { } static { - a aVar = a.E; - Regex regex = a.u; + a aVar = a.F; + Regex regex = a.E; RouteHandlers routeHandlers = RouteHandlers.INSTANCE; - pathRouterMap = h0.mapOf(o.to(a.t, IntentUtils$pathRouterMap$1.INSTANCE), o.to(regex, new IntentUtils$pathRouterMap$2(routeHandlers)), o.to(a.f51w, new IntentUtils$pathRouterMap$3(routeHandlers)), o.to(a.f52x, new IntentUtils$pathRouterMap$4(routeHandlers)), o.to(a.f53y, new IntentUtils$pathRouterMap$5(routeHandlers)), o.to(a.f54z, new IntentUtils$pathRouterMap$6(routeHandlers)), o.to(a.s, new IntentUtils$pathRouterMap$7(routeHandlers)), o.to(a.v, new IntentUtils$pathRouterMap$8(routeHandlers)), o.to(a.B, new IntentUtils$pathRouterMap$9(routeHandlers)), o.to(a.C, new IntentUtils$pathRouterMap$10(routeHandlers)), o.to(a.D, new IntentUtils$pathRouterMap$11(routeHandlers)), o.to(a.A, new IntentUtils$pathRouterMap$12(routeHandlers)), o.to(a.m, new IntentUtils$pathRouterMap$13(routeHandlers))); + pathRouterMap = h0.mapOf(o.to(a.t, IntentUtils$pathRouterMap$1.INSTANCE), o.to(regex, new IntentUtils$pathRouterMap$2(routeHandlers)), o.to(a.u, new IntentUtils$pathRouterMap$3(routeHandlers)), o.to(a.f51w, new IntentUtils$pathRouterMap$4(routeHandlers)), o.to(a.f52x, new IntentUtils$pathRouterMap$5(routeHandlers)), o.to(a.f53y, new IntentUtils$pathRouterMap$6(routeHandlers)), o.to(a.f54z, new IntentUtils$pathRouterMap$7(routeHandlers)), o.to(a.s, new IntentUtils$pathRouterMap$8(routeHandlers)), o.to(a.v, new IntentUtils$pathRouterMap$9(routeHandlers)), o.to(a.B, new IntentUtils$pathRouterMap$10(routeHandlers)), o.to(a.C, new IntentUtils$pathRouterMap$11(routeHandlers)), o.to(a.D, new IntentUtils$pathRouterMap$12(routeHandlers)), o.to(a.A, new IntentUtils$pathRouterMap$13(routeHandlers)), o.to(a.m, new IntentUtils$pathRouterMap$14(routeHandlers))); } private IntentUtils() { @@ -179,7 +179,7 @@ public final class IntentUtils { private final Uri externalize(Uri uri) { Uri.Builder scheme = uri.buildUpon().scheme(Constants.SCHEME); - a aVar = a.E; + a aVar = a.F; return scheme.authority(a.a).build(); } @@ -354,7 +354,7 @@ public final class IntentUtils { } m.checkNotNullExpressionValue(scheme, "uri.scheme ?: \"\""); if (regex.matches(scheme)) { - return a.E.a(uri.getHost()); + return a.F.a(uri.getHost()); } return false; } diff --git a/app/src/main/java/com/discord/utilities/intent/RouteHandlers.java b/app/src/main/java/com/discord/utilities/intent/RouteHandlers.java index 8e64555981..431d9df99d 100644 --- a/app/src/main/java/com/discord/utilities/intent/RouteHandlers.java +++ b/app/src/main/java/com/discord/utilities/intent/RouteHandlers.java @@ -17,6 +17,8 @@ import c0.t.n; import c0.t.u; import c0.z.d.m; import com.discord.BuildConfig; +import com.discord.api.channel.Channel; +import com.discord.models.guild.Guild; import com.discord.stores.StoreAuthentication; import com.discord.stores.StoreInviteSettings; import com.discord.stores.StoreNavigation; @@ -29,6 +31,7 @@ import com.discord.utilities.rx.ObservableExtensionsKt$filterNull$1; import com.discord.utilities.rx.ObservableExtensionsKt$filterNull$2; import com.discord.widgets.chat.input.MentionUtilsKt; import com.discord.widgets.guilds.join.WidgetGuildJoin; +import com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventDetailsBottomSheet; import com.discord.widgets.media.WidgetQRScanner; import com.discord.widgets.servers.premiumguild.WidgetPremiumGuildSubscription; import com.discord.widgets.tabs.NavigationTab; @@ -266,6 +269,35 @@ public final class RouteHandlers { return new AnalyticsMetadata("friends", null, null, 6, null); } + public final AnalyticsMetadata openEventDetails(Uri uri, MatchResult matchResult, Context context) { + List groupValues; + String str; + List groupValues2; + String str2; + m.checkNotNullParameter(uri, NotificationCompat.MessagingStyle.Message.KEY_DATA_URI); + m.checkNotNullParameter(context, "context"); + long j = 0; + long parseLong = (matchResult == null || (groupValues2 = matchResult.getGroupValues()) == null || (str2 = groupValues2.get(1)) == null) ? 0 : Long.parseLong(str2); + if (!(matchResult == null || (groupValues = matchResult.getGroupValues()) == null || (str = groupValues.get(2)) == null)) { + j = Long.parseLong(str); + } + StoreStream.Companion companion = StoreStream.Companion; + Guild guild = companion.getGuilds().getGuild(parseLong); + Channel channel = guild == null ? companion.getChannels().getChannel(parseLong) : null; + if (guild == null && channel == null) { + WidgetGuildScheduledEventDetailsBottomSheet.Companion.handleInvalidEvent(context); + } else { + WidgetGuildScheduledEventDetailsBottomSheet.Companion.enqueue(j); + if (guild == null) { + guild = channel != null ? companion.getGuilds().getGuild(channel.f()) : null; + } + if (guild != null) { + companion.getGuildSelected().set(guild.getId()); + } + } + return new AnalyticsMetadata("event", null, null, 6, null); + } + public final AnalyticsMetadata remoteAuth(Uri uri, MatchResult matchResult, Context context) { List groupValues; m.checkNotNullParameter(uri, NotificationCompat.MessagingStyle.Message.KEY_DATA_URI); diff --git a/app/src/main/java/com/discord/utilities/platform/Platform.java b/app/src/main/java/com/discord/utilities/platform/Platform.java index 7b980d4473..5dcbd32fe2 100644 --- a/app/src/main/java/com/discord/utilities/platform/Platform.java +++ b/app/src/main/java/com/discord/utilities/platform/Platform.java @@ -1,5 +1,6 @@ package com.discord.utilities.platform; +import androidx.annotation.AttrRes; import androidx.annotation.ColorRes; import androidx.annotation.DrawableRes; import c.d.b.a.a; @@ -13,23 +14,19 @@ import java.util.Objects; import kotlin.jvm.internal.DefaultConstructorMarker; /* compiled from: Platform.kt */ public enum Platform { - XBOX("Xbox Live", Integer.valueOf((int) R.color.xbox), Integer.valueOf((int) R.drawable.ic_account_xbox), Integer.valueOf((int) R.drawable.ic_xbox_white_24dp), false, true, true, 16, null), - BATTLENET("Battle.Net", Integer.valueOf((int) R.color.battlenet), Integer.valueOf((int) R.drawable.ic_account_bnet), Integer.valueOf((int) R.drawable.ic_bnet_white_24dp), false, false, false, 112, null), - FACEBOOK("Facebook", Integer.valueOf((int) R.color.facebook), Integer.valueOf((int) R.drawable.ic_account_facebook), Integer.valueOf((int) R.drawable.ic_facebook_white_24dp), true, false, true, 32, null), - GOOGLE("Google", Integer.valueOf((int) R.color.google), Integer.valueOf((int) R.drawable.ic_account_google), Integer.valueOf((int) R.drawable.ic_google_white_24dp), false, false, false, 112, null), - LEAGUEOFLEGENDS("League of Legends", Integer.valueOf((int) R.color.league_of_legends), Integer.valueOf((int) R.drawable.ic_account_lol), Integer.valueOf((int) R.drawable.ic_lol_white_24dp), false, false, false, 112, null), - OBS("OBS", null, Integer.valueOf((int) R.drawable.ic_account_obs), null, false, false, false, 122, null), - PATREON("Patreon", null, Integer.valueOf((int) R.drawable.ic_account_patreon), null, false, false, false, 122, null), - REDDIT("Reddit", Integer.valueOf((int) R.color.reddit), Integer.valueOf((int) R.drawable.ic_account_reddit), Integer.valueOf((int) R.drawable.ic_reddit_white_24dp), false, false, true, 48, null), - SAMSUNG("Samsung Galaxy", null, null, null, false, true, false, 94, null), - SKYPE("Skype", Integer.valueOf((int) R.color.skype), Integer.valueOf((int) R.drawable.ic_account_skype), Integer.valueOf((int) R.drawable.ic_skype_white_24dp), false, false, false, 112, null), - SPOTIFY("Spotify", Integer.valueOf((int) R.color.spotify), Integer.valueOf((int) R.drawable.ic_account_spotify), Integer.valueOf((int) R.drawable.ic_spotify_white_24dp), false, true, true, 16, null), - STEAM("Steam", Integer.valueOf((int) R.color.steam), Integer.valueOf((int) R.drawable.ic_account_steam), Integer.valueOf((int) R.drawable.ic_steam_white_24dp), false, false, true, 48, null), - TWITCH("Twitch", Integer.valueOf((int) R.color.twitch), Integer.valueOf((int) R.drawable.ic_account_twitch), Integer.valueOf((int) R.drawable.ic_twitch_white_24dp), false, false, true, 48, null), - TWITTER("Twitter", Integer.valueOf((int) R.color.twitter), Integer.valueOf((int) R.drawable.ic_account_twitter), Integer.valueOf((int) R.drawable.ic_twitter_white_24dp), false, false, true, 48, null), - XSPLIT("XSplit", null, Integer.valueOf((int) R.drawable.ic_account_xsplit), null, false, false, false, 122, null), - YOUTUBE("Youtube", Integer.valueOf((int) R.color.youtube), Integer.valueOf((int) R.drawable.ic_account_youtube), Integer.valueOf((int) R.drawable.ic_youtube_gaming_white_24dp), false, false, true, 48, null), - GITHUB("Github", Integer.valueOf((int) R.color.github), Integer.valueOf((int) R.drawable.ic_account_github), Integer.valueOf((int) R.drawable.ic_github_white), false, false, true, 48, null), + BATTLENET("Battle.net", Integer.valueOf((int) R.color.battlenet), Integer.valueOf((int) R.attr.ic_account_battlenet), Integer.valueOf((int) R.drawable.ic_account_battlenet_white_24dp), false, false, false, 112, null), + FACEBOOK("Facebook", Integer.valueOf((int) R.color.facebook), Integer.valueOf((int) R.attr.ic_account_facebook), Integer.valueOf((int) R.drawable.ic_account_facebook_white_24dp), false, false, true, 48, null), + GITHUB("Github", Integer.valueOf((int) R.color.github), Integer.valueOf((int) R.attr.ic_account_github), Integer.valueOf((int) R.drawable.ic_account_github_white_24dp), false, false, true, 48, null), + LEAGUEOFLEGENDS("League of Legends", Integer.valueOf((int) R.color.league_of_legends), Integer.valueOf((int) R.attr.ic_account_league_of_legends), Integer.valueOf((int) R.drawable.ic_account_league_of_legends_white_24dp), false, false, false, 112, null), + REDDIT("Reddit", Integer.valueOf((int) R.color.reddit), Integer.valueOf((int) R.attr.ic_account_reddit), Integer.valueOf((int) R.drawable.ic_account_reddit_white_24dp), false, false, true, 48, null), + SAMSUNG("Samsung Galaxy", null, Integer.valueOf((int) R.attr.ic_account_samsung), Integer.valueOf((int) R.drawable.ic_account_samsung_white_24dp), false, true, false, 82, null), + SKYPE("Skype", Integer.valueOf((int) R.color.skype), Integer.valueOf((int) R.attr.ic_account_skype), Integer.valueOf((int) R.drawable.ic_account_skype_white_24dp), false, false, false, 112, null), + SPOTIFY("Spotify", Integer.valueOf((int) R.color.spotify), Integer.valueOf((int) R.attr.ic_account_spotify), Integer.valueOf((int) R.drawable.ic_account_spotify_white_24dp), false, true, true, 16, null), + STEAM("Steam", Integer.valueOf((int) R.color.steam), Integer.valueOf((int) R.attr.ic_account_steam), Integer.valueOf((int) R.drawable.ic_account_steam_white_24dp), false, false, true, 48, null), + TWITCH("Twitch", Integer.valueOf((int) R.color.twitch), Integer.valueOf((int) R.attr.ic_account_twitch), Integer.valueOf((int) R.drawable.ic_account_twitch_white_24dp), false, false, true, 48, null), + TWITTER("Twitter", Integer.valueOf((int) R.color.twitter), Integer.valueOf((int) R.attr.ic_account_twitter), Integer.valueOf((int) R.drawable.ic_account_twitter_white_24dp), false, false, true, 48, null), + XBOX("Xbox Live", Integer.valueOf((int) R.color.xbox), Integer.valueOf((int) R.attr.ic_account_xbox), Integer.valueOf((int) R.drawable.ic_account_xbox_white_24dp), false, true, true, 16, null), + YOUTUBE("Youtube", Integer.valueOf((int) R.color.youtube), Integer.valueOf((int) R.attr.ic_account_youtube), Integer.valueOf((int) R.drawable.ic_account_youtube_white_24dp), false, false, true, 48, null), NONE(null, null, null, null, false, false, false, 127, null); public static final Companion Companion = new Companion(null); @@ -38,8 +35,8 @@ public enum Platform { private final Integer colorResId; private final boolean enabled; private final String platformId; - private final Integer platformImage; private final String properName; + private final Integer themedPlatformImage; private final Integer whitePlatformImage; /* compiled from: Platform.kt */ @@ -52,9 +49,9 @@ public enum Platform { ActivityPlatform.values(); int[] iArr = new int[7]; $EnumSwitchMapping$0 = iArr; - iArr[ActivityPlatform.XBOX.ordinal()] = 1; - iArr[ActivityPlatform.SAMSUNG.ordinal()] = 2; - iArr[ActivityPlatform.SPOTIFY.ordinal()] = 3; + iArr[ActivityPlatform.SAMSUNG.ordinal()] = 1; + iArr[ActivityPlatform.SPOTIFY.ordinal()] = 2; + iArr[ActivityPlatform.XBOX.ordinal()] = 3; } } @@ -111,23 +108,23 @@ public enum Platform { static { Platform.values(); - int[] iArr = new int[18]; + int[] iArr = new int[14]; $EnumSwitchMapping$0 = iArr; iArr[Platform.FACEBOOK.ordinal()] = 1; - iArr[Platform.SPOTIFY.ordinal()] = 2; - iArr[Platform.STEAM.ordinal()] = 3; - iArr[Platform.YOUTUBE.ordinal()] = 4; - iArr[Platform.REDDIT.ordinal()] = 5; - iArr[Platform.TWITTER.ordinal()] = 6; - iArr[Platform.TWITCH.ordinal()] = 7; - iArr[Platform.GITHUB.ordinal()] = 8; + iArr[Platform.GITHUB.ordinal()] = 2; + iArr[Platform.REDDIT.ordinal()] = 3; + iArr[Platform.SPOTIFY.ordinal()] = 4; + iArr[Platform.STEAM.ordinal()] = 5; + iArr[Platform.TWITCH.ordinal()] = 6; + iArr[Platform.TWITTER.ordinal()] = 7; + iArr[Platform.YOUTUBE.ordinal()] = 8; } } - private Platform(String str, @ColorRes Integer num, @DrawableRes Integer num2, @DrawableRes Integer num3, boolean z2, boolean z3, boolean z4) { + private Platform(String str, @ColorRes Integer num, @AttrRes Integer num2, @DrawableRes Integer num3, boolean z2, boolean z3, boolean z4) { this.properName = str; this.colorResId = num; - this.platformImage = num2; + this.themedPlatformImage = num2; this.whitePlatformImage = num3; this.canSyncFriends = z2; this.canShowActivity = z3; @@ -178,40 +175,36 @@ public enum Platform { return this.platformId; } - public final Integer getPlatformImage() { - return this.platformImage; - } - public final String getProfileUrl(ModelConnectedAccount modelConnectedAccount) { m.checkNotNullParameter(modelConnectedAccount, "connectedAccount"); int ordinal = ordinal(); - if (ordinal == 2) { + if (ordinal == 1) { StringBuilder O = a.O("https://www.facebook.com/"); O.append(modelConnectedAccount.getId()); return O.toString(); - } else if (ordinal == 7) { - StringBuilder O2 = a.O("https://reddit.com/u/"); + } else if (ordinal == 2) { + StringBuilder O2 = a.O("https://github.com/"); O2.append(modelConnectedAccount.getUsername()); return O2.toString(); - } else if (ordinal == 15) { - StringBuilder O3 = a.O("https://youtube.com/channel/"); - O3.append(modelConnectedAccount.getId()); + } else if (ordinal == 4) { + StringBuilder O3 = a.O("https://reddit.com/u/"); + O3.append(modelConnectedAccount.getUsername()); return O3.toString(); - } else if (ordinal != 16) { + } else if (ordinal != 12) { switch (ordinal) { - case 10: + case 7: StringBuilder O4 = a.O("https://open.spotify.com/user/"); O4.append(modelConnectedAccount.getId()); return O4.toString(); - case 11: + case 8: StringBuilder O5 = a.O("https://steamcommunity.com/profiles/"); O5.append(modelConnectedAccount.getId()); return O5.toString(); - case 12: + case 9: StringBuilder O6 = a.O("https://twitch.tv/"); O6.append(modelConnectedAccount.getUsername()); return O6.toString(); - case 13: + case 10: StringBuilder O7 = a.O("https://www.twitter.com/"); O7.append(modelConnectedAccount.getUsername()); return O7.toString(); @@ -219,8 +212,8 @@ public enum Platform { return null; } } else { - StringBuilder O8 = a.O("https://github.com/"); - O8.append(modelConnectedAccount.getUsername()); + StringBuilder O8 = a.O("https://youtube.com/channel/"); + O8.append(modelConnectedAccount.getId()); return O8.toString(); } } @@ -229,6 +222,10 @@ public enum Platform { return this.properName; } + public final Integer getThemedPlatformImage() { + return this.themedPlatformImage; + } + public final Integer getWhitePlatformImage() { return this.whitePlatformImage; } diff --git a/app/src/main/java/com/discord/utilities/sms/SmsListener.java b/app/src/main/java/com/discord/utilities/sms/SmsListener.java index cc6d8e450d..f72867a907 100644 --- a/app/src/main/java/com/discord/utilities/sms/SmsListener.java +++ b/app/src/main/java/com/discord/utilities/sms/SmsListener.java @@ -1,7 +1,7 @@ package com.discord.utilities.sms; +import android.app.Application; import android.content.BroadcastReceiver; -import android.content.Context; import android.content.IntentFilter; import c.c.a.a0.d; import c.i.a.f.e.h.j.k0; @@ -10,6 +10,7 @@ import c.i.a.f.h.b.b; import c.i.a.f.h.b.h; import c.i.a.f.h.b.j; import c0.z.d.m; +import com.discord.utilities.lifecycle.ApplicationProvider; import com.discord.widgets.auth.SmsAuthCodeBroadcastReceiver; import com.google.android.gms.common.Feature; import kotlin.Unit; @@ -37,22 +38,23 @@ public final class SmsListener { SmsListener.access$setBroadcastReceiver$cp(broadcastReceiver); } - public final void startSmsListener(Context context, Function1 function1) { - m.checkNotNullParameter(context, "context"); + public final void startSmsListener(Function1 function1) { m.checkNotNullParameter(function1, "onSuccess"); - h hVar = new h(context); + Application application = ApplicationProvider.INSTANCE.get(); + h hVar = new h(application); p.a aVar = new p.a(null); aVar.a = new j(hVar); aVar.b = new Feature[]{b.b}; d.p(true, "execute parameter required"); hVar.c(new k0(aVar, aVar.b, true)); setBroadcastReceiver(new SmsAuthCodeBroadcastReceiver(function1)); - context.registerReceiver(getBroadcastReceiver(), new IntentFilter("com.google.android.gms.auth.api.phone.SMS_RETRIEVED")); + application.registerReceiver(getBroadcastReceiver(), new IntentFilter("com.google.android.gms.auth.api.phone.SMS_RETRIEVED")); } - public final void stopSmsListener(Context context) { - if (getBroadcastReceiver() != null && context != null) { - context.unregisterReceiver(getBroadcastReceiver()); + public final void stopSmsListener() { + try { + ApplicationProvider.INSTANCE.get().unregisterReceiver(getBroadcastReceiver()); + } catch (Exception unused) { } } } diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthPhoneVerify.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthPhoneVerify.java index 85ca13d88b..be1ec3e4f6 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthPhoneVerify.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthPhoneVerify.java @@ -215,12 +215,14 @@ public final class WidgetAuthPhoneVerify extends AppFragment { } private final void inputCode(String str) { - getBinding().f2114c.setOnCodeEntered(WidgetAuthPhoneVerify$inputCode$1.INSTANCE); - getBinding().f2114c.setCode(str); - getBinding().f2114c.setOnCodeEntered(new WidgetAuthPhoneVerify$inputCode$2(this)); - Observable d02 = Observable.d0(500, TimeUnit.MILLISECONDS); - m.checkNotNullExpressionValue(d02, "Observable\n .time…L, TimeUnit.MILLISECONDS)"); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(d02, this, null, 2, null), WidgetAuthPhoneVerify.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetAuthPhoneVerify$inputCode$3(this), 62, (Object) null); + if (getView() != null) { + getBinding().f2114c.setOnCodeEntered(WidgetAuthPhoneVerify$inputCode$1.INSTANCE); + getBinding().f2114c.setCode(str); + getBinding().f2114c.setOnCodeEntered(new WidgetAuthPhoneVerify$inputCode$2(this)); + Observable d02 = Observable.d0(500, TimeUnit.MILLISECONDS); + m.checkNotNullExpressionValue(d02, "Observable\n .time…L, TimeUnit.MILLISECONDS)"); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(d02, this, null, 2, null), WidgetAuthPhoneVerify.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetAuthPhoneVerify$inputCode$3(this), 62, (Object) null); + } } private final void resendCode() { @@ -282,7 +284,7 @@ public final class WidgetAuthPhoneVerify extends AppFragment { @Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment public void onDestroyView() { super.onDestroyView(); - SmsListener.Companion.stopSmsListener(getContext()); + SmsListener.Companion.stopSmsListener(); } @Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment @@ -337,6 +339,6 @@ public final class WidgetAuthPhoneVerify extends AppFragment { } getBinding().f2114c.setOnCodeEntered(new WidgetAuthPhoneVerify$onViewBound$3(this)); registerForContextMenu(getBinding().f2114c); - SmsListener.Companion.startSmsListener(requireContext(), new WidgetAuthPhoneVerify$onViewBound$4(this)); + SmsListener.Companion.startSmsListener(new WidgetAuthPhoneVerify$onViewBound$4(this)); } } diff --git a/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet$hideAnnouncementChannels$2.java b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet$hideAnnouncementChannels$2.java new file mode 100644 index 0000000000..9745017c10 --- /dev/null +++ b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet$hideAnnouncementChannels$2.java @@ -0,0 +1,22 @@ +package com.discord.widgets.channels; + +import c0.z.d.o; +import kotlin.jvm.functions.Function0; +/* compiled from: WidgetChannelPickerBottomSheet.kt */ +public final class WidgetChannelPickerBottomSheet$hideAnnouncementChannels$2 extends o implements Function0 { + public final /* synthetic */ WidgetChannelPickerBottomSheet this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetChannelPickerBottomSheet$hideAnnouncementChannels$2(WidgetChannelPickerBottomSheet widgetChannelPickerBottomSheet) { + super(0); + this.this$0 = widgetChannelPickerBottomSheet; + } + + /* Return type fixed from 'boolean' to match base method */ + /* JADX WARNING: Unknown variable types count: 1 */ + @Override // kotlin.jvm.functions.Function0 + /* renamed from: invoke */ + public final Boolean mo17invoke() { + return WidgetChannelPickerBottomSheet.access$getArgumentsOrDefault$p(this.this$0).getBoolean("ARG_HIDE_ANNOUNCEMENT_CHANNELS", false); + } +} diff --git a/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet$viewModel$2.java b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet$viewModel$2.java index a6908536dd..d9a07ad1c5 100644 --- a/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet$viewModel$2.java +++ b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet$viewModel$2.java @@ -17,6 +17,6 @@ public final class WidgetChannelPickerBottomSheet$viewModel$2 extends o implemen @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public final AppViewModel mo17invoke() { - return new WidgetChannelPickerBottomSheetViewModel(WidgetChannelPickerBottomSheet.access$getGuildId$p(this.this$0), WidgetChannelPickerBottomSheet.access$getSelectedChannelId$p(this.this$0), null, null, null, 28, null); + return new WidgetChannelPickerBottomSheetViewModel(WidgetChannelPickerBottomSheet.access$getGuildId$p(this.this$0), WidgetChannelPickerBottomSheet.access$getSelectedChannelId$p(this.this$0), WidgetChannelPickerBottomSheet.access$getHideAnnouncementChannels$p(this.this$0), null, null, null, 56, null); } } diff --git a/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet.java b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet.java index c0ea2c9b17..7e9b068594 100644 --- a/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet.java +++ b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheet.java @@ -37,6 +37,7 @@ import rx.subscriptions.CompositeSubscription; public final class WidgetChannelPickerBottomSheet extends AppBottomSheet { public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.Z(WidgetChannelPickerBottomSheet.class, "binding", "getBinding()Lcom/discord/databinding/WidgetChannelPickerSheetBinding;", 0)}; private static final String ARG_CHANNEL_PICKER_GUILD_ID = "ARG_CHANNEL_PICKER_GUILD_ID"; + private static final String ARG_HIDE_ANNOUNCEMENT_CHANNELS = "ARG_HIDE_ANNOUNCEMENT_CHANNELS"; private static final String ARG_REQUEST_KEY = "INTENT_EXTRA_REQUEST_CODE"; private static final String ARG_SELECTED_CHANNEL_ID = "ARG_SELECTED_CHANNEL_ID"; private static final int CHANNEL_PICKER_VIEW_FLIPPER_LOADING_STATE = 0; @@ -49,6 +50,7 @@ public final class WidgetChannelPickerBottomSheet extends AppBottomSheet { private WidgetchannelPickerAdapter adapter; private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetChannelPickerBottomSheet$binding$2.INSTANCE, null, 2, null); private final Lazy guildId$delegate = g.lazy(new WidgetChannelPickerBottomSheet$guildId$2(this)); + private final Lazy hideAnnouncementChannels$delegate = g.lazy(new WidgetChannelPickerBottomSheet$hideAnnouncementChannels$2(this)); private final WidgetChannelPickerBottomSheet$itemClickListener$1 itemClickListener; private Function0 onCancel; private final Lazy selectedChannelId$delegate = g.lazy(new WidgetChannelPickerBottomSheet$selectedChannelId$2(this)); @@ -77,17 +79,18 @@ public final class WidgetChannelPickerBottomSheet extends AppBottomSheet { this(); } - public static /* synthetic */ void launch$default(Companion companion, Fragment fragment, String str, long j, Long l, Function0 function0, int i, Object obj) { - companion.launch(fragment, str, j, (i & 8) != 0 ? null : l, (i & 16) != 0 ? null : function0); + public static /* synthetic */ void launch$default(Companion companion, Fragment fragment, String str, long j, Long l, Function0 function0, boolean z2, int i, Object obj) { + companion.launch(fragment, str, j, (i & 8) != 0 ? null : l, (i & 16) != 0 ? null : function0, (i & 32) != 0 ? false : z2); } - public final void launch(Fragment fragment, String str, long j, Long l, Function0 function0) { + public final void launch(Fragment fragment, String str, long j, Long l, Function0 function0, boolean z2) { m.checkNotNullParameter(fragment, "fragment"); m.checkNotNullParameter(str, "requestKey"); WidgetChannelPickerBottomSheet widgetChannelPickerBottomSheet = new WidgetChannelPickerBottomSheet(); Bundle bundle = new Bundle(); bundle.putString(WidgetChannelPickerBottomSheet.ARG_REQUEST_KEY, str); bundle.putLong(WidgetChannelPickerBottomSheet.ARG_CHANNEL_PICKER_GUILD_ID, j); + bundle.putBoolean(WidgetChannelPickerBottomSheet.ARG_HIDE_ANNOUNCEMENT_CHANNELS, z2); if (l != null) { bundle.putLong(WidgetChannelPickerBottomSheet.ARG_SELECTED_CHANNEL_ID, l.longValue()); } @@ -151,6 +154,10 @@ public final class WidgetChannelPickerBottomSheet extends AppBottomSheet { return widgetChannelPickerBottomSheet.getGuildId(); } + public static final /* synthetic */ boolean access$getHideAnnouncementChannels$p(WidgetChannelPickerBottomSheet widgetChannelPickerBottomSheet) { + return widgetChannelPickerBottomSheet.getHideAnnouncementChannels(); + } + public static final /* synthetic */ long access$getSelectedChannelId$p(WidgetChannelPickerBottomSheet widgetChannelPickerBottomSheet) { return widgetChannelPickerBottomSheet.getSelectedChannelId(); } @@ -190,6 +197,10 @@ public final class WidgetChannelPickerBottomSheet extends AppBottomSheet { return ((Number) this.guildId$delegate.getValue()).longValue(); } + private final boolean getHideAnnouncementChannels() { + return ((Boolean) this.hideAnnouncementChannels$delegate.getValue()).booleanValue(); + } + private final long getSelectedChannelId() { return ((Number) this.selectedChannelId$delegate.getValue()).longValue(); } diff --git a/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheetViewModel$Companion$observeStoreState$1.java b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheetViewModel$Companion$observeStoreState$1.java index a1f243f4ef..0172cf4a73 100644 --- a/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheetViewModel$Companion$observeStoreState$1.java +++ b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheetViewModel$Companion$observeStoreState$1.java @@ -12,13 +12,15 @@ import kotlin.jvm.functions.Function0; /* compiled from: WidgetChannelPickerBottomSheetViewModel.kt */ public final class WidgetChannelPickerBottomSheetViewModel$Companion$observeStoreState$1 extends o implements Function0 { public final /* synthetic */ long $guildId; + public final /* synthetic */ boolean $hideAnnouncementChannels; public final /* synthetic */ StoreChannels $storeChannels; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public WidgetChannelPickerBottomSheetViewModel$Companion$observeStoreState$1(StoreChannels storeChannels, long j) { + public WidgetChannelPickerBottomSheetViewModel$Companion$observeStoreState$1(StoreChannels storeChannels, long j, boolean z2) { super(0); this.$storeChannels = storeChannels; this.$guildId = j; + this.$hideAnnouncementChannels = z2; } @Override // kotlin.jvm.functions.Function0 @@ -27,7 +29,12 @@ public final class WidgetChannelPickerBottomSheetViewModel$Companion$observeStor Map channelsForGuild = this.$storeChannels.getChannelsForGuild(this.$guildId); LinkedHashMap linkedHashMap = new LinkedHashMap(); for (Map.Entry entry : channelsForGuild.entrySet()) { - if (!ChannelUtils.k(entry.getValue())) { + Channel value = entry.getValue(); + boolean z2 = false; + if (!ChannelUtils.k(value) && (!this.$hideAnnouncementChannels || !ChannelUtils.i(value))) { + z2 = true; + } + if (z2) { linkedHashMap.put(entry.getKey(), entry.getValue()); } } diff --git a/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheetViewModel.java b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheetViewModel.java index 2bfc34e8dc..ce1e663c37 100644 --- a/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheetViewModel.java +++ b/app/src/main/java/com/discord/widgets/channels/WidgetChannelPickerBottomSheetViewModel.java @@ -28,6 +28,7 @@ public final class WidgetChannelPickerBottomSheetViewModel extends AppViewModel< public static final Companion Companion = new Companion(null); private StoreState currentStoreState; private final long guildId; + private final boolean hideAnnouncementChannels; private String searchQuery; private final long selectedChannelId; @@ -66,12 +67,12 @@ public final class WidgetChannelPickerBottomSheetViewModel extends AppViewModel< this(); } - public static final /* synthetic */ Observable access$observeStoreState(Companion companion, long j, ObservationDeck observationDeck, StoreChannels storeChannels) { - return companion.observeStoreState(j, observationDeck, storeChannels); + public static final /* synthetic */ Observable access$observeStoreState(Companion companion, long j, ObservationDeck observationDeck, StoreChannels storeChannels, boolean z2) { + return companion.observeStoreState(j, observationDeck, storeChannels, z2); } - private final Observable observeStoreState(long j, ObservationDeck observationDeck, StoreChannels storeChannels) { - return ObservationDeck.connectRx$default(observationDeck, new ObservationDeck.UpdateSource[]{storeChannels}, false, null, null, new WidgetChannelPickerBottomSheetViewModel$Companion$observeStoreState$1(storeChannels, j), 14, null); + private final Observable observeStoreState(long j, ObservationDeck observationDeck, StoreChannels storeChannels, boolean z2) { + return ObservationDeck.connectRx$default(observationDeck, new ObservationDeck.UpdateSource[]{storeChannels}, false, null, null, new WidgetChannelPickerBottomSheetViewModel$Companion$observeStoreState$1(storeChannels, j, z2), 14, null); } } @@ -224,13 +225,14 @@ public final class WidgetChannelPickerBottomSheetViewModel extends AppViewModel< } /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public WidgetChannelPickerBottomSheetViewModel(long j, long j2, ObservationDeck observationDeck, StoreChannels storeChannels, Observable observable) { + public WidgetChannelPickerBottomSheetViewModel(long j, long j2, boolean z2, ObservationDeck observationDeck, StoreChannels storeChannels, Observable observable) { super(ViewState.Loading.INSTANCE); m.checkNotNullParameter(observationDeck, "observationDeck"); m.checkNotNullParameter(storeChannels, "storeChannels"); m.checkNotNullParameter(observable, "storeStateObservable"); this.guildId = j; this.selectedChannelId = j2; + this.hideAnnouncementChannels = z2; this.searchQuery = ""; Observable q = observable.q(); m.checkNotNullExpressionValue(q, "storeStateObservable\n … .distinctUntilChanged()"); @@ -238,10 +240,10 @@ public final class WidgetChannelPickerBottomSheetViewModel extends AppViewModel< } /* JADX WARNING: Illegal instructions before constructor call */ - public /* synthetic */ WidgetChannelPickerBottomSheetViewModel(long j, long j2, ObservationDeck observationDeck, StoreChannels storeChannels, Observable observable, int i, DefaultConstructorMarker defaultConstructorMarker) { - this(j, j2, r6, r7, (i & 16) != 0 ? Companion.access$observeStoreState(Companion, j, r6, r7) : observable); - ObservationDeck observationDeck2 = (i & 4) != 0 ? ObservationDeckProvider.get() : observationDeck; - StoreChannels channels = (i & 8) != 0 ? StoreStream.Companion.getChannels() : storeChannels; + public /* synthetic */ WidgetChannelPickerBottomSheetViewModel(long j, long j2, boolean z2, ObservationDeck observationDeck, StoreChannels storeChannels, Observable observable, int i, DefaultConstructorMarker defaultConstructorMarker) { + this(j, j2, z2, r7, r8, (i & 32) != 0 ? Companion.access$observeStoreState(Companion, j, r7, r8, z2) : observable); + ObservationDeck observationDeck2 = (i & 8) != 0 ? ObservationDeckProvider.get() : observationDeck; + StoreChannels channels = (i & 16) != 0 ? StoreStream.Companion.getChannels() : storeChannels; } public static final /* synthetic */ void access$handleStoreState(WidgetChannelPickerBottomSheetViewModel widgetChannelPickerBottomSheetViewModel, StoreState storeState) { diff --git a/app/src/main/java/com/discord/widgets/channels/WidgetCreateChannel$disableAnnouncementChannelType$2.java b/app/src/main/java/com/discord/widgets/channels/WidgetCreateChannel$disableAnnouncementChannelType$2.java new file mode 100644 index 0000000000..43bad4c05e --- /dev/null +++ b/app/src/main/java/com/discord/widgets/channels/WidgetCreateChannel$disableAnnouncementChannelType$2.java @@ -0,0 +1,22 @@ +package com.discord.widgets.channels; + +import c0.z.d.o; +import kotlin.jvm.functions.Function0; +/* compiled from: WidgetCreateChannel.kt */ +public final class WidgetCreateChannel$disableAnnouncementChannelType$2 extends o implements Function0 { + public final /* synthetic */ WidgetCreateChannel this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetCreateChannel$disableAnnouncementChannelType$2(WidgetCreateChannel widgetCreateChannel) { + super(0); + this.this$0 = widgetCreateChannel; + } + + /* Return type fixed from 'boolean' to match base method */ + /* JADX WARNING: Unknown variable types count: 1 */ + @Override // kotlin.jvm.functions.Function0 + /* renamed from: invoke */ + public final Boolean mo17invoke() { + return this.this$0.getMostRecentIntent().getBooleanExtra("INTENT_DISABLE_ANNOUNCEMENT_CHANNEL_TYPE", false); + } +} diff --git a/app/src/main/java/com/discord/widgets/channels/WidgetCreateChannel.java b/app/src/main/java/com/discord/widgets/channels/WidgetCreateChannel.java index f967e99129..ec51f3d73b 100644 --- a/app/src/main/java/com/discord/widgets/channels/WidgetCreateChannel.java +++ b/app/src/main/java/com/discord/widgets/channels/WidgetCreateChannel.java @@ -67,6 +67,7 @@ public final class WidgetCreateChannel extends AppFragment { public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.Z(WidgetCreateChannel.class, "binding", "getBinding()Lcom/discord/databinding/WidgetCreateChannelBinding;", 0)}; public static final Companion Companion = new Companion(null); private static final String INTENT_CATEGORY_ID = "INTENT_CATEGORY_ID"; + private static final String INTENT_DISABLE_ANNOUNCEMENT_CHANNEL_TYPE = "INTENT_DISABLE_ANNOUNCEMENT_CHANNEL_TYPE"; private static final String INTENT_DISABLE_PRIVATE_SWITCH = "INTENT_DISABLE_PRIVATE_SWITCH"; private static final String INTENT_GUILD_ID = "INTENT_GUILD_ID"; private static final String INTENT_PROVIDE_RESULT_ONLY = "INTENT_PROVIDE_RESULT_ONLY"; @@ -77,6 +78,7 @@ public final class WidgetCreateChannel extends AppFragment { private static final String RESULT_EXTRA_CHANNEL_NAME = "RESULT_EXTRA_CHANNEL_NAME"; private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetCreateChannel$binding$2.INSTANCE, null, 2, null); private final Lazy categoryId$delegate = g.lazy(new WidgetCreateChannel$categoryId$2(this)); + private final Lazy disableAnnouncementChannelType$delegate = g.lazy(new WidgetCreateChannel$disableAnnouncementChannelType$2(this)); private final Lazy disablePrivateSwitch$delegate = g.lazy(new WidgetCreateChannel$disablePrivateSwitch$2(this)); private final Lazy guildId$delegate = g.lazy(new WidgetCreateChannel$guildId$2(this)); private final LoggingConfig loggingConfig = new LoggingConfig(false, null, WidgetCreateChannel$loggingConfig$1.INSTANCE, 3); @@ -94,8 +96,8 @@ public final class WidgetCreateChannel extends AppFragment { this(); } - public static /* synthetic */ void launch$default(Companion companion, Context context, ActivityResultLauncher activityResultLauncher, long j, int i, Long l, boolean z2, boolean z3, boolean z4, int i2, Object obj) { - companion.launch(context, activityResultLauncher, j, (i2 & 8) != 0 ? 0 : i, (i2 & 16) != 0 ? null : l, (i2 & 32) != 0 ? false : z2, (i2 & 64) != 0 ? false : z3, (i2 & 128) != 0 ? false : z4); + public static /* synthetic */ void launch$default(Companion companion, Context context, ActivityResultLauncher activityResultLauncher, long j, int i, Long l, boolean z2, boolean z3, boolean z4, boolean z5, int i2, Object obj) { + companion.launch(context, activityResultLauncher, j, (i2 & 8) != 0 ? 0 : i, (i2 & 16) != 0 ? null : l, (i2 & 32) != 0 ? false : z2, (i2 & 64) != 0 ? false : z3, (i2 & 128) != 0 ? false : z4, (i2 & 256) != 0 ? false : z5); } public static /* synthetic */ void show$default(Companion companion, Context context, long j, int i, Long l, int i2, Object obj) { @@ -106,7 +108,7 @@ public final class WidgetCreateChannel extends AppFragment { companion.show(context, j, i3, l); } - public final void launch(Context context, ActivityResultLauncher activityResultLauncher, long j, int i, Long l, boolean z2, boolean z3, boolean z4) { + public final void launch(Context context, ActivityResultLauncher activityResultLauncher, long j, int i, Long l, boolean z2, boolean z3, boolean z4, boolean z5) { m.checkNotNullParameter(context, "context"); m.checkNotNullParameter(activityResultLauncher, "launcher"); j jVar = j.g; @@ -117,6 +119,7 @@ public final class WidgetCreateChannel extends AppFragment { intent.putExtra(WidgetCreateChannel.INTENT_PROVIDE_RESULT_ONLY, z3); intent.putExtra(WidgetCreateChannel.INTENT_SHOULD_CHANNEL_DEFAULT_PRIVATE, z2); intent.putExtra(WidgetCreateChannel.INTENT_DISABLE_PRIVATE_SWITCH, z4); + intent.putExtra(WidgetCreateChannel.INTENT_DISABLE_ANNOUNCEMENT_CHANNEL_TYPE, z5); jVar.f(context, activityResultLauncher, WidgetCreateChannel.class, intent); } @@ -362,15 +365,15 @@ public final class WidgetCreateChannel extends AppFragment { AppFragment.setActionBarOptionsMenu$default(this, R.menu.menu_channel_create, new WidgetCreateChannel$configureUI$1(this), null, 4, null); ConstraintLayout constraintLayout = getBinding().b; m.checkNotNullExpressionValue(constraintLayout, "binding.createChannelAnnouncementsContainer"); - int i = 8; - constraintLayout.setVisibility(model.getCanCreateCommunityChannels() ? 0 : 8); + int i = 0; + constraintLayout.setVisibility(model.getCanCreateCommunityChannels() && !getDisableAnnouncementChannelType() ? 0 : 8); ConstraintLayout constraintLayout2 = getBinding().l; m.checkNotNullExpressionValue(constraintLayout2, "binding.createChannelStageContainer"); if (!model.getCanCreateCommunityChannels() || !model.getCanManageRoles()) { z2 = false; } - if (z2) { - i = 0; + if (!z2) { + i = 8; } constraintLayout2.setVisibility(i); RolesAdapter rolesAdapter = this.rolesAdapter; @@ -414,6 +417,10 @@ public final class WidgetCreateChannel extends AppFragment { return radioButton3.isChecked() ? 13 : 0; } + private final boolean getDisableAnnouncementChannelType() { + return ((Boolean) this.disableAnnouncementChannelType$delegate.getValue()).booleanValue(); + } + private final boolean getDisablePrivateSwitch() { return ((Boolean) this.disablePrivateSwitch$delegate.getValue()).booleanValue(); } diff --git a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/setup/WidgetGuildRoleSubscriptionPlanSetup$onViewBound$$inlined$apply$lambda$1.java b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/setup/WidgetGuildRoleSubscriptionPlanSetup$onViewBound$$inlined$apply$lambda$1.java index 70d5063ded..bf59b27e7c 100644 --- a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/setup/WidgetGuildRoleSubscriptionPlanSetup$onViewBound$$inlined$apply$lambda$1.java +++ b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/setup/WidgetGuildRoleSubscriptionPlanSetup$onViewBound$$inlined$apply$lambda$1.java @@ -1,6 +1,7 @@ package com.discord.widgets.guild_role_subscriptions.setup; import c0.z.d.o; +import com.discord.widgets.servers.guild_role_subscription.WidgetServerSettingsEmptyGuildRoleSubscriptions; import java.util.List; import kotlin.Unit; import kotlin.jvm.functions.Function0; @@ -19,6 +20,7 @@ public final class WidgetGuildRoleSubscriptionPlanSetup$onViewBound$$inlined$app @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public final void mo17invoke() { + WidgetServerSettingsEmptyGuildRoleSubscriptions.Companion.launch(this.this$0.requireContext(), WidgetGuildRoleSubscriptionPlanSetup.access$getGuildId$p(this.this$0)); this.this$0.requireActivity().finish(); } } diff --git a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/setup/WidgetGuildRoleSubscriptionPlanSetup.java b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/setup/WidgetGuildRoleSubscriptionPlanSetup.java index 112b2ffd1b..518c27e4d8 100644 --- a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/setup/WidgetGuildRoleSubscriptionPlanSetup.java +++ b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/setup/WidgetGuildRoleSubscriptionPlanSetup.java @@ -30,6 +30,7 @@ import com.discord.widgets.guild_role_subscriptions.tier.create.WidgetGuildRoleS import com.discord.widgets.guild_role_subscriptions.tier.create.WidgetGuildRoleSubscriptionTierDetails; import com.discord.widgets.guild_role_subscriptions.tier.create.benefits.GuildRoleSubscriptionTierBenefitListType; import com.discord.widgets.guild_role_subscriptions.tier.create.benefits.WidgetGuildRoleSubscriptionTierBenefits; +import com.discord.widgets.servers.guild_role_subscription.WidgetServerSettingsGuildRoleSubscriptionTierList; import java.util.List; import kotlin.Lazy; import kotlin.jvm.functions.Function0; @@ -115,12 +116,13 @@ public final class WidgetGuildRoleSubscriptionPlanSetup extends AppFragment { private final void handleEvents(GuildRoleSubscriptionPlanSetupViewModel.Event event) { if (event instanceof GuildRoleSubscriptionPlanSetupViewModel.Event.SubmitSuccess) { + WidgetServerSettingsGuildRoleSubscriptionTierList.Companion.launch(requireContext(), getGuildId()); FragmentActivity activity = getActivity(); if (activity != null) { activity.finish(); } } else if (event instanceof GuildRoleSubscriptionPlanSetupViewModel.Event.SubmitFailure) { - c.a.d.m.i(this, R.string.default_failure_to_perform_action_message, 0, 4); + ((GuildRoleSubscriptionPlanSetupViewModel.Event.SubmitFailure) event).getError().showToasts(requireContext()); } } diff --git a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/GuildRoleSubscriptionTierListItemGeneratorKt.java b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/GuildRoleSubscriptionTierListItemGeneratorKt.java index 702d82aaf6..836777d88c 100644 --- a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/GuildRoleSubscriptionTierListItemGeneratorKt.java +++ b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/GuildRoleSubscriptionTierListItemGeneratorKt.java @@ -20,7 +20,7 @@ public final class GuildRoleSubscriptionTierListItemGeneratorKt { } if (guildRoleSubscriptionTier != null) { arrayList.add(new GuildRoleSubscriptionTierAdapterItem.Header(guildRoleSubscriptionTier.getName(), guildRoleSubscriptionTier.getPriceTier(), null, guildRoleSubscriptionTier.getImage(), guildRoleSubscriptionTier.getDescription(), 4, null)); - arrayList.add(new GuildRoleSubscriptionTierAdapterItem.MemberPreview(guildRoleSubscriptionTier.getMemberColor(), null, 2, null)); + arrayList.add(new GuildRoleSubscriptionTierAdapterItem.MemberPreview(guildRoleSubscriptionTier.getMemberColor(), guildRoleSubscriptionTier.getMemberIcon())); if (!guildRoleSubscriptionTier.getChannelBenefits().isEmpty()) { arrayList.add(new GuildRoleSubscriptionTierAdapterItem.SectionHeader(R.plurals.guild_role_subscription_tier_review_exclusive_channel_header_count, guildRoleSubscriptionTier.getChannelBenefits().size())); int i2 = 0; diff --git a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/CreateGuildRoleSubscriptionTierViewModel$submit$2.java b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/CreateGuildRoleSubscriptionTierViewModel$submit$2.java index 40f75ac4e2..f6e3735d7b 100644 --- a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/CreateGuildRoleSubscriptionTierViewModel$submit$2.java +++ b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/CreateGuildRoleSubscriptionTierViewModel$submit$2.java @@ -25,9 +25,9 @@ public final class CreateGuildRoleSubscriptionTierViewModel$submit$2 extends o i } public final void invoke(Error error) { - m.checkNotNullParameter(error, "it"); + m.checkNotNullParameter(error, "error"); CreateGuildRoleSubscriptionTierViewModel createGuildRoleSubscriptionTierViewModel = this.this$0; createGuildRoleSubscriptionTierViewModel.updateViewState(CreateGuildRoleSubscriptionTierViewModel.ViewState.copy$default(CreateGuildRoleSubscriptionTierViewModel.access$requireViewState(createGuildRoleSubscriptionTierViewModel), 0, false, false, null, 11, null)); - CreateGuildRoleSubscriptionTierViewModel.access$emitEvent(this.this$0, CreateGuildRoleSubscriptionTierViewModel.Event.SubmitFailure.INSTANCE); + CreateGuildRoleSubscriptionTierViewModel.access$emitEvent(this.this$0, new CreateGuildRoleSubscriptionTierViewModel.Event.SubmitFailure(error)); } } diff --git a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/CreateGuildRoleSubscriptionTierViewModel.java b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/CreateGuildRoleSubscriptionTierViewModel.java index 13278451e2..61eef1112b 100644 --- a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/CreateGuildRoleSubscriptionTierViewModel.java +++ b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/CreateGuildRoleSubscriptionTierViewModel.java @@ -9,6 +9,7 @@ import com.discord.app.AppViewModel; import com.discord.stores.StoreGuildRoleSubscriptions; import com.discord.stores.StoreStream; import com.discord.utilities.color.ColorCompat; +import com.discord.utilities.error.Error; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.widgets.guild_role_subscriptions.GuildRoleSubscriptionUtils; @@ -46,10 +47,55 @@ public final class CreateGuildRoleSubscriptionTierViewModel extends AppViewModel /* compiled from: CreateGuildRoleSubscriptionTierViewModel.kt */ public static final class SubmitFailure extends Event { - public static final SubmitFailure INSTANCE = new SubmitFailure(); + private final Error error; - private SubmitFailure() { + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public SubmitFailure(Error error) { super(null); + m.checkNotNullParameter(error, "error"); + this.error = error; + } + + public static /* synthetic */ SubmitFailure copy$default(SubmitFailure submitFailure, Error error, int i, Object obj) { + if ((i & 1) != 0) { + error = submitFailure.error; + } + return submitFailure.copy(error); + } + + public final Error component1() { + return this.error; + } + + public final SubmitFailure copy(Error error) { + m.checkNotNullParameter(error, "error"); + return new SubmitFailure(error); + } + + public boolean equals(Object obj) { + if (this != obj) { + return (obj instanceof SubmitFailure) && m.areEqual(this.error, ((SubmitFailure) obj).error); + } + return true; + } + + public final Error getError() { + return this.error; + } + + public int hashCode() { + Error error = this.error; + if (error != null) { + return error.hashCode(); + } + return 0; + } + + public String toString() { + StringBuilder O = a.O("SubmitFailure(error="); + O.append(this.error); + O.append(")"); + return O.toString(); } } diff --git a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/WidgetCreateGuildRoleSubscriptionTier.java b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/WidgetCreateGuildRoleSubscriptionTier.java index 13c0c56f52..2cace1ac45 100644 --- a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/WidgetCreateGuildRoleSubscriptionTier.java +++ b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/WidgetCreateGuildRoleSubscriptionTier.java @@ -130,7 +130,7 @@ public final class WidgetCreateGuildRoleSubscriptionTier extends AppFragment { activity.finish(); } } else if (event instanceof CreateGuildRoleSubscriptionTierViewModel.Event.SubmitFailure) { - c.a.d.m.i(this, R.string.default_failure_to_perform_action_message, 0, 4); + ((CreateGuildRoleSubscriptionTierViewModel.Event.SubmitFailure) event).getError().showToasts(requireContext()); } } diff --git a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/WidgetGuildRoleSubscriptionTierDetails.java b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/WidgetGuildRoleSubscriptionTierDetails.java index 8627a5162d..47530c39fd 100644 --- a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/WidgetGuildRoleSubscriptionTierDetails.java +++ b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/WidgetGuildRoleSubscriptionTierDetails.java @@ -108,13 +108,22 @@ public final class WidgetGuildRoleSubscriptionTierDetails extends AppFragment { m.checkNotNullExpressionValue(context, "binding.root.context"); textView.setText(PremiumUtilsKt.getFormattedPriceUsd(intValue, context)); } - if (m.areEqual(guildRoleSubscriptionTier.isPublished(), Boolean.TRUE)) { + Boolean isPublished = guildRoleSubscriptionTier.isPublished(); + Boolean bool = Boolean.TRUE; + if (m.areEqual(isPublished, bool)) { TextView textView2 = getBinding().g; m.checkNotNullExpressionValue(textView2, "binding.createSubscriptionTierPrice"); ViewExtensions.setCompoundDrawableWithIntrinsicBounds$default(textView2, 0, 0, R.drawable.ic_lock_white_a60_16dp, 0, 11, null); - return; + } else { + getBinding().g.setOnClickListener(new WidgetGuildRoleSubscriptionTierDetails$configureUI$1(this)); } - getBinding().g.setOnClickListener(new WidgetGuildRoleSubscriptionTierDetails$configureUI$1(this)); + TextView textView3 = getBinding().g; + m.checkNotNullExpressionValue(textView3, "binding.createSubscriptionTierPrice"); + boolean z2 = true; + if (guildRoleSubscriptionTier.getPriceTier() == null || !(!m.areEqual(guildRoleSubscriptionTier.isPublished(), bool))) { + z2 = false; + } + textView3.setSelected(z2); } private final WidgetGuildRoleSubscriptionDetailsBinding getBinding() { diff --git a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/benefits/WidgetGuildRoleSubscriptionTierBenefit$configureUI$1.java b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/benefits/WidgetGuildRoleSubscriptionTierBenefit$configureUI$1.java index 800c1b4edc..6bd622996c 100644 --- a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/benefits/WidgetGuildRoleSubscriptionTierBenefit$configureUI$1.java +++ b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/benefits/WidgetGuildRoleSubscriptionTierBenefit$configureUI$1.java @@ -39,6 +39,6 @@ public final class WidgetGuildRoleSubscriptionTierBenefit$configureUI$1 implemen public final void onClick(View view) { WidgetChannelPickerBottomSheet.Companion companion = WidgetChannelPickerBottomSheet.Companion; WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit = this.this$0; - companion.launch(widgetGuildRoleSubscriptionTierBenefit, "REQUEST_KEY_CHANNEL_PICKER", WidgetGuildRoleSubscriptionTierBenefit.access$getGuildId$p(widgetGuildRoleSubscriptionTierBenefit), this.$viewState.getChannelId(), new AnonymousClass1(this)); + companion.launch(widgetGuildRoleSubscriptionTierBenefit, "REQUEST_KEY_CHANNEL_PICKER", WidgetGuildRoleSubscriptionTierBenefit.access$getGuildId$p(widgetGuildRoleSubscriptionTierBenefit), this.$viewState.getChannelId(), new AnonymousClass1(this), true); } } diff --git a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/benefits/WidgetGuildRoleSubscriptionTierBenefit$configureUIForChannelBenefit$2.java b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/benefits/WidgetGuildRoleSubscriptionTierBenefit$configureUIForChannelBenefit$2.java index 497e201a49..f9fdf9317e 100644 --- a/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/benefits/WidgetGuildRoleSubscriptionTierBenefit$configureUIForChannelBenefit$2.java +++ b/app/src/main/java/com/discord/widgets/guild_role_subscriptions/tier/create/benefits/WidgetGuildRoleSubscriptionTierBenefit$configureUIForChannelBenefit$2.java @@ -17,6 +17,6 @@ public final class WidgetGuildRoleSubscriptionTierBenefit$configureUIForChannelB @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public final void mo17invoke() { - WidgetCreateChannel.Companion.launch$default(WidgetCreateChannel.Companion, this.this$0.requireContext(), WidgetGuildRoleSubscriptionTierBenefit.access$getCreateChannelLauncher$p(this.this$0), WidgetGuildRoleSubscriptionTierBenefit.access$getGuildId$p(this.this$0), 0, null, true, true, true, 24, null); + WidgetCreateChannel.Companion.launch$default(WidgetCreateChannel.Companion, this.this$0.requireContext(), WidgetGuildRoleSubscriptionTierBenefit.access$getCreateChannelLauncher$p(this.this$0), WidgetGuildRoleSubscriptionTierBenefit.access$getGuildId$p(this.this$0), 0, null, true, true, true, true, 24, null); } } diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue$guildScheduledEventDetailsNotice$1.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue$guildScheduledEventDetailsNotice$1.java index 9e7603e5a2..745d9e8806 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue$guildScheduledEventDetailsNotice$1.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue$guildScheduledEventDetailsNotice$1.java @@ -4,16 +4,21 @@ import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; import c0.z.d.m; import c0.z.d.o; +import com.discord.stores.StoreNotices; import com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventDetailsBottomSheet; import kotlin.jvm.functions.Function1; /* compiled from: WidgetGuildScheduledEventDetailsBottomSheet.kt */ public final class WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue$guildScheduledEventDetailsNotice$1 extends o implements Function1 { public final /* synthetic */ long $guildScheduledEventId; + public final /* synthetic */ String $noticeName; + public final /* synthetic */ StoreNotices $storeNotices; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue$guildScheduledEventDetailsNotice$1(long j) { + public WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue$guildScheduledEventDetailsNotice$1(long j, StoreNotices storeNotices, String str) { super(1); this.$guildScheduledEventId = j; + this.$storeNotices = storeNotices; + this.$noticeName = str; } /* Return type fixed from 'java.lang.Object' to match base method */ @@ -29,6 +34,7 @@ public final class WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue FragmentManager supportFragmentManager = fragmentActivity.getSupportFragmentManager(); m.checkNotNullExpressionValue(supportFragmentManager, "appActivity.supportFragmentManager"); companion.show(supportFragmentManager, this.$guildScheduledEventId); + StoreNotices.markSeen$default(this.$storeNotices, this.$noticeName, 0, 2, null); return true; } } diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsBottomSheet.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsBottomSheet.java index c911e72629..857999d9a5 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsBottomSheet.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsBottomSheet.java @@ -61,7 +61,14 @@ public final class WidgetGuildScheduledEventDetailsBottomSheet extends AppBottom } public final void enqueue(long j) { - StoreStream.Companion.getNotices().requestToShow(new StoreNotices.Notice(a.q("EVENTDETAILS-", j), null, 0, 0, false, m.listOf(a0.getOrCreateKotlinClass(WidgetHome.class)), 0, false, 0, new WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue$guildScheduledEventDetailsNotice$1(j), FontUtils.MAX_FONT_SCALING, null)); + StoreNotices notices = StoreStream.Companion.getNotices(); + String q = a.q("EVENTDETAILS-", j); + notices.requestToShow(new StoreNotices.Notice(q, null, 0, 0, false, m.listOf(a0.getOrCreateKotlinClass(WidgetHome.class)), 0, false, 0, new WidgetGuildScheduledEventDetailsBottomSheet$Companion$enqueue$guildScheduledEventDetailsNotice$1(j, notices, q), FontUtils.MAX_FONT_SCALING, null)); + } + + public final void handleInvalidEvent(Context context) { + c0.z.d.m.checkNotNullParameter(context, "context"); + c.a.d.m.g(context, R.string.inaccessible_channel_link_title, 0, null, 12); } public final void show(FragmentManager fragmentManager, long j) { diff --git a/app/src/main/java/com/discord/widgets/media/WidgetQRScanner.java b/app/src/main/java/com/discord/widgets/media/WidgetQRScanner.java index 9c93e8afce..7460c31d74 100644 --- a/app/src/main/java/com/discord/widgets/media/WidgetQRScanner.java +++ b/app/src/main/java/com/discord/widgets/media/WidgetQRScanner.java @@ -90,7 +90,7 @@ public final class WidgetQRScanner extends AppFragment implements ZXingScannerVi if (result != null && (str = result.a) != null) { Uri parse = Uri.parse(str); if (URLUtil.isValidUrl(str)) { - c.a.d.l0.a aVar = c.a.d.l0.a.E; + c.a.d.l0.a aVar = c.a.d.l0.a.F; m.checkNotNullExpressionValue(parse, NotificationCompat.MessagingStyle.Message.KEY_DATA_URI); } IntentUtils intentUtils = IntentUtils.INSTANCE; @@ -101,7 +101,7 @@ public final class WidgetQRScanner extends AppFragment implements ZXingScannerVi } String path = parse.getPath(); if (path != null) { - c.a.d.l0.a aVar2 = c.a.d.l0.a.E; + c.a.d.l0.a aVar2 = c.a.d.l0.a.F; Regex regex = c.a.d.l0.a.C; m.checkNotNullExpressionValue(path, "it"); matchResult = regex.matchEntire(path); diff --git a/app/src/main/java/com/discord/widgets/roles/RoleIconView.java b/app/src/main/java/com/discord/widgets/roles/RoleIconView.java index 30bd96e86e..e55dad3392 100644 --- a/app/src/main/java/com/discord/widgets/roles/RoleIconView.java +++ b/app/src/main/java/com/discord/widgets/roles/RoleIconView.java @@ -75,6 +75,20 @@ public final class RoleIconView extends FrameLayout { return false; } + private final void setIcon(GuildRole guildRole) { + if (hasIcon(guildRole)) { + SimpleDraweeView simpleDraweeView = this.binding.b; + m.checkNotNullExpressionValue(simpleDraweeView, "binding.roleIconIv"); + IconUtils.setIcon$default(simpleDraweeView, guildRole, (int) R.dimen.role_icon_size, (MGImages.ChangeDetector) null, 8, (Object) null); + } else if (hasUnicodeEmoji(guildRole)) { + ModelEmojiUnicode modelEmojiUnicode = StoreStream.Companion.getEmojis().getUnicodeEmojiSurrogateMap().get(guildRole.k()); + String imageUri = ModelEmojiUnicode.getImageUri(modelEmojiUnicode != null ? modelEmojiUnicode.getCodePoints() : null, getContext()); + SimpleDraweeView simpleDraweeView2 = this.binding.b; + m.checkNotNullExpressionValue(simpleDraweeView2, "binding.roleIconIv"); + IconUtils.setIcon$default(simpleDraweeView2, imageUri, 0, (Function1) null, (MGImages.ChangeDetector) null, 28, (Object) null); + } + } + private final void showRoleIconToast(Context context, GuildRole guildRole) { ModelEmojiUnicode modelEmojiUnicode; EmojiNode emojiNode = hasIcon(guildRole) ? new EmojiNode(guildRole.g(), new RoleIconView$showRoleIconToast$1(guildRole), new EmojiNode.EmojiIdAndType.Unicode(""), DimenUtils.dpToPixels(24), DimenUtils.dpToPixels(24)) : (!hasUnicodeEmoji(guildRole) || (modelEmojiUnicode = StoreStream.Companion.getEmojis().getUnicodeEmojiSurrogateMap().get(guildRole.k())) == null) ? null : EmojiNode.Companion.from(modelEmojiUnicode, DimenUtils.dpToPixels(24)); @@ -93,17 +107,7 @@ public final class RoleIconView extends FrameLayout { return; } setVisibility(0); - if (hasIcon(guildRole)) { - SimpleDraweeView simpleDraweeView = this.binding.b; - m.checkNotNullExpressionValue(simpleDraweeView, "binding.roleIconIv"); - IconUtils.setIcon$default(simpleDraweeView, guildRole, (int) R.dimen.role_icon_size, (MGImages.ChangeDetector) null, 8, (Object) null); - } else if (hasUnicodeEmoji(guildRole)) { - ModelEmojiUnicode modelEmojiUnicode = StoreStream.Companion.getEmojis().getUnicodeEmojiSurrogateMap().get(guildRole.k()); - String imageUri = ModelEmojiUnicode.getImageUri(modelEmojiUnicode != null ? modelEmojiUnicode.getCodePoints() : null, getContext()); - SimpleDraweeView simpleDraweeView2 = this.binding.b; - m.checkNotNullExpressionValue(simpleDraweeView2, "binding.roleIconIv"); - IconUtils.setIcon$default(simpleDraweeView2, imageUri, 0, (Function1) null, (MGImages.ChangeDetector) null, 28, (Object) null); - } + setIcon(guildRole); Context context = getContext(); m.checkNotNullExpressionValue(context, "context"); setContentDescription(b.h(context, R.string.role_icon_alt_text, new Object[]{guildRole.g()}, null, 4)); @@ -120,9 +124,7 @@ public final class RoleIconView extends FrameLayout { return; } setVisibility(0); - SimpleDraweeView simpleDraweeView = this.binding.b; - m.checkNotNullExpressionValue(simpleDraweeView, "binding.roleIconIv"); - IconUtils.setIcon$default(simpleDraweeView, guildRole, (int) R.dimen.role_icon_size, (MGImages.ChangeDetector) null, 8, (Object) null); + setIcon(guildRole); } public final void setRoleIconPreview(String str) { diff --git a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/ServerSettingsGuildRoleSubscriptionViewModel.java b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/ServerSettingsGuildRoleSubscriptionViewModel.java index a5ef51a23e..ad156ce0ac 100644 --- a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/ServerSettingsGuildRoleSubscriptionViewModel.java +++ b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/ServerSettingsGuildRoleSubscriptionViewModel.java @@ -517,8 +517,14 @@ public final class ServerSettingsGuildRoleSubscriptionViewModel extends AppViewM return publishSubject; } + /* JADX WARNING: Removed duplicated region for block: B:24:0x0042 */ + /* JADX WARNING: Removed duplicated region for block: B:25:0x0046 */ + /* JADX WARNING: Removed duplicated region for block: B:28:0x004d */ + /* JADX WARNING: Removed duplicated region for block: B:34:0x0066 */ + /* JADX WARNING: Removed duplicated region for block: B:35:0x006e */ public final void onGuildRoleSubscriptionGroupUpdated(String str, String str2, boolean z2) { boolean z3; + Boolean bool; boolean z4; ViewState requireViewState = requireViewState(); if (!(requireViewState instanceof ViewState.Loaded)) { @@ -529,32 +535,42 @@ public final class ServerSettingsGuildRoleSubscriptionViewModel extends AppViewM GuildRoleSubscriptionGroupListing guildRoleSubscriptionGroupListing = this.guildRoleSubscriptionGroupListing; boolean z5 = false; if (!m.areEqual(guildRoleSubscriptionGroupListing != null ? guildRoleSubscriptionGroupListing.c() : null, str)) { - this.editedGroupDescription = str; - z3 = true; - } else { - this.editedGroupDescription = null; - z3 = false; + if (!(str == null || t.isBlank(str))) { + this.editedGroupDescription = str; + z3 = true; + if (str2 == null || t.isBlank(str2)) { + z5 = true; + } + if (z5) { + this.editedGroupCoverImage = str2; + z3 = true; + } else { + this.editedGroupCoverImage = null; + } + bool = this.fullServerGatingOverwrite; + if (bool == null) { + GuildRoleSubscriptionGroupListing guildRoleSubscriptionGroupListing2 = this.guildRoleSubscriptionGroupListing; + bool = guildRoleSubscriptionGroupListing2 != null ? Boolean.valueOf(guildRoleSubscriptionGroupListing2.d()) : null; + } + if (!(!m.areEqual(bool, Boolean.valueOf(z2)))) { + this.editedIsFullServerGating = Boolean.valueOf(z2); + z4 = true; + } else { + this.editedIsFullServerGating = null; + z4 = z3; + } + updateViewState(ViewState.Loaded.copy$default(loaded, z4, false, 0, 6, null)); + } } - if (str2 == null || t.isBlank(str2)) { - z5 = true; + this.editedGroupDescription = null; + z3 = false; + z5 = true; + if (z5) { } - if (!z5) { - this.editedGroupCoverImage = str2; - z3 = true; - } else { - this.editedGroupCoverImage = null; - } - Boolean bool = this.fullServerGatingOverwrite; + bool = this.fullServerGatingOverwrite; if (bool == null) { - GuildRoleSubscriptionGroupListing guildRoleSubscriptionGroupListing2 = this.guildRoleSubscriptionGroupListing; - bool = guildRoleSubscriptionGroupListing2 != null ? Boolean.valueOf(guildRoleSubscriptionGroupListing2.d()) : null; } - if (!m.areEqual(bool, Boolean.valueOf(z2))) { - this.editedIsFullServerGating = Boolean.valueOf(z2); - z4 = true; - } else { - this.editedIsFullServerGating = null; - z4 = z3; + if (!(!m.areEqual(bool, Boolean.valueOf(z2)))) { } updateViewState(ViewState.Loaded.copy$default(loaded, z4, false, 0, 6, null)); } diff --git a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/WidgetServerSettingsEmptyGuildRoleSubscriptions$onViewBound$1.java b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/WidgetServerSettingsEmptyGuildRoleSubscriptions$onViewBound$1.java index a85572e6b6..2c1b65e73f 100644 --- a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/WidgetServerSettingsEmptyGuildRoleSubscriptions$onViewBound$1.java +++ b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/WidgetServerSettingsEmptyGuildRoleSubscriptions$onViewBound$1.java @@ -13,5 +13,6 @@ public final class WidgetServerSettingsEmptyGuildRoleSubscriptions$onViewBound$1 @Override // android.view.View.OnClickListener public final void onClick(View view) { WidgetGuildRoleSubscriptionPlanSetup.Companion.launch(this.this$0.requireContext(), WidgetServerSettingsEmptyGuildRoleSubscriptions.access$getGuildId$p(this.this$0)); + this.this$0.requireActivity().finish(); } } diff --git a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$deleteTier$2.java b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$deleteTier$2.java index 25aba03b19..76b13593c0 100644 --- a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$deleteTier$2.java +++ b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$deleteTier$2.java @@ -27,8 +27,8 @@ public final class ServerSettingsGuildRoleSubscriptionEditTierViewModel$deleteTi } public final void invoke(Error error) { - m.checkNotNullParameter(error, "it"); + m.checkNotNullParameter(error, "error"); ServerSettingsGuildRoleSubscriptionEditTierViewModel.access$updateViewState(this.this$0, ServerSettingsGuildRoleSubscriptionEditTierViewModel.ViewState.Loaded.copy$default(this.$viewState, false, false, null, false, 7, null)); - ServerSettingsGuildRoleSubscriptionEditTierViewModel.access$emitEvent(this.this$0, ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.DeleteFailure.INSTANCE); + ServerSettingsGuildRoleSubscriptionEditTierViewModel.access$emitEvent(this.this$0, new ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.DeleteFailure(error)); } } diff --git a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$publishTier$2.java b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$publishTier$2.java index 04e299d2d3..8854c18d03 100644 --- a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$publishTier$2.java +++ b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$publishTier$2.java @@ -27,8 +27,8 @@ public final class ServerSettingsGuildRoleSubscriptionEditTierViewModel$publishT } public final void invoke(Error error) { - m.checkNotNullParameter(error, "it"); + m.checkNotNullParameter(error, "error"); ServerSettingsGuildRoleSubscriptionEditTierViewModel.access$updateViewState(this.this$0, ServerSettingsGuildRoleSubscriptionEditTierViewModel.ViewState.Loaded.copy$default(this.$viewState, false, false, null, false, 7, null)); - ServerSettingsGuildRoleSubscriptionEditTierViewModel.access$emitEvent(this.this$0, ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.SubmitFailure.INSTANCE); + ServerSettingsGuildRoleSubscriptionEditTierViewModel.access$emitEvent(this.this$0, new ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.SubmitFailure(error)); } } diff --git a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$submitChanges$3.java b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$submitChanges$3.java index 507e2bcbf3..360a10109a 100644 --- a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$submitChanges$3.java +++ b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel$submitChanges$3.java @@ -27,8 +27,8 @@ public final class ServerSettingsGuildRoleSubscriptionEditTierViewModel$submitCh } public final void invoke(Error error) { - m.checkNotNullParameter(error, "it"); + m.checkNotNullParameter(error, "error"); ServerSettingsGuildRoleSubscriptionEditTierViewModel.access$updateViewState(this.this$0, ServerSettingsGuildRoleSubscriptionEditTierViewModel.ViewState.Loaded.copy$default(this.$viewState, false, false, null, false, 7, null)); - ServerSettingsGuildRoleSubscriptionEditTierViewModel.access$emitEvent(this.this$0, ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.SubmitFailure.INSTANCE); + ServerSettingsGuildRoleSubscriptionEditTierViewModel.access$emitEvent(this.this$0, new ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.SubmitFailure(error)); } } diff --git a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel.java b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel.java index bed20b4ec6..a184a42047 100644 --- a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel.java +++ b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/ServerSettingsGuildRoleSubscriptionEditTierViewModel.java @@ -3,6 +3,7 @@ package com.discord.widgets.servers.guild_role_subscription.edit_tier; import android.content.Context; import androidx.annotation.MainThread; import c.d.b.a.a; +import c0.g0.t; import c0.t.u; import c0.z.d.m; import c0.z.d.o; @@ -27,6 +28,7 @@ import com.discord.stores.updates.ObservationDeck; import com.discord.stores.updates.ObservationDeckProvider; import com.discord.utilities.channel.GuildChannelIconUtilsKt; import com.discord.utilities.color.ColorCompat; +import com.discord.utilities.error.Error; import com.discord.utilities.guilds.RoleUtils; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; @@ -113,10 +115,55 @@ public final class ServerSettingsGuildRoleSubscriptionEditTierViewModel extends /* compiled from: ServerSettingsGuildRoleSubscriptionEditTierViewModel.kt */ public static final class DeleteFailure extends Event { - public static final DeleteFailure INSTANCE = new DeleteFailure(); + private final Error error; - private DeleteFailure() { + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public DeleteFailure(Error error) { super(null); + m.checkNotNullParameter(error, "error"); + this.error = error; + } + + public static /* synthetic */ DeleteFailure copy$default(DeleteFailure deleteFailure, Error error, int i, Object obj) { + if ((i & 1) != 0) { + error = deleteFailure.error; + } + return deleteFailure.copy(error); + } + + public final Error component1() { + return this.error; + } + + public final DeleteFailure copy(Error error) { + m.checkNotNullParameter(error, "error"); + return new DeleteFailure(error); + } + + public boolean equals(Object obj) { + if (this != obj) { + return (obj instanceof DeleteFailure) && m.areEqual(this.error, ((DeleteFailure) obj).error); + } + return true; + } + + public final Error getError() { + return this.error; + } + + public int hashCode() { + Error error = this.error; + if (error != null) { + return error.hashCode(); + } + return 0; + } + + public String toString() { + StringBuilder O = a.O("DeleteFailure(error="); + O.append(this.error); + O.append(")"); + return O.toString(); } } @@ -185,10 +232,55 @@ public final class ServerSettingsGuildRoleSubscriptionEditTierViewModel extends /* compiled from: ServerSettingsGuildRoleSubscriptionEditTierViewModel.kt */ public static final class SubmitFailure extends Event { - public static final SubmitFailure INSTANCE = new SubmitFailure(); + private final Error error; - private SubmitFailure() { + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public SubmitFailure(Error error) { super(null); + m.checkNotNullParameter(error, "error"); + this.error = error; + } + + public static /* synthetic */ SubmitFailure copy$default(SubmitFailure submitFailure, Error error, int i, Object obj) { + if ((i & 1) != 0) { + error = submitFailure.error; + } + return submitFailure.copy(error); + } + + public final Error component1() { + return this.error; + } + + public final SubmitFailure copy(Error error) { + m.checkNotNullParameter(error, "error"); + return new SubmitFailure(error); + } + + public boolean equals(Object obj) { + if (this != obj) { + return (obj instanceof SubmitFailure) && m.areEqual(this.error, ((SubmitFailure) obj).error); + } + return true; + } + + public final Error getError() { + return this.error; + } + + public int hashCode() { + Error error = this.error; + if (error != null) { + return error.hashCode(); + } + return 0; + } + + public String toString() { + StringBuilder O = a.O("SubmitFailure(error="); + O.append(this.error); + O.append(")"); + return O.toString(); } } @@ -648,90 +740,188 @@ public final class ServerSettingsGuildRoleSubscriptionEditTierViewModel extends return publishSubject; } + /* JADX WARNING: Removed duplicated region for block: B:22:0x0050 */ + /* JADX WARNING: Removed duplicated region for block: B:23:0x0055 */ + /* JADX WARNING: Removed duplicated region for block: B:26:0x005d */ + /* JADX WARNING: Removed duplicated region for block: B:36:0x007c */ + /* JADX WARNING: Removed duplicated region for block: B:37:0x0084 */ + /* JADX WARNING: Removed duplicated region for block: B:40:0x008e */ + /* JADX WARNING: Removed duplicated region for block: B:41:0x0093 */ + /* JADX WARNING: Removed duplicated region for block: B:44:0x009b */ + /* JADX WARNING: Removed duplicated region for block: B:45:0x00a3 */ + /* JADX WARNING: Removed duplicated region for block: B:48:0x00ad */ + /* JADX WARNING: Removed duplicated region for block: B:49:0x00b2 */ + /* JADX WARNING: Removed duplicated region for block: B:52:0x00ba */ + /* JADX WARNING: Removed duplicated region for block: B:53:0x00c2 */ + /* JADX WARNING: Removed duplicated region for block: B:56:0x00ca */ + /* JADX WARNING: Removed duplicated region for block: B:57:0x00d2 */ + /* JADX WARNING: Removed duplicated region for block: B:60:0x00dc */ + /* JADX WARNING: Removed duplicated region for block: B:61:0x00e1 */ + /* JADX WARNING: Removed duplicated region for block: B:64:0x00e9 */ + /* JADX WARNING: Removed duplicated region for block: B:65:0x00f1 */ + /* JADX WARNING: Removed duplicated region for block: B:68:0x00fb */ + /* JADX WARNING: Removed duplicated region for block: B:69:0x0100 */ + /* JADX WARNING: Removed duplicated region for block: B:72:0x0108 */ + /* JADX WARNING: Removed duplicated region for block: B:73:0x0110 */ + /* JADX WARNING: Removed duplicated region for block: B:76:0x0118 */ + /* JADX WARNING: Removed duplicated region for block: B:77:0x011a */ public final void onTierUpdated(GuildRoleSubscriptionTier guildRoleSubscriptionTier) { + boolean z2; + String description; + GuildRoleSubscriptionTier guildRoleSubscriptionTier2; + Integer priceTier; + GuildRoleSubscriptionTier guildRoleSubscriptionTier3; + Integer memberColor; + GuildRoleSubscriptionTier guildRoleSubscriptionTier4; + List channelBenefits; + GuildRoleSubscriptionTier guildRoleSubscriptionTier5; + List intangibleBenefits; + GuildRoleSubscriptionTier guildRoleSubscriptionTier6; + boolean z3; String str; + String str2; m.checkNotNullParameter(guildRoleSubscriptionTier, "guildRoleSubscriptionTier"); ViewState requireViewState = requireViewState(); - String str2 = null; + String str3 = null; if (!(requireViewState instanceof ViewState.Loaded)) { requireViewState = null; } ViewState.Loaded loaded = (ViewState.Loaded) requireViewState; if (loaded != null) { - boolean z2 = false; String name = guildRoleSubscriptionTier.getName(); - GuildRoleSubscriptionTier guildRoleSubscriptionTier2 = this.storedGuildRoleSubscriptionTier; - boolean areEqual = m.areEqual(name, guildRoleSubscriptionTier2 != null ? guildRoleSubscriptionTier2.getName() : null); - boolean z3 = true; - if (!areEqual) { - this.editedTierName = guildRoleSubscriptionTier.getName(); - z2 = true; - } else { - this.editedTierName = null; + GuildRoleSubscriptionTier guildRoleSubscriptionTier7 = this.storedGuildRoleSubscriptionTier; + boolean z4 = false; + if (!m.areEqual(name, guildRoleSubscriptionTier7 != null ? guildRoleSubscriptionTier7.getName() : null)) { + String name2 = guildRoleSubscriptionTier.getName(); + if (!(name2 == null || t.isBlank(name2))) { + this.editedTierName = guildRoleSubscriptionTier.getName(); + z2 = true; + description = guildRoleSubscriptionTier.getDescription(); + guildRoleSubscriptionTier2 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(description, guildRoleSubscriptionTier2 == null ? guildRoleSubscriptionTier2.getDescription() : null)) { + String description2 = guildRoleSubscriptionTier.getDescription(); + if (description2 == null || t.isBlank(description2)) { + z4 = true; + } + if (!z4) { + this.editedTierDescription = guildRoleSubscriptionTier.getDescription(); + z2 = true; + if (guildRoleSubscriptionTier.getImage() != null) { + this.editedTierImage = guildRoleSubscriptionTier.getImage(); + z2 = true; + } else { + this.editedTierImage = null; + } + priceTier = guildRoleSubscriptionTier.getPriceTier(); + guildRoleSubscriptionTier3 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(priceTier, guildRoleSubscriptionTier3 != null ? guildRoleSubscriptionTier3.getPriceTier() : null)) { + this.editedTierPrice = guildRoleSubscriptionTier.getPriceTier(); + z2 = true; + } else { + this.editedTierPrice = null; + } + memberColor = guildRoleSubscriptionTier.getMemberColor(); + guildRoleSubscriptionTier4 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(memberColor, guildRoleSubscriptionTier4 != null ? guildRoleSubscriptionTier4.getMemberColor() : null)) { + this.editedMemberColor = guildRoleSubscriptionTier.getMemberColor(); + z2 = true; + } else { + this.editedMemberColor = null; + } + if (guildRoleSubscriptionTier.getMemberIcon() != null) { + this.editedMemberIcon = guildRoleSubscriptionTier.getMemberIcon(); + z2 = true; + } else { + this.editedMemberIcon = null; + } + channelBenefits = guildRoleSubscriptionTier.getChannelBenefits(); + guildRoleSubscriptionTier5 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(channelBenefits, guildRoleSubscriptionTier5 != null ? guildRoleSubscriptionTier5.getChannelBenefits() : null)) { + this.editedChannelBenefits = guildRoleSubscriptionTier.getChannelBenefits(); + z2 = true; + } else { + this.editedChannelBenefits = null; + } + intangibleBenefits = guildRoleSubscriptionTier.getIntangibleBenefits(); + guildRoleSubscriptionTier6 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(intangibleBenefits, guildRoleSubscriptionTier6 != null ? guildRoleSubscriptionTier6.getIntangibleBenefits() : null)) { + this.editedIntangibleBenefits = guildRoleSubscriptionTier.getIntangibleBenefits(); + z3 = true; + } else { + this.editedIntangibleBenefits = null; + z3 = z2; + } + str = this.editedTierName; + if (str != null) { + str2 = str; + } else { + GuildRoleSubscriptionTier guildRoleSubscriptionTier8 = this.storedGuildRoleSubscriptionTier; + if (guildRoleSubscriptionTier8 != null) { + str3 = guildRoleSubscriptionTier8.getName(); + } + str2 = str3; + } + updateViewState(ViewState.Loaded.copy$default(loaded, z3, false, str2, false, 10, null)); + } + } + this.editedTierDescription = null; + if (guildRoleSubscriptionTier.getImage() != null) { + } + priceTier = guildRoleSubscriptionTier.getPriceTier(); + guildRoleSubscriptionTier3 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(priceTier, guildRoleSubscriptionTier3 != null ? guildRoleSubscriptionTier3.getPriceTier() : null)) { + } + memberColor = guildRoleSubscriptionTier.getMemberColor(); + guildRoleSubscriptionTier4 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(memberColor, guildRoleSubscriptionTier4 != null ? guildRoleSubscriptionTier4.getMemberColor() : null)) { + } + if (guildRoleSubscriptionTier.getMemberIcon() != null) { + } + channelBenefits = guildRoleSubscriptionTier.getChannelBenefits(); + guildRoleSubscriptionTier5 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(channelBenefits, guildRoleSubscriptionTier5 != null ? guildRoleSubscriptionTier5.getChannelBenefits() : null)) { + } + intangibleBenefits = guildRoleSubscriptionTier.getIntangibleBenefits(); + guildRoleSubscriptionTier6 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(intangibleBenefits, guildRoleSubscriptionTier6 != null ? guildRoleSubscriptionTier6.getIntangibleBenefits() : null)) { + } + str = this.editedTierName; + if (str != null) { + } + updateViewState(ViewState.Loaded.copy$default(loaded, z3, false, str2, false, 10, null)); + } } - String description = guildRoleSubscriptionTier.getDescription(); - GuildRoleSubscriptionTier guildRoleSubscriptionTier3 = this.storedGuildRoleSubscriptionTier; - if (!m.areEqual(description, guildRoleSubscriptionTier3 != null ? guildRoleSubscriptionTier3.getDescription() : null)) { - this.editedTierDescription = guildRoleSubscriptionTier.getDescription(); - z2 = true; - } else { - this.editedTierDescription = null; + this.editedTierName = null; + z2 = false; + description = guildRoleSubscriptionTier.getDescription(); + guildRoleSubscriptionTier2 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(description, guildRoleSubscriptionTier2 == null ? guildRoleSubscriptionTier2.getDescription() : null)) { } + this.editedTierDescription = null; if (guildRoleSubscriptionTier.getImage() != null) { - this.editedTierImage = guildRoleSubscriptionTier.getImage(); - z2 = true; - } else { - this.editedTierImage = null; } - Integer priceTier = guildRoleSubscriptionTier.getPriceTier(); - GuildRoleSubscriptionTier guildRoleSubscriptionTier4 = this.storedGuildRoleSubscriptionTier; - if (!m.areEqual(priceTier, guildRoleSubscriptionTier4 != null ? guildRoleSubscriptionTier4.getPriceTier() : null)) { - this.editedTierPrice = guildRoleSubscriptionTier.getPriceTier(); - z2 = true; - } else { - this.editedTierPrice = null; + priceTier = guildRoleSubscriptionTier.getPriceTier(); + guildRoleSubscriptionTier3 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(priceTier, guildRoleSubscriptionTier3 != null ? guildRoleSubscriptionTier3.getPriceTier() : null)) { } - Integer memberColor = guildRoleSubscriptionTier.getMemberColor(); - GuildRoleSubscriptionTier guildRoleSubscriptionTier5 = this.storedGuildRoleSubscriptionTier; - if (!m.areEqual(memberColor, guildRoleSubscriptionTier5 != null ? guildRoleSubscriptionTier5.getMemberColor() : null)) { - this.editedMemberColor = guildRoleSubscriptionTier.getMemberColor(); - z2 = true; - } else { - this.editedMemberColor = null; + memberColor = guildRoleSubscriptionTier.getMemberColor(); + guildRoleSubscriptionTier4 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(memberColor, guildRoleSubscriptionTier4 != null ? guildRoleSubscriptionTier4.getMemberColor() : null)) { } if (guildRoleSubscriptionTier.getMemberIcon() != null) { - this.editedMemberIcon = guildRoleSubscriptionTier.getMemberIcon(); - z2 = true; - } else { - this.editedMemberIcon = null; } - List channelBenefits = guildRoleSubscriptionTier.getChannelBenefits(); - GuildRoleSubscriptionTier guildRoleSubscriptionTier6 = this.storedGuildRoleSubscriptionTier; - if (!m.areEqual(channelBenefits, guildRoleSubscriptionTier6 != null ? guildRoleSubscriptionTier6.getChannelBenefits() : null)) { - this.editedChannelBenefits = guildRoleSubscriptionTier.getChannelBenefits(); - z2 = true; - } else { - this.editedChannelBenefits = null; + channelBenefits = guildRoleSubscriptionTier.getChannelBenefits(); + guildRoleSubscriptionTier5 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(channelBenefits, guildRoleSubscriptionTier5 != null ? guildRoleSubscriptionTier5.getChannelBenefits() : null)) { } - List intangibleBenefits = guildRoleSubscriptionTier.getIntangibleBenefits(); - GuildRoleSubscriptionTier guildRoleSubscriptionTier7 = this.storedGuildRoleSubscriptionTier; - if (!m.areEqual(intangibleBenefits, guildRoleSubscriptionTier7 != null ? guildRoleSubscriptionTier7.getIntangibleBenefits() : null)) { - this.editedIntangibleBenefits = guildRoleSubscriptionTier.getIntangibleBenefits(); - } else { - this.editedIntangibleBenefits = null; - z3 = z2; + intangibleBenefits = guildRoleSubscriptionTier.getIntangibleBenefits(); + guildRoleSubscriptionTier6 = this.storedGuildRoleSubscriptionTier; + if (!m.areEqual(intangibleBenefits, guildRoleSubscriptionTier6 != null ? guildRoleSubscriptionTier6.getIntangibleBenefits() : null)) { } - String str3 = this.editedTierName; - if (str3 != null) { - str = str3; - } else { - GuildRoleSubscriptionTier guildRoleSubscriptionTier8 = this.storedGuildRoleSubscriptionTier; - if (guildRoleSubscriptionTier8 != null) { - str2 = guildRoleSubscriptionTier8.getName(); - } - str = str2; + str = this.editedTierName; + if (str != null) { } - updateViewState(ViewState.Loaded.copy$default(loaded, z3, false, str, false, 10, null)); + updateViewState(ViewState.Loaded.copy$default(loaded, z3, false, str2, false, 10, null)); } } diff --git a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/WidgetServerSettingsGuildRoleSubscriptionEditTier.java b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/WidgetServerSettingsGuildRoleSubscriptionEditTier.java index fff3a118e9..eb9e29dcf2 100644 --- a/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/WidgetServerSettingsGuildRoleSubscriptionEditTier.java +++ b/app/src/main/java/com/discord/widgets/servers/guild_role_subscription/edit_tier/WidgetServerSettingsGuildRoleSubscriptionEditTier.java @@ -19,6 +19,7 @@ import com.discord.R; import com.discord.app.AppFragment; import com.discord.app.AppViewFlipper; import com.discord.databinding.WidgetServerSettingsGuildRoleSubscriptionEditTierBinding; +import com.discord.utilities.error.Error; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.view.recycler.ViewPager2ExtensionsKt; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; @@ -168,14 +169,20 @@ public final class WidgetServerSettingsGuildRoleSubscriptionEditTier extends App return (ServerSettingsGuildRoleSubscriptionEditTierViewModel) this.viewModel$delegate.getValue(); } + private final void handleError(Error error) { + AppFragment.hideKeyboard$default(this, null, 1, null); + error.showToasts(requireContext()); + } + private final void handleEvents(ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event event) { if (event instanceof ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.StoredStateUpdate) { getTierViewModel().setTier(((ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.StoredStateUpdate) event).getGuildRoleSubscriptionTier()); } else if (event instanceof ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.SubmitSuccess) { AppFragment.hideKeyboard$default(this, null, 1, null); - } else if (m.areEqual(event, ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.SubmitFailure.INSTANCE) || m.areEqual(event, ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.DeleteFailure.INSTANCE)) { - AppFragment.hideKeyboard$default(this, null, 1, null); - c.a.d.m.i(this, R.string.default_failure_to_perform_action_message, 0, 4); + } else if (event instanceof ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.SubmitFailure) { + handleError(((ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.SubmitFailure) event).getError()); + } else if (event instanceof ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.DeleteFailure) { + handleError(((ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.DeleteFailure) event).getError()); } else if (m.areEqual(event, ServerSettingsGuildRoleSubscriptionEditTierViewModel.Event.DeleteSuccess.INSTANCE)) { AppFragment.hideKeyboard$default(this, null, 1, null); requireActivity().finish(); diff --git a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java index 50cadbda53..40d2d72f0e 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java @@ -313,7 +313,7 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi TextView textView = binding.f; m.checkNotNullExpressionValue(textView, "appInfoHeader"); String string = getString(R.string.app_information); - textView.setText(string + " - 100.4 - Alpha (100204)"); + textView.setText(string + " - 100.6 - Alpha (100206)"); binding.A.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$3(this)); binding.u.setOnClickListener(WidgetSettings$onViewBound$1$5.INSTANCE); binding.q.setOnClickListener(WidgetSettings$onViewBound$1$6.INSTANCE); diff --git a/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnections.java b/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnections.java index bba167bf28..11d7425309 100644 --- a/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnections.java +++ b/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnections.java @@ -33,6 +33,7 @@ import com.discord.models.domain.ModelConnectedAccountIntegration; import com.discord.stores.StoreStream; import com.discord.stores.StoreUserConnections; import com.discord.stores.StoreUserPresence; +import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.mg_recycler.MGRecyclerAdapter; import com.discord.utilities.mg_recycler.MGRecyclerAdapterSimple; import com.discord.utilities.mg_recycler.MGRecyclerDataPayload; @@ -164,8 +165,10 @@ public final class WidgetSettingsUserConnections extends AppFragment { m.checkNotNullExpressionValue(id2, "connectedAccount.id"); this.binding.a.setOnClickListener(new WidgetSettingsUserConnections$Adapter$ViewHolder$onConfigure$$inlined$apply$lambda$1(from, this, userConnectionItem)); ImageView imageView = this.binding.f2426c; - Integer platformImage = from.getPlatformImage(); - imageView.setImageResource(platformImage != null ? platformImage.intValue() : 0); + View view = this.itemView; + m.checkNotNullExpressionValue(view, "itemView"); + Integer themedPlatformImage = from.getThemedPlatformImage(); + imageView.setImageResource(DrawableCompat.getThemedDrawableRes$default(view, themedPlatformImage != null ? themedPlatformImage.intValue() : 0, 0, 2, (Object) null)); ImageView imageView2 = this.binding.f2426c; m.checkNotNullExpressionValue(imageView2, "binding.connectedAccountImg"); imageView2.setContentDescription(from.name()); diff --git a/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnectionsAdd$Adapter$ViewHolder$onConfigure$1.java b/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnectionsAdd$Adapter$ViewHolder$onConfigure$1.java index d6526910f0..f8fa46c3a2 100644 --- a/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnectionsAdd$Adapter$ViewHolder$onConfigure$1.java +++ b/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnectionsAdd$Adapter$ViewHolder$onConfigure$1.java @@ -20,7 +20,7 @@ public final class WidgetSettingsUserConnectionsAdd$Adapter$ViewHolder$onConfigu @Override // android.view.View.OnClickListener public final void onClick(View view) { this.this$0.getDialogDismissCallback().mo17invoke(); - if (this.$data.getPlatform().ordinal() != 0) { + if (this.$data.getPlatform().ordinal() != 11) { StoreUserConnections userConnections = StoreStream.Companion.getUserConnections(); String platformId = this.$data.getPlatform().getPlatformId(); m.checkNotNullExpressionValue(view, "v"); diff --git a/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnectionsAdd.java b/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnectionsAdd.java index 6eb47d8436..a2baba5b00 100644 --- a/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnectionsAdd.java +++ b/app/src/main/java/com/discord/widgets/settings/connections/WidgetSettingsUserConnectionsAdd.java @@ -18,6 +18,7 @@ import com.discord.R; import com.discord.app.AppBottomSheet; import com.discord.databinding.WidgetSettingsConnectionsAddBinding; import com.discord.databinding.WidgetSettingsItemAddConnectedAccountBinding; +import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.mg_recycler.MGRecyclerAdapter; import com.discord.utilities.mg_recycler.MGRecyclerAdapterSimple; import com.discord.utilities.mg_recycler.MGRecyclerDataPayload; @@ -51,7 +52,7 @@ public final class WidgetSettingsUserConnectionsAdd extends AppBottomSheet { static { Platform.values(); - int[] iArr = new int[18]; + int[] iArr = new int[14]; $EnumSwitchMapping$0 = iArr; iArr[Platform.XBOX.ordinal()] = 1; } @@ -90,8 +91,10 @@ public final class WidgetSettingsUserConnectionsAdd extends AppBottomSheet { m.checkNotNullExpressionValue(textView, "binding.addConnectedAccountText"); textView.setText(platformItem.getPlatform().getProperName()); ImageView imageView = this.binding.b; - Integer platformImage = platformItem.getPlatform().getPlatformImage(); - imageView.setImageResource(platformImage != null ? platformImage.intValue() : 0); + View view = this.itemView; + m.checkNotNullExpressionValue(view, "itemView"); + Integer themedPlatformImage = platformItem.getPlatform().getThemedPlatformImage(); + imageView.setImageResource(DrawableCompat.getThemedDrawableRes$default(view, themedPlatformImage != null ? themedPlatformImage.intValue() : 0, 0, 2, (Object) null)); this.itemView.setOnClickListener(new WidgetSettingsUserConnectionsAdd$Adapter$ViewHolder$onConfigure$1(this, platformItem)); } } @@ -227,7 +230,7 @@ public final class WidgetSettingsUserConnectionsAdd extends AppBottomSheet { super.onViewCreated(view, bundle); Platform[] values = Platform.values(); ArrayList arrayList = new ArrayList(); - for (int i = 0; i < 18; i++) { + for (int i = 0; i < 14; i++) { Platform platform = values[i]; if (platform.getEnabled()) { arrayList.add(platform); diff --git a/app/src/main/java/com/discord/widgets/status/WidgetGlobalStatusIndicator.java b/app/src/main/java/com/discord/widgets/status/WidgetGlobalStatusIndicator.java index 52a1c12c4b..2965caac6d 100644 --- a/app/src/main/java/com/discord/widgets/status/WidgetGlobalStatusIndicator.java +++ b/app/src/main/java/com/discord/widgets/status/WidgetGlobalStatusIndicator.java @@ -2,6 +2,7 @@ package com.discord.widgets.status; import android.content.Context; import android.graphics.drawable.Drawable; +import android.os.Build; import android.text.SpannableStringBuilder; import android.view.View; import android.widget.ImageView; @@ -166,18 +167,22 @@ public final class WidgetGlobalStatusIndicator extends AppFragment { m.checkNotNullExpressionValue(textView, "binding.indicatorText"); textView.setText(getString(R.string.connecting)); AnimatedVectorDrawableCompat animatedVectorDrawableCompat = null; - if (this.connectingVector == null) { + if (this.connectingVector == null && Build.VERSION.SDK_INT != 28) { this.connectingVector = AnimatedVectorDrawableCompat.create(requireContext(), DrawableCompat.getThemedDrawableRes$default(requireContext(), (int) R.attr.ic_network_connecting_animated_vector, 0, 2, (Object) null)); } ImageView imageView = getBinding().h; imageView.setVisibility(0); - AnimatedVectorDrawableCompat animatedVectorDrawableCompat2 = this.connectingVector; - if (animatedVectorDrawableCompat2 != null) { - animatedVectorDrawableCompat2.registerAnimationCallback(this.connectingVectorReplayCallback); - animatedVectorDrawableCompat2.start(); - animatedVectorDrawableCompat = animatedVectorDrawableCompat2; + if (Build.VERSION.SDK_INT != 28) { + AnimatedVectorDrawableCompat animatedVectorDrawableCompat2 = this.connectingVector; + if (animatedVectorDrawableCompat2 != null) { + animatedVectorDrawableCompat2.registerAnimationCallback(this.connectingVectorReplayCallback); + animatedVectorDrawableCompat2.start(); + animatedVectorDrawableCompat = animatedVectorDrawableCompat2; + } + imageView.setImageDrawable(animatedVectorDrawableCompat); + return; } - imageView.setImageDrawable(animatedVectorDrawableCompat); + imageView.setImageResource(DrawableCompat.getThemedDrawableRes$default(requireContext(), (int) R.attr.ic_network_connecting, 0, 2, (Object) null)); } private final void setupContainerClicks(WidgetGlobalStatusIndicatorViewModel.ViewState.CallOngoing callOngoing) { diff --git a/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneVerify$autofillCode$2.java b/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneVerify$autofillCode$2.java new file mode 100644 index 0000000000..49cf5ecd13 --- /dev/null +++ b/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneVerify$autofillCode$2.java @@ -0,0 +1,29 @@ +package com.discord.widgets.user.phone; + +import c0.z.d.o; +import kotlin.Unit; +import kotlin.jvm.functions.Function1; +/* compiled from: WidgetUserPhoneVerify.kt */ +public final class WidgetUserPhoneVerify$autofillCode$2 extends o implements Function1 { + public final /* synthetic */ String $verificationCode; + public final /* synthetic */ WidgetUserPhoneVerify this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetUserPhoneVerify$autofillCode$2(WidgetUserPhoneVerify widgetUserPhoneVerify, String str) { + super(1); + this.this$0 = widgetUserPhoneVerify; + this.$verificationCode = str; + } + + /* Return type fixed from 'java.lang.Object' to match base method */ + /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ + @Override // kotlin.jvm.functions.Function1 + public /* bridge */ /* synthetic */ Unit invoke(Long l) { + invoke(l); + return Unit.a; + } + + public final void invoke(Long l) { + WidgetUserPhoneVerify.access$handleCodeEntered(this.this$0, this.$verificationCode); + } +} diff --git a/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneVerify.java b/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneVerify.java index c0b824e444..81d9942b9a 100644 --- a/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneVerify.java +++ b/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneVerify.java @@ -29,8 +29,10 @@ import com.discord.widgets.user.account.WidgetUserAccountVerifyBase; import java.util.concurrent.TimeUnit; import kotlin.Unit; import kotlin.jvm.functions.Function0; +import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.reflect.KProperty; +import rx.Observable; /* compiled from: WidgetUserPhoneVerify.kt */ public final class WidgetUserPhoneVerify extends WidgetUserAccountVerifyBase { public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.Z(WidgetUserPhoneVerify.class, "binding", "getBinding()Lcom/discord/databinding/WidgetUserPhoneVerifyBinding;", 0)}; @@ -99,12 +101,15 @@ public final class WidgetUserPhoneVerify extends WidgetUserAccountVerifyBase { } private final void autofillCode(String str) { - WidgetUserPhoneVerifyBinding binding = getBinding(); - binding.d.setOnCodeEntered(WidgetUserPhoneVerify$autofillCode$1$1.INSTANCE); - binding.d.setCode(str); - binding.d.setOnCodeEntered(new WidgetUserPhoneVerify$autofillCode$1$2(this)); - Thread.sleep(TimeUnit.SECONDS.toMillis(5)); - handleCodeEntered(str); + if (getView() != null) { + WidgetUserPhoneVerifyBinding binding = getBinding(); + binding.d.setOnCodeEntered(WidgetUserPhoneVerify$autofillCode$1$1.INSTANCE); + binding.d.setCode(str); + binding.d.setOnCodeEntered(new WidgetUserPhoneVerify$autofillCode$1$2(this)); + Observable d02 = Observable.d0(500, TimeUnit.MILLISECONDS); + m.checkNotNullExpressionValue(d02, "Observable\n .time…L, TimeUnit.MILLISECONDS)"); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(d02, this, null, 2, null), WidgetUserPhoneVerify.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetUserPhoneVerify$autofillCode$2(this, str), 62, (Object) null); + } } private final WidgetUserPhoneVerifyBinding getBinding() { @@ -139,7 +144,7 @@ public final class WidgetUserPhoneVerify extends WidgetUserAccountVerifyBase { imageView.setVisibility(isForced() ? 8 : 0); binding.b.setOnClickListener(new WidgetUserPhoneVerify$onViewBound$$inlined$with$lambda$1(this)); if (GrowthTeamFeatures.INSTANCE.isAndroidSmsAutofillEnabled()) { - SmsListener.Companion.startSmsListener(requireContext(), new WidgetUserPhoneVerify$onViewBound$2(this)); + SmsListener.Companion.startSmsListener(new WidgetUserPhoneVerify$onViewBound$2(this)); } } } diff --git a/app/src/main/java/com/discord/widgets/user/presence/ViewHolderPlatformRichPresence.java b/app/src/main/java/com/discord/widgets/user/presence/ViewHolderPlatformRichPresence.java index 2681cabf78..3a898cce9f 100644 --- a/app/src/main/java/com/discord/widgets/user/presence/ViewHolderPlatformRichPresence.java +++ b/app/src/main/java/com/discord/widgets/user/presence/ViewHolderPlatformRichPresence.java @@ -21,6 +21,7 @@ import com.discord.models.user.User; import com.discord.stores.StoreStream; import com.discord.stores.StoreUserConnections; import com.discord.utilities.color.ColorCompat; +import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.icon.IconUtils; import com.discord.utilities.images.MGImages; import com.discord.utilities.platform.Platform; @@ -67,8 +68,8 @@ public final class ViewHolderPlatformRichPresence extends ViewHolderUserRichPres richPresenceImageSmall3.setImageDrawable(drawable); } } - if (platform == Platform.XBOX && platform.getPlatformImage() != null) { - MGImages.setImage$default(MGImages.INSTANCE, getRichPresenceImageLarge(), platform.getPlatformImage().intValue(), (MGImages.ChangeDetector) null, 4, (Object) null); + if (platform == Platform.XBOX && platform.getThemedPlatformImage() != null) { + MGImages.setImage$default(MGImages.INSTANCE, getRichPresenceImageLarge(), DrawableCompat.getThemedDrawableRes$default(getRichPresenceImageLarge(), platform.getThemedPlatformImage().intValue(), 0, 2, (Object) null), (MGImages.ChangeDetector) null, 4, (Object) null); } else if (getRichPresenceImageLarge().getVisibility() != 0) { if (!(modelRichPresence == null || (primaryApplication = modelRichPresence.getPrimaryApplication()) == null)) { long f = primaryApplication.f(); diff --git a/app/src/main/java/com/discord/widgets/user/profile/UserProfileConnectionsView$ViewHolder$onConfigure$1.java b/app/src/main/java/com/discord/widgets/user/profile/UserProfileConnectionsView$ViewHolder$onConfigure$1.java index 98b46bcf7f..56222be2de 100644 --- a/app/src/main/java/com/discord/widgets/user/profile/UserProfileConnectionsView$ViewHolder$onConfigure$1.java +++ b/app/src/main/java/com/discord/widgets/user/profile/UserProfileConnectionsView$ViewHolder$onConfigure$1.java @@ -10,8 +10,8 @@ import kotlin.jvm.functions.Function3; /* compiled from: UserProfileConnectionsView.kt */ public final class UserProfileConnectionsView$ViewHolder$onConfigure$1 implements View.OnClickListener { public final /* synthetic */ Platform $platform; - public final /* synthetic */ int $platformImageRes; public final /* synthetic */ String $profileUrl; + public final /* synthetic */ int $themedPlatformImageRes; public final /* synthetic */ String $username; public final /* synthetic */ UserProfileConnectionsView.ViewHolder this$0; @@ -19,7 +19,7 @@ public final class UserProfileConnectionsView$ViewHolder$onConfigure$1 implement this.this$0 = viewHolder; this.$platform = platform; this.$username = str; - this.$platformImageRes = i; + this.$themedPlatformImageRes = i; this.$profileUrl = str2; } @@ -29,6 +29,6 @@ public final class UserProfileConnectionsView$ViewHolder$onConfigure$1 implement Function3 onConnectedAccountClick = UserProfileConnectionsView.ViewHolder.access$getAdapter$p(this.this$0).getOnConnectedAccountClick(); String str = this.$username; m.checkNotNullExpressionValue(str, "username"); - onConnectedAccountClick.invoke(str, Integer.valueOf(this.$platformImageRes), this.$profileUrl); + onConnectedAccountClick.invoke(str, Integer.valueOf(this.$themedPlatformImageRes), this.$profileUrl); } } diff --git a/app/src/main/java/com/discord/widgets/user/profile/UserProfileConnectionsView.java b/app/src/main/java/com/discord/widgets/user/profile/UserProfileConnectionsView.java index 3bc272d44c..a5464f5a0c 100644 --- a/app/src/main/java/com/discord/widgets/user/profile/UserProfileConnectionsView.java +++ b/app/src/main/java/com/discord/widgets/user/profile/UserProfileConnectionsView.java @@ -15,6 +15,7 @@ import c0.z.d.m; import com.discord.R; import com.discord.databinding.UserProfileConnectionsViewBinding; import com.discord.models.domain.ModelConnectedAccount; +import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.mg_recycler.MGRecyclerAdapter; import com.discord.utilities.mg_recycler.MGRecyclerAdapterSimple; import com.discord.utilities.mg_recycler.MGRecyclerDataPayload; @@ -149,15 +150,17 @@ public final class UserProfileConnectionsView extends LinearLayout { ModelConnectedAccount connectedAccount = connectedAccountItem.getConnectedAccount(); String username = connectedAccount.getUsername(); Platform from = Platform.Companion.from(connectedAccount); - Integer platformImage = from.getPlatformImage(); - int intValue = platformImage != null ? platformImage.intValue() : 0; + Integer themedPlatformImage = from.getThemedPlatformImage(); + int intValue = themedPlatformImage != null ? themedPlatformImage.intValue() : 0; String profileUrl = from.getProfileUrl(connectedAccount); - ViewExtensions.setCompoundDrawableWithIntrinsicBounds$default(this.listItemTextView, intValue, 0, 0, 0, 14, null); - this.listItemTextView.setText(connectedAccount.getUsername()); TextView textView = this.listItemTextView; + Integer themedPlatformImage2 = from.getThemedPlatformImage(); + ViewExtensions.setCompoundDrawableWithIntrinsicBounds$default(textView, DrawableCompat.getThemedDrawableRes$default(textView, themedPlatformImage2 != null ? themedPlatformImage2.intValue() : 0, 0, 2, (Object) null), 0, 0, 0, 14, null); + this.listItemTextView.setText(connectedAccount.getUsername()); + TextView textView2 = this.listItemTextView; String format = String.format("%s, %s", Arrays.copyOf(new Object[]{connectedAccount.getType(), connectedAccount.getUsername()}, 2)); m.checkNotNullExpressionValue(format, "java.lang.String.format(format, *args)"); - textView.setContentDescription(format); + textView2.setContentDescription(format); this.itemView.setOnClickListener(new UserProfileConnectionsView$ViewHolder$onConfigure$1(this, from, username, intValue, profileUrl)); } } diff --git a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheet$configureConnectionsSection$onConnectedAccountClick$1.java b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheet$configureConnectionsSection$onConnectedAccountClick$1.java index f3cf3d8904..238e1ef29b 100644 --- a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheet$configureConnectionsSection$onConnectedAccountClick$1.java +++ b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheet$configureConnectionsSection$onConnectedAccountClick$1.java @@ -37,7 +37,7 @@ public final class WidgetUserSheet$configureConnectionsSection$onConnectedAccoun i iVar = new i(); Bundle bundle = new Bundle(); bundle.putString("ARG_USERNAME", str); - bundle.putInt("ARG_PLATFORM_IMAGE_RES", i); + bundle.putInt("ARG_THEMED_PLATFORM_IMAGE_RES", i); bundle.putString("ARG_PROFILE_URL", str2); iVar.setArguments(bundle); iVar.show(parentFragmentManager, i.class.getName()); diff --git a/app/src/main/res/color/guild_role_subscription_price_tier_text_color.xml b/app/src/main/res/color/guild_role_subscription_price_tier_text_color.xml new file mode 100644 index 0000000000..45219c417a --- /dev/null +++ b/app/src/main/res/color/guild_role_subscription_price_tier_text_color.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_bnet.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_bnet.xml deleted file mode 100644 index b2d066ab8c..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_bnet.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_facebook.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_facebook.xml deleted file mode 100644 index 99b0fdfe8c..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_facebook.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_github.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_github.xml deleted file mode 100644 index e6daafb524..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_github.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_github_light_24dp.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_github_light_24dp.xml new file mode 100644 index 0000000000..ae354eeb39 --- /dev/null +++ b/app/src/main/res/drawable-anydpi-v24/ic_account_github_light_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_github_white_24dp.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_github_white_24dp.xml new file mode 100644 index 0000000000..11db2be5b5 --- /dev/null +++ b/app/src/main/res/drawable-anydpi-v24/ic_account_github_white_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_lol.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_lol.xml deleted file mode 100644 index 8669c9b1d2..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_lol.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_obs.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_obs.xml deleted file mode 100644 index 64945cc905..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_obs.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_patreon.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_patreon.xml deleted file mode 100644 index 2c00706861..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_patreon.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_reddit.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_reddit.xml deleted file mode 100644 index 4c42a95311..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_reddit.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_skype.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_skype.xml deleted file mode 100644 index e0e0fd3a6c..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_skype.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_spotify.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_spotify.xml deleted file mode 100644 index 3e34027ed2..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_spotify.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_steam.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_steam.xml deleted file mode 100644 index 3b4cd387b1..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_steam.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_twitch.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_twitch.xml deleted file mode 100644 index e98e5df186..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_twitch.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_twitter.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_twitter.xml deleted file mode 100644 index f14380efa2..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_twitter.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_xbox.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_xbox.xml deleted file mode 100644 index 306ba81ae1..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_xbox.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_xsplit.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_xsplit.xml deleted file mode 100644 index fa1167d85a..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_account_xsplit.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_account_youtube_light_and_dark_24dp.xml b/app/src/main/res/drawable-anydpi-v24/ic_account_youtube_light_and_dark_24dp.xml new file mode 100644 index 0000000000..91aca64bfd --- /dev/null +++ b/app/src/main/res/drawable-anydpi-v24/ic_account_youtube_light_and_dark_24dp.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable-anydpi-v24/ic_facebook_white_24dp.xml b/app/src/main/res/drawable-anydpi-v24/ic_facebook_white_24dp.xml deleted file mode 100644 index a6abe4c0e3..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_facebook_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_github_white.xml b/app/src/main/res/drawable-anydpi-v24/ic_github_white.xml deleted file mode 100644 index 11e772d648..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_github_white.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_network_connecting.xml b/app/src/main/res/drawable-anydpi-v24/ic_network_connecting.xml new file mode 100644 index 0000000000..fb8bafdf62 --- /dev/null +++ b/app/src/main/res/drawable-anydpi-v24/ic_network_connecting.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable-anydpi-v24/ic_network_connecting_light.xml b/app/src/main/res/drawable-anydpi-v24/ic_network_connecting_light.xml new file mode 100644 index 0000000000..c224f4d058 --- /dev/null +++ b/app/src/main/res/drawable-anydpi-v24/ic_network_connecting_light.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable-anydpi-v24/ic_reddit_white_24dp.xml b/app/src/main/res/drawable-anydpi-v24/ic_reddit_white_24dp.xml deleted file mode 100644 index c176e44db1..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_reddit_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_twitch_white_24dp.xml b/app/src/main/res/drawable-anydpi-v24/ic_twitch_white_24dp.xml deleted file mode 100644 index 323ec410cb..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_twitch_white_24dp.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-anydpi-v24/ic_twitter_white_24dp.xml b/app/src/main/res/drawable-anydpi-v24/ic_twitter_white_24dp.xml deleted file mode 100644 index a98e869b21..0000000000 --- a/app/src/main/res/drawable-anydpi-v24/ic_twitter_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable-hdpi/ic_account_bnet.png b/app/src/main/res/drawable-hdpi/ic_account_bnet.png deleted file mode 100644 index 61dbae3cf6..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_bnet.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_facebook.png b/app/src/main/res/drawable-hdpi/ic_account_facebook.png deleted file mode 100644 index a968b0efe6..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_facebook.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_github.png b/app/src/main/res/drawable-hdpi/ic_account_github.png deleted file mode 100644 index f873b0da2d..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_github.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_github_light_24dp.png b/app/src/main/res/drawable-hdpi/ic_account_github_light_24dp.png new file mode 100644 index 0000000000..2f988cc07b Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_account_github_light_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_github_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_account_github_white_24dp.png new file mode 100644 index 0000000000..ea616f98e3 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_account_github_white_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_lol.png b/app/src/main/res/drawable-hdpi/ic_account_lol.png deleted file mode 100644 index 6aa87539be..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_lol.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_obs.png b/app/src/main/res/drawable-hdpi/ic_account_obs.png deleted file mode 100644 index eefb491341..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_obs.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_patreon.png b/app/src/main/res/drawable-hdpi/ic_account_patreon.png deleted file mode 100644 index 2222f060ef..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_patreon.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_reddit.png b/app/src/main/res/drawable-hdpi/ic_account_reddit.png deleted file mode 100644 index ab8c313bb5..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_reddit.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_skype.png b/app/src/main/res/drawable-hdpi/ic_account_skype.png deleted file mode 100644 index 0036188995..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_skype.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_spotify.png b/app/src/main/res/drawable-hdpi/ic_account_spotify.png deleted file mode 100644 index 8d9dfad8ec..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_spotify.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_steam.png b/app/src/main/res/drawable-hdpi/ic_account_steam.png deleted file mode 100644 index f763d7a1b1..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_steam.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_twitch.png b/app/src/main/res/drawable-hdpi/ic_account_twitch.png deleted file mode 100644 index 583141d4b4..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_twitch.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_twitter.png b/app/src/main/res/drawable-hdpi/ic_account_twitter.png deleted file mode 100644 index e81a800e35..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_twitter.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_xbox.png b/app/src/main/res/drawable-hdpi/ic_account_xbox.png deleted file mode 100644 index d255682732..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_xbox.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_xsplit.png b/app/src/main/res/drawable-hdpi/ic_account_xsplit.png deleted file mode 100644 index 25c9d4dd53..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_account_xsplit.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_account_youtube_light_and_dark_24dp.png b/app/src/main/res/drawable-hdpi/ic_account_youtube_light_and_dark_24dp.png new file mode 100644 index 0000000000..54cbd3808b Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_account_youtube_light_and_dark_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_facebook_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_facebook_white_24dp.png deleted file mode 100644 index e5787d2d57..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_facebook_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_github_white.png b/app/src/main/res/drawable-hdpi/ic_github_white.png deleted file mode 100644 index 6da166aae0..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_github_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_network_connecting.png b/app/src/main/res/drawable-hdpi/ic_network_connecting.png new file mode 100644 index 0000000000..1e2cf93b92 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_network_connecting.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_network_connecting_light.png b/app/src/main/res/drawable-hdpi/ic_network_connecting_light.png new file mode 100644 index 0000000000..92a6bfcab4 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_network_connecting_light.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_reddit_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_reddit_white_24dp.png deleted file mode 100644 index 18b5350cc3..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_reddit_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_twitch_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_twitch_white_24dp.png deleted file mode 100644 index 6eac2711e7..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_twitch_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_twitter_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_twitter_white_24dp.png deleted file mode 100644 index d87cd15ea5..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_twitter_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_bnet.png b/app/src/main/res/drawable-ldpi/ic_account_bnet.png deleted file mode 100644 index 530ee321b5..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_bnet.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_facebook.png b/app/src/main/res/drawable-ldpi/ic_account_facebook.png deleted file mode 100644 index 1d0f42be1c..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_facebook.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_github.png b/app/src/main/res/drawable-ldpi/ic_account_github.png deleted file mode 100644 index 0bac5143db..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_github.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_github_light_24dp.png b/app/src/main/res/drawable-ldpi/ic_account_github_light_24dp.png new file mode 100644 index 0000000000..91e29ee578 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_account_github_light_24dp.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_github_white_24dp.png b/app/src/main/res/drawable-ldpi/ic_account_github_white_24dp.png new file mode 100644 index 0000000000..86dfba2d81 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_account_github_white_24dp.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_lol.png b/app/src/main/res/drawable-ldpi/ic_account_lol.png deleted file mode 100644 index 40b95f64ee..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_lol.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_obs.png b/app/src/main/res/drawable-ldpi/ic_account_obs.png deleted file mode 100644 index 9a97ddb86e..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_obs.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_patreon.png b/app/src/main/res/drawable-ldpi/ic_account_patreon.png deleted file mode 100644 index 5233422859..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_patreon.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_reddit.png b/app/src/main/res/drawable-ldpi/ic_account_reddit.png deleted file mode 100644 index d1b8a25104..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_reddit.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_skype.png b/app/src/main/res/drawable-ldpi/ic_account_skype.png deleted file mode 100644 index 87275b48aa..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_skype.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_spotify.png b/app/src/main/res/drawable-ldpi/ic_account_spotify.png deleted file mode 100644 index 1226a8672c..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_spotify.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_steam.png b/app/src/main/res/drawable-ldpi/ic_account_steam.png deleted file mode 100644 index fc9cf9826f..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_steam.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_twitch.png b/app/src/main/res/drawable-ldpi/ic_account_twitch.png deleted file mode 100644 index a8d5832f87..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_twitch.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_twitter.png b/app/src/main/res/drawable-ldpi/ic_account_twitter.png deleted file mode 100644 index e37eb7d3d0..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_twitter.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_xbox.png b/app/src/main/res/drawable-ldpi/ic_account_xbox.png deleted file mode 100644 index 26460d942a..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_xbox.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_xsplit.png b/app/src/main/res/drawable-ldpi/ic_account_xsplit.png deleted file mode 100644 index dc15fedb08..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_account_xsplit.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_account_youtube_light_and_dark_24dp.png b/app/src/main/res/drawable-ldpi/ic_account_youtube_light_and_dark_24dp.png new file mode 100644 index 0000000000..1d3350ff94 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_account_youtube_light_and_dark_24dp.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_facebook_white_24dp.png b/app/src/main/res/drawable-ldpi/ic_facebook_white_24dp.png deleted file mode 100644 index 443dfe040d..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_facebook_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_github_white.png b/app/src/main/res/drawable-ldpi/ic_github_white.png deleted file mode 100644 index 2e49727ad2..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_github_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_network_connecting.png b/app/src/main/res/drawable-ldpi/ic_network_connecting.png new file mode 100644 index 0000000000..d099a0967f Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_network_connecting.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_network_connecting_light.png b/app/src/main/res/drawable-ldpi/ic_network_connecting_light.png new file mode 100644 index 0000000000..59673f585b Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_network_connecting_light.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_reddit_white_24dp.png b/app/src/main/res/drawable-ldpi/ic_reddit_white_24dp.png deleted file mode 100644 index 8328e5b769..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_reddit_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_twitch_white_24dp.png b/app/src/main/res/drawable-ldpi/ic_twitch_white_24dp.png deleted file mode 100644 index 76a4923d12..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_twitch_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_twitter_white_24dp.png b/app/src/main/res/drawable-ldpi/ic_twitter_white_24dp.png deleted file mode 100644 index 1226c33b1e..0000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_twitter_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_bnet.png b/app/src/main/res/drawable-mdpi/ic_account_bnet.png deleted file mode 100644 index 64dbcb4a6f..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_bnet.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_facebook.png b/app/src/main/res/drawable-mdpi/ic_account_facebook.png deleted file mode 100644 index 3a406c4198..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_facebook.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_github.png b/app/src/main/res/drawable-mdpi/ic_account_github.png deleted file mode 100644 index 25badc83ad..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_github.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_github_light_24dp.png b/app/src/main/res/drawable-mdpi/ic_account_github_light_24dp.png new file mode 100644 index 0000000000..f9bfb23f28 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_account_github_light_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_github_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_account_github_white_24dp.png new file mode 100644 index 0000000000..55eae1fc4e Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_account_github_white_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_lol.png b/app/src/main/res/drawable-mdpi/ic_account_lol.png deleted file mode 100644 index 2cd8850ece..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_lol.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_obs.png b/app/src/main/res/drawable-mdpi/ic_account_obs.png deleted file mode 100644 index 3ae834acbc..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_obs.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_patreon.png b/app/src/main/res/drawable-mdpi/ic_account_patreon.png deleted file mode 100644 index 3c0cd76e7d..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_patreon.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_reddit.png b/app/src/main/res/drawable-mdpi/ic_account_reddit.png deleted file mode 100644 index 9205a99346..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_reddit.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_skype.png b/app/src/main/res/drawable-mdpi/ic_account_skype.png deleted file mode 100644 index 1c138d0bf2..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_skype.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_spotify.png b/app/src/main/res/drawable-mdpi/ic_account_spotify.png deleted file mode 100644 index cb2707e899..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_spotify.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_steam.png b/app/src/main/res/drawable-mdpi/ic_account_steam.png deleted file mode 100644 index 1c0dac0ec0..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_steam.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_twitch.png b/app/src/main/res/drawable-mdpi/ic_account_twitch.png deleted file mode 100644 index dc90486fe9..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_twitch.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_twitter.png b/app/src/main/res/drawable-mdpi/ic_account_twitter.png deleted file mode 100644 index e6d5fadcda..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_twitter.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_xbox.png b/app/src/main/res/drawable-mdpi/ic_account_xbox.png deleted file mode 100644 index 1d091a80e3..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_xbox.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_xsplit.png b/app/src/main/res/drawable-mdpi/ic_account_xsplit.png deleted file mode 100644 index 3251e0a548..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_account_xsplit.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_account_youtube_light_and_dark_24dp.png b/app/src/main/res/drawable-mdpi/ic_account_youtube_light_and_dark_24dp.png new file mode 100644 index 0000000000..3a66660794 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_account_youtube_light_and_dark_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_facebook_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_facebook_white_24dp.png deleted file mode 100644 index bde96ad43a..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_facebook_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_github_white.png b/app/src/main/res/drawable-mdpi/ic_github_white.png deleted file mode 100644 index 923354f8e5..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_github_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_network_connecting.png b/app/src/main/res/drawable-mdpi/ic_network_connecting.png new file mode 100644 index 0000000000..65f2317e3f Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_network_connecting.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_network_connecting_light.png b/app/src/main/res/drawable-mdpi/ic_network_connecting_light.png new file mode 100644 index 0000000000..44d7edc420 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_network_connecting_light.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_reddit_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_reddit_white_24dp.png deleted file mode 100644 index ca551e1e06..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_reddit_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_twitch_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_twitch_white_24dp.png deleted file mode 100644 index 47317d7744..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_twitch_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_twitter_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_twitter_white_24dp.png deleted file mode 100644 index b151ab001b..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_twitter_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_bnet.png b/app/src/main/res/drawable-xhdpi/ic_account_bnet.png deleted file mode 100644 index 36e5211fa0..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_bnet.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_facebook.png b/app/src/main/res/drawable-xhdpi/ic_account_facebook.png deleted file mode 100644 index e8eaeebe42..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_facebook.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_github.png b/app/src/main/res/drawable-xhdpi/ic_account_github.png deleted file mode 100644 index a8f56491f7..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_github.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_github_light_24dp.png b/app/src/main/res/drawable-xhdpi/ic_account_github_light_24dp.png new file mode 100644 index 0000000000..e10210050f Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_account_github_light_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_github_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_account_github_white_24dp.png new file mode 100644 index 0000000000..5ac86b214b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_account_github_white_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_lol.png b/app/src/main/res/drawable-xhdpi/ic_account_lol.png deleted file mode 100644 index 3064d46d28..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_lol.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_obs.png b/app/src/main/res/drawable-xhdpi/ic_account_obs.png deleted file mode 100644 index edbb9b066d..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_obs.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_patreon.png b/app/src/main/res/drawable-xhdpi/ic_account_patreon.png deleted file mode 100644 index dfc8da4caf..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_patreon.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_reddit.png b/app/src/main/res/drawable-xhdpi/ic_account_reddit.png deleted file mode 100644 index ed3c398c13..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_reddit.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_skype.png b/app/src/main/res/drawable-xhdpi/ic_account_skype.png deleted file mode 100644 index fdd639e067..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_skype.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_spotify.png b/app/src/main/res/drawable-xhdpi/ic_account_spotify.png deleted file mode 100644 index be94714f63..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_spotify.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_steam.png b/app/src/main/res/drawable-xhdpi/ic_account_steam.png deleted file mode 100644 index a8cfd0d88e..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_steam.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_twitch.png b/app/src/main/res/drawable-xhdpi/ic_account_twitch.png deleted file mode 100644 index d7105a0a26..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_twitch.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_twitter.png b/app/src/main/res/drawable-xhdpi/ic_account_twitter.png deleted file mode 100644 index a313b7ef89..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_twitter.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_xbox.png b/app/src/main/res/drawable-xhdpi/ic_account_xbox.png deleted file mode 100644 index 44d0872c54..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_xbox.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_xsplit.png b/app/src/main/res/drawable-xhdpi/ic_account_xsplit.png deleted file mode 100644 index cf16a76716..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_account_xsplit.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_account_youtube_light_and_dark_24dp.png b/app/src/main/res/drawable-xhdpi/ic_account_youtube_light_and_dark_24dp.png new file mode 100644 index 0000000000..1c3204b85e Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_account_youtube_light_and_dark_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_facebook_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_facebook_white_24dp.png deleted file mode 100644 index 925b30972e..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_facebook_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_github_white.png b/app/src/main/res/drawable-xhdpi/ic_github_white.png deleted file mode 100644 index d3eac70b45..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_github_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_network_connecting.png b/app/src/main/res/drawable-xhdpi/ic_network_connecting.png new file mode 100644 index 0000000000..08db5eed42 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_network_connecting.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_network_connecting_light.png b/app/src/main/res/drawable-xhdpi/ic_network_connecting_light.png new file mode 100644 index 0000000000..cde084eeeb Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_network_connecting_light.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_reddit_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_reddit_white_24dp.png deleted file mode 100644 index 49b89348f7..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_reddit_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_twitch_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_twitch_white_24dp.png deleted file mode 100644 index 748ac134c4..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_twitch_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_twitter_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_twitter_white_24dp.png deleted file mode 100644 index 9e10ca04d4..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_twitter_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_bnet.png b/app/src/main/res/drawable-xxhdpi/ic_account_bnet.png deleted file mode 100644 index bad3bb5fa9..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_bnet.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_facebook.png b/app/src/main/res/drawable-xxhdpi/ic_account_facebook.png deleted file mode 100644 index 21b57e4ab2..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_facebook.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_github.png b/app/src/main/res/drawable-xxhdpi/ic_account_github.png deleted file mode 100644 index 0ba614d98b..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_github.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_github_light_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_account_github_light_24dp.png new file mode 100644 index 0000000000..40a403b113 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_account_github_light_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_github_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_account_github_white_24dp.png new file mode 100644 index 0000000000..7714706810 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_account_github_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_lol.png b/app/src/main/res/drawable-xxhdpi/ic_account_lol.png deleted file mode 100644 index fb6653b0e8..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_lol.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_obs.png b/app/src/main/res/drawable-xxhdpi/ic_account_obs.png deleted file mode 100644 index af33765870..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_obs.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_patreon.png b/app/src/main/res/drawable-xxhdpi/ic_account_patreon.png deleted file mode 100644 index fc00f4c3b0..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_patreon.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_reddit.png b/app/src/main/res/drawable-xxhdpi/ic_account_reddit.png deleted file mode 100644 index 4f3a7b82db..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_reddit.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_skype.png b/app/src/main/res/drawable-xxhdpi/ic_account_skype.png deleted file mode 100644 index b6bda67fef..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_skype.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_spotify.png b/app/src/main/res/drawable-xxhdpi/ic_account_spotify.png deleted file mode 100644 index 3660566b8c..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_spotify.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_steam.png b/app/src/main/res/drawable-xxhdpi/ic_account_steam.png deleted file mode 100644 index 7ca2f5ef54..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_steam.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_twitch.png b/app/src/main/res/drawable-xxhdpi/ic_account_twitch.png deleted file mode 100644 index 045381b560..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_twitch.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_twitter.png b/app/src/main/res/drawable-xxhdpi/ic_account_twitter.png deleted file mode 100644 index 02b629d118..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_twitter.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_xbox.png b/app/src/main/res/drawable-xxhdpi/ic_account_xbox.png deleted file mode 100644 index e827da9f91..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_xbox.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_xsplit.png b/app/src/main/res/drawable-xxhdpi/ic_account_xsplit.png deleted file mode 100644 index 8e811c393d..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_account_xsplit.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_account_youtube_light_and_dark_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_account_youtube_light_and_dark_24dp.png new file mode 100644 index 0000000000..9313989862 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_account_youtube_light_and_dark_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_facebook_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_facebook_white_24dp.png deleted file mode 100644 index 5921a464ac..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_facebook_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_github_white.png b/app/src/main/res/drawable-xxhdpi/ic_github_white.png deleted file mode 100644 index 92d342ef2a..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_github_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_network_connecting.png b/app/src/main/res/drawable-xxhdpi/ic_network_connecting.png new file mode 100644 index 0000000000..13fd851bf2 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_network_connecting.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_network_connecting_light.png b/app/src/main/res/drawable-xxhdpi/ic_network_connecting_light.png new file mode 100644 index 0000000000..4e6d2cb851 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_network_connecting_light.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_reddit_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_reddit_white_24dp.png deleted file mode 100644 index 6e747fb83a..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_reddit_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_twitch_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_twitch_white_24dp.png deleted file mode 100644 index 9b1a6a7c0d..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_twitch_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_twitter_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_twitter_white_24dp.png deleted file mode 100644 index 3070d88999..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_twitter_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_bnet.png b/app/src/main/res/drawable-xxxhdpi/ic_account_bnet.png deleted file mode 100644 index 9c2903616e..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_bnet.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_facebook.png b/app/src/main/res/drawable-xxxhdpi/ic_account_facebook.png deleted file mode 100644 index ec23ad9b6a..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_facebook.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_github.png b/app/src/main/res/drawable-xxxhdpi/ic_account_github.png deleted file mode 100644 index cc1491b681..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_github.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_github_light_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_account_github_light_24dp.png new file mode 100644 index 0000000000..336ba3f245 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_account_github_light_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_github_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_account_github_white_24dp.png new file mode 100644 index 0000000000..f3ca4cd3bf Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_account_github_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_lol.png b/app/src/main/res/drawable-xxxhdpi/ic_account_lol.png deleted file mode 100644 index 69c5868792..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_lol.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_obs.png b/app/src/main/res/drawable-xxxhdpi/ic_account_obs.png deleted file mode 100644 index 70a560a76a..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_obs.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_patreon.png b/app/src/main/res/drawable-xxxhdpi/ic_account_patreon.png deleted file mode 100644 index 0a815a2733..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_patreon.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_reddit.png b/app/src/main/res/drawable-xxxhdpi/ic_account_reddit.png deleted file mode 100644 index 2898cd012e..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_reddit.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_skype.png b/app/src/main/res/drawable-xxxhdpi/ic_account_skype.png deleted file mode 100644 index c321611a3f..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_skype.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_spotify.png b/app/src/main/res/drawable-xxxhdpi/ic_account_spotify.png deleted file mode 100644 index f3fd6febda..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_spotify.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_steam.png b/app/src/main/res/drawable-xxxhdpi/ic_account_steam.png deleted file mode 100644 index 582238e910..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_steam.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_twitch.png b/app/src/main/res/drawable-xxxhdpi/ic_account_twitch.png deleted file mode 100644 index bcb99d589e..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_twitch.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_twitter.png b/app/src/main/res/drawable-xxxhdpi/ic_account_twitter.png deleted file mode 100644 index 024186751b..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_twitter.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_xbox.png b/app/src/main/res/drawable-xxxhdpi/ic_account_xbox.png deleted file mode 100644 index 208a9eb55e..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_xbox.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_xsplit.png b/app/src/main/res/drawable-xxxhdpi/ic_account_xsplit.png deleted file mode 100644 index 937caf327a..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_account_xsplit.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_account_youtube_light_and_dark_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_account_youtube_light_and_dark_24dp.png new file mode 100644 index 0000000000..9783346bd3 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_account_youtube_light_and_dark_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_facebook_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_facebook_white_24dp.png deleted file mode 100644 index 15074b9dd4..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_facebook_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_github_white.png b/app/src/main/res/drawable-xxxhdpi/ic_github_white.png deleted file mode 100644 index 52af24e0fe..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_github_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_network_connecting.png b/app/src/main/res/drawable-xxxhdpi/ic_network_connecting.png new file mode 100644 index 0000000000..53b76982ad Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_network_connecting.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_network_connecting_light.png b/app/src/main/res/drawable-xxxhdpi/ic_network_connecting_light.png new file mode 100644 index 0000000000..4d68b7bc54 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_network_connecting_light.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_reddit_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_reddit_white_24dp.png deleted file mode 100644 index 521000c89a..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_reddit_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_twitch_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_twitch_white_24dp.png deleted file mode 100644 index 54e3f61794..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_twitch_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_twitter_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_twitter_white_24dp.png deleted file mode 100644 index 7872ee2c23..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_twitter_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable/ic_account_battlenet_light_and_dark_24dp.xml b/app/src/main/res/drawable/ic_account_battlenet_light_and_dark_24dp.xml new file mode 100644 index 0000000000..eb9bcf863b --- /dev/null +++ b/app/src/main/res/drawable/ic_account_battlenet_light_and_dark_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_battlenet_white_24dp.xml b/app/src/main/res/drawable/ic_account_battlenet_white_24dp.xml new file mode 100644 index 0000000000..8657637372 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_battlenet_white_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_facebook_light_and_dark_24dp.xml b/app/src/main/res/drawable/ic_account_facebook_light_and_dark_24dp.xml new file mode 100644 index 0000000000..d36b779639 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_facebook_light_and_dark_24dp.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_account_facebook_white_24dp.xml b/app/src/main/res/drawable/ic_account_facebook_white_24dp.xml new file mode 100644 index 0000000000..52019648f2 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_facebook_white_24dp.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_account_google.xml b/app/src/main/res/drawable/ic_account_google.xml deleted file mode 100644 index 829e503956..0000000000 --- a/app/src/main/res/drawable/ic_account_google.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable/ic_account_league_of_legends_light_and_dark_24dp.xml b/app/src/main/res/drawable/ic_account_league_of_legends_light_and_dark_24dp.xml new file mode 100644 index 0000000000..885cd60801 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_league_of_legends_light_and_dark_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_league_of_legends_white_24dp.xml b/app/src/main/res/drawable/ic_account_league_of_legends_white_24dp.xml new file mode 100644 index 0000000000..2f7d2f0c3c --- /dev/null +++ b/app/src/main/res/drawable/ic_account_league_of_legends_white_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_reddit_light_and_dark_24dp.xml b/app/src/main/res/drawable/ic_account_reddit_light_and_dark_24dp.xml new file mode 100644 index 0000000000..3480dc9064 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_reddit_light_and_dark_24dp.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_account_reddit_white_24dp.xml b/app/src/main/res/drawable/ic_account_reddit_white_24dp.xml new file mode 100644 index 0000000000..cf38d696a5 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_reddit_white_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_samsung_light_and_dark_24dp.xml b/app/src/main/res/drawable/ic_account_samsung_light_and_dark_24dp.xml new file mode 100644 index 0000000000..8699186bd6 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_samsung_light_and_dark_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_samsung_white_24dp.xml b/app/src/main/res/drawable/ic_account_samsung_white_24dp.xml new file mode 100644 index 0000000000..8dc84988af --- /dev/null +++ b/app/src/main/res/drawable/ic_account_samsung_white_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_skype_light_and_dark_24dp.xml b/app/src/main/res/drawable/ic_account_skype_light_and_dark_24dp.xml new file mode 100644 index 0000000000..4106ca54c5 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_skype_light_and_dark_24dp.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_account_skype_white_24dp.xml b/app/src/main/res/drawable/ic_account_skype_white_24dp.xml new file mode 100644 index 0000000000..75b7bdd399 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_skype_white_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_spotify_light_and_dark_24dp.xml b/app/src/main/res/drawable/ic_account_spotify_light_and_dark_24dp.xml new file mode 100644 index 0000000000..8b2858658c --- /dev/null +++ b/app/src/main/res/drawable/ic_account_spotify_light_and_dark_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_spotify_white_24dp.xml b/app/src/main/res/drawable/ic_account_spotify_white_24dp.xml new file mode 100644 index 0000000000..31e814aac8 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_spotify_white_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_steam_light_24dp.xml b/app/src/main/res/drawable/ic_account_steam_light_24dp.xml new file mode 100644 index 0000000000..904c69c06f --- /dev/null +++ b/app/src/main/res/drawable/ic_account_steam_light_24dp.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_account_steam_white_24dp.xml b/app/src/main/res/drawable/ic_account_steam_white_24dp.xml new file mode 100644 index 0000000000..3de42d05f9 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_steam_white_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_twitch_light_and_dark_24dp.xml b/app/src/main/res/drawable/ic_account_twitch_light_and_dark_24dp.xml new file mode 100644 index 0000000000..3c60dc7936 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_twitch_light_and_dark_24dp.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_account_twitch_white_24dp.xml b/app/src/main/res/drawable/ic_account_twitch_white_24dp.xml new file mode 100644 index 0000000000..c42a9e4e3c --- /dev/null +++ b/app/src/main/res/drawable/ic_account_twitch_white_24dp.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_account_twitter_light_and_dark_24dp.xml b/app/src/main/res/drawable/ic_account_twitter_light_and_dark_24dp.xml new file mode 100644 index 0000000000..00590d4489 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_twitter_light_and_dark_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_twitter_white_24dp.xml b/app/src/main/res/drawable/ic_account_twitter_white_24dp.xml new file mode 100644 index 0000000000..3742484564 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_twitter_white_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_account_xbox_light_24dp.xml b/app/src/main/res/drawable/ic_account_xbox_light_24dp.xml new file mode 100644 index 0000000000..1bdca11712 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_xbox_light_24dp.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_account_xbox_white_24dp.xml b/app/src/main/res/drawable/ic_account_xbox_white_24dp.xml new file mode 100644 index 0000000000..194f9395f2 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_xbox_white_24dp.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_account_youtube.xml b/app/src/main/res/drawable/ic_account_youtube.xml deleted file mode 100644 index 01750f5b4e..0000000000 --- a/app/src/main/res/drawable/ic_account_youtube.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_account_youtube_white_24dp.xml b/app/src/main/res/drawable/ic_account_youtube_white_24dp.xml new file mode 100644 index 0000000000..61862b88d2 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_youtube_white_24dp.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_bnet_white_24dp.xml b/app/src/main/res/drawable/ic_bnet_white_24dp.xml deleted file mode 100644 index cf15312ec7..0000000000 --- a/app/src/main/res/drawable/ic_bnet_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_google_white_24dp.xml b/app/src/main/res/drawable/ic_google_white_24dp.xml deleted file mode 100644 index f2bb2d15ce..0000000000 --- a/app/src/main/res/drawable/ic_google_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_lol_white_24dp.xml b/app/src/main/res/drawable/ic_lol_white_24dp.xml deleted file mode 100644 index aba1a78ccf..0000000000 --- a/app/src/main/res/drawable/ic_lol_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_skype_white_24dp.xml b/app/src/main/res/drawable/ic_skype_white_24dp.xml deleted file mode 100644 index 5b05900c4a..0000000000 --- a/app/src/main/res/drawable/ic_skype_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_spotify_white_24dp.xml b/app/src/main/res/drawable/ic_spotify_white_24dp.xml deleted file mode 100644 index e51091a7ce..0000000000 --- a/app/src/main/res/drawable/ic_spotify_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_steam_white_24dp.xml b/app/src/main/res/drawable/ic_steam_white_24dp.xml deleted file mode 100644 index 562d54d7b2..0000000000 --- a/app/src/main/res/drawable/ic_steam_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_xbox_white_24dp.xml b/app/src/main/res/drawable/ic_xbox_white_24dp.xml deleted file mode 100644 index 0de6d5213f..0000000000 --- a/app/src/main/res/drawable/ic_xbox_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_youtube_gaming_white_24dp.xml b/app/src/main/res/drawable/ic_youtube_gaming_white_24dp.xml deleted file mode 100644 index 82050b1eb6..0000000000 --- a/app/src/main/res/drawable/ic_youtube_gaming_white_24dp.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/layout-v22/widget_guild_role_subscription_details.xml b/app/src/main/res/layout-v22/widget_guild_role_subscription_details.xml index 44ee427b0a..054db9cdf8 100644 --- a/app/src/main/res/layout-v22/widget_guild_role_subscription_details.xml +++ b/app/src/main/res/layout-v22/widget_guild_role_subscription_details.xml @@ -15,7 +15,7 @@ - + diff --git a/app/src/main/res/layout/widget_guild_role_subscription_details.xml b/app/src/main/res/layout/widget_guild_role_subscription_details.xml index 60841041f7..b0841925e2 100644 --- a/app/src/main/res/layout/widget_guild_role_subscription_details.xml +++ b/app/src/main/res/layout/widget_guild_role_subscription_details.xml @@ -15,7 +15,7 @@ - + diff --git a/app/src/main/res/values-ar-rXB/strings.xml b/app/src/main/res/values-ar-rXB/strings.xml index 1d09100451..9de980622a 100644 --- a/app/src/main/res/values-ar-rXB/strings.xml +++ b/app/src/main/res/values-ar-rXB/strings.xml @@ -1151,13 +1151,16 @@ ‏‮Turn‬‏ ‏‮on‬‏ ‏‮camera‬‏ ‏‮Ready‬‏ ‏‮to‬‏ ‏‮video‬‏ ‏‮chat?‬‏ ‏‮Here’s‬‏ ‏‮a‬‏ ‏‮preview‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮camera:‬‏ + ‏‮Express‬‏ ‏‮yourself‬‏ ‏‮with‬‏ ‏‮video‬‏ ‏‮backgrounds,‬‏ ‏‮and‬‏ ‏‮if‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮Nitro,‬‏ ‏‮upload‬‏ ‏‮your‬‏ ‏‮own!‬‏ ‏‮Video‬‏ ‏‮Background‬‏ + ‏‮Apply‬‏ ‏‮Background‬‏ ‏‮Setting‬‏ ‏‮a‬‏ ‏‮video‬‏ ‏‮background‬‏ ‏‮is‬‏ ‏‮currently‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮limited‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮people.‬‏ ‏‮Blur‬‏ ‏‮Change‬‏ ‏‮Background‬‏ ‏‮Change‬‏ ‏‮Video‬‏ ‏‮Background‬‏ ‏‮Custom‬‏ ‏‮Custom‬‏ ‏‮Background‬‏ + ‏‮New‬‏ ‏‮Video‬‏ ‏‮Backgrounds!‬‏ ‏‮None‬‏ ‏‮You’ve‬‏ ‏‮hit‬‏ ‏‮the‬‏ ‏‮limit‬‏ ‏‮of‬‏ ‏‮{maxCustomBackgrounds}‬‏‏‮!‬‏ ‏‮Right‬‏ ‏‮click‬‏ ‏‮to‬‏ ‏‮remove‬‏ ‏‮a‬‏ ‏‮background‬‏ ‏‮before‬‏ ‏‮adding‬‏ ‏‮another.‬‏ ‏‮Upload‬‏ ‏‮your‬‏ ‏‮own‬‏ ‏‮custom‬‏ ‏‮background,‬‏ ‏‮powered‬‏ ‏‮by‬‏ ‏‮Nitro!‬‏ @@ -1288,6 +1291,10 @@ ‏‮Participants‬‏ ‏‮Channel‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮deleted.‬‏ ‏‮Channel‬‏ ‏‮header‬‏ + ‏‮Name‬‏ + ‏‮Details‬‏ + ‏‮Topic‬‏ + ‏‮Edit‬‏ ‏‮Your‬‏ ‏‮role‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮permission‬‏ ‏‮to‬‏ ‏‮access‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮Channel‬‏ ‏‮Locked‬‏ ‏‮Permissions‬‏ ‏‮synced‬‏ ‏‮with‬‏ ‏‮category:‬‏ ‏‮**‬‏‏‮{categoryName}‬‏‏‮**‬‏ @@ -1655,6 +1662,7 @@ ‏‮Automatically‬‏ ‏‮convert‬‏ ‏‮emoticons‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮messages‬‏ ‏‮to‬‏ ‏‮emoji‬‏ ‏‮For‬‏ ‏‮example,‬‏ ‏‮when‬‏ ‏‮you‬‏ ‏‮type‬‏ ‏‮:-)‬‏ ‏‮Discord‬‏ ‏‮will‬‏ ‏‮convert‬‏ ‏‮it‬‏ ‏‮to‬‏ ‏‮:slight_smile:‬‏ ‏‮Copied‬‏ + ‏‮Link‬‏ ‏‮Copied!‬‏ ‏‮Copied‬‏ ‏‮to‬‏ ‏‮clipboard.‬‏ ‏‮Copy‬‏ ‏‮Copy‬‏ ‏‮Topic‬‏ @@ -3589,7 +3597,7 @@ ‏‮Step‬‏ ‏‮{currStep}‬‏ ‏‮of‬‏ ‏‮{total}‬‏‏‮:‬‏ ‏‮{step}‬‏ ‏‮Finish‬‏ ‏‮Skip‬‏ ‏‮these‬‏ ‏‮steps‬‏ - ‏‮You‬‏ ‏‮have‬‏ ‏‮completed‬‏ ‏‮$[**!!‬‏‏‮{numFinished}‬‏‏‮!!‬‏ ‏‮out‬‏ ‏‮of‬‏ ‏‮{total}‬‏ ‏‮steps**](stepsHook).‬‏ + ‏‮You‬‏ ‏‮have‬‏ ‏‮completed‬‏ ‏‮$[**!!‬‏‏‮{numFinished}‬‏‏‮!!‬‏ ‏‮of‬‏ ‏‮{total}‬‏ ‏‮steps**](stepsHook).‬‏ ‏‮Finish‬‏ ‏‮setting‬‏ ‏‮up‬‏ ‏‮your‬‏ ‏‮server!‬‏ ‏‮Regions,‬‏ ‏‮which‬‏ ‏‮affect‬‏ ‏‮voice‬‏ ‏‮and‬‏ ‏‮video‬‏ ‏‮quality,‬‏ ‏‮are‬‏ ‏‮now‬‏ ‏‮available‬‏ ‏‮for‬‏ ‏‮each‬‏ ‏‮voice‬‏ ‏‮channel‬‏ ‏‮and‬‏ ‏‮determined‬‏ ‏‮automatically.‬‏ ‏‮If‬‏ ‏‮you‬‏ ‏‮need‬‏ ‏‮a‬‏ ‏‮hand,‬‏ ‏‮you‬‏ ‏‮can‬‏ ‏‮read‬‏ ‏‮our‬‏ ‏‮[Help‬‏ ‏‮Center](‬‏‏‮{helpURL}‬‏‏‮).‬‏ ‏‮Server‬‏ ‏‮Role‬‏ ‏‮Actions‬‏ @@ -5983,8 +5991,8 @@ ‏‮Members‬‏ ‏‮with‬‏ ‏‮this‬‏ ‏‮permission‬‏ ‏‮can‬‏ ‏‮drag‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮out‬‏ ‏‮of‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮They‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮move‬‏ ‏‮members‬‏ ‏‮between‬‏ ‏‮channels‬‏ ‏‮both‬‏ ‏‮they‬‏ ‏‮and‬‏ ‏‮the‬‏ ‏‮member‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮moving‬‏ ‏‮have‬‏ ‏‮access.‬‏ ‏‮Move‬‏ ‏‮To‬‏ ‏‮User‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮moved‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮selected‬‏ ‏‮channel.‬‏ - ‏‮Alert‬‏ ‏‮Cleared‬‏ - ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ + ‏‮Alert‬‏ ‏‮Cleared‬‏ + ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ ‏‮New‬‏ ‏‮notification‬‏ ‏‮Remove‬‏ ‏‮%1$s‬‏ ‏‮More‬‏ ‏‮than‬‏ %1$d ‏‮new‬‏ ‏‮notifications‬‏ @@ -9837,7 +9845,11 @@ ‏‮Wumpus‬‏ ‏‮Vacation‬‏ ‏‮Vaporwave‬‏ ‏‮Click‬‏ ‏‮here‬‏ ‏‮to‬‏ ‏‮access‬‏ ‏‮video‬‏ ‏‮settings‬‏ ‏‮and‬‏ ‏‮adjust‬‏ ‏‮your‬‏ ‏‮video‬‏ ‏‮background.‬‏ + ‏‮Whenever‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮change‬‏ ‏‮your‬‏ ‏‮video‬‏ ‏‮background,‬‏ ‏‮click‬‏ ‏‮the‬‏ ‏‮arrow‬‏ ‏‮here‬‏ ‏‮to‬‏ ‏‮access‬‏ ‏‮your‬‏ ‏‮video‬‏ ‏‮settings.‬‏ + ‏‮Whenever‬‏ ‏‮you‬‏ ‏‮do‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮try‬‏ ‏‮changing‬‏ ‏‮your‬‏ ‏‮video‬‏ ‏‮background,‬‏ ‏‮click‬‏ ‏‮the‬‏ ‏‮arrow‬‏ ‏‮here‬‏ ‏‮to‬‏ ‏‮access‬‏ ‏‮your‬‏ ‏‮video‬‏ ‏‮settings.‬‏ ‏‮Wanna‬‏ ‏‮change‬‏ ‏‮your‬‏ ‏‮background?‬‏ + ‏‮Yay!‬‏ ‏‮You’re‬‏ ‏‮using‬‏ ‏‮an‬‏ ‏‮awesome‬‏ ‏‮background‬‏ + ‏‮No‬‏ ‏‮background‬‏ ‏‮right‬‏ ‏‮now?‬‏ ‏‮No‬‏ ‏‮worries!‬‏ ‏‮Tell‬‏ ‏‮us‬‏ ‏‮about‬‏ ‏‮your‬‏ ‏‮video‬‏ ‏‮backgrounds‬‏ ‏‮experience.‬‏ ‏‮How‬‏ ‏‮were‬‏ ‏‮video‬‏ ‏‮backgrounds?‬‏ ‏‮The‬‏ ‏‮background‬‏ ‏‮detection‬‏ ‏‮was‬‏ ‏‮not‬‏ ‏‮accurate‬‏ diff --git a/app/src/main/res/values-en-rXA/strings.xml b/app/src/main/res/values-en-rXA/strings.xml index 9e3ca068bd..da58d4dde5 100644 --- a/app/src/main/res/values-en-rXA/strings.xml +++ b/app/src/main/res/values-en-rXA/strings.xml @@ -1151,13 +1151,16 @@ [Ţûŕñ öñ çåḿéŕå one two three] [Ŕéåðý ţö Vîðéö çĥåţ¿ one two three] [Ĥéŕé’š å þŕéVîéŵ öƒ ýöûŕ çåḿéŕå: one two three four] + [Éхþŕéšš ýöûŕšéļƒ ŵîţĥ Vîðéö ɓåçķĝŕöûñðš, åñð îƒ ýöû ĥåVé Ñîţŕö, ûþļöåð ýöûŕ öŵñ¡ one two three four five six seven eight nine] [νîðéö βåçķĝŕöûñð one two three] + [Åþþļý βåçķĝŕöûñð one two three] [Šéţţîñĝ å Vîðéö ɓåçķĝŕöûñð îš çûŕŕéñţļý åVåîļåɓļé ţö å ļîḿîţéð ñûḿɓéŕ öƒ þéöþļé. one two three four five six seven eight nine] [βļûŕ one] [Çĥåñĝé βåçķĝŕöûñð one two three] [Çĥåñĝé νîðéö βåçķĝŕöûñð one two three] [Çûšţöḿ one two] [Çûšţöḿ βåçķĝŕöûñð one two three] + [Ñéŵ νîðéö βåçķĝŕöûñðš¡ one two three] [Ñöñé one] [Ýöû’Vé ĥîţ ţĥé ļîḿîţ öƒ »{maxCustomBackgrounds}«¡ Ŕîĝĥţ çļîçķ ţö ŕéḿöVé å ɓåçķĝŕöûñð ɓéƒöŕé åððîñĝ åñöţĥéŕ. one two three four five six seven eight nine] [Ûþļöåð ýöûŕ öŵñ çûšţöḿ ɓåçķĝŕöûñð, þöŵéŕéð ɓý Ñîţŕö¡ one two three four five six] @@ -1288,6 +1291,10 @@ [Þåŕţîçîþåñţš one two] [Çĥåññéļ ĥåš ɓééñ ðéļéţéð. one two three] [Çĥåññéļ ĥéåðéŕ one two three] + [Ñåḿé one] + [Ðéţåîļš one two] + [Ţöþîç one] + [Éðîţ one] [Ýöûŕ ŕöļé ðöéš ñöţ ĥåVé þéŕḿîššîöñ ţö åççéšš ţĥîš çĥåññéļ. one two three four five six seven] [Çĥåññéļ Ļöçķéð one two three] [Þéŕḿîššîöñš šýñçéð ŵîţĥ çåţéĝöŕý: **»{categoryName}«** one two three four five] @@ -1655,6 +1662,7 @@ [Åûţöḿåţîçåļļý çöñVéŕţ éḿöţîçöñš îñ ýöûŕ ḿéššåĝéš ţö éḿöĵî one two three four five six seven] [Föŕ éхåḿþļé, ŵĥéñ ýöû ţýþé :-) Ðîšçöŕð ŵîļļ çöñVéŕţ îţ ţö :šļîĝĥţ_šḿîļé: one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [Çöþîéð one two] + [Ļîñķ Çöþîéð¡ one two] [Çöþîéð ţö çļîþɓöåŕð. one two three] [Çöþý one] [Çöþý Ţöþîç one two] @@ -3589,7 +3597,7 @@ [Šţéþ »{currStep}« öƒ »{total}«: »{step}« one two] [Fîñîšĥ one two] [Šķîþ ţĥéšé šţéþš one two three] - [Ýöû ĥåVé çöḿþļéţéð €[**¡¡»{numFinished}«¡¡ öûţ öƒ »{total}« šţéþš**](šţéþšĤööķ). one two three four five six seven] + [Ýöû ĥåVé çöḿþļéţéð €[**¡¡»{numFinished}«¡¡ öƒ »{total}« šţéþš**](šţéþšĤööķ). one two three four five six] [Fîñîšĥ šéţţîñĝ ûþ ýöûŕ šéŕVéŕ¡ one two three four] [Ŕéĝîöñš, ŵĥîçĥ 僃éçţ Vöîçé åñð Vîðéö Qûåļîţý, åŕé ñöŵ åVåîļåɓļé ƒöŕ éåçĥ Vöîçé çĥåññéļ åñð ðéţéŕḿîñéð åûţöḿåţîçåļļý. ΃ ýöû ñééð å ĥåñð, ýöû çåñ ŕéåð öûŕ [Ĥéļþ Çéñţéŕ](»{helpURL}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten] [ŠéŕVéŕ Ŕöļé Åçţîöñš one two three] @@ -5983,8 +5991,8 @@ [Ḿéḿɓéŕš ŵîţĥ ţĥîš þéŕḿîššîöñ çåñ ðŕåĝ öţĥéŕ ḿéḿɓéŕš öûţ öƒ ţĥîš çĥåññéļ. Ţĥéý çåñ öñļý ḿöVé ḿéḿɓéŕš ɓéţŵééñ çĥåññéļš ɓöţĥ ţĥéý åñð ţĥé ḿéḿɓéŕ ţĥéý åŕé ḿöVîñĝ ĥåVé åççéšš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [ḾöVé Ţö one two] [Ûšéŕ ĥåš ɓééñ ḿöVéð ţö ţĥé šéļéçţéð çĥåññéļ. one two three four five] - [Åļéŕţ Çļéåŕéð one two] - [Ñö Åļéŕţ Šĥöŵîñĝ one two three] + [Åļéŕţ Çļéåŕéð one two] + [Ñö Åļéŕţ Šĥöŵîñĝ one two three] [Ñéŵ ñöţîƒîçåţîöñ one two three] [ŔéḿöVé »%1$s« one two] [Ḿöŕé ţĥåñ %1$d ñéŵ ñöţîƒîçåţîöñš one two three four] @@ -9837,7 +9845,11 @@ [Ŵûḿþûš νåçåţîöñ one two three] [νåþöŕŵåVé one two] [Çļîçķ ĥéŕé ţö åççéšš Vîðéö šéţţîñĝš åñð åðĵûšţ ýöûŕ Vîðéö ɓåçķĝŕöûñð. one two three four five six seven eight] + [ŴĥéñéVéŕ ýöû ŵåñţ ţö çĥåñĝé ýöûŕ Vîðéö ɓåçķĝŕöûñð, çļîçķ ţĥé åŕŕöŵ ĥéŕé ţö åççéšš ýöûŕ Vîðéö šéţţîñĝš. one two three four five six seven eight nine ten eleven] + [ŴĥéñéVéŕ ýöû ðö ŵåñţ ţö ţŕý çĥåñĝîñĝ ýöûŕ Vîðéö ɓåçķĝŕöûñð, çļîçķ ţĥé åŕŕöŵ ĥéŕé ţö åççéšš ýöûŕ Vîðéö šéţţîñĝš. one two three four five six seven eight nine ten eleven twelve] [Ŵåññå çĥåñĝé ýöûŕ ɓåçķĝŕöûñð¿ one two three four] + [Ýåý¡ Ýöû’ŕé ûšîñĝ åñ åŵéšöḿé ɓåçķĝŕöûñð one two three four five] + [Ñö ɓåçķĝŕöûñð ŕîĝĥţ ñöŵ¿ Ñö ŵöŕŕîéš¡ one two three four five] [Ţéļļ ûš åɓöûţ ýöûŕ Vîðéö ɓåçķĝŕöûñðš éхþéŕîéñçé. one two three four five six] [Ĥöŵ ŵéŕé Vîðéö ɓåçķĝŕöûñðš¿ one two three four] [Ţĥé ɓåçķĝŕöûñð ðéţéçţîöñ ŵåš ñöţ åççûŕåţé one two three four five] diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 9239ac71bd..984c2e8024 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -1909,6 +1909,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2037,6 +2063,8 @@ + + diff --git a/app/src/main/res/values/public.xml b/app/src/main/res/values/public.xml index e5ec992121..02e82e2b65 100644 --- a/app/src/main/res/values/public.xml +++ b/app/src/main/res/values/public.xml @@ -929,994 +929,1008 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2198,582 +2212,583 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4059,1066 +4074,1065 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15540,8914 +15554,8926 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c5aa223159..ed18879e5b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1153,13 +1153,16 @@ Turn on camera Ready to video chat? Here’s a preview of your camera: + Express yourself with video backgrounds, and if you have Nitro, upload your own! Video Background + Apply Background Setting a video background is currently available to a limited number of people. Blur Change Background Change Video Background Custom Custom Background + New Video Backgrounds! None You’ve hit the limit of {maxCustomBackgrounds}! Right click to remove a background before adding another. Upload your own custom background, powered by Nitro! @@ -1290,6 +1293,10 @@ Participants Channel has been deleted. Channel header + Name + Details + Topic + Edit Your role does not have permission to access this channel. Channel Locked Permissions synced with category: **{categoryName}** @@ -1448,7 +1455,7 @@ Select a color Transparency Use Default - 7d0dbea38de24d339852b4c8e481cf2d + fd0d81c76a214c17be9754db40fb190d Coming Soon Slash command application {applicationName} {applicationName} application @@ -1659,6 +1666,7 @@ Automatically convert emoticons in your messages to emoji For example, when you type :-) Discord will convert it to :slight_smile: Copied + Link Copied! Copied to clipboard. Copy Copy Topic @@ -3605,7 +3613,7 @@ Step {currStep} of {total}: {step} Finish Skip these steps - You have completed $[**!!{numFinished}!! out of {total} steps**](stepsHook). + You have completed $[**!!{numFinished}!! of {total} steps**](stepsHook). Finish setting up your server! Regions, which affect voice and video quality, are now available for each voice channel and determined automatically. If you need a hand, you can read our [Help Center]({helpURL}). Server Role Actions @@ -6002,8 +6010,8 @@ Members with this permission can drag other members out of this channel. They can only move members between channels both they and the member they are moving have access. Move To User has been moved to the selected channel. - Alert Cleared - No Alert Showing + Alert Cleared + No Alert Showing New notification Remove %1$s More than %1$d new notifications @@ -9866,7 +9874,11 @@ Wumpus Vacation Vaporwave Click here to access video settings and adjust your video background. + Whenever you want to change your video background, click the arrow here to access your video settings. + Whenever you do want to try changing your video background, click the arrow here to access your video settings. Wanna change your background? + Yay! You’re using an awesome background + No background right now? No worries! Tell us about your video backgrounds experience. How were video backgrounds? The background detection was not accurate diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index f2d91ecf18..5032b052c6 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -336,6 +336,19 @@ @drawable/ic_guild_badge_premium_tier_2_banner @drawable/ic_guild_badge_premium_tier_3_banner @drawable/ic_account_circle_white_a60_24dp + @drawable/ic_account_battlenet_light_and_dark_24dp + @drawable/ic_account_facebook_light_and_dark_24dp + @drawable/ic_account_github_white_24dp + @drawable/ic_account_league_of_legends_light_and_dark_24dp + @drawable/ic_account_reddit_light_and_dark_24dp + @drawable/ic_account_samsung_light_and_dark_24dp + @drawable/ic_account_skype_light_and_dark_24dp + @drawable/ic_account_spotify_light_and_dark_24dp + @drawable/ic_account_steam_white_24dp + @drawable/ic_account_twitch_light_and_dark_24dp + @drawable/ic_account_twitter_light_and_dark_24dp + @drawable/ic_account_xbox_white_24dp + @drawable/ic_account_youtube_light_and_dark_24dp @drawable/ic_arrow_back_white_24dp @drawable/ic_close_white_24dp @drawable/ic_chevron_down_white_12dp @@ -399,6 +412,7 @@ @drawable/ic_more_primary100_24dp @drawable/ic_navigate_next_white_a60_24dp @drawable/ic_network_airplane_mode + @drawable/ic_network_connecting @drawable/ic_network_connecting_animated_vector @drawable/ic_network_offline @drawable/ic_notifications_settings_white_a60_24dp @@ -599,6 +613,19 @@ @drawable/ic_guild_badge_premium_tier_2 @drawable/ic_guild_badge_premium_tier_3 @drawable/ic_account_circle_light_grey_24dp + @drawable/ic_account_battlenet_light_and_dark_24dp + @drawable/ic_account_facebook_light_and_dark_24dp + @drawable/ic_account_github_light_24dp + @drawable/ic_account_league_of_legends_light_and_dark_24dp + @drawable/ic_account_reddit_light_and_dark_24dp + @drawable/ic_account_samsung_light_and_dark_24dp + @drawable/ic_account_skype_light_and_dark_24dp + @drawable/ic_account_spotify_light_and_dark_24dp + @drawable/ic_account_steam_light_24dp + @drawable/ic_account_twitch_light_and_dark_24dp + @drawable/ic_account_twitter_light_and_dark_24dp + @drawable/ic_account_xbox_light_24dp + @drawable/ic_account_youtube_light_and_dark_24dp @drawable/ic_arrow_back_dark_grey_24dp @drawable/ic_close_grey_24dp @drawable/ic_chevron_down_dark_grey_12dp @@ -662,6 +689,7 @@ @drawable/ic_more_primary900_24dp @drawable/ic_navigate_next_grey_a60_24dp @drawable/ic_network_airplane_mode_light + @drawable/ic_network_connecting_light @drawable/ic_network_connecting_animated_vector_light @drawable/ic_network_offline_light @drawable/ic_notifications_settings_grey_a60_24dp