mirror of
https://gitlab.com/ultrasonic/ultrasonic.git
synced 2025-05-15 14:56:43 +03:00
Merge branch 'develop' into 'develop'
added confirmation for Unpin/Deletion See merge request ultrasonic/ultrasonic!787
This commit is contained in:
commit
d6c8e05d4c
@ -44,6 +44,7 @@ import org.moire.ultrasonic.subsonic.ShareHandler
|
|||||||
import org.moire.ultrasonic.subsonic.VideoPlayer
|
import org.moire.ultrasonic.subsonic.VideoPlayer
|
||||||
import org.moire.ultrasonic.util.CancellationToken
|
import org.moire.ultrasonic.util.CancellationToken
|
||||||
import org.moire.ultrasonic.util.CommunicationError
|
import org.moire.ultrasonic.util.CommunicationError
|
||||||
|
import org.moire.ultrasonic.util.ConfirmationDialog
|
||||||
import org.moire.ultrasonic.util.Constants
|
import org.moire.ultrasonic.util.Constants
|
||||||
import org.moire.ultrasonic.util.EntryByDiscAndTrackComparator
|
import org.moire.ultrasonic.util.EntryByDiscAndTrackComparator
|
||||||
import org.moire.ultrasonic.util.Settings
|
import org.moire.ultrasonic.util.Settings
|
||||||
@ -187,7 +188,15 @@ open class TrackCollectionFragment : MultiListFragment<MusicDirectory.Child>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unpinButton?.setOnClickListener {
|
unpinButton?.setOnClickListener {
|
||||||
|
if (Settings.showConfirmationDialog) {
|
||||||
|
ConfirmationDialog.Builder(context)
|
||||||
|
.setMessage(R.string.common_unpin_selection_confirmation)
|
||||||
|
.setPositiveButton(R.string.common_unpin) { _, _ ->
|
||||||
unpin()
|
unpin()
|
||||||
|
}.show()
|
||||||
|
} else {
|
||||||
|
unpin()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
downloadButton?.setOnClickListener {
|
downloadButton?.setOnClickListener {
|
||||||
@ -195,7 +204,15 @@ open class TrackCollectionFragment : MultiListFragment<MusicDirectory.Child>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
deleteButton?.setOnClickListener {
|
deleteButton?.setOnClickListener {
|
||||||
|
if (Settings.showConfirmationDialog) {
|
||||||
|
ConfirmationDialog.Builder(context)
|
||||||
|
.setMessage(R.string.common_delete_selection_confirmation)
|
||||||
|
.setPositiveButton(R.string.common_delete) { _, _ ->
|
||||||
delete()
|
delete()
|
||||||
|
}.show()
|
||||||
|
} else {
|
||||||
|
delete()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,3 +76,33 @@ class ErrorDialog(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class ConfirmationDialog(
|
||||||
|
context: Context,
|
||||||
|
message: CharSequence?,
|
||||||
|
activity: Activity? = null,
|
||||||
|
finishActivityOnClose: Boolean = false
|
||||||
|
) : InfoDialog(context, message, activity, finishActivityOnClose) {
|
||||||
|
|
||||||
|
override var builder: AlertDialog.Builder = Builder(activity ?: context, message)
|
||||||
|
|
||||||
|
class Builder(context: Context?) : AlertDialog.Builder(context) {
|
||||||
|
constructor(context: Context, message: CharSequence?) : this(context) {
|
||||||
|
setMessage(message)
|
||||||
|
}
|
||||||
|
|
||||||
|
init {
|
||||||
|
setIcon(R.drawable.ic_baseline_info)
|
||||||
|
setTitle(R.string.common_confirm)
|
||||||
|
setCancelable(true)
|
||||||
|
|
||||||
|
setPositiveButton(R.string.common_confirm) { _, _ ->
|
||||||
|
// Gets overwritten
|
||||||
|
}
|
||||||
|
|
||||||
|
setNegativeButton(R.string.common_cancel) { _, _ ->
|
||||||
|
// Just close it
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -265,6 +265,12 @@ object Settings {
|
|||||||
0
|
0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
var showConfirmationDialog by BooleanSetting(
|
||||||
|
getKey(R.string.setting_key_show_confirmation_dialog),
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
// TODO: Remove in December 2022
|
// TODO: Remove in December 2022
|
||||||
fun migrateFeatureStorage() {
|
fun migrateFeatureStorage() {
|
||||||
val sp = appContext.getSharedPreferences("feature_flags", Context.MODE_PRIVATE)
|
val sp = appContext.getSharedPreferences("feature_flags", Context.MODE_PRIVATE)
|
||||||
|
@ -53,4 +53,5 @@
|
|||||||
<string name="setting_key.debug_log_to_file" translatable="false">debugLogToFile</string>
|
<string name="setting_key.debug_log_to_file" translatable="false">debugLogToFile</string>
|
||||||
<string name="setting_key.override_language" translatable="false">overrideLanguage</string>
|
<string name="setting_key.override_language" translatable="false">overrideLanguage</string>
|
||||||
<string name="setting_key.first_installed_version" translatable="false">firstInstalledVersion</string>
|
<string name="setting_key.first_installed_version" translatable="false">firstInstalledVersion</string>
|
||||||
|
<string name="setting_key.show_confirmation_dialog" translatable="false">showConfirmationDialog</string>
|
||||||
</resources>
|
</resources>
|
@ -50,6 +50,8 @@
|
|||||||
<string name="common.select_all">Select all</string>
|
<string name="common.select_all">Select all</string>
|
||||||
<string name="common.title">Title</string>
|
<string name="common.title">Title</string>
|
||||||
<string name="common.unpin">Unpin</string>
|
<string name="common.unpin">Unpin</string>
|
||||||
|
<string name="common.delete_selection_confirmation">Do you really want to delete the current selection?</string>
|
||||||
|
<string name="common.unpin_selection_confirmation">Do you really want to unpin the current selection?</string>
|
||||||
<string name="common.various_artists">Various Artists</string>
|
<string name="common.various_artists">Various Artists</string>
|
||||||
<string name="delete_playlist">Do you want to delete %1$s</string>
|
<string name="delete_playlist">Do you want to delete %1$s</string>
|
||||||
<string name="download.bookmark_removed" formatted="false">Bookmark removed.</string>
|
<string name="download.bookmark_removed" formatted="false">Bookmark removed.</string>
|
||||||
@ -374,6 +376,8 @@
|
|||||||
<string name="download.menu_show_artist">Show Artist</string>
|
<string name="download.menu_show_artist">Show Artist</string>
|
||||||
<string name="albumArt">albumArt</string>
|
<string name="albumArt">albumArt</string>
|
||||||
<string name="common_multiple_years">Multiple Years</string>
|
<string name="common_multiple_years">Multiple Years</string>
|
||||||
|
<string name="settings.show_confirmation_dialog">Show confirmation dialog</string>
|
||||||
|
<string name="settings.show_confirmation_dialog_summary">Displays a confirmation dialog before deleting or unpinning songs</string>
|
||||||
<string name="settings.debug.title">Debug options</string>
|
<string name="settings.debug.title">Debug options</string>
|
||||||
<string name="settings.debug.log_to_file">Write debug log to file</string>
|
<string name="settings.debug.log_to_file">Write debug log to file</string>
|
||||||
<string name="settings.debug.log_path">The log files are available at %1$s/%2$s</string>
|
<string name="settings.debug.log_path">The log files are available at %1$s/%2$s</string>
|
||||||
@ -452,5 +456,4 @@
|
|||||||
<string name="settings.use_hw_offload_title">Use hardware playback (experimental)</string>
|
<string name="settings.use_hw_offload_title">Use hardware playback (experimental)</string>
|
||||||
<string name="settings.use_hw_offload_description">Try to play the media using the media decoder chip on your phone. This can improve battery usage.</string>
|
<string name="settings.use_hw_offload_description">Try to play the media using the media decoder chip on your phone. This can improve battery usage.</string>
|
||||||
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -317,6 +317,12 @@
|
|||||||
a:title="@string/settings.override_language"
|
a:title="@string/settings.override_language"
|
||||||
a:summary="@string/settings.override_language_summary"
|
a:summary="@string/settings.override_language_summary"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
|
<CheckBoxPreference
|
||||||
|
a:defaultValue="false"
|
||||||
|
a:key="@string/setting_key.show_confirmation_dialog"
|
||||||
|
a:title="@string/settings.show_confirmation_dialog"
|
||||||
|
a:summary="@string/settings.show_confirmation_dialog_summary"
|
||||||
|
app:iconSpaceReserved="false"/>
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
a:title="@string/settings.debug.title"
|
a:title="@string/settings.debug.title"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user