From 7bd687331b62222d1bbfc772ad66f26661863054 Mon Sep 17 00:00:00 2001 From: Kelvin K Date: Mon, 24 Mar 2025 20:33:17 +0100 Subject: [PATCH] AddSource by url support, submods --- .../activities/AddSourceOptionsActivity.kt | 23 ++- .../layout/activity_add_source_options.xml | 142 ++++++++++-------- app/src/stable/assets/sources/kick | 2 +- app/src/stable/assets/sources/soundcloud | 2 +- app/src/stable/assets/sources/spotify | 2 +- app/src/stable/assets/sources/youtube | 2 +- app/src/unstable/assets/sources/kick | 2 +- app/src/unstable/assets/sources/soundcloud | 2 +- app/src/unstable/assets/sources/spotify | 2 +- app/src/unstable/assets/sources/youtube | 2 +- 10 files changed, 106 insertions(+), 75 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/activities/AddSourceOptionsActivity.kt b/app/src/main/java/com/futo/platformplayer/activities/AddSourceOptionsActivity.kt index 46872559..f237638e 100644 --- a/app/src/main/java/com/futo/platformplayer/activities/AddSourceOptionsActivity.kt +++ b/app/src/main/java/com/futo/platformplayer/activities/AddSourceOptionsActivity.kt @@ -10,11 +10,13 @@ import androidx.appcompat.app.AppCompatActivity import com.futo.platformplayer.* import com.futo.platformplayer.states.StateApp import com.futo.platformplayer.views.buttons.BigButton +import com.futo.platformplayer.views.overlays.slideup.SlideUpMenuTextInput import com.google.zxing.integration.android.IntentIntegrator class AddSourceOptionsActivity : AppCompatActivity() { lateinit var _buttonBack: ImageButton; + lateinit var _overlayContainer: FrameLayout; lateinit var _buttonQR: BigButton; lateinit var _buttonBrowse: BigButton; lateinit var _buttonURL: BigButton; @@ -54,6 +56,7 @@ class AddSourceOptionsActivity : AppCompatActivity() { setContentView(R.layout.activity_add_source_options); setNavigationBarColorAndIcons(); + _overlayContainer = findViewById(R.id.overlay_container); _buttonBack = findViewById(R.id.button_back); _buttonQR = findViewById(R.id.option_qr); @@ -81,7 +84,25 @@ class AddSourceOptionsActivity : AppCompatActivity() { } _buttonURL.onClick.subscribe { - UIDialogs.toast(this, getString(R.string.not_implemented_yet)); + val nameInput = SlideUpMenuTextInput(this, "ex. https://yourplugin.com/config.json"); + UISlideOverlays.showOverlay(_overlayContainer, "Enter your url", "Install", { + + val content = nameInput.text; + + val url = if (content.startsWith("https://")) { + content + } else if (content.startsWith("grayjay://plugin/")) { + content.substring("grayjay://plugin/".length) + } else { + UIDialogs.toast(this, getString(R.string.not_a_plugin_url)) + return@showOverlay; + } + + val intent = Intent(this, AddSourceActivity::class.java).apply { + data = Uri.parse(url); + }; + startActivity(intent); + }, nameInput) } } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_add_source_options.xml b/app/src/main/res/layout/activity_add_source_options.xml index 541d489d..e9c1b001 100644 --- a/app/src/main/res/layout/activity_add_source_options.xml +++ b/app/src/main/res/layout/activity_add_source_options.xml @@ -1,5 +1,5 @@ - - + android:layout_height="match_parent" + android:orientation="vertical"> - - - + android:orientation="horizontal" + android:gravity="center_vertical" + android:paddingTop="20dp" + android:paddingBottom="15dp"> - + + - + android:layout_weight="1"> - + + + + + + + + + + + - - - - - - \ No newline at end of file + android:layout_height="match_parent" + android:visibility="gone" /> + \ No newline at end of file diff --git a/app/src/stable/assets/sources/kick b/app/src/stable/assets/sources/kick index 2046944c..3a0efd1f 160000 --- a/app/src/stable/assets/sources/kick +++ b/app/src/stable/assets/sources/kick @@ -1 +1 @@ -Subproject commit 2046944c18f48c15dfbea82f3f89d7ba6dce5e14 +Subproject commit 3a0efd1fc4db63c15334a190ab69a8fb4498ae23 diff --git a/app/src/stable/assets/sources/soundcloud b/app/src/stable/assets/sources/soundcloud index ae47f2ea..bff981c3 160000 --- a/app/src/stable/assets/sources/soundcloud +++ b/app/src/stable/assets/sources/soundcloud @@ -1 +1 @@ -Subproject commit ae47f2eaacaf2879405435358965c47eb3d48096 +Subproject commit bff981c3ce7abad363e79705214a4710fb347f7d diff --git a/app/src/stable/assets/sources/spotify b/app/src/stable/assets/sources/spotify index 9c36c457..331dd929 160000 --- a/app/src/stable/assets/sources/spotify +++ b/app/src/stable/assets/sources/spotify @@ -1 +1 @@ -Subproject commit 9c36c457463fc2a452f76eb74465e9e234cdaf69 +Subproject commit 331dd929293614875af80e3ab4cb162dc6183410 diff --git a/app/src/stable/assets/sources/youtube b/app/src/stable/assets/sources/youtube index 6e0fe924..ae7b62f4 160000 --- a/app/src/stable/assets/sources/youtube +++ b/app/src/stable/assets/sources/youtube @@ -1 +1 @@ -Subproject commit 6e0fe9245143336a31954d678cdd22cbc3e0e115 +Subproject commit ae7b62f4d85cf398d9566a6ed07a6afc193f6b48 diff --git a/app/src/unstable/assets/sources/kick b/app/src/unstable/assets/sources/kick index 2046944c..3a0efd1f 160000 --- a/app/src/unstable/assets/sources/kick +++ b/app/src/unstable/assets/sources/kick @@ -1 +1 @@ -Subproject commit 2046944c18f48c15dfbea82f3f89d7ba6dce5e14 +Subproject commit 3a0efd1fc4db63c15334a190ab69a8fb4498ae23 diff --git a/app/src/unstable/assets/sources/soundcloud b/app/src/unstable/assets/sources/soundcloud index ae47f2ea..bff981c3 160000 --- a/app/src/unstable/assets/sources/soundcloud +++ b/app/src/unstable/assets/sources/soundcloud @@ -1 +1 @@ -Subproject commit ae47f2eaacaf2879405435358965c47eb3d48096 +Subproject commit bff981c3ce7abad363e79705214a4710fb347f7d diff --git a/app/src/unstable/assets/sources/spotify b/app/src/unstable/assets/sources/spotify index 9c36c457..331dd929 160000 --- a/app/src/unstable/assets/sources/spotify +++ b/app/src/unstable/assets/sources/spotify @@ -1 +1 @@ -Subproject commit 9c36c457463fc2a452f76eb74465e9e234cdaf69 +Subproject commit 331dd929293614875af80e3ab4cb162dc6183410 diff --git a/app/src/unstable/assets/sources/youtube b/app/src/unstable/assets/sources/youtube index 6e0fe924..ae7b62f4 160000 --- a/app/src/unstable/assets/sources/youtube +++ b/app/src/unstable/assets/sources/youtube @@ -1 +1 @@ -Subproject commit 6e0fe9245143336a31954d678cdd22cbc3e0e115 +Subproject commit ae7b62f4d85cf398d9566a6ed07a6afc193f6b48