From 9b48adbc752e4503b3b550cd8302226e0f4fa00c Mon Sep 17 00:00:00 2001 From: Siddhesh Naik Date: Sat, 23 Sep 2023 18:29:45 +0530 Subject: [PATCH] Address review comments - Removed the setting item to update the playlist sharing preference. - Removed the option to save user's playlist sharing preference. Video demo: - https://github.com/TeamNewPipe/NewPipe/assets/87667048/5ac5ab6f-163d-4407-bd67-a078a8b55bbb PR Commit Message Add playlist name and video name in playlist sharing content - Currently, only a list of videos separated by newline are added in the share content. - This makes it difficult to identify a specific video in a list of Urls. - Used string resources for the sharing content formats. - Added a confirmation dialog for users to choose between sharing playlist formats. - Added Playlist name as the header and corresponding video name for each video url in following format. Playlist - Music1: https://media-url1 - Music2: https://media-url2 - Music3: https://media-url3 Screenshots: | Before | After | | --- | --- | | | | Video demo: - https://github.com/TeamNewPipe/NewPipe/assets/87667048/5ac5ab6f-163d-4407-bd67-a078a8b55bbb --- .../local/playlist/LocalPlaylistFragment.java | 49 +++++-------------- .../main/res/layout/dialog_share_playlist.xml | 28 ----------- app/src/main/res/values/settings_keys.xml | 2 - app/src/main/res/values/strings.xml | 2 - app/src/main/res/xml/video_audio_settings.xml | 8 --- 5 files changed, 12 insertions(+), 77 deletions(-) delete mode 100644 app/src/main/res/layout/dialog_share_playlist.xml diff --git a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java index 5a4eab6e8..560ea4654 100644 --- a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java @@ -5,7 +5,6 @@ import static org.schabi.newpipe.ktx.ViewUtils.animate; import static org.schabi.newpipe.util.ThemeHelper.shouldUseGridLayout; import android.content.Context; -import android.content.SharedPreferences; import android.os.Bundle; import android.os.Parcelable; import android.text.InputType; @@ -23,7 +22,6 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; -import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; @@ -38,7 +36,6 @@ import org.schabi.newpipe.database.playlist.PlaylistStreamEntry; import org.schabi.newpipe.database.playlist.model.PlaylistEntity; import org.schabi.newpipe.database.stream.model.StreamEntity; import org.schabi.newpipe.databinding.DialogEditTextBinding; -import org.schabi.newpipe.databinding.DialogSharePlaylistBinding; import org.schabi.newpipe.databinding.LocalPlaylistHeaderBinding; import org.schabi.newpipe.databinding.PlaylistControlBinding; import org.schabi.newpipe.error.ErrorInfo; @@ -54,8 +51,8 @@ import org.schabi.newpipe.player.playqueue.SinglePlayQueue; import org.schabi.newpipe.util.Localization; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.OnClickGesture; -import org.schabi.newpipe.util.external_communication.ShareUtils; import org.schabi.newpipe.util.PlayButtonHelper; +import org.schabi.newpipe.util.external_communication.ShareUtils; import java.util.ArrayList; import java.util.Collections; @@ -102,8 +99,6 @@ public class LocalPlaylistFragment extends BaseLocalListFragment Single.just(playlist.stream() .map(PlaylistStreamEntry::getStreamEntity) @@ -875,34 +867,17 @@ public class LocalPlaylistFragment extends BaseLocalListFragment { - savePreferencesAndSharePlaylist( - dialogBinding.rememberChoiceCheckBox.isChecked(), true); + sharePlaylist(/* shouldSharePlaylistDetails= */ true); }) .setNegativeButton(R.string.share_playlist_with_list, (dialog, which) -> { - savePreferencesAndSharePlaylist( - dialogBinding.rememberChoiceCheckBox.isChecked(), false); + sharePlaylist(/* shouldSharePlaylistDetails= */ false); }) .show(); } - - private void savePreferencesAndSharePlaylist(final boolean rememberPlaylistSharingOption, - final boolean sharePlaylistWithDetails) { - sharedPreferences.edit() - .putBoolean(requireContext().getString( - R.string.remember_local_playlist_sharing_option_key), - rememberPlaylistSharingOption) - .putBoolean(requireContext().getString( - R.string.share_playlist_with_details_key), sharePlaylistWithDetails) - .apply(); - sharePlaylist(); - } } diff --git a/app/src/main/res/layout/dialog_share_playlist.xml b/app/src/main/res/layout/dialog_share_playlist.xml deleted file mode 100644 index 571264e57..000000000 --- a/app/src/main/res/layout/dialog_share_playlist.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 42c2639c2..880fa92da 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -24,8 +24,6 @@ screen_brightness_timestamp_key clear_queue_confirmation_key ignore_hardware_media_buttons_key - share_playlist_with_details_key - remember_local_playlist_sharing_option_key popup_saved_width popup_saved_x diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 317de1a92..d956ba5ba 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -836,8 +836,6 @@ Share playlist with details such as playlist name and video titles or as a simple list of video URLs Share with details Share URL list - Remember my choice - Share playlist with details such as playlist name and video titles - %s: %s %s\n%s diff --git a/app/src/main/res/xml/video_audio_settings.xml b/app/src/main/res/xml/video_audio_settings.xml index 87d895942..727ce4df4 100644 --- a/app/src/main/res/xml/video_audio_settings.xml +++ b/app/src/main/res/xml/video_audio_settings.xml @@ -249,13 +249,5 @@ android:title="@string/ignore_hardware_media_buttons_title" app:singleLineTitle="false" app:iconSpaceReserved="false" /> - -