Code refactor and Flat, Fit, Full, Circle theme toolbar shadow fixes
This commit is contained in:
parent
954dfb6327
commit
724f743627
304 changed files with 3874 additions and 3524 deletions
|
@ -51,7 +51,12 @@ class AddToPlaylistDialog : DialogFragment() {
|
|||
}
|
||||
} else {
|
||||
dialog.dismiss()
|
||||
PlaylistsUtil.addToPlaylist(requireContext(), songs, playlists[index - 1].id, true)
|
||||
PlaylistsUtil.addToPlaylist(
|
||||
requireContext(),
|
||||
songs,
|
||||
playlists[index - 1].id,
|
||||
true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,7 +81,11 @@ class BlacklistFolderChooserDialog : DialogFragment() {
|
|||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
var savedInstanceStateFinal = savedInstanceState
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
|
||||
ActivityCompat.checkSelfPermission(requireActivity(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||
ActivityCompat.checkSelfPermission(
|
||||
requireActivity(),
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE
|
||||
) != PackageManager.PERMISSION_GRANTED
|
||||
) {
|
||||
return MaterialDialog(requireActivity(), BottomSheet(LayoutMode.WRAP_CONTENT)).show {
|
||||
title(R.string.md_error_label)
|
||||
cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner)
|
||||
|
|
|
@ -57,7 +57,10 @@ class CreatePlaylistDialog : DialogFragment() {
|
|||
?: return@positiveButton
|
||||
|
||||
if (playlistView.text.toString().trim { it <= ' ' }.isNotEmpty()) {
|
||||
val playlistId = PlaylistsUtil.createPlaylist(requireContext(), playlistView.text.toString())
|
||||
val playlistId = PlaylistsUtil.createPlaylist(
|
||||
requireContext(),
|
||||
playlistView.text.toString()
|
||||
)
|
||||
if (playlistId != -1 && activity != null) {
|
||||
PlaylistsUtil.addToPlaylist(requireContext(), songs, playlistId, true)
|
||||
}
|
||||
|
@ -73,7 +76,10 @@ class CreatePlaylistDialog : DialogFragment() {
|
|||
|
||||
val playlistId = arguments!!.getLong(MediaStore.Audio.Playlists.Members.PLAYLIST_ID)
|
||||
playlistView.appHandleColor()
|
||||
.setText(PlaylistsUtil.getNameForPlaylist(requireContext(), playlistId), TextView.BufferType.EDITABLE)
|
||||
.setText(
|
||||
PlaylistsUtil.getNameForPlaylist(requireContext(), playlistId),
|
||||
TextView.BufferType.EDITABLE
|
||||
)
|
||||
return materialDialog
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ import code.name.monkey.retromusic.util.PreferenceUtil
|
|||
import com.afollestad.materialdialogs.LayoutMode
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
|
||||
import java.util.ArrayList
|
||||
import java.util.*
|
||||
|
||||
class DeletePlaylistDialog : DialogFragment() {
|
||||
|
||||
|
|
|
@ -21,54 +21,29 @@ import android.content.Intent;
|
|||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.activities.saf.SAFGuideActivity;
|
||||
import code.name.monkey.retromusic.misc.DialogAsyncTask;
|
||||
import code.name.monkey.retromusic.model.Song;
|
||||
import code.name.monkey.retromusic.util.SAFUtil;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by hemanths on 2019-07-31.
|
||||
*/
|
||||
public class DeleteSongsAsyncTask extends DialogAsyncTask<DeleteSongsAsyncTask.LoadingInfo, Integer, Void> {
|
||||
|
||||
public static class LoadingInfo {
|
||||
|
||||
public Intent intent;
|
||||
|
||||
public boolean isIntent;
|
||||
|
||||
public int requestCode;
|
||||
|
||||
public int resultCode;
|
||||
|
||||
public List<Uri> safUris;
|
||||
|
||||
public List<Song> songs;
|
||||
|
||||
public LoadingInfo(List<Song> songs, List<Uri> safUris) {
|
||||
this.isIntent = false;
|
||||
this.songs = songs;
|
||||
this.safUris = safUris;
|
||||
}
|
||||
|
||||
public LoadingInfo(int requestCode, int resultCode, Intent intent) {
|
||||
this.isIntent = true;
|
||||
this.requestCode = requestCode;
|
||||
this.resultCode = resultCode;
|
||||
this.intent = intent;
|
||||
}
|
||||
}
|
||||
|
||||
private WeakReference<FragmentActivity> activityWeakReference;
|
||||
|
||||
private WeakReference<DeleteSongsDialog> dialogReference;
|
||||
|
||||
public DeleteSongsAsyncTask(@NonNull DeleteSongsDialog dialog) {
|
||||
|
@ -138,4 +113,32 @@ public class DeleteSongsAsyncTask extends DialogAsyncTask<DeleteSongsAsyncTask.L
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static class LoadingInfo {
|
||||
|
||||
public Intent intent;
|
||||
|
||||
public boolean isIntent;
|
||||
|
||||
public int requestCode;
|
||||
|
||||
public int resultCode;
|
||||
|
||||
public List<Uri> safUris;
|
||||
|
||||
public List<Song> songs;
|
||||
|
||||
public LoadingInfo(List<Song> songs, List<Uri> safUris) {
|
||||
this.isIntent = false;
|
||||
this.songs = songs;
|
||||
this.safUris = safUris;
|
||||
}
|
||||
|
||||
public LoadingInfo(int requestCode, int resultCode, Intent intent) {
|
||||
this.isIntent = true;
|
||||
this.requestCode = requestCode;
|
||||
this.resultCode = resultCode;
|
||||
this.intent = intent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,7 +87,13 @@ class DeleteSongsDialog : DialogFragment() {
|
|||
deleteSongsAsyncTask?.cancel(true)
|
||||
}
|
||||
deleteSongsAsyncTask = DeleteSongsAsyncTask(this)
|
||||
deleteSongsAsyncTask?.execute(DeleteSongsAsyncTask.LoadingInfo(requestCode, resultCode, data))
|
||||
deleteSongsAsyncTask?.execute(
|
||||
DeleteSongsAsyncTask.LoadingInfo(
|
||||
requestCode,
|
||||
resultCode,
|
||||
data
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,7 +74,11 @@ class OptionsSheetDialogFragment : DialogFragment(), View.OnClickListener {
|
|||
return materialDialog
|
||||
}
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
dialog?.window?.let {
|
||||
(requireActivity() as MainActivity).setNavigationbarColorAuto()
|
||||
(requireActivity() as MainActivity).setLightNavigationBar(true)
|
||||
|
|
|
@ -48,7 +48,11 @@ class RenamePlaylistDialog : DialogFragment() {
|
|||
positiveButton(string.action_rename) {
|
||||
if (playlistView.toString().trim { it <= ' ' } != "") {
|
||||
val playlistId = arguments!!.getLong(PLAYLIST_ID)
|
||||
PlaylistsUtil.renamePlaylist(context, playlistId, playlistView.text!!.toString())
|
||||
PlaylistsUtil.renamePlaylist(
|
||||
context,
|
||||
playlistId,
|
||||
playlistView.text!!.toString()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -61,7 +65,10 @@ class RenamePlaylistDialog : DialogFragment() {
|
|||
|
||||
val playlistId = arguments!!.getLong(PLAYLIST_ID)
|
||||
playlistView.appHandleColor()
|
||||
.setText(PlaylistsUtil.getNameForPlaylist(context!!, playlistId), TextView.BufferType.EDITABLE)
|
||||
.setText(
|
||||
PlaylistsUtil.getNameForPlaylist(context!!, playlistId),
|
||||
TextView.BufferType.EDITABLE
|
||||
)
|
||||
return materialDialog
|
||||
}
|
||||
|
||||
|
|
|
@ -62,7 +62,8 @@ class SleepTimerDialog : DialogFragment() {
|
|||
.title(R.string.action_sleep_timer)
|
||||
.cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner)
|
||||
.positiveButton(R.string.action_set) {
|
||||
PreferenceUtil.getInstance(requireContext()).sleepTimerFinishMusic = shouldFinishLastSong.isChecked
|
||||
PreferenceUtil.getInstance(requireContext()).sleepTimerFinishMusic =
|
||||
shouldFinishLastSong.isChecked
|
||||
|
||||
val minutes = seekArcProgress
|
||||
|
||||
|
@ -119,10 +120,15 @@ class SleepTimerDialog : DialogFragment() {
|
|||
return materialDialog
|
||||
}
|
||||
|
||||
shouldFinishLastSong = materialDialog.getCustomView().findViewById(R.id.shouldFinishLastSong)
|
||||
shouldFinishLastSong =
|
||||
materialDialog.getCustomView().findViewById(R.id.shouldFinishLastSong)
|
||||
seekBar = materialDialog.getCustomView().findViewById(R.id.seekBar)
|
||||
timerDisplay = materialDialog.getCustomView().findViewById(R.id.timerDisplay)
|
||||
TintHelper.setTintAuto(shouldFinishLastSong, ThemeStore.accentColor(requireContext()), false)
|
||||
TintHelper.setTintAuto(
|
||||
shouldFinishLastSong,
|
||||
ThemeStore.accentColor(requireContext()),
|
||||
false
|
||||
)
|
||||
|
||||
val finishMusic = PreferenceUtil.getInstance(requireContext()).sleepTimerFinishMusic
|
||||
shouldFinishLastSong.isChecked = finishMusic
|
||||
|
|
|
@ -86,22 +86,36 @@ class SongDetailDialog : DialogFragment() {
|
|||
val songFile = File(song.data)
|
||||
if (songFile.exists()) {
|
||||
fileName.text = makeTextWithTitle(context, string.label_file_name, songFile.name)
|
||||
filePath.text = makeTextWithTitle(context, string.label_file_path, songFile.absolutePath)
|
||||
filePath.text =
|
||||
makeTextWithTitle(context, string.label_file_path, songFile.absolutePath)
|
||||
fileSize.text =
|
||||
makeTextWithTitle(context, string.label_file_size, getFileSizeString(songFile.length()))
|
||||
makeTextWithTitle(
|
||||
context,
|
||||
string.label_file_size,
|
||||
getFileSizeString(songFile.length())
|
||||
)
|
||||
try {
|
||||
val audioFile = AudioFileIO.read(songFile)
|
||||
val audioHeader = audioFile.audioHeader
|
||||
|
||||
fileFormat.text = makeTextWithTitle(context, string.label_file_format, audioHeader.format)
|
||||
fileFormat.text =
|
||||
makeTextWithTitle(context, string.label_file_format, audioHeader.format)
|
||||
trackLength.text = makeTextWithTitle(
|
||||
context,
|
||||
string.label_track_length,
|
||||
MusicUtil.getReadableDurationString((audioHeader.trackLength * 1000).toLong())
|
||||
)
|
||||
bitRate.text = makeTextWithTitle(context, string.label_bit_rate, audioHeader.bitRate + " kb/s")
|
||||
bitRate.text = makeTextWithTitle(
|
||||
context,
|
||||
string.label_bit_rate,
|
||||
audioHeader.bitRate + " kb/s"
|
||||
)
|
||||
samplingRate.text =
|
||||
makeTextWithTitle(context, string.label_sampling_rate, audioHeader.sampleRate + " Hz")
|
||||
makeTextWithTitle(
|
||||
context,
|
||||
string.label_sampling_rate,
|
||||
audioHeader.sampleRate + " Hz"
|
||||
)
|
||||
} catch (@NonNull e: CannotReadException) {
|
||||
Log.e(TAG, "error while reading the song file", e)
|
||||
// fallback
|
||||
|
|
|
@ -68,7 +68,10 @@ class SongShareDialog : DialogFragment() {
|
|||
2 -> {
|
||||
if (song != null) {
|
||||
startActivity(
|
||||
Intent(requireContext(), ShareInstagramStory::class.java).putExtra(
|
||||
Intent(
|
||||
requireContext(),
|
||||
ShareInstagramStory::class.java
|
||||
).putExtra(
|
||||
ShareInstagramStory.EXTRA_SONG,
|
||||
song
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue