Cleanup titles and content of more dialogs, also removed unnecessary empty dialog callbacks (you don't need to manually dismiss dialogs with auto dismiss on by default)
More dialog cleanup The queue dialog will scroll to the queue position everytime it opens Updates FAB ripple color is set Re-added accidentally removed method
This commit is contained in:
parent
d5c5d02360
commit
f7c91839ba
12 changed files with 96 additions and 81 deletions
|
|
@ -27,14 +27,7 @@ public class AboutDialog extends DialogFragment {
|
|||
getActivity().getResources().getText(R.string.credits_3),
|
||||
getActivity().getResources().getText(R.string.credits_4))
|
||||
)
|
||||
.positiveText(getActivity().getResources().getString(android.R.string.ok))
|
||||
.callback(new MaterialDialog.ButtonCallback() {
|
||||
@Override
|
||||
public void onPositive(MaterialDialog dialog) {
|
||||
super.onPositive(dialog);
|
||||
dialog.dismiss();
|
||||
}
|
||||
})
|
||||
.positiveText(android.R.string.ok)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public class CreatePlaylistDialog extends DialogFragment {
|
|||
public void onInput(MaterialDialog materialDialog, CharSequence charSequence) {
|
||||
if (getActivity() == null)
|
||||
return;
|
||||
if (!charSequence.toString().trim().equals("")) {
|
||||
if (!charSequence.toString().trim().isEmpty()) {
|
||||
final int playlistId = PlaylistsUtil.createPlaylist(getActivity(), charSequence.toString());
|
||||
if (playlistId != -1 && getActivity() != null) {
|
||||
//noinspection unchecked
|
||||
|
|
|
|||
|
|
@ -42,12 +42,6 @@ public class DeletePlaylistDialog extends DialogFragment {
|
|||
long playlistId = getArguments().getLong("playlist_id");
|
||||
PlaylistsUtil.deletePlaylist(getActivity(), playlistId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNegative(MaterialDialog dialog) {
|
||||
super.onNegative(dialog);
|
||||
dialog.dismiss();
|
||||
}
|
||||
}).build();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package com.kabouzeid.gramophone.dialogs;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.text.Html;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid), Aidan Follestad (afollestad)
|
||||
*/
|
||||
public class DeleteSongsDialog extends DialogFragment {
|
||||
|
||||
public static DeleteSongsDialog create(Song song) {
|
||||
ArrayList<Song> list = new ArrayList<>();
|
||||
list.add(song);
|
||||
return create(list);
|
||||
}
|
||||
|
||||
public static DeleteSongsDialog create(ArrayList<Song> songs) {
|
||||
DeleteSongsDialog dialog = new DeleteSongsDialog();
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable("songs", songs);
|
||||
dialog.setArguments(args);
|
||||
return dialog;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
//noinspection unchecked
|
||||
ArrayList<Song> songs = (ArrayList<Song>) getArguments().getSerializable("songs");
|
||||
int title;
|
||||
CharSequence content;
|
||||
if (songs.size() > 1) {
|
||||
title = R.string.delete_songs_title;
|
||||
content = Html.fromHtml(getString(R.string.delete_x_songs, songs.size()));
|
||||
} else {
|
||||
title = R.string.delete_song_title;
|
||||
content = Html.fromHtml(getString(R.string.delete_song_x, songs.get(0).getTitle()));
|
||||
}
|
||||
return new MaterialDialog.Builder(getActivity())
|
||||
.title(title)
|
||||
.content(content)
|
||||
.positiveText(R.string.delete_action)
|
||||
.negativeText(android.R.string.cancel)
|
||||
.callback(new MaterialDialog.ButtonCallback() {
|
||||
@Override
|
||||
public void onPositive(MaterialDialog dialog) {
|
||||
super.onPositive(dialog);
|
||||
if (getActivity() == null)
|
||||
return;
|
||||
//noinspection unchecked
|
||||
ArrayList<Song> songs = (ArrayList<Song>) getArguments().getSerializable("songs");
|
||||
MusicUtil.deleteTracks(getActivity(), songs);
|
||||
}
|
||||
}).build();
|
||||
}
|
||||
}
|
||||
|
|
@ -39,7 +39,7 @@ public class PlayingQueueDialog extends DialogFragment {
|
|||
MaterialDialog dialog = new MaterialDialog.Builder(getActivity())
|
||||
.title(getActivity().getResources().getString(R.string.label_current_playing_queue))
|
||||
.customView(R.layout.dialog_playlist, false)
|
||||
.positiveText(getActivity().getResources().getString(R.string.save_as_playlist))
|
||||
.positiveText(R.string.save_as_playlist)
|
||||
.callback(new MaterialDialog.ButtonCallback() {
|
||||
@Override
|
||||
public void onPositive(MaterialDialog dialog) {
|
||||
|
|
@ -73,6 +73,13 @@ public class PlayingQueueDialog extends DialogFragment {
|
|||
playingQueueAdapter.notifyDataSetChanged();
|
||||
}
|
||||
});
|
||||
dragSortListView.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
dragSortListView.requestFocus();
|
||||
dragSortListView.setSelection(MusicPlayerRemote.getPosition());
|
||||
}
|
||||
});
|
||||
return dialog;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,12 +53,6 @@ public class SongDetailDialog extends DialogFragment {
|
|||
.customView(R.layout.dialog_file_details, true)
|
||||
.title(context.getResources().getString(R.string.label_details))
|
||||
.positiveText(android.R.string.ok)
|
||||
.callback(new MaterialDialog.ButtonCallback() {
|
||||
@Override
|
||||
public void onPositive(MaterialDialog dialog) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
})
|
||||
.build();
|
||||
|
||||
View dialogView = dialog.getCustomView();
|
||||
|
|
|
|||
|
|
@ -1,47 +0,0 @@
|
|||
package com.kabouzeid.gramophone.helper;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid), Aidan Follestad (afollestad)
|
||||
*/
|
||||
public class DeleteSongsDialogHelper {
|
||||
|
||||
public static MaterialDialog getDialog(final Context context, final Song song) {
|
||||
List<Song> tmpList = new ArrayList<>();
|
||||
tmpList.add(song);
|
||||
return getDialog(context, tmpList);
|
||||
}
|
||||
|
||||
public static MaterialDialog getDialog(final Context context, final List<Song> songs) {
|
||||
String title = context.getResources().getString(R.string.delete_songs_1);
|
||||
title = songs.size() > 1 ? title + songs.size() + context.getResources().getString(R.string.delete_songs_2) : title + "'" + songs.get(0).title + "' " + "?";
|
||||
return new MaterialDialog.Builder(context)
|
||||
.title(title)
|
||||
.content(context.getResources().getString(R.string.delete_warning))
|
||||
.positiveText(context.getResources().getString(R.string.delete_action))
|
||||
.negativeText(context.getResources().getString(android.R.string.cancel))
|
||||
.callback(new MaterialDialog.ButtonCallback() {
|
||||
@Override
|
||||
public void onPositive(MaterialDialog dialog) {
|
||||
super.onPositive(dialog);
|
||||
dialog.dismiss();
|
||||
MusicUtil.deleteTracks(context, songs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNegative(MaterialDialog dialog) {
|
||||
super.onNegative(dialog);
|
||||
dialog.dismiss();
|
||||
}
|
||||
}).build();
|
||||
}
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@ import android.view.MenuItem;
|
|||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog;
|
||||
import com.kabouzeid.gramophone.dialogs.DeletePlaylistDialog;
|
||||
import com.kabouzeid.gramophone.dialogs.DeleteSongsDialog;
|
||||
import com.kabouzeid.gramophone.dialogs.RenamePlaylistDialog;
|
||||
import com.kabouzeid.gramophone.dialogs.SongDetailDialog;
|
||||
import com.kabouzeid.gramophone.loader.SongFilePathLoader;
|
||||
|
|
@ -28,7 +29,7 @@ public class MenuItemClickHelper {
|
|||
public static boolean handleSongMenuClick(ActionBarActivity activity, Song song, MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_delete_from_disk:
|
||||
DeleteSongsDialogHelper.getDialog(activity, song).show();
|
||||
DeleteSongsDialog.create(song).show(activity.getSupportFragmentManager(), "DELETE_SONGS");
|
||||
return true;
|
||||
case R.id.action_add_to_playlist:
|
||||
AddToPlaylistDialog.create(song).show(activity.getSupportFragmentManager(), "ADD_PLAYLIST");
|
||||
|
|
|
|||
|
|
@ -57,10 +57,12 @@ public abstract class AbsFabActivity extends AbsBaseActivity {
|
|||
if (accentColor == Color.WHITE) {
|
||||
getFab().setColorNormal(accentColor);
|
||||
getFab().setColorPressed(ColorChooserDialog.shiftColorDown(accentColor));
|
||||
getFab().setColorRipple(ColorChooserDialog.shiftColorUp(accentColor));
|
||||
getFab().getDrawable().setColorFilter(Color.BLACK, PorterDuff.Mode.SRC_IN);
|
||||
} else {
|
||||
getFab().setColorNormal(accentColor);
|
||||
getFab().setColorPressed(ColorChooserDialog.shiftColorUp(accentColor));
|
||||
getFab().setColorRipple(ColorChooserDialog.shiftColorDown(accentColor));
|
||||
getFab().getDrawable().clearColorFilter();
|
||||
}
|
||||
|
||||
|
|
@ -122,6 +124,10 @@ public abstract class AbsFabActivity extends AbsBaseActivity {
|
|||
updateControllerState();
|
||||
}
|
||||
|
||||
protected void updateControllerState() {
|
||||
updateFabState();
|
||||
}
|
||||
|
||||
public Pair[] getSharedViewsWithFab(Pair[] sharedViews) {
|
||||
Pair[] sharedViewsWithFab;
|
||||
if (sharedViews != null) {
|
||||
|
|
@ -134,10 +140,6 @@ public abstract class AbsFabActivity extends AbsBaseActivity {
|
|||
return sharedViewsWithFab;
|
||||
}
|
||||
|
||||
protected void updateControllerState() {
|
||||
updateFabState();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
|
|
|||
|
|
@ -142,10 +142,6 @@ public class PlayPauseDrawable extends Drawable {
|
|||
return anim;
|
||||
}
|
||||
|
||||
public boolean isPlay() {
|
||||
return isPlaySet;
|
||||
}
|
||||
|
||||
private void setProgress(float progress) {
|
||||
this.progress = progress;
|
||||
invalidateSelf();
|
||||
|
|
|
|||
|
|
@ -64,12 +64,14 @@
|
|||
android:id="@+id/statusBar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/statusMargin"
|
||||
android:background="@android:color/transparent" />
|
||||
android:background="@android:color/transparent"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<android.support.v7.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar"
|
||||
android:background="@android:color/transparent" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.melnykov.fab.FloatingActionButton
|
||||
|
|
|
|||
|
|
@ -67,12 +67,18 @@
|
|||
<string name="delete_playlist_x"><![CDATA[
|
||||
Do you want to delete the playlist <b>%1$s</b>?
|
||||
]]></string>
|
||||
<string name="delete_song_x"><![CDATA[
|
||||
Do you want to delete the song <b>%1$s</b>?
|
||||
]]></string>
|
||||
<string name="delete_x_songs"><![CDATA[
|
||||
Do you want to delete <b>%1$d</b> songs?
|
||||
]]></string>
|
||||
<string name="delete_song_title">Delete Song</string>
|
||||
<string name="delete_songs_title">Delete Songs</string>
|
||||
<string name="rename_playlist_title">Rename Playlist</string>
|
||||
<string name="delete_playlist_title">Delete Playlist</string>
|
||||
<string name="add_playlist_title">Add to Playlist</string>
|
||||
<string name="new_playlist_title">New Playlist</string>
|
||||
<string name="delete_songs_1">Delete\u0020</string>
|
||||
<string name="delete_songs_2">\u0020songs?</string>
|
||||
|
||||
<string name="delete_warning">"Warning: This operation can not be undone."</string>
|
||||
<string name="shuffle_all">Shuffle all</string>
|
||||
|
|
@ -108,6 +114,7 @@
|
|||
<string name="playlist_empty_text">This playlist is empty</string>
|
||||
<string name="no_playlists">No playlists</string>
|
||||
<string name="playlist_name">Playlist name</string>
|
||||
<string name="song">Song</string>
|
||||
|
||||
<string-array name="update_albumcover_options">
|
||||
<item>Download from LastFM</item>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue