mirror of
https://github.com/meowarex/rl-mobile.git
synced 2026-08-26 22:17:44 +10:00
Lyrics Button Hotfix <3
This commit is contained in:
+25
-14
@@ -9,43 +9,53 @@
|
||||
.line 106
|
||||
.line 107
|
||||
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||
@@ -1655,7 +1657,7 @@
|
||||
@@ -1655,7 +1657,11 @@
|
||||
.line 239
|
||||
.line 240
|
||||
.line 241
|
||||
- if-nez v9, :cond_a
|
||||
+ goto :cond_a # skip TIDAL P=false in the has-lyrics path (for some reason)
|
||||
+ invoke-static {v0}, Lradiant/RLAPILyricsHook;->shouldKeepOpen(Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;)Z
|
||||
+ move-result v20
|
||||
+ if-nez v20, :cond_a # keep visibility only for RL state owned by this ViewModel
|
||||
+ :rl_native_visibility
|
||||
+ if-nez v9, :cond_a
|
||||
|
||||
.line 242
|
||||
.line 243
|
||||
@@ -2347,7 +2349,10 @@
|
||||
@@ -2347,7 +2353,12 @@
|
||||
|
||||
.line 572
|
||||
:goto_c
|
||||
+ sget-boolean v5, Lradiant/RLAPILyricsHook;->isRlState:Z
|
||||
+ if-nez v5, :rl_keep_n2 # RL active -> keep worker content
|
||||
+ invoke-static {v0}, Lradiant/RLAPILyricsHook;->isOwner(Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;)Z
|
||||
+ move-result v20
|
||||
+ if-nez v20, :rl_keep_n2 # only preserve RL content owned by this ViewModel
|
||||
+ :rl_set_n2
|
||||
invoke-interface {v9, v1}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
|
||||
+ :rl_keep_n2
|
||||
|
||||
.line 573
|
||||
.line 574
|
||||
@@ -2396,7 +2401,10 @@
|
||||
@@ -2396,7 +2407,12 @@
|
||||
|
||||
.line 595
|
||||
.line 596
|
||||
+ sget-boolean v7, Lradiant/RLAPILyricsHook;->isRlState:Z
|
||||
+ if-nez v7, :rl_keep_o # RL active -> keep view-open flag
|
||||
+ invoke-static {v0}, Lradiant/RLAPILyricsHook;->shouldKeepOpen(Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;)Z
|
||||
+ move-result v20
|
||||
+ if-nez v20, :rl_keep_o # only preserve visibility owned by this ViewModel
|
||||
+ :rl_set_o
|
||||
invoke-interface {v1, v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
|
||||
+ :rl_keep_o
|
||||
|
||||
.line 597
|
||||
.line 598
|
||||
@@ -2425,7 +2433,10 @@
|
||||
@@ -2425,7 +2441,12 @@
|
||||
|
||||
.line 610
|
||||
.line 611
|
||||
+ sget-boolean v7, Lradiant/RLAPILyricsHook;->isRlState:Z
|
||||
+ if-nez v7, :rl_keep_n # RL active -> keep worker content
|
||||
+ invoke-static {v0}, Lradiant/RLAPILyricsHook;->isOwner(Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;)Z
|
||||
+ move-result v20
|
||||
+ if-nez v20, :rl_keep_n # only preserve RL content owned by this ViewModel
|
||||
+ :rl_set_n
|
||||
invoke-interface {v1, v6}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
|
||||
+ :rl_keep_n
|
||||
|
||||
@@ -53,12 +63,13 @@
|
||||
.line 613
|
||||
--- a/com/tidal/android/feature/playerscreen/ui/PlayerViewModel$special$$inlined$mapNotNull$1$2.smali
|
||||
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerViewModel$special$$inlined$mapNotNull$1$2.smali
|
||||
@@ -2256,6 +2256,10 @@
|
||||
@@ -2256,6 +2256,11 @@
|
||||
.line 1040
|
||||
.line 1041
|
||||
move-result v34
|
||||
+ sget-boolean v4, Lradiant/RLAPILyricsHook;->isRlState:Z
|
||||
+ if-eqz v4, :rl_hl_done # not RL = use TIDAL's hasLyrics
|
||||
+ invoke-static {v1}, Lradiant/RLAPILyricsHook;->isOwner(Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;)Z
|
||||
+ move-result v4
|
||||
+ if-eqz v4, :rl_hl_done # ignore non-RL state or state owned by an obsolete ViewModel
|
||||
+ const/16 v34, 0x1 # RL lyrics active = force hasLyrics so the sparkle stays
|
||||
+ :rl_hl_done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user