New Patch: Swipe to Queue

This commit is contained in:
meowarex committed 2026-09-04 09:24:52 +00:00
1 parent 0ad5848354
commit aaf2d9e99d
116 files changed
+6598 -5603

No files matched your search

+16 -16
View File
@@ -27,7 +27,7 @@ import coil.request.CachePolicy;
import com.tidal.android.feature.playerscreen.ui.composables.p3;
import com.tidal.android.feature.playerscreen.ui.model.PlayerBackgroundStyle;
import com.tidal.android.image.coil.base.CoilImageLoader;
import com.tidal.android.image.core.b;
import com.tidal.android.image.core.b; // MARKER: R8 core.b
import dev.kawarp.KawarpEngine;
@@ -41,7 +41,7 @@ import java.util.concurrent.Executors;
* (cloned at tools/kawarp-agsl) and is compiled into this bundle by tools/kawarp-build/build.sh;
* this class only holds what is TIDAL/Compose-specific
*/
public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallback, b0.c {
public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallback, b0.c { // MARKER: R8 am0.l b0.c
/** Stop the frame loop once nothing has drawn for this long (player left / backgrounded). */
private static final long IDLE_STOP_MS = 500L;
@@ -70,7 +70,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
private static KawarpEngine engine;
/** TIDAL's application-scoped Coil loader and the context its requests are built with. */
private static volatile coil.f loader;
private static volatile coil.f loader; // MARKER: R8 coil.f
private static volatile Context appContext;
private static volatile String requestedUuid;
private static volatile int loadToken;
@@ -99,7 +99,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
* the call site here so the whole backdrop works <3
*/
public static void b(PlayerBackgroundStyle style, long color, int albumId, String coverUuid,
boolean isPlaying, boolean isSeeking, am0.a progress, Modifier modifier,
boolean isPlaying, boolean isSeeking, am0.a progress, Modifier modifier, // MARKER: R8 am0.a
Composer composer, int changed) {
render(albumId, coverUuid, isPlaying, modifier, composer);
}
@@ -112,7 +112,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
boolean ok = !((Boolean) fallbackState.getValue()).booleanValue() && ensureEngine();
if (!ok) {
// No (working) AGSL here - fall back to TIDAL's own blurred backdrop.
p3.a(albumId, coverUuid, isPlaying, false, null, modifier, composer, 0);
p3.a(albumId, coverUuid, isPlaying, false, null, modifier, composer, 0); // MARKER: R8 p3.a
} else {
engine.setPlaying(isPlaying);
request(albumId, coverUuid);
@@ -131,8 +131,8 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
Object local = composer.consume(AndroidCompositionLocals_androidKt.getLocalContext());
if (!(local instanceof Context)) return;
Context app = ((Context) local).getApplicationContext();
if (!(app instanceof ce0.b.a)) return;
Object tidalLoader = ((ce0.b.a) app).a().a();
if (!(app instanceof ce0.b.a)) return; // MARKER: R8 ce0.b.a
Object tidalLoader = ((ce0.b.a) app).a().a(); // MARKER: R8 ce0.b.a
if (!(tidalLoader instanceof CoilImageLoader)) return;
appContext = app;
loader = ((CoilImageLoader) tidalLoader).a;
@@ -181,14 +181,14 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
*/
public void run() {
try {
xd0.g tidal = new xd0.g(appContext, new b.a(String.valueOf(albumId), uuid),
xd0.g tidal = new xd0.g(appContext, new b.a(String.valueOf(albumId), uuid), // MARKER: R8 xd0.g b.a
null, null, false, null, null, false);
coil.request.h.a req = coil.request.h.a(com.tidal.android.image.coil.c.a(tidal, null));
coil.request.b d = req.b;
req.b = new coil.request.b(d.a, d.b, d.c, d.d, d.e, d.f, d.g, d.h,
d.i, d.j, CachePolicy.DISABLED);
req.d = this;
loader.b(req.a());
coil.request.h.a req = coil.request.h.a(com.tidal.android.image.coil.c.a(tidal, null)); // MARKER: R8 h.a coil.c.a
coil.request.b d = req.b; // MARKER: R8 req.b
req.b = new coil.request.b(d.a, d.b, d.c, d.d, d.e, d.f, d.g, d.h, // MARKER: R8 req.b d.a d.b d.c d.d d.e d.f d.g d.h
d.i, d.j, CachePolicy.DISABLED); // MARKER: R8 d.i d.j
req.d = this; // MARKER: R8 req.d
loader.b(req.a()); // MARKER: R8 req.a
} catch (Throwable t) {
fail();
}
@@ -242,7 +242,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
public Object invoke(Object scope) {
draw((DrawScope) scope);
return kotlin.u.a;
return kotlin.u.a; // MARKER: R8 u.a
}
private static void draw(DrawScope scope) {
@@ -258,7 +258,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
engine.draw(AndroidCanvas_androidKt.getNativeCanvas(scope.getDrawContext().getCanvas()),
width, height);
} catch (Throwable t) {
fallbackState.setValue(Boolean.TRUE); // AGSL draw failed: recompose onto p3.a
fallbackState.setValue(Boolean.TRUE); // AGSL draw failed: recompose onto p3.a // MARKER: R8 p3.a
}
}
}
+1
View File
@@ -1,3 +1,4 @@
package am0;
// MARKER: R8 whole class: TIDAL dex FQN is `am0.a` - both package and name roll
/** kotlin.jvm.functions.Function0 (obfuscated in the TIDAL dex). */
public interface a { Object invoke(); }
+1
View File
@@ -1,3 +1,4 @@
package am0;
// MARKER: R8 whole class: TIDAL dex FQN is `am0.l` - both package and name roll
/** kotlin.jvm.functions.Function1 (obfuscated in the TIDAL dex). */
public interface l { Object invoke(Object p1); }
@@ -1,5 +1,5 @@
package androidx.compose.ui.draw;
import androidx.compose.ui.Modifier;
public final class DrawModifierKt {
public static Modifier drawBehind(Modifier modifier, am0.l onDraw) { return null; }
public static Modifier drawBehind(Modifier modifier, am0.l onDraw) { return null; } // MARKER: R8 am0.l
}
+1
View File
@@ -1,4 +1,5 @@
package b0;
// MARKER: R8 whole class: TIDAL dex FQN is `b0.c` - both package and name roll
import android.graphics.drawable.Drawable;
/** coil.target.Target (R8 name in TIDAL 2.200): a=onSuccess, b=onStart, d=onError. */
public interface c {
+2 -1
View File
@@ -1,6 +1,7 @@
package ce0;
// MARKER: R8 whole class: TIDAL dex FQN is `ce0.b` - both package and name roll
/** Dagger image component; the Application implements b.a and hands out the loader. */
public interface b {
xd0.e a();
xd0.e a(); // MARKER: R8 xd0.e
interface a { b a(); }
}
+1
View File
@@ -1,4 +1,5 @@
package coil;
// MARKER: R8 whole class: TIDAL dex FQN is `coil.f` - both package and name roll
/** coil.ImageLoader; b() is enqueue(). */
public interface f {
coil.request.d b(coil.request.h request);
+3 -2
View File
@@ -1,4 +1,5 @@
package coil.request;
// MARKER: R8 whole class: TIDAL dex FQN is `coil.request.b` - both package and name roll
import kotlinx.coroutines.CoroutineDispatcher;
/**
* coil.request.DefaultRequestOptions; i/j/k are the memory/disk/network cache policies (proven
@@ -8,12 +9,12 @@ import kotlinx.coroutines.CoroutineDispatcher;
*/
public final class b {
public CoroutineDispatcher a, b, c, d;
public d0.c.a e;
public d0.c.a e; // MARKER: R8 d0.c.a
public coil.size.Precision f;
public android.graphics.Bitmap.Config g;
public boolean h;
public CachePolicy i, j, k;
public b(CoroutineDispatcher a, CoroutineDispatcher b, CoroutineDispatcher c, CoroutineDispatcher d,
d0.c.a transition, coil.size.Precision precision, android.graphics.Bitmap.Config config,
d0.c.a transition, coil.size.Precision precision, android.graphics.Bitmap.Config config, // MARKER: R8 d0.c.a
boolean h, CachePolicy memory, CachePolicy disk, CachePolicy network) {}
}
@@ -1,3 +1,4 @@
package coil.request;
// MARKER: R8 whole class: TIDAL dex FQN is `coil.request.d` - both package and name roll
/** coil.request.Disposable */
public interface d {}
+2 -1
View File
@@ -1,4 +1,5 @@
package coil.request;
// MARKER: R8 whole class: TIDAL dex FQN is `coil.request.h` - both package and name roll
/** coil.request.ImageRequest; a(h) is newBuilder(), h.a is the Builder. */
public final class h {
public static a a(h request) { return null; }
@@ -6,7 +7,7 @@ public final class h {
/** defaults block the built request copies its cache policies from */
public b b;
/** target */
public b0.c d;
public b0.c d; // MARKER: R8 b0.c
public h a() { return null; }
}
}
@@ -1,8 +1,9 @@
package com.tidal.android.feature.playerscreen.ui.composables;
// MARKER: R8 whole class: TIDAL dex FQN is `com.tidal.android.feature.playerscreen.ui.composables.p3` - both package and name roll
import androidx.compose.runtime.Composer;
import androidx.compose.ui.Modifier;
/** TIDAL's DarkBlurBackground composable (used as the pre-Android-13 fallback). */
public final class p3 {
public static void a(int albumId, String coverUuid, boolean isPlaying, boolean isSeeking,
am0.a progress, Modifier modifier, Composer composer, int changed) {}
am0.a progress, Modifier modifier, Composer composer, int changed) {} // MARKER: R8 am0.a
}
@@ -1,5 +1,5 @@
package com.tidal.android.image.coil.base;
/** TIDAL's xd0.e implementation; a is the underlying Coil ImageLoader. */
public final class CoilImageLoader implements xd0.e {
public final coil.f a = null;
public final class CoilImageLoader implements xd0.e { // MARKER: R8 xd0.e
public final coil.f a = null; // MARKER: R8 coil.f
}
@@ -1,5 +1,6 @@
package com.tidal.android.image.coil;
// MARKER: R8 whole class: TIDAL dex FQN is `com.tidal.android.image.coil.c` - both package and name roll
/** TIDAL request -> Coil request; installs the AlbumCover data the interceptor resolves. */
public final class c {
public static coil.request.h a(xd0.g request, androidx.compose.ui.layout.ContentScale scale) { return null; }
public static coil.request.h a(xd0.g request, androidx.compose.ui.layout.ContentScale scale) { return null; } // MARKER: R8 xd0.g
}
@@ -1,4 +1,5 @@
package com.tidal.android.image.core;
// MARKER: R8 whole class: TIDAL dex FQN is `com.tidal.android.image.core.b` - both package and name roll
/** TIDAL's sealed image-source type; b$a is AlbumCover(albumId, coverUuid). */
public abstract class b {
public static final class a extends b { public a(String albumId, String cover) {} }
+1
View File
@@ -1,3 +1,4 @@
package d0;
// MARKER: R8 whole class: TIDAL dex FQN is `d0.c` - both package and name roll
/** coil.transition.Transition; c.a is Transition.Factory. */
public interface c { interface a {} }
+1
View File
@@ -1,3 +1,4 @@
package kotlin;
// MARKER: R8 whole class: TIDAL dex FQN is `kotlin.u` - both package and name roll
/** kotlin.Unit (obfuscated in the TIDAL dex). */
public final class u { public static final u a = null; }
+1
View File
@@ -1,3 +1,4 @@
package xd0;
// MARKER: R8 whole class: TIDAL dex FQN is `xd0.e` - both package and name roll
/** TIDAL's ImageLoader interface (implemented by CoilImageLoader). */
public interface e {}
+1
View File
@@ -1,3 +1,4 @@
package xd0;
// MARKER: R8 whole class: TIDAL dex FQN is `xd0.f` - both package and name roll
/** Size spec wrapper accepted by xd0.g's constructor; we always pass null. */
public final class f {}
+3 -2
View File
@@ -1,8 +1,9 @@
package xd0;
// MARKER: R8 whole class: TIDAL dex FQN is `xd0.g` - both package and name roll
import android.content.Context;
import com.tidal.android.image.core.b;
import com.tidal.android.image.core.b; // MARKER: R8 core.b
/** TIDAL's ImageRequest. */
public final class g {
public g(Context context, b source, b.h.a placeholder, b.h.a error, boolean crossfade,
public g(Context context, b source, b.h.a placeholder, b.h.a error, boolean crossfade, // MARKER: R8 b.h.a
java.util.List transformations, f size, boolean allowHardware) {}
}