From 0e7482321c2cfccbd406270f89eaf69a88f5cab1 Mon Sep 17 00:00:00 2001 From: Kelvin Date: Sat, 9 Dec 2023 16:31:34 +0100 Subject: [PATCH] Import platform redirect and disabled buttons, minor ui fixes --- .../dialogs/ImportOptionsDialog.kt | 7 ++++++ .../mainactivity/main/SourceDetailFragment.kt | 25 +++++++++++++++++++ .../main/res/layout/dialog_import_options.xml | 10 ++++++++ app/src/main/res/layout/list_comment.xml | 7 +++--- .../main/res/layout/rating_likesdislikes.xml | 6 +++-- app/src/main/res/values/strings.xml | 1 + 6 files changed, 51 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/dialogs/ImportOptionsDialog.kt b/app/src/main/java/com/futo/platformplayer/dialogs/ImportOptionsDialog.kt index 4abdb16c..2e79b0b4 100644 --- a/app/src/main/java/com/futo/platformplayer/dialogs/ImportOptionsDialog.kt +++ b/app/src/main/java/com/futo/platformplayer/dialogs/ImportOptionsDialog.kt @@ -7,6 +7,7 @@ import android.view.LayoutInflater import android.widget.Button import com.futo.platformplayer.R import com.futo.platformplayer.activities.MainActivity +import com.futo.platformplayer.fragment.mainactivity.main.SourcesFragment import com.futo.platformplayer.readBytes import com.futo.platformplayer.states.StateApp import com.futo.platformplayer.states.StateBackup @@ -19,6 +20,7 @@ class ImportOptionsDialog: AlertDialog { private lateinit var _button_import_ezip: BigButton; private lateinit var _button_import_txt: BigButton; private lateinit var _button_import_newpipe_subs: BigButton; + private lateinit var _button_import_platform: BigButton; private lateinit var _button_close: Button; @@ -33,6 +35,7 @@ class ImportOptionsDialog: AlertDialog { _button_import_ezip = findViewById(R.id.button_import_ezip); _button_import_txt = findViewById(R.id.button_import_txt); _button_import_newpipe_subs = findViewById(R.id.button_import_newpipe_subs); + _button_import_platform = findViewById(R.id.button_import_platform); _button_close = findViewById(R.id.button_cancel); _button_import_zip.onClick.subscribe { @@ -61,6 +64,10 @@ class ImportOptionsDialog: AlertDialog { StateBackup.importNewPipeSubs(_context, json); }; }; + _button_import_platform.onClick.subscribe { + dismiss(); + _context.navigate(_context.getFragment()); + }; _button_close.setOnClickListener { dismiss(); } diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SourceDetailFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SourceDetailFragment.kt index 4b7cf45d..9f8a4454 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SourceDetailFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SourceDetailFragment.kt @@ -264,6 +264,31 @@ class SourceDetailFragment : MainFragment() { } ) ); + + val migrationButtons = mutableListOf(); + if (isEnabled && source.capabilities.hasGetUserSubscriptions) { + migrationButtons.add( + BigButton(c, context.getString(R.string.import_subscriptions), context.getString(R.string.login_required), R.drawable.ic_subscriptions) { + + }.apply { this.alpha = 0.5f } + ); + } + + if (isEnabled && source.capabilities.hasGetUserPlaylists && source.capabilities.hasGetPlaylist) { + val bigButton = BigButton(c, context.getString(R.string.import_playlists), context.getString(R.string.login_required), R.drawable.ic_playlist) { + + }.apply { this.alpha = 0.5f }; + + bigButton.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT).apply { + setMargins(0, TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5f, resources.displayMetrics).toInt(), 0, 0); + }; + + migrationButtons.add(bigButton); + } + + if (migrationButtons.size > 0) { + groups.add(BigButtonGroup(c, context.getString(R.string.migration), *migrationButtons.toTypedArray())); + } } } diff --git a/app/src/main/res/layout/dialog_import_options.xml b/app/src/main/res/layout/dialog_import_options.xml index ad50a314..93d02b05 100644 --- a/app/src/main/res/layout/dialog_import_options.xml +++ b/app/src/main/res/layout/dialog_import_options.xml @@ -71,6 +71,16 @@ android:paddingTop="10dp" android:layout_marginTop="5dp" android:layout_marginBottom="10dp"> + @@ -83,7 +84,7 @@ android:layout_height="wrap_content" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" - android:layout_marginStart="10dp" /> + android:layout_marginStart="9dp" /> + tools:text="50K" /> @@ -68,7 +70,7 @@ android:textColor="@color/white" android:gravity="center_vertical" android:textSize="13dp" - tools:text="500K" /> + tools:text="50K" /> Import your subscriptions from this source Import your playlists from this source Login + Login Required Sign into the platform of this source Management Uninstall