diff --git a/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/KnownPatch.kt b/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/KnownPatch.kt index 95ae534..60d0eeb 100644 --- a/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/KnownPatch.kt +++ b/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/KnownPatch.kt @@ -77,6 +77,12 @@ enum class KnownPatch( titleRes = R.string.patch_quality_badge_colors_title, descRes = R.string.patch_quality_badge_colors_desc, ), + PlayerOneHanded( + order = 37, + fileNames = listOf("player-one-handed.patch"), + titleRes = R.string.patch_player_one_handed_title, + descRes = R.string.patch_player_one_handed_desc, + ), CoverEverywhere( order = 35, fileNames = listOf( diff --git a/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/PatchOptions.kt b/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/PatchOptions.kt index e19df17..6a6de7f 100644 --- a/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/PatchOptions.kt +++ b/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/PatchOptions.kt @@ -42,6 +42,7 @@ data class PatchOptions( val disabled = ( KnownPatch.DebugMenuUnlock.fileNames + KnownPatch.EnableLegacyUi.fileNames + + KnownPatch.PlayerOneHanded.fileNames + miniPlayerFiles ).toSet() diff --git a/Manager/app/src/main/res/values/strings.xml b/Manager/app/src/main/res/values/strings.xml index 6c4cdb5..abe8cef 100644 --- a/Manager/app/src/main/res/values/strings.xml +++ b/Manager/app/src/main/res/values/strings.xml @@ -270,6 +270,8 @@ Restores the legacy translucent backdrop blur behind the player. Quality Badge Colors Brings color back to the player quality badge. + One-Handed Mode + Mirrors the bottom player buttons left-to-right for easier one-handed reach. Cover Everywhere - WIP Applies the blurred backdrop to every Compose based page (Home & Collection) Replace Share Button diff --git a/patches/player-one-handed.patch b/patches/player-one-handed.patch new file mode 100644 index 0000000..acfc2f5 --- /dev/null +++ b/patches/player-one-handed.patch @@ -0,0 +1,45 @@ +# rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 80 +--- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali ++++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali +@@ -5650,12 +5650,26 @@ + invoke-static {v2, v15, v7, v9}, Lcom/aspiro/wamp/dynamicpages/ui/compose/f;->a(FLandroidx/compose/ui/Modifier$Companion;Landroidx/compose/runtime/Composer;I)V + + const/4 v2, 0x0 + + const/4 v9, 0x0 + ++ invoke-static {}, Landroidx/compose/ui/platform/CompositionLocalsKt;->getLocalLayoutDirection()Landroidx/compose/runtime/ProvidableCompositionLocal; # layout-direction local ++ ++ move-result-object v77 # the local ++ ++ sget-object v78, Landroidx/compose/ui/unit/LayoutDirection;->Rtl:Landroidx/compose/ui/unit/LayoutDirection; # right-to-left value ++ ++ invoke-virtual/range {v77 .. v78}, Landroidx/compose/runtime/ProvidableCompositionLocal;->provides(Ljava/lang/Object;)Landroidx/compose/runtime/ProvidedValue; # provide Rtl to local ++ ++ move-result-object v77 # the provided value ++ ++ move-object/from16 v76, v7 # composer ++ ++ invoke-interface/range {v76 .. v77}, Landroidx/compose/runtime/Composer;->startProvider(Landroidx/compose/runtime/ProvidedValue;)V # open Rtl scope (mirror row) ++ + .line 302 + invoke-static {v15, v9, v1, v2}, Landroidx/compose/foundation/layout/SizeKt;->fillMaxWidth$default(Landroidx/compose/ui/Modifier;FILjava/lang/Object;)Landroidx/compose/ui/Modifier; + + move-result-object v4 + + move/from16 v5, v58 +@@ -6001,12 +6015,14 @@ + + invoke-static {v13, v7, v2, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/m0;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V + + .line 343 + invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endNode()V + ++ invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endProvider()V # close Rtl scope (end mirror) ++ + .line 344 + invoke-static/range {v40 .. v40}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F + + move-result v20 + + const/16 v21, 0x7