From e461f44ff01a967546af115ec9c3f79104e917b8 Mon Sep 17 00:00:00 2001 From: soncaokim Date: Sat, 29 Dec 2018 18:28:44 +0100 Subject: [PATCH 01/33] Smart playlist decoration (#619) * Show smart playlist threshold and number of tracks in addition to the playlist title (#4) * Remove todo tags (#5) * Indentation * Code review --- .../gramophone/adapter/PlaylistAdapter.java | 14 ++++++- .../adapter/song/PlayingQueueAdapter.java | 1 + .../gramophone/model/AbsCustomPlaylist.java | 18 +++++++++ .../kabouzeid/gramophone/model/Playlist.java | 7 ++++ .../model/smartplaylist/HistoryPlaylist.java | 13 ++++++- .../smartplaylist/LastAddedPlaylist.java | 13 ++++++- .../NotRecentlyPlayedPlaylist.java | 13 ++++++- .../gramophone/util/PreferenceUtil.java | 32 ++++++++++++++++ .../main/res/layout/item_list_single_row.xml | 38 +++++++++++++------ 9 files changed, 134 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java index 98cf2dd20..36e54523c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java @@ -83,6 +83,15 @@ protected ViewHolder createViewHolder(View view, int viewType) { return new ViewHolder(view, viewType); } + protected String getPlaylistTitle(Playlist playlist) { + return playlist.name; + } + + protected String getPlaylistText(Playlist playlist) { + Context context = App.getInstance().getApplicationContext(); + return playlist.getInfoString(context); + } + @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { final Playlist playlist = dataSet.get(position); @@ -90,7 +99,10 @@ public void onBindViewHolder(@NonNull ViewHolder holder, int position) { holder.itemView.setActivated(isChecked(playlist)); if (holder.title != null) { - holder.title.setText(playlist.name); + holder.title.setText(getPlaylistTitle(playlist)); + } + if (holder.text != null) { + holder.text.setText(getPlaylistText(playlist)); } if (holder.getAdapterPosition() == getItemCount() - 1) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java index 51785b2a0..6856ec240 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java @@ -46,6 +46,7 @@ public void onBindViewHolder(@NonNull SongAdapter.ViewHolder holder, int positio if (holder.imageText != null) { holder.imageText.setText(String.valueOf(position - current)); } + if (holder.getItemViewType() == HISTORY || holder.getItemViewType() == CURRENT) { setAlpha(holder, 0.5f); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java index ccc3af4a2..ad932bfc7 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java @@ -4,6 +4,8 @@ import android.os.Parcel; import android.support.annotation.NonNull; +import com.kabouzeid.gramophone.R; + import java.util.ArrayList; /** @@ -11,6 +13,8 @@ */ public abstract class AbsCustomPlaylist extends Playlist { + public static final String INFO_STRING_SEPARATOR = " • "; + public AbsCustomPlaylist(int id, String name) { super(id, name); } @@ -24,4 +28,18 @@ public AbsCustomPlaylist(Parcel in) { @NonNull public abstract ArrayList getSongs(Context context); + + @NonNull + @Override + public String getInfoString(@NonNull Context context) { + String baseInfo = super.getInfoString(context); + + int songCount = getSongs(context).size(); + String songCountText = (songCount == 0) ? + context.getString(R.string.no_songs) : + String.valueOf(songCount) + " " + context.getString(R.string.songs); + + if (baseInfo.isEmpty()) {return songCountText;} + return songCountText + INFO_STRING_SEPARATOR + baseInfo; + } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/Playlist.java b/app/src/main/java/com/kabouzeid/gramophone/model/Playlist.java index bb42f4b28..0eea7fb45 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/Playlist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/Playlist.java @@ -1,7 +1,9 @@ package com.kabouzeid.gramophone.model; +import android.content.Context; import android.os.Parcel; import android.os.Parcelable; +import android.support.annotation.NonNull; /** * @author Karim Abou Zeid (kabouzeid) @@ -20,6 +22,11 @@ public Playlist() { this.name = ""; } + @NonNull + public String getInfoString(@NonNull Context context) { + return ""; + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java index 69fef6027..c9562b8eb 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java @@ -4,10 +4,11 @@ import android.os.Parcel; import android.support.annotation.NonNull; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.HistoryStore; +import com.kabouzeid.gramophone.R; +import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; @@ -20,6 +21,16 @@ public HistoryPlaylist(@NonNull Context context) { super(context.getString(R.string.history), R.drawable.ic_access_time_white_24dp); } + @NonNull + @Override + public String getInfoString(@NonNull Context context) { + String baseInfo = super.getInfoString(context); + String cutoff = PreferenceUtil.getInstance(context).getRecentlyPlayedCutoffText(context); + + if (baseInfo.isEmpty()) {return cutoff;} + return cutoff + INFO_STRING_SEPARATOR + baseInfo; + } + @NonNull @Override public ArrayList getSongs(@NonNull Context context) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java index cd142a85a..82372dc88 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java @@ -4,9 +4,10 @@ import android.os.Parcel; import android.support.annotation.NonNull; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.LastAddedLoader; import com.kabouzeid.gramophone.model.Song; +import com.kabouzeid.gramophone.R; +import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; @@ -19,6 +20,16 @@ public LastAddedPlaylist(@NonNull Context context) { super(context.getString(R.string.last_added), R.drawable.ic_library_add_white_24dp); } + @NonNull + @Override + public String getInfoString(@NonNull Context context) { + String baseInfo = super.getInfoString(context); + String cutoff = PreferenceUtil.getInstance(context).getLastAddedCutoffText(context); + + if (baseInfo.isEmpty()) {return cutoff;} + return cutoff + INFO_STRING_SEPARATOR + baseInfo; + } + @NonNull @Override public ArrayList getSongs(@NonNull Context context) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java index 1ef4fab2d..7070a16b5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java @@ -4,10 +4,11 @@ import android.os.Parcel; import android.support.annotation.NonNull; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.HistoryStore; +import com.kabouzeid.gramophone.R; +import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; @@ -20,6 +21,16 @@ public NotRecentlyPlayedPlaylist(@NonNull Context context) { super(context.getString(R.string.not_recently_played), R.drawable.ic_watch_later_white_24dp); } + @NonNull + @Override + public String getInfoString(@NonNull Context context) { + String baseInfo = super.getInfoString(context); + String cutoff = PreferenceUtil.getInstance(context).getRecentlyPlayedCutoffText(context); + + if (baseInfo.isEmpty()) {return cutoff;} + return cutoff + INFO_STRING_SEPARATOR + baseInfo; + } + @NonNull @Override public ArrayList getSongs(@NonNull Context context) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index f0a2074a3..85225201c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -10,6 +10,7 @@ import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; + import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.helper.SortOrder; import com.kabouzeid.gramophone.model.CategoryInfo; @@ -311,6 +312,37 @@ private long getCutoffTimeMillis(final String cutoff) { return (System.currentTimeMillis() - interval); } + public String getLastAddedCutoffText(Context context) { + return getCutoffText(LAST_ADDED_CUTOFF, context); + } + + public String getRecentlyPlayedCutoffText(Context context) { + return getCutoffText(LAST_PLAYED_CUTOFF, context); + } + + private String getCutoffText(final String cutoff, Context context) { + switch (mPreferences.getString(cutoff, "")) { + case "today": + return context.getString(R.string.today); + + case "this_week": + return context.getString(R.string.this_week); + + case "past_seven_days": + return context.getString(R.string.past_seven_days); + + case "past_three_months": + return context.getString(R.string.past_three_months); + + case "this_year": + return context.getString(R.string.this_year); + + case "this_month": + default: + return context.getString(R.string.this_month); + } + } + public int getLastSleepTimerValue() { return mPreferences.getInt(LAST_SLEEP_TIMER_VALUE, 30); } diff --git a/app/src/main/res/layout/item_list_single_row.xml b/app/src/main/res/layout/item_list_single_row.xml index 1a6ed7cb1..ee6bad8a7 100644 --- a/app/src/main/res/layout/item_list_single_row.xml +++ b/app/src/main/res/layout/item_list_single_row.xml @@ -54,19 +54,35 @@ - + android:orientation="vertical" + android:paddingEnd="0dp" + android:paddingLeft="16dp" + android:paddingRight="0dp" + android:paddingStart="16dp"> + + + + + + - \ No newline at end of file + From e4b846cfb7dac492efd12b10a968e9a716e9859e Mon Sep 17 00:00:00 2001 From: Son Date: Sun, 30 Dec 2018 10:55:15 +0100 Subject: [PATCH 02/33] Fix build --- .../main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index 85225201c..01d8d7117 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -317,7 +317,7 @@ public String getLastAddedCutoffText(Context context) { } public String getRecentlyPlayedCutoffText(Context context) { - return getCutoffText(LAST_PLAYED_CUTOFF, context); + return getCutoffText(RECENTLY_PLAYED_CUTOFF, context); } private String getCutoffText(final String cutoff, Context context) { From 2111c418365bf34161d4dbfed97fabf60f0399d5 Mon Sep 17 00:00:00 2001 From: Peng Guanwen Date: Tue, 8 Jan 2019 10:45:33 +0800 Subject: [PATCH 03/33] Finish current music when Sleep Timer stops (#629) Implement #329. This commit adds a CheckBox to dialog_sleep_timer, and a curresponding option `TIMER_FINISH_MUSIC` in PreferenceUtil. In MusicService, a new flag `pendingQuit` is to indicate if it should stop after current music stops. A new action `ACTION_PENDING_QUIT` will set that flag. Canceling is a little tricky. I must bind MusicService in Dialog activity to check if `pendingQuit` is set, and show the corresponding canceling button. --- .../gramophone/dialogs/SleepTimerDialog.java | 35 ++++++++++-- .../gramophone/service/MusicService.java | 16 +++++- .../gramophone/util/PreferenceUtil.java | 11 ++++ .../main/res/layout/dialog_sleep_timer.xml | 55 ++++++++++++------- app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 6 files changed, 94 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SleepTimerDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SleepTimerDialog.java index b7d452c55..fff4fbbb5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SleepTimerDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SleepTimerDialog.java @@ -11,6 +11,7 @@ import android.os.SystemClock; import android.support.annotation.NonNull; import android.support.v4.app.DialogFragment; +import android.widget.CheckBox; import android.widget.FrameLayout; import android.widget.TextView; import android.widget.Toast; @@ -20,6 +21,7 @@ import com.afollestad.materialdialogs.internal.ThemeSingleton; import com.kabouzeid.gramophone.App; import com.kabouzeid.gramophone.R; +import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.PurchaseActivity; import com.kabouzeid.gramophone.util.MusicUtil; @@ -37,6 +39,8 @@ public class SleepTimerDialog extends DialogFragment { SeekArc seekArc; @BindView(R.id.timer_display) TextView timerDisplay; + @BindView(R.id.should_finish_last_song) + CheckBox shouldFinishLastSong; private int seekArcProgress; private MaterialDialog materialDialog; @@ -65,6 +69,8 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { return; } + PreferenceUtil.getInstance(getActivity()).setSleepTimerFinishMusic(shouldFinishLastSong.isChecked()); + final int minutes = seekArcProgress; PendingIntent pi = makeTimerPendingIntent(PendingIntent.FLAG_CANCEL_CURRENT); @@ -87,6 +93,12 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { previous.cancel(); Toast.makeText(getActivity(), getActivity().getResources().getString(R.string.sleep_timer_canceled), Toast.LENGTH_SHORT).show(); } + + MusicService musicService = MusicPlayerRemote.musicService; + if (musicService != null && musicService.pendingQuit) { + musicService.pendingQuit = false; + Toast.makeText(getActivity(), getActivity().getResources().getString(R.string.sleep_timer_canceled), Toast.LENGTH_SHORT).show(); + } }) .showListener(dialog -> { if (makeTimerPendingIntent(PendingIntent.FLAG_NO_CREATE) != null) { @@ -102,6 +114,9 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { ButterKnife.bind(this, materialDialog.getCustomView()); + boolean finishMusic = PreferenceUtil.getInstance(getActivity()).getSleepTimerFinishMusic(); + shouldFinishLastSong.setChecked(finishMusic); + seekArc.setProgressColor(ThemeSingleton.get().positiveColor.getDefaultColor()); seekArc.setThumbColor(ThemeSingleton.get().positiveColor.getDefaultColor()); @@ -153,8 +168,20 @@ private PendingIntent makeTimerPendingIntent(int flag) { } private Intent makeTimerIntent() { - return new Intent(getActivity(), MusicService.class) - .setAction(MusicService.ACTION_QUIT); + Intent intent = new Intent(getActivity(), MusicService.class); + if (shouldFinishLastSong.isChecked()) { + return intent.setAction(MusicService.ACTION_PENDING_QUIT); + } + return intent.setAction(MusicService.ACTION_QUIT); + } + + private void updateCancelButton() { + MusicService musicService = MusicPlayerRemote.musicService; + if (musicService != null && musicService.pendingQuit) { + materialDialog.setActionButton(DialogAction.NEUTRAL, materialDialog.getContext().getString(R.string.cancel_current_timer)); + } else { + materialDialog.setActionButton(DialogAction.NEUTRAL, null); + } } private class TimerUpdater extends CountDownTimer { @@ -169,7 +196,7 @@ public void onTick(long millisUntilFinished) { @Override public void onFinish() { - materialDialog.setActionButton(DialogAction.NEUTRAL, null); + updateCancelButton(); } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java index 30279b488..e860f0862 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java @@ -83,6 +83,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP public static final String ACTION_SKIP = PHONOGRAPH_PACKAGE_NAME + ".skip"; public static final String ACTION_REWIND = PHONOGRAPH_PACKAGE_NAME + ".rewind"; public static final String ACTION_QUIT = PHONOGRAPH_PACKAGE_NAME + ".quitservice"; + public static final String ACTION_PENDING_QUIT = PHONOGRAPH_PACKAGE_NAME + ".pendingquitservice"; public static final String INTENT_EXTRA_PLAYLIST = PHONOGRAPH_PACKAGE_NAME + "intentextra.playlist"; public static final String INTENT_EXTRA_SHUFFLE_MODE = PHONOGRAPH_PACKAGE_NAME + ".intentextra.shufflemode"; @@ -125,6 +126,8 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP private final IBinder musicBind = new MusicBinder(); + public boolean pendingQuit = false; + private AppWidgetBig appWidgetBig = AppWidgetBig.getInstance(); private AppWidgetClassic appWidgetClassic = AppWidgetClassic.getInstance(); private AppWidgetSmall appWidgetSmall = AppWidgetSmall.getInstance(); @@ -335,8 +338,12 @@ public int onStartCommand(@Nullable Intent intent, int flags, int startId) { break; case ACTION_STOP: case ACTION_QUIT: + pendingQuit = false; quit(); break; + case ACTION_PENDING_QUIT: + pendingQuit = true; + break; } } } @@ -1193,9 +1200,16 @@ public void handleMessage(@NonNull final Message msg) { break; case TRACK_ENDED: - if (service.getRepeatMode() == REPEAT_MODE_NONE && service.isLastTrack()) { + // if there is a timer finished, don't continue + if (service.pendingQuit || + service.getRepeatMode() == REPEAT_MODE_NONE && service.isLastTrack()) { service.notifyChange(PLAY_STATE_CHANGED); service.seek(0); + if (service.pendingQuit) { + service.pendingQuit = false; + service.quit(); + break; + } } else { service.playNextSong(false); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index 01d8d7117..362820556 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -68,6 +68,7 @@ public final class PreferenceUtil { public static final String LAST_SLEEP_TIMER_VALUE = "last_sleep_timer_value"; public static final String NEXT_SLEEP_TIMER_ELAPSED_REALTIME = "next_sleep_timer_elapsed_real_time"; + public static final String SLEEP_TIMER_FINISH_SONG = "sleep_timer_finish_music"; public static final String IGNORE_MEDIA_STORE_ARTWORK = "ignore_media_store_artwork"; @@ -363,6 +364,16 @@ public void setNextSleepTimerElapsedRealtime(final long value) { editor.apply(); } + public boolean getSleepTimerFinishMusic() { + return mPreferences.getBoolean(SLEEP_TIMER_FINISH_SONG, false); + } + + public void setSleepTimerFinishMusic(final boolean value) { + final SharedPreferences.Editor editor = mPreferences.edit(); + editor.putBoolean(SLEEP_TIMER_FINISH_SONG, value); + editor.apply(); + } + public void setAlbumGridSize(final int gridSize) { final SharedPreferences.Editor editor = mPreferences.edit(); editor.putInt(ALBUM_GRID_SIZE, gridSize); diff --git a/app/src/main/res/layout/dialog_sleep_timer.xml b/app/src/main/res/layout/dialog_sleep_timer.xml index cf0968582..3fae7bb04 100644 --- a/app/src/main/res/layout/dialog_sleep_timer.xml +++ b/app/src/main/res/layout/dialog_sleep_timer.xml @@ -1,28 +1,43 @@ - + android:layout_height="wrap_content" + android:orientation="vertical"> - + + + + + + + - + android:layout_height="42dp" + android:layout_gravity="bottom" + android:layout_margin="20dp" + android:text="@string/finish_current_music_sleep_timer" /> - + diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index c04edf65b..99f278b04 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -294,4 +294,5 @@ 艺术家 专辑 年份 + 播完当前音乐 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 52996cc99..476cf3b39 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -312,4 +312,5 @@ Artist Album Year + Finish last song From b65cbbdf1525864227f14c62036959d24deed1c7 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Mon, 7 Jan 2019 21:58:02 -0500 Subject: [PATCH 04/33] Tweak sleep timer checkbox margin --- app/src/main/res/layout/dialog_sleep_timer.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/layout/dialog_sleep_timer.xml b/app/src/main/res/layout/dialog_sleep_timer.xml index 3fae7bb04..374bae1cd 100644 --- a/app/src/main/res/layout/dialog_sleep_timer.xml +++ b/app/src/main/res/layout/dialog_sleep_timer.xml @@ -34,10 +34,9 @@ - From 8e21903cf9e1c85d27e737f4e525195f86379690 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Mon, 7 Jan 2019 21:59:43 -0500 Subject: [PATCH 05/33] Bump Gson dependency --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index af5b11819..0db482aa3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -142,6 +142,6 @@ dependencies { implementation('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar') { transitive = true } - implementation 'com.google.code.gson:gson:2.8.2' + implementation 'com.google.code.gson:gson:2.8.5' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' } From 3f3526f061c6d8962e9b0e85b6de171236b9a118 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Mon, 7 Jan 2019 22:12:21 -0500 Subject: [PATCH 06/33] Move some util functions --- app/src/main/AndroidManifest.xml | 10 ++-- .../gramophone/adapter/SongFileAdapter.java | 4 +- .../AppShortcutIconGenerator.java | 20 +++----- .../gramophone/appwidgets/AppWidgetBig.java | 13 ++--- .../gramophone/appwidgets/AppWidgetCard.java | 20 ++++---- .../appwidgets/AppWidgetClassic.java | 14 ++--- .../gramophone/appwidgets/AppWidgetSmall.java | 14 ++--- .../appwidgets/base/BaseAppWidget.java | 8 --- .../glide/artistimage/ArtistImageFetcher.java | 4 +- .../TopAndRecentlyPlayedTracksLoader.java | 3 +- .../model/smartplaylist/HistoryPlaylist.java | 2 +- .../smartplaylist/LastAddedPlaylist.java | 2 +- .../NotRecentlyPlayedPlaylist.java | 3 +- .../notification/PlayingNotificationImpl.java | 16 ++---- .../ui/activities/AlbumDetailActivity.java | 8 +-- .../ui/activities/ArtistDetailActivity.java | 7 ++- .../ui/activities/PlaylistDetailActivity.java | 1 - .../player/card/CardPlayerFragment.java | 5 +- .../player/flat/FlatPlayerFragment.java | 5 +- .../kabouzeid/gramophone/util/ImageUtil.java | 51 +++++++++++++++++++ .../gramophone/util/PreferenceUtil.java | 17 ++++++- .../com/kabouzeid/gramophone/util/Util.java | 49 +----------------- 22 files changed, 135 insertions(+), 141 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8cc3bfd10..b91807b9d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ - + @@ -18,8 +18,8 @@ android:name=".App" android:allowBackup="true" android:icon="@mipmap/ic_launcher" - android:roundIcon="@mipmap/ic_launcher_round" android:label="@string/app_name" + android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Phonograph.Light" tools:ignore="UnusedAttribute"> @@ -210,7 +210,7 @@ android:grantUriPermissions="true"> + android:resource="@xml/provider_paths" /> diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java index 2d58b900e..1858fb9b9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java @@ -20,7 +20,7 @@ import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder; import com.kabouzeid.gramophone.glide.audiocover.AudioFileCover; import com.kabouzeid.gramophone.interfaces.CabHolder; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ImageUtil; import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import java.io.File; @@ -116,7 +116,7 @@ protected void loadFileImage(File file, final ViewHolder holder) { holder.image.setColorFilter(iconColor, PorterDuff.Mode.SRC_IN); holder.image.setImageResource(R.drawable.ic_folder_white_24dp); } else { - Drawable error = Util.getTintedVectorDrawable(activity, R.drawable.ic_file_music_white_24dp, iconColor); + Drawable error = ImageUtil.getTintedVectorDrawable(activity, R.drawable.ic_file_music_white_24dp, iconColor); Glide.with(activity) .load(new AudioFileCover(file.getPath())) .diskCacheStrategy(DiskCacheStrategy.NONE) diff --git a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutIconGenerator.java b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutIconGenerator.java index d4ea4a34e..3dc8c8d79 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutIconGenerator.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutIconGenerator.java @@ -1,8 +1,6 @@ package com.kabouzeid.gramophone.appshortcuts; import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.Canvas; import android.graphics.drawable.AdaptiveIconDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; @@ -14,14 +12,15 @@ import com.kabouzeid.appthemehelper.ThemeStore; import com.kabouzeid.gramophone.R; +import com.kabouzeid.gramophone.util.ImageUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; -import com.kabouzeid.gramophone.util.Util; /** * @author Adrian Campos */ @RequiresApi(Build.VERSION_CODES.N_MR1) public final class AppShortcutIconGenerator { + public static Icon generateThemedIcon(Context context, int iconId) { if (PreferenceUtil.getInstance(context).coloredAppShortcuts()) { return generateUserThemedIcon(context, iconId).toIcon(); @@ -52,26 +51,19 @@ private static IconCompat generateUserThemedIcon(Context context, int iconId) { private static IconCompat generateThemedIcon(Context context, int iconId, int foregroundColor, int backgroundColor) { // Get and tint foreground and background drawables - Drawable vectorDrawable = Util.getTintedVectorDrawable(context, iconId, foregroundColor); - Drawable backgroundDrawable = Util.getTintedVectorDrawable(context, R.drawable.ic_app_shortcut_background, backgroundColor); + Drawable vectorDrawable = ImageUtil.getTintedVectorDrawable(context, iconId, foregroundColor); + Drawable backgroundDrawable = ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_app_shortcut_background, backgroundColor); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { AdaptiveIconDrawable adaptiveIconDrawable = new AdaptiveIconDrawable(backgroundDrawable, vectorDrawable); - return IconCompat.createWithAdaptiveBitmap(drawableToBitmap(adaptiveIconDrawable)); + return IconCompat.createWithAdaptiveBitmap(ImageUtil.createBitmap(adaptiveIconDrawable)); } else { // Squash the two drawables together LayerDrawable layerDrawable = new LayerDrawable(new Drawable[]{backgroundDrawable, vectorDrawable}); // Return as an Icon - return IconCompat.createWithBitmap(drawableToBitmap(layerDrawable)); + return IconCompat.createWithBitmap(ImageUtil.createBitmap(layerDrawable)); } } - private static Bitmap drawableToBitmap(Drawable drawable) { - Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(bitmap); - drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); - drawable.draw(canvas); - return bitmap; - } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java index c2833facb..2e561e380 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java @@ -23,6 +23,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; +import com.kabouzeid.gramophone.util.ImageUtil; import com.kabouzeid.gramophone.util.Util; public class AppWidgetBig extends BaseAppWidget { @@ -47,9 +48,9 @@ protected void defaultAppWidget(final Context context, final int[] appWidgetIds) appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE); appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art); - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)))); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)))); linkButtons(context, appWidgetView); pushUpdate(context, appWidgetIds, appWidgetView); @@ -75,11 +76,11 @@ public void performUpdate(final MusicService service, final int[] appWidgetIds) // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, MaterialValueHelper.getPrimaryTextColor(service, false)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, MaterialValueHelper.getPrimaryTextColor(service, false)))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getPrimaryTextColor(service, false)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getPrimaryTextColor(service, false)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getPrimaryTextColor(service, false)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getPrimaryTextColor(service, false)))); // Link actions buttons to intents linkButtons(service, appWidgetView); diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java index e8bd183fd..db00db976 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java @@ -24,7 +24,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ImageUtil; public class AppWidgetCard extends BaseAppWidget { public static final String NAME = "app_widget_card"; @@ -50,9 +50,9 @@ protected void defaultAppWidget(final Context context, final int[] appWidgetIds) appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE); appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art); - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); linkButtons(context, appWidgetView); pushUpdate(context, appWidgetIds, appWidgetView); @@ -78,11 +78,11 @@ public void performUpdate(final MusicService service, final int[] appWidgetIds) // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, MaterialValueHelper.getSecondaryTextColor(service, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, MaterialValueHelper.getSecondaryTextColor(service, true)))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(service, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(service, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(service, true)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(service, true)))); // Link actions buttons to intents linkButtons(service, appWidgetView); @@ -119,11 +119,11 @@ public void onLoadFailed(Exception e, Drawable errorDrawable) { private void update(@Nullable Bitmap bitmap, int color) { // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, color))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color))); final Drawable image = getAlbumArtDrawable(service.getResources(), bitmap); final Bitmap roundedBitmap = createRoundedBitmap(image, imageSize, imageSize, cardRadius, 0, cardRadius, 0); diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java index 4412485e0..625f8d991 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java @@ -24,7 +24,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ImageUtil; public class AppWidgetClassic extends BaseAppWidget { public static final String NAME = "app_widget_classic"; @@ -50,9 +50,9 @@ protected void defaultAppWidget(final Context context, final int[] appWidgetIds) appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE); appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art); - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); linkButtons(context, appWidgetView); pushUpdate(context, appWidgetIds, appWidgetView); @@ -112,11 +112,11 @@ public void onLoadFailed(Exception e, Drawable errorDrawable) { private void update(@Nullable Bitmap bitmap, int color) { // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, color))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color))); final Drawable image = getAlbumArtDrawable(service.getResources(), bitmap); final Bitmap roundedBitmap = createRoundedBitmap(image, imageSize, imageSize, cardRadius, 0, cardRadius, 0); diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java index 7d63c6ffa..79de693e7 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java @@ -24,7 +24,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ImageUtil; public class AppWidgetSmall extends BaseAppWidget { public static final String NAME = "app_widget_small"; @@ -50,9 +50,9 @@ protected void defaultAppWidget(final Context context, final int[] appWidgetIds) appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE); appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art); - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); linkButtons(context, appWidgetView); pushUpdate(context, appWidgetIds, appWidgetView); @@ -118,11 +118,11 @@ public void onLoadFailed(Exception e, Drawable errorDrawable) { private void update(@Nullable Bitmap bitmap, int color) { // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, color))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color))); final Drawable image = getAlbumArtDrawable(service.getResources(), bitmap); final Bitmap roundedBitmap = createRoundedBitmap(image, imageSize, imageSize, cardRadius, 0, 0, 0); diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java index 8ea1a3458..f95eecd56 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java @@ -82,14 +82,6 @@ protected PendingIntent buildPendingIntent(Context context, final String action, } } - protected static Bitmap createBitmap(Drawable drawable, float sizeMultiplier) { - Bitmap bitmap = Bitmap.createBitmap((int) (drawable.getIntrinsicWidth() * sizeMultiplier), (int) (drawable.getIntrinsicHeight() * sizeMultiplier), Bitmap.Config.ARGB_8888); - Canvas c = new Canvas(bitmap); - drawable.setBounds(0, 0, c.getWidth(), c.getHeight()); - drawable.draw(c); - return bitmap; - } - protected static Bitmap createRoundedBitmap(Drawable drawable, int width, int height, float tl, float tr, float bl, float br) { if (drawable == null) return null; diff --git a/app/src/main/java/com/kabouzeid/gramophone/glide/artistimage/ArtistImageFetcher.java b/app/src/main/java/com/kabouzeid/gramophone/glide/artistimage/ArtistImageFetcher.java index e6b80894c..e554755f3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/glide/artistimage/ArtistImageFetcher.java +++ b/app/src/main/java/com/kabouzeid/gramophone/glide/artistimage/ArtistImageFetcher.java @@ -10,7 +10,7 @@ import com.kabouzeid.gramophone.lastfm.rest.model.LastFmArtist; import com.kabouzeid.gramophone.util.LastFMUtil; import com.kabouzeid.gramophone.util.MusicUtil; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.PreferenceUtil; import java.io.IOException; import java.io.InputStream; @@ -48,7 +48,7 @@ public String getId() { @Override public InputStream loadData(Priority priority) throws Exception { - if (!MusicUtil.isArtistNameUnknown(model.artistName) && Util.isAllowedToDownloadMetadata(context)) { + if (!MusicUtil.isArtistNameUnknown(model.artistName) && PreferenceUtil.isAllowedToDownloadMetadata(context)) { Response response = lastFMRestClient.getApiService().getArtistInfo(model.artistName, null, model.skipOkHttpCache ? "no-cache" : null).execute(); if (!response.isSuccessful()) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java index 6f9d16cd4..522fceba2 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java @@ -26,7 +26,6 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.HistoryStore; import com.kabouzeid.gramophone.provider.SongPlayCountStore; - import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; @@ -44,7 +43,7 @@ public static ArrayList getRecentlyPlayedTracks(@NonNull Context context) (@NonNull Context context) { ArrayList allSongs = SongLoader.getSongs( SongLoader.makeSongCursor( - context, + context, null, null, MediaStore.Audio.Media.DATE_ADDED + " ASC")); diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java index c9562b8eb..4e9b260ab 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java @@ -4,10 +4,10 @@ import android.os.Parcel; import android.support.annotation.NonNull; +import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.HistoryStore; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java index 82372dc88..01a52cc15 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java @@ -4,9 +4,9 @@ import android.os.Parcel; import android.support.annotation.NonNull; +import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.LastAddedLoader; import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java index 7070a16b5..6bd8e4435 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java @@ -4,10 +4,9 @@ import android.os.Parcel; import android.support.annotation.NonNull; +import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.provider.HistoryStore; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java index 357a91061..17065d5fc 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java @@ -6,7 +6,6 @@ import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; -import android.graphics.Canvas; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.support.annotation.Nullable; @@ -27,9 +26,9 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; +import com.kabouzeid.gramophone.util.ImageUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; -import com.kabouzeid.gramophone.util.Util; public class PlayingNotificationImpl extends PlayingNotification { @@ -133,9 +132,9 @@ private void setNotificationContent(boolean dark) { int primary = MaterialValueHelper.getPrimaryTextColor(service, dark); int secondary = MaterialValueHelper.getSecondaryTextColor(service, dark); - Bitmap prev = createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, primary), 1.5f); - Bitmap next = createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, primary), 1.5f); - Bitmap playPause = createBitmap(Util.getTintedVectorDrawable(service, isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp, primary), 1.5f); + Bitmap prev = ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, primary), 1.5f); + Bitmap next = ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, primary), 1.5f); + Bitmap playPause = ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp, primary), 1.5f); notificationLayout.setTextColor(R.id.title, primary); notificationLayout.setTextColor(R.id.text, secondary); @@ -182,11 +181,4 @@ private PendingIntent buildPendingIntent(Context context, final String action, f return PendingIntent.getService(context, 0, intent, 0); } - private static Bitmap createBitmap(Drawable drawable, float sizeMultiplier) { - Bitmap bitmap = Bitmap.createBitmap((int) (drawable.getIntrinsicWidth() * sizeMultiplier), (int) (drawable.getIntrinsicHeight() * sizeMultiplier), Bitmap.Config.ARGB_8888); - Canvas c = new Canvas(bitmap); - drawable.setBounds(0, 0, c.getWidth(), c.getHeight()); - drawable.draw(c); - return bitmap; - } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java index 291531395..866e46a99 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java @@ -51,7 +51,7 @@ import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; import java.util.Locale; @@ -271,7 +271,7 @@ public void onResponse(@NonNull Call call, @NonNull Response call, @NonNull Response= 21) { + return res.getDrawable(resId, theme); + } + return VectorDrawableCompat.create(res, resId, theme); + } + + public static Drawable getTintedVectorDrawable(@NonNull Resources res, @DrawableRes int resId, @Nullable Resources.Theme theme, @ColorInt int color) { + return TintHelper.createTintedDrawable(getVectorDrawable(res, resId, theme), color); + } + + public static Drawable getTintedVectorDrawable(@NonNull Context context, @DrawableRes int id, @ColorInt int color) { + return TintHelper.createTintedDrawable(getVectorDrawable(context.getResources(), id, context.getTheme()), color); + } + + public static Drawable getVectorDrawable(@NonNull Context context, @DrawableRes int id) { + return getVectorDrawable(context.getResources(), id, context.getTheme()); + } + + public static Drawable resolveDrawable(@NonNull Context context, @AttrRes int drawableAttr) { + TypedArray a = context.obtainStyledAttributes(new int[]{drawableAttr}); + Drawable drawable = a.getDrawable(0); + a.recycle(); + return drawable; + } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index 362820556..6eecd2f55 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -3,6 +3,8 @@ import android.annotation.SuppressLint; import android.content.Context; import android.content.SharedPreferences; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; import android.preference.PreferenceManager; import android.support.annotation.NonNull; import android.support.annotation.StyleRes; @@ -10,7 +12,6 @@ import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; - import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.helper.SortOrder; import com.kabouzeid.gramophone.model.CategoryInfo; @@ -102,6 +103,20 @@ public static PreferenceUtil getInstance(@NonNull final Context context) { return sInstance; } + public static boolean isAllowedToDownloadMetadata(final Context context) { + switch (getInstance(context).autoDownloadImagesPolicy()) { + case "always": + return true; + case "only_wifi": + final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo(); + return netInfo != null && netInfo.getType() == ConnectivityManager.TYPE_WIFI && netInfo.isConnectedOrConnecting(); + case "never": + default: + return false; + } + } + public void registerOnSharedPreferenceChangedListener(SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener) { mPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/Util.java b/app/src/main/java/com/kabouzeid/gramophone/util/Util.java index 5d2924416..51454f8df 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/Util.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/Util.java @@ -7,16 +7,10 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Point; -import android.graphics.drawable.Drawable; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; import android.os.Build; import android.support.annotation.AttrRes; -import android.support.annotation.ColorInt; -import android.support.annotation.DrawableRes; import android.support.annotation.NonNull; import android.support.annotation.Nullable; -import android.support.graphics.drawable.VectorDrawableCompat; import android.util.TypedValue; import android.view.Display; import android.view.View; @@ -24,7 +18,6 @@ import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; -import com.kabouzeid.appthemehelper.util.TintHelper; import com.kabouzeid.gramophone.R; /** @@ -80,13 +73,6 @@ public static boolean isLandscape(@NonNull final Resources resources) { return resources.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; } - public static Drawable resolveDrawable(@NonNull Context context, @AttrRes int drawableAttr) { - TypedArray a = context.obtainStyledAttributes(new int[]{drawableAttr}); - Drawable drawable = a.getDrawable(0); - a.recycle(); - return drawable; - } - public static int resolveDimensionPixelSize(@NonNull Context context, @AttrRes int dimenAttr) { TypedArray a = context.obtainStyledAttributes(new int[]{dimenAttr}); int dimensionPixelSize = a.getDimensionPixelSize(0, 0); @@ -94,25 +80,6 @@ public static int resolveDimensionPixelSize(@NonNull Context context, @AttrRes i return dimensionPixelSize; } - public static Drawable getVectorDrawable(@NonNull Context context, @DrawableRes int id) { - return getVectorDrawable(context.getResources(), id, context.getTheme()); - } - - public static Drawable getVectorDrawable(@NonNull Resources res, @DrawableRes int resId, @Nullable Resources.Theme theme) { - if (Build.VERSION.SDK_INT >= 21) { - return res.getDrawable(resId, theme); - } - return VectorDrawableCompat.create(res, resId, theme); - } - - public static Drawable getTintedVectorDrawable(@NonNull Context context, @DrawableRes int id, @ColorInt int color) { - return TintHelper.createTintedDrawable(getVectorDrawable(context.getResources(), id, context.getTheme()), color); - } - - public static Drawable getTintedVectorDrawable(@NonNull Resources res, @DrawableRes int resId, @Nullable Resources.Theme theme, @ColorInt int color) { - return TintHelper.createTintedDrawable(getVectorDrawable(res, resId, theme), color); - } - @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) public static boolean isRTL(@NonNull Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { @@ -121,18 +88,4 @@ public static boolean isRTL(@NonNull Context context) { } else return false; } - public static boolean isAllowedToDownloadMetadata(final Context context) { - switch (PreferenceUtil.getInstance(context).autoDownloadImagesPolicy()) { - case "always": - return true; - case "only_wifi": - final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo(); - return netInfo != null && netInfo.getType() == ConnectivityManager.TYPE_WIFI && netInfo.isConnectedOrConnecting(); - case "never": - default: - return false; - } - } - -} \ No newline at end of file +} From d86a4991b6fe37d5c0eac97605589f659f02abf5 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Wed, 9 Jan 2019 21:01:20 -0500 Subject: [PATCH 07/33] Enable notification badge (closes #623) Note that this only affects new installs since the channel ID is still the same. --- .../gramophone/service/notification/PlayingNotification.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotification.java b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotification.java index 2969a4e2d..b17e91ba8 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotification.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotification.java @@ -70,7 +70,6 @@ private void createNotificationChannel() { notificationChannel.setDescription(service.getString(R.string.playing_notification_description)); notificationChannel.enableLights(false); notificationChannel.enableVibration(false); - notificationChannel.setShowBadge(false); notificationManager.createNotificationChannel(notificationChannel); } From b0a4ffdcb5cd6bfefe946d7bdf23f5590dc901ed Mon Sep 17 00:00:00 2001 From: soncaokim Date: Tue, 22 Jan 2019 04:48:25 +0100 Subject: [PATCH 08/33] Library annotations (#638) Populate album name / artist name / song counts across different view as "subtitle" that enriches the main info displayed in the title. This includes the notification, different list-based views, the main menu, the now-playing view, search result... For example, the included images show the added annotations highlighted with white underline ![screenshot_20190108-035119](https://user-images.githubusercontent.com/13333482/50807749-ce600000-12fb-11e9-86c6-9efb41389194.jpg) ![screenshot_20190108-035137](https://user-images.githubusercontent.com/13333482/50807750-ce600000-12fb-11e9-90e2-650aae0b159a.jpg) ![screenshot_20190108-035228](https://user-images.githubusercontent.com/13333482/50807751-ce600000-12fb-11e9-8f74-b04dbae0c6d2.jpg) ![screenshot_20190108-035244](https://user-images.githubusercontent.com/13333482/50807752-cef89680-12fb-11e9-892c-80fd55805c11.jpg) ![screenshot_20190108-035414](https://user-images.githubusercontent.com/13333482/50807753-cef89680-12fb-11e9-80a1-ee784c855876.jpg) --- .../gramophone/adapter/SearchAdapter.java | 4 +- .../adapter/album/AlbumAdapter.java | 6 +- .../gramophone/adapter/song/SongAdapter.java | 2 +- .../appwidgets/base/BaseAppWidget.java | 10 +--- .../gramophone/model/AbsCustomPlaylist.java | 15 ++--- .../model/smartplaylist/HistoryPlaylist.java | 8 ++- .../smartplaylist/LastAddedPlaylist.java | 8 ++- .../NotRecentlyPlayedPlaylist.java | 8 ++- .../PlayingNotificationImpl24.java | 7 +-- .../ui/activities/MainActivity.java | 5 +- .../fragments/player/AbsPlayerFragment.java | 7 ++- .../player/card/CardPlayerFragment.java | 4 +- .../player/flat/FlatPlayerFragment.java | 4 +- .../kabouzeid/gramophone/util/MusicUtil.java | 59 +++++++++++++++++-- 14 files changed, 100 insertions(+), 47 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java index d5b18621a..7a9984fb3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java @@ -72,7 +72,7 @@ public void onBindViewHolder(@NonNull final ViewHolder holder, int position) { case ALBUM: final Album album = (Album) dataSet.get(position); holder.title.setText(album.getTitle()); - holder.text.setText(album.getArtistName()); + holder.text.setText(MusicUtil.getAlbumInfoString(activity, album)); SongGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong()) .checkIgnoreMediaStore(activity).build() .into(holder.image); @@ -87,7 +87,7 @@ public void onBindViewHolder(@NonNull final ViewHolder holder, int position) { case SONG: final Song song = (Song) dataSet.get(position); holder.title.setText(song.title); - holder.text.setText(song.albumName); + holder.text.setText(MusicUtil.getSongInfoString(song)); break; default: holder.title.setText(dataSet.get(position).toString()); diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java index a805223d9..b950ab737 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java @@ -27,6 +27,7 @@ import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; + import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import java.util.ArrayList; @@ -84,7 +85,10 @@ protected String getAlbumTitle(Album album) { } protected String getAlbumText(Album album) { - return album.getArtistName(); + return MusicUtil.buildInfoString( + album.getArtistName(), + MusicUtil.getSongCountString(activity, album.songs.size()) + ); } @Override diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java index 209c00984..fb29dc7ae 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java @@ -158,7 +158,7 @@ protected String getSongTitle(Song song) { } protected String getSongText(Song song) { - return song.artistName; + return MusicUtil.getSongInfoString(song); } @Override diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java index f95eecd56..e54b73521 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java @@ -16,12 +16,12 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Build; -import android.text.TextUtils; import android.widget.RemoteViews; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; +import com.kabouzeid.gramophone.util.MusicUtil; public abstract class BaseAppWidget extends AppWidgetProvider { public static final String NAME = "app_widget"; @@ -137,12 +137,6 @@ protected Drawable getAlbumArtDrawable(final Resources resources, final Bitmap b } protected String getSongArtistAndAlbum(final Song song) { - final StringBuilder builder = new StringBuilder(); - builder.append(song.artistName); - if (!TextUtils.isEmpty(song.artistName) && !TextUtils.isEmpty(song.albumName)) { - builder.append(" • "); - } - builder.append(song.albumName); - return builder.toString(); + return MusicUtil.getSongInfoString(song); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java index ad932bfc7..484f48926 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java @@ -5,6 +5,7 @@ import android.support.annotation.NonNull; import com.kabouzeid.gramophone.R; +import com.kabouzeid.gramophone.util.MusicUtil; import java.util.ArrayList; @@ -13,8 +14,6 @@ */ public abstract class AbsCustomPlaylist extends Playlist { - public static final String INFO_STRING_SEPARATOR = " • "; - public AbsCustomPlaylist(int id, String name) { super(id, name); } @@ -32,14 +31,12 @@ public AbsCustomPlaylist(Parcel in) { @NonNull @Override public String getInfoString(@NonNull Context context) { - String baseInfo = super.getInfoString(context); - int songCount = getSongs(context).size(); - String songCountText = (songCount == 0) ? - context.getString(R.string.no_songs) : - String.valueOf(songCount) + " " + context.getString(R.string.songs); + String songCountString = MusicUtil.getSongCountString(context, songCount); - if (baseInfo.isEmpty()) {return songCountText;} - return songCountText + INFO_STRING_SEPARATOR + baseInfo; + return MusicUtil.buildInfoString( + songCountString, + super.getInfoString(context) + ); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java index 4e9b260ab..efa74f736 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java @@ -8,6 +8,7 @@ import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.HistoryStore; +import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; @@ -24,11 +25,12 @@ public HistoryPlaylist(@NonNull Context context) { @NonNull @Override public String getInfoString(@NonNull Context context) { - String baseInfo = super.getInfoString(context); String cutoff = PreferenceUtil.getInstance(context).getRecentlyPlayedCutoffText(context); - if (baseInfo.isEmpty()) {return cutoff;} - return cutoff + INFO_STRING_SEPARATOR + baseInfo; + return MusicUtil.buildInfoString( + cutoff, + super.getInfoString(context) + ); } @NonNull diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java index 01a52cc15..0a6e1ef0c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java @@ -7,6 +7,7 @@ import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.LastAddedLoader; import com.kabouzeid.gramophone.model.Song; +import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; @@ -23,11 +24,12 @@ public LastAddedPlaylist(@NonNull Context context) { @NonNull @Override public String getInfoString(@NonNull Context context) { - String baseInfo = super.getInfoString(context); String cutoff = PreferenceUtil.getInstance(context).getLastAddedCutoffText(context); - if (baseInfo.isEmpty()) {return cutoff;} - return cutoff + INFO_STRING_SEPARATOR + baseInfo; + return MusicUtil.buildInfoString( + cutoff, + super.getInfoString(context) + ); } @NonNull diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java index 6bd8e4435..3a22a0e3b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java @@ -7,6 +7,7 @@ import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; import com.kabouzeid.gramophone.model.Song; +import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; @@ -23,11 +24,12 @@ public NotRecentlyPlayedPlaylist(@NonNull Context context) { @NonNull @Override public String getInfoString(@NonNull Context context) { - String baseInfo = super.getInfoString(context); String cutoff = PreferenceUtil.getInstance(context).getRecentlyPlayedCutoffText(context); - if (baseInfo.isEmpty()) {return cutoff;} - return cutoff + INFO_STRING_SEPARATOR + baseInfo; + return MusicUtil.buildInfoString( + cutoff, + super.getInfoString(context) + ); } @NonNull diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl24.java b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl24.java index 4d197f273..bd0ee315f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl24.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl24.java @@ -11,7 +11,6 @@ import android.support.v4.app.NotificationCompat; import android.support.v4.media.app.NotificationCompat.MediaStyle; import android.support.v7.graphics.Palette; -import android.text.TextUtils; import com.bumptech.glide.Glide; import com.bumptech.glide.request.animation.GlideAnimation; @@ -22,6 +21,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; +import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; import static com.kabouzeid.gramophone.service.MusicService.ACTION_REWIND; @@ -36,11 +36,8 @@ public synchronized void update() { final Song song = service.getCurrentSong(); - final String albumName = song.albumName; - final String artistName = song.artistName; final boolean isPlaying = service.isPlaying(); - final String text = TextUtils.isEmpty(albumName) - ? artistName : artistName + " - " + albumName; + final String text = MusicUtil.getSongInfoString(song); final int playButtonResId = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index ea8738bd5..821735c4b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -23,6 +23,7 @@ import android.widget.Toast; import com.bumptech.glide.Glide; + import com.kabouzeid.appthemehelper.ThemeStore; import com.kabouzeid.appthemehelper.util.ATHUtil; import com.kabouzeid.appthemehelper.util.NavigationViewUtil; @@ -42,7 +43,9 @@ import com.kabouzeid.gramophone.ui.activities.intro.AppIntroActivity; import com.kabouzeid.gramophone.ui.fragments.mainactivity.folders.FoldersFragment; import com.kabouzeid.gramophone.ui.fragments.mainactivity.library.LibraryFragment; +import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; + import com.sothree.slidinguppanel.SlidingUpPanelLayout; import java.util.ArrayList; @@ -217,7 +220,7 @@ private void updateNavigationDrawerHeader() { }); } ((TextView) navigationDrawerHeader.findViewById(R.id.title)).setText(song.title); - ((TextView) navigationDrawerHeader.findViewById(R.id.text)).setText(song.artistName); + ((TextView) navigationDrawerHeader.findViewById(R.id.text)).setText(MusicUtil.getSongInfoString(song)); SongGlideRequest.Builder.from(Glide.with(this), song) .checkIgnoreMediaStore(this).build() .into(((ImageView) navigationDrawerHeader.findViewById(R.id.image))); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java index 40176ff7f..09ea86aa5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java @@ -132,7 +132,12 @@ protected void checkToggleToolbar(@Nullable final View toolbar) { } protected String getUpNextAndQueueTime() { - return getResources().getString(R.string.up_next) + " • " + MusicUtil.getReadableDurationString(MusicPlayerRemote.getQueueDurationMillis(MusicPlayerRemote.getPosition())); + final long duration = MusicPlayerRemote.getQueueDurationMillis(MusicPlayerRemote.getPosition()); + + return MusicUtil.buildInfoString( + getResources().getString(R.string.up_next), + MusicUtil.getReadableDurationString(duration) + ); } public abstract void onShow(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java index c445b8e34..722b643c8 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java @@ -568,7 +568,7 @@ public void setUpPanelAndAlbumCoverHeight() { public void updateCurrentSong(Song song) { currentSong = song; currentSongViewHolder.title.setText(song.title); - currentSongViewHolder.text.setText(song.artistName); + currentSongViewHolder.text.setText(MusicUtil.getSongInfoString(song)); } @Override @@ -603,7 +603,7 @@ public void setUpPanelAndAlbumCoverHeight() { @Override public void updateCurrentSong(Song song) { fragment.toolbar.setTitle(song.title); - fragment.toolbar.setSubtitle(song.artistName); + fragment.toolbar.setSubtitle(MusicUtil.getSongInfoString(song)); } @Override diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java index dd54bb8a8..48ac0d02f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java @@ -548,7 +548,7 @@ public void setUpPanelAndAlbumCoverHeight() { public void updateCurrentSong(Song song) { currentSong = song; currentSongViewHolder.title.setText(song.title); - currentSongViewHolder.text.setText(song.artistName); + currentSongViewHolder.text.setText(MusicUtil.getSongInfoString(song)); } @Override @@ -576,7 +576,7 @@ public void setUpPanelAndAlbumCoverHeight() { @Override public void updateCurrentSong(Song song) { fragment.toolbar.setTitle(song.title); - fragment.toolbar.setSubtitle(song.artistName); + fragment.toolbar.setSubtitle(MusicUtil.getSongInfoString(song)); } @Override diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java index 469e7a010..24f569cb3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java @@ -22,11 +22,13 @@ import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.loader.PlaylistLoader; import com.kabouzeid.gramophone.loader.SongLoader; +import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.model.Artist; import com.kabouzeid.gramophone.model.Genre; import com.kabouzeid.gramophone.model.Playlist; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.lyrics.AbsSynchronizedLyrics; +import com.kabouzeid.gramophone.util.MusicUtil; import org.jaudiotagger.audio.AudioFileIO; import org.jaudiotagger.tag.FieldKey; @@ -107,22 +109,45 @@ public static void setRingtone(@NonNull final Context context, final int id) { public static String getArtistInfoString(@NonNull final Context context, @NonNull final Artist artist) { int albumCount = artist.getAlbumCount(); int songCount = artist.getSongCount(); - String albumString = albumCount == 1 ? context.getResources().getString(R.string.album) : context.getResources().getString(R.string.albums); - String songString = songCount == 1 ? context.getResources().getString(R.string.song) : context.getResources().getString(R.string.songs); - return albumCount + " " + albumString + " • " + songCount + " " + songString; + + return MusicUtil.buildInfoString( + MusicUtil.getAlbumCountString(context, albumCount), + MusicUtil.getSongCountString(context, songCount) + ); + } + + @NonNull + public static String getAlbumInfoString(@NonNull final Context context, @NonNull final Album album) { + int songCount = album.getSongCount(); + + return MusicUtil.buildInfoString( + album.getArtistName(), + MusicUtil.getSongCountString(context, songCount) + ); + } + + @NonNull + public static String getSongInfoString(@NonNull final Song song) { + return MusicUtil.buildInfoString( + song.artistName, + song.albumName + ); } @NonNull public static String getGenreInfoString(@NonNull final Context context, @NonNull final Genre genre) { int songCount = genre.songCount; - String songString = songCount == 1 ? context.getResources().getString(R.string.song) : context.getResources().getString(R.string.songs); - return songCount + " " + songString; + return MusicUtil.getSongCountString(context, songCount); } @NonNull public static String getPlaylistInfoString(@NonNull final Context context, @NonNull List songs) { final long duration = getTotalDuration(context, songs); - return MusicUtil.getSongCountString(context, songs.size()) + " • " + MusicUtil.getReadableDurationString(duration); + + return MusicUtil.buildInfoString( + MusicUtil.getSongCountString(context, songs.size()), + MusicUtil.getReadableDurationString(duration) + ); } @NonNull @@ -162,6 +187,28 @@ public static String getReadableDurationString(long songDurationMillis) { } } + /** + * Build a concatenated string from the provided arguments + * The intended purpose is to show extra annotations + * to a music library item. + * Ex: for a given album --> buildInfoString(album.artist, album.songCount) + */ + public static String buildInfoString(@NonNull final String string1, @NonNull final String string2) + { + // Skip empty strings + if (string1.isEmpty()) {return string2;} + if (string2.isEmpty()) {return string1;} + + final String separator = " • "; + + final StringBuilder builder = new StringBuilder(); + builder.append(string1); + builder.append(separator); + builder.append(string2); + + return builder.toString(); + } + //iTunes uses for example 1002 for track 2 CD1 or 3011 for track 11 CD3. //this method converts those values to normal tracknumbers public static int getFixedTrackNumber(int trackNumberToFix) { From 0ece172875aab085de3c2be48d0056bdd376e7c4 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Mon, 21 Jan 2019 23:02:14 -0500 Subject: [PATCH 09/33] Update Gradle --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 38868e38d..b35e27204 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.2.1' + classpath 'com.android.tools.build:gradle:3.3.0' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f9bfb79b5..aae30f651 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Dec 02 22:46:55 EST 2018 +#Mon Jan 21 22:55:21 EST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip From fc6101f638bbf34010b2589881c233a55fa134c2 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Mon, 21 Jan 2019 23:02:29 -0500 Subject: [PATCH 10/33] Remove author and community Google+ links --- .../ui/activities/AboutActivity.java | 12 ----- ..._google_circles_communities_white_24dp.xml | 10 ---- .../drawable/ic_google_plus_white_24dp.xml | 10 ---- app/src/main/res/layout/card_author.xml | 33 +------------ .../res/layout/card_support_development.xml | 46 +------------------ app/src/main/res/values-ar/strings.xml | 3 -- app/src/main/res/values-bg/strings.xml | 3 -- app/src/main/res/values-cs/strings.xml | 3 -- app/src/main/res/values-de/strings.xml | 3 -- app/src/main/res/values-el/strings.xml | 5 +- app/src/main/res/values-en-rCA/strings.xml | 3 -- app/src/main/res/values-en-rGB/strings.xml | 3 -- app/src/main/res/values-es-rES/strings.xml | 3 -- app/src/main/res/values-es-rUS/strings.xml | 3 -- app/src/main/res/values-fi/strings.xml | 3 -- app/src/main/res/values-fr/strings.xml | 3 -- app/src/main/res/values-he/strings.xml | 3 -- app/src/main/res/values-hr/strings.xml | 3 -- app/src/main/res/values-hu/strings.xml | 3 -- app/src/main/res/values-id/strings.xml | 3 -- app/src/main/res/values-in/strings.xml | 3 -- app/src/main/res/values-it/strings.xml | 3 -- app/src/main/res/values-iw/strings.xml | 3 -- app/src/main/res/values-ja/strings.xml | 3 -- app/src/main/res/values-ko/strings.xml | 3 -- app/src/main/res/values-nl/strings.xml | 3 -- app/src/main/res/values-pl/strings.xml | 3 -- app/src/main/res/values-pt-rBR/strings.xml | 3 -- app/src/main/res/values-pt-rPT/strings.xml | 3 -- app/src/main/res/values-ro/strings.xml | 3 -- app/src/main/res/values-ru/strings.xml | 3 -- app/src/main/res/values-tr/strings.xml | 3 -- app/src/main/res/values-uk/strings.xml | 3 -- app/src/main/res/values-vi/strings.xml | 3 -- app/src/main/res/values-zh-rCN/strings.xml | 3 -- app/src/main/res/values-zh-rTW/strings.xml | 3 -- app/src/main/res/values/strings.xml | 3 -- 37 files changed, 3 insertions(+), 206 deletions(-) delete mode 100644 app/src/main/res/drawable/ic_google_circles_communities_white_24dp.xml delete mode 100644 app/src/main/res/drawable/ic_google_plus_white_24dp.xml diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java index 09826a085..f897c957a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java @@ -35,11 +35,9 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen private static String GITHUB = "https://github.com/kabouzeid/Phonograph"; - private static String GOOGLE_PLUS = "https://google.com/+KarimAbouZeid23697"; private static String TWITTER = "https://twitter.com/karimjabouzeid"; private static String WEBSITE = "https://kabouzeid.com/"; - private static String GOOGLE_PLUS_COMMUNITY = "https://plus.google.com/u/0/communities/106227738496107108513"; private static String TRANSLATE = "https://phonograph.oneskyapp.com/collaboration/project?id=26521"; private static String RATE_ON_GOOGLE_PLAY = "https://play.google.com/store/apps/details?id=com.kabouzeid.gramophone"; @@ -71,8 +69,6 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen LinearLayout licenses; @BindView(R.id.write_an_email) LinearLayout writeAnEmail; - @BindView(R.id.add_to_google_plus_circles) - LinearLayout addToGooglePlusCircles; @BindView(R.id.follow_on_twitter) LinearLayout followOnTwitter; @BindView(R.id.fork_on_github) @@ -81,8 +77,6 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen LinearLayout visitWebsite; @BindView(R.id.report_bugs) LinearLayout reportBugs; - @BindView(R.id.join_google_plus_community) - LinearLayout joinGooglePlusCommunity; @BindView(R.id.translate) LinearLayout translate; @BindView(R.id.donate) @@ -145,13 +139,11 @@ private void setUpOnClickListeners() { changelog.setOnClickListener(this); intro.setOnClickListener(this); licenses.setOnClickListener(this); - addToGooglePlusCircles.setOnClickListener(this); followOnTwitter.setOnClickListener(this); forkOnGitHub.setOnClickListener(this); visitWebsite.setOnClickListener(this); reportBugs.setOnClickListener(this); writeAnEmail.setOnClickListener(this); - joinGooglePlusCommunity.setOnClickListener(this); translate.setOnClickListener(this); rateOnGooglePlay.setOnClickListener(this); donate.setOnClickListener(this); @@ -193,8 +185,6 @@ public void onClick(View v) { showLicenseDialog(); } else if (v == intro) { startActivity(new Intent(this, AppIntroActivity.class)); - } else if (v == addToGooglePlusCircles) { - openUrl(GOOGLE_PLUS); } else if (v == followOnTwitter) { openUrl(TWITTER); } else if (v == forkOnGitHub) { @@ -209,8 +199,6 @@ public void onClick(View v) { intent.putExtra(Intent.EXTRA_EMAIL, "contact@kabouzeid.com"); intent.putExtra(Intent.EXTRA_SUBJECT, "Phonograph"); startActivity(Intent.createChooser(intent, "E-Mail")); - } else if (v == joinGooglePlusCommunity) { - openUrl(GOOGLE_PLUS_COMMUNITY); } else if (v == translate) { openUrl(TRANSLATE); } else if (v == rateOnGooglePlay) { diff --git a/app/src/main/res/drawable/ic_google_circles_communities_white_24dp.xml b/app/src/main/res/drawable/ic_google_circles_communities_white_24dp.xml deleted file mode 100644 index 58ee29f91..000000000 --- a/app/src/main/res/drawable/ic_google_circles_communities_white_24dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_google_plus_white_24dp.xml b/app/src/main/res/drawable/ic_google_plus_white_24dp.xml deleted file mode 100644 index 6c2c66b03..000000000 --- a/app/src/main/res/drawable/ic_google_plus_white_24dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/card_author.xml b/app/src/main/res/layout/card_author.xml index 93482056a..66c5f6d18 100644 --- a/app/src/main/res/layout/card_author.xml +++ b/app/src/main/res/layout/card_author.xml @@ -100,37 +100,6 @@ - - - - - - - - - \ No newline at end of file + diff --git a/app/src/main/res/layout/card_support_development.xml b/app/src/main/res/layout/card_support_development.xml index 97ac41651..048a18fae 100644 --- a/app/src/main/res/layout/card_support_development.xml +++ b/app/src/main/res/layout/card_support_development.xml @@ -70,50 +70,6 @@ - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 15a5ca54b..0a2a863aa 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -160,13 +160,10 @@ شكراً لك! النسخة المؤلف - أضف إلى دوائر جوجل + تابع في تويتر زر موقعنا أبلغ عن وجود مشكلة أبلغ عن وجود مشاكل أو طلب ميزات جديدة - انضم لمجموعة جوجل + - إذا كنت تحتاج إلى مساعدة أو لديك أسئلة؛ مجتمع Phonograph في جوجل+ هو المكان المناسب لطرحها ترجمة ساعدنا في ترجمة Phonograph إلى لغتك الأم قيّم diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 18b0ff0ce..667d3028b 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -168,13 +168,10 @@ Благодаря Ви! Версия Автор - Добави в Гугъл Плюс Последвай в Twitter Посети уебсайт Съобщи за бъгове Съобщи за бъгове или предложи нови идеи - Присъедини се към обществото в Гугъл Плюс - Ако имате нужда от помощ или някакви въпроси, посете обществото в Гугъл Плюс Преведи Преведете Phonograph на вашият роден език. Оцени diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 1caeca821..05f1c57ec 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -194,14 +194,11 @@ Verze Autor Napsat e-mail - Přidat do kruhů Google Plus Sledovat na Twitteru Fork na GitHubu Navštívit stránku Ohlásit chybu "Nahlásit chyby nebo požádat o nové funkce. " - Přidejte se ke komunitě Google Plus - Pokud potřebujete pomoc nebo máte otázky, komunita Phonographu na Google Plus je to správné místo. Překládejte "Pomozte nám přeložit Phonograph do vašeho mateřského jazyka. " Ohodnotit diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index cd79f59f6..645efbc92 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -194,14 +194,11 @@ Version Autor Eine E-Mail schreiben - Zu Google Plus Kreisen hinzufügen Auf Twitter folgen Auf GitHub forken Website besuchen Fehler melden Melde Fehler oder schlage neue Features vor. - Google Plus Community beitreten - Wenn du Hilfe brauchst oder eine Frage hast, bist du bei der Phonograph Community an der richtigen Adresse. Übersetzen Helfe dabei, Phonograph in deine Sprache zu übersetzen. Bewerten diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 2329ba130..9ad0be78d 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -69,7 +69,7 @@ \u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03b4\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03bb\u03af\u03c3\u03c4\u03b1\u03c2 \u03b1\u03bd\u03b1\u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03ae\u03c2 %1$s;]]> %1$s ; (\u039c\u03b7 \u03b1\u03bd\u03b1\u03c3\u03c4\u03c1\u03ad\u03c8\u03b9\u03bc\u03bf!)]]> - %1$d λίστες αναπαραγωγής; + %1$d λίστες αναπαραγωγής; ]]> %1$s;]]> %1$d τραγούδια;]]> @@ -169,13 +169,10 @@ Σας ευχαριστώ! Έκδοση Εκδότης - Προσθήκη στους κύκλους σας στο Google Plus Ακολουθήστε στο Twitter Επισκεφθείτε την ιστοσελίδα μας Αναφορά σφαλμάτων Αναφέρετε σφάλματα ή ζητείστε νέα χαρακτηριστικά. - Γίνετε μέλος της κοινότητας μας στο Google Plus - Αν χρειάζεστε βοήθεια ή έχετε ερωτήσεις, η κοινότητά μας για το Phonograph στο Google Plus είναι ένα καλό μέρος για να πάτε. Μεταφράστε Βοηθήστε την μετάφραση του Phonograph στη μητρική σας γλώσσα. Βαθμολογήστε diff --git a/app/src/main/res/values-en-rCA/strings.xml b/app/src/main/res/values-en-rCA/strings.xml index cde193a37..85be01391 100644 --- a/app/src/main/res/values-en-rCA/strings.xml +++ b/app/src/main/res/values-en-rCA/strings.xml @@ -188,14 +188,11 @@ Version Author Write an email - Add to Google Plus circles Follow on Twitter Fork on GitHub Visit website Report bugs Report bugs or request new features. - Join the Google Plus community - If you need help or have questions, the Phonograph community on Google Plus is a good place to go. Translate Help translating Phonograph to your native language. Rate diff --git a/app/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml index 1a2de0463..bdd6daa9a 100644 --- a/app/src/main/res/values-en-rGB/strings.xml +++ b/app/src/main/res/values-en-rGB/strings.xml @@ -194,14 +194,11 @@ Version Author Write an email - Add to Google Plus circles Follow on Twitter Fork on GitHub Visit website Report bugs Report bugs or request new features. - Join the Google Plus community - If you need help or have questions, the Phonograph community on Google Plus is a good place to go. Translate Help translating Phonograph to your native language. Rate diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 0a9afb05f..314368a37 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -194,14 +194,11 @@ Versión Autor Escribir un email - Añadir a círculos en Google Plus Seguir en Twitter Fork en GitHub Visitar sitio web Reportar errores Reportar errores o sugerir nuevas características. - Unirse a la comunidad de Google Plus - Si necesitas ayuda o tienes preguntas, la comunidad Phonograph en Google Plus es un buen lugar para ir. Traducir Ayuda traduciendo Phonograph a tu idioma. Valorar diff --git a/app/src/main/res/values-es-rUS/strings.xml b/app/src/main/res/values-es-rUS/strings.xml index c7c6f96aa..6b60caf1e 100644 --- a/app/src/main/res/values-es-rUS/strings.xml +++ b/app/src/main/res/values-es-rUS/strings.xml @@ -194,14 +194,11 @@ Versión Autor Escribir un email - Añadir a círculos de Google+ Seguir en Twitter Fork en GitHub Visitar sitio web Reportar errores Reportar errores o sugerir nuevas características. - Unirse a la comunidad de Google+ - Si necesitas ayuda o tienes preguntas, la comunidad Phonograph en Google+ es un buen lugar para ir. Traducir Ayuda traduciendo Phonograph a tu idioma. Calificar diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 3ac5bdb9b..000e736ca 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -186,14 +186,11 @@ Versio Luoja Kirjoita sähköpostia - Lisää Google Plus -piireihin Seuraa Twitterissä Forkkaa GitHubissa Vieraile verkkosivulla Raportoi bugeja Raportoi bugeja tai ehdota uusia ominaisuuksia. - Liity Google Plus -yhteisöön - Jos tarvitset apua tai sinulla on kysymyksiä, Phonographin Google Plus -yhteisö on hyvä paikka sille. Käännä Auta kääntämään Phonograph sinun äidinkielellesi. Arvostele diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 048204631..99268057e 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -194,14 +194,11 @@ Version Auteur Écrire un email - Ajouter aux cercles Google+ Suivre sur Twitter Afficher sur GitHub Visiter le site internet Signaler des bugs Signalez des bugs ou demandez des nouvelles fonctionnalités. - Rejoindre la communauté Google+ - Si vous avez besoin d\'aide ou si vous avez des questions, la communauté Phonograph sur Google+ est un bon endroit où se rendre. Traduire Aidez à traduire Phonograph dans votre langue maternelle. Évaluer diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 84bbc7521..464ceafd2 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -194,14 +194,11 @@ גרסה מחבר כתוב אימייל - הוסף למעגלי Google+ עקוב בטוויטר גירסה בGitHub ביקור באתר דווח על באגים דווח על באגים או בקש פיצ\'רים חדשים. - הצטרף לקהילת ה-Google+ - אם אתה צריך עזרה או שיש לך שאלות, קהילת Phonograph ב-Google+ היא מקום טוב ללכת אליו. תרגם עזור לתרגם את Phonograph לשפת האם שלך. דרג diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index cf54bc28e..7e1ac72dc 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -194,14 +194,11 @@ Verzija Autor Napiši email - Dodaj u Google Plus krugove Prati na Twitteru Forkaj na GitHubu Posjeti web-stranicu Prijavi pogreške Prijavite pogreške i zatražite nove mogućnosti. - Pridruži se Google Plus zajednici - Ako trebate pomoć ili imate pitanja, trebali bi posjetiti Phonograph zajednicu na Google+. Prevedi Pomozite prevesti Phonograph na svoj jezik. Ocijeni diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 5d2ea9a64..b06d26077 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -194,14 +194,11 @@ Verzió Készítő Írjon e-mailt - Google Plus Twitter Villog a GitHubon Látogassa meg a honlapot Hibajelentés Problémák jelentése, új funkciók kérése. - Csatlakozzon a Google Plus közösséghez - Ha segítségre lenne szüksége, vagy kérdései vannak, keresse fel a Phonograph közösséget a Google Plus-on. Fordítás Segítsen lefordítani a Phonograph-ot a saját nyelvére. Értékelés diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index bec147a66..2ae2d176f 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -194,14 +194,11 @@ Versi Penulis Tuliskan email - Tambahkan ke lingkaran Google Plus Ikuti di Twitter Gabung di Github Kunjungi situs Laporkan masalah Laporkan masalah atau sarankan fitur baru - Gabung di komunitas Google Plus - "Anda dapat meminta bantuan atau mengajukan pertanyaan di komunitas Phonograph di Google Plus. " Terjemahkan "Bantu terjemahkan Phonograph ke dalam bahasa Anda. " Beri nilai diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index bec147a66..2ae2d176f 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -194,14 +194,11 @@ Versi Penulis Tuliskan email - Tambahkan ke lingkaran Google Plus Ikuti di Twitter Gabung di Github Kunjungi situs Laporkan masalah Laporkan masalah atau sarankan fitur baru - Gabung di komunitas Google Plus - "Anda dapat meminta bantuan atau mengajukan pertanyaan di komunitas Phonograph di Google Plus. " Terjemahkan "Bantu terjemahkan Phonograph ke dalam bahasa Anda. " Beri nilai diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index cb743032a..a2cbd9804 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -194,14 +194,11 @@ Versione Autore Scrivi un\'email - Aggiungi alle cerchie di Google+ Segui su Twitter Vai su GitHub Visita sito web Segnala bug Segnala bug o richiedi nuove funzionalità. - Unisciti alla community di Google+ - Se hai bisogno di aiuto o hai domande, la community di Phonograph su Google+ è un buon posto dove andare. Traduci Aiuta a tradurre Phonograph nella tua lingua. Valuta diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 84bbc7521..464ceafd2 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -194,14 +194,11 @@ גרסה מחבר כתוב אימייל - הוסף למעגלי Google+ עקוב בטוויטר גירסה בGitHub ביקור באתר דווח על באגים דווח על באגים או בקש פיצ\'רים חדשים. - הצטרף לקהילת ה-Google+ - אם אתה צריך עזרה או שיש לך שאלות, קהילת Phonograph ב-Google+ היא מקום טוב ללכת אליו. תרגם עזור לתרגם את Phonograph לשפת האם שלך. דרג diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 25be6d51f..c7016fd65 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -194,14 +194,11 @@ バージョン 製作者 メールを書く - Google+ のサークルに参加 Twitter でフォロー GitHub でフォーク ウェブサイトを開く バグを報告 パグの報告または新機能のリクエスト - GooglePlusコミュニティに参加する - 質問があったり助けが必要だったりする場合は、Phonograph の Google+ コミュニティを訪れてみると良いかもしれません。(英語限定) 翻訳 Phonograph をあなたの母国語に翻訳するのをお手伝いください。 評価 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index d56b6afbe..c69a7b2a9 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -196,14 +196,11 @@ 버전 제작자 이메일 작성 - Google + 서클에 추가 트위터에서 팔로우하기 깃허브 포크 웹사이트 방문 버그 제보 버그를 제보하거나 새로운 기능을 제안합니다. - Google + 커뮤니티에 가입하세요. - Google + 의 Phonograph 커뮤니티에서 질문을 하거나 도움을 받을 수 있습니다. 번역 Phonograph의 우리말 번역에 기여하세요. 별점 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 6f877d230..48591bf60 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -194,14 +194,11 @@ Versie Auteur Schrijf een email - Toevoegen aan Google Plus cirkels Volgen op Twitter Fork op GitHub Bezoek website Rapporteer bugs Rapporteer bugs of verzoek nieuwe functies. - Deelnemen aan de Google Plus communiteit - Als je hulp nodig hebt of vragen hebt, is de Phonograph communiteit op Google Plus een goede bron om te raadplegen. Vertalen Help Phonograph te vertalen naar jouw moedertaal. Beoordelen diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 59f7a0c83..e8a511a67 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -190,14 +190,11 @@ Wersja O autorze Napisz maila - Dodaj do kręgów Google+ Śledź na Twitterze Aplikacja na GitHub\'ie Odwiedź stronę Zgłoś błędy Zgłaszaj błędy lub propozycje nowych funkcji - Dołącz do społeczności Google+ - Jeśli potrzebujesz pomocy lub masz pytania, społeczność Phonograph na Google+ jest do tego dobrym miejscem Tłumaczenie Pomóż przetłumaczyć Phonograph na Twój ojczysty język Oceń diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index e5a22d503..032d83c94 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -194,14 +194,11 @@ Versão Autor Escreva um email - Adicionar aos círculos do Google+ Seguir no Twitter Fazer um Fork no GitHub Visitar site Reportar bugs Reportar bugs ou pedir por novas funções. - Entre na comunidade do Google+ - Se você precisa de ajuda ou tem alguma dúvida, a comunidade do Phonograph no Google+ é um bom lugar pra ir. Traduzir Ajude a traduzir o Phonograph para sua língua nativa. Nota diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 93c7ea6fb..af6b290cf 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -161,13 +161,10 @@ Obrigado! Versão Autor - Adicionar aos seus círculos do Google Plus Seguir no Twitter Visitar sítio na Internet Reportar erros Reportar erros ou sugerir novas funcionalidades. - Junte-se à comunidade Google Plus - Se necessitar de ajuda ou tiver dúvidas, a comunidade Phonograph no Google Plus é um bom sítio para ir. Traduzir Ajude a traduzir o Phonograph para o seu idioma nativo. Classifique diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 61fee4c2a..97b54c20f 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -194,14 +194,11 @@ Versiune Autor Scrieţi un e-mail - Adăugaţi în cercurile Google lus Urmăriţi pe Twitter Fork pe GitHub Vizitati site-ul web Raportaţi probleme Raportați probleme sau solicitați noi funcții. - Alăturați-vă comunității Google Plus - Dacă aveți nevoie de ajutor sau aveți întrebări, intraţi pe comunitatea Phonograph de pe Google Plus. Traducere Ajutaţi la traducerea Phonograph în limba maternă. Evaluaţi diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9c5315d75..53a7abc13 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -194,14 +194,11 @@ Версия Автор Написать на электронную почту - Добавить в круги Google Plus Следить в Twitter Ветвление на GitHub Посетить сайт Отправить отчёт об ошибке Сообщить об ошибках или предложить новые функции. - Вступить в сообщество на Google Plus - Сообщество Phonograph в Google Plus — место, где вы сможете задать вопрос или получить помощь. Перевести Помогите перевести Phonograph на ваш родной язык. Оценить diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 841013cc7..9c5c2264b 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -194,14 +194,11 @@ Sürüm Yapımcı Bir e-posta yazın - Google+ çevrelerine ekle Twitter\'da takip et GitHub\'a bağlanın Web sitesini ziyaret edin Hataları raporlayın Hataları raporlayın ya da yeni özellikler talep edin. - Google+ grubuna katılın - Eğer yardıma ihtiyacınız varsa veya sorularınız varsa Google+ Phonograph topluluğu en doğru yer. Çeviri Phonograph\'ı kendi dilinize çevirmek için yardımcı olun. Oy ver diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 9ce9d5873..2447fdfee 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -194,14 +194,11 @@ Версія Автор Написати листа - Додати в кола Google Plus Слідкувати у Твіттері Форк на GitHub Відвідати веб-сайт Повідомити про помилку Повідомити про помилку чи попросити нові функції. - Приєднатися до спільноти Google Plus - Якщо вам потрібна допомога або ви маєте будь-які питання, то вам слід долучитися до спільноти Phonograph у Google Plus. Перекласти Допоможіть перекласти Phonograph на свою рідну мову. Оцінити diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index f242ae576..f1b0e7f29 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -187,14 +187,11 @@ Phiên bản Tác giả Viết email - Thêm vào vòng kết nối Google Plus Theo dõi trên Twitter Fork trên GitHub Truy cập trang web Báo lỗi Báo lỗi và yêu cầu tính năng mới. - Tham gia cộng đồng Google Plus - Nếu bạn cần trợ giúp hoặc có câu hỏi, hãy đến với cộng đồng Phonograph trên Google Plus. Dịch Hỗ trợ dịch Phonograph sang ngôn ngữ của bạn. Đánh giá diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 99f278b04..9b33a4942 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -194,14 +194,11 @@ 版本 作者 撰写邮件 - 添加到 Google+ 圈子 在 Twitter 上关注 创建 GitHub 分支 访问网站 提交 bug 提交 bug 或申请添加新功能 - 加入 Google+ 社群 - 如果您需要帮助或遇到问题,Google+ 上的 Phonograph 社群或许是个好去处。 翻译 帮助翻译 Phonograph 。 评分 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8fbf7e96e..b79a61cc8 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -195,14 +195,11 @@ 版本 作者 寫 email 給我們 - 加入 Google+ 社交圈 在 Twitter 上追蹤我們 造訪 GitHub 造訪網站 回報程式錯誤 建議新功能或回報問題 - 加入 Google+ 社交圈 - 如果您需要幫助或遇到問題,Google+ 社交圈的 Phonograph 社群是個發問的好地方。 翻譯 幫助我們將這款 App 翻譯成您的語言 評分 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 476cf3b39..b41c40e80 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -209,14 +209,11 @@ Version Author Write an email - Add to Google Plus circles Follow on Twitter Fork on GitHub Visit website Report bugs Report bugs or request new features. - Join the Google Plus community - If you need help or have questions, the Phonograph community on Google Plus is a good place to go. Translate Help translating Phonograph to your native language. Rate From 428a093064ee238691ed512cac335174db14fbc1 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Tue, 22 Jan 2019 18:40:05 -0500 Subject: [PATCH 11/33] Slightly more logical dependency grouping --- app/build.gradle | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0db482aa3..39f6e8e1e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -120,6 +120,7 @@ dependencies { implementation "com.android.support:percent:$supportLibVersion" implementation "com.android.support:preference-v7:$supportLibVersion" implementation "com.android.support:preference-v14:$supportLibVersion" + implementation 'com.github.kabouzeid:app-theme-helper:1.3.10' implementation 'com.github.kabouzeid:RecyclerView-FastScroll:1.0.16-kmod' implementation 'com.github.kabouzeid:SeekArc:1.2-kmod' @@ -128,20 +129,25 @@ dependencies { implementation 'com.afollestad.material-dialogs:commons:0.9.6.0' implementation 'com.afollestad:material-cab:0.1.12' implementation 'com.github.ksoichiro:android-observablescrollview:1.6.0' + implementation 'com.heinrichreimersoftware:material-intro:1.6.2' + implementation 'me.zhanghai.android.materialprogressbar:library:1.4.2' + implementation('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar') { + transitive = true + } + + implementation 'com.jakewharton:butterknife:8.8.1' + annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' + implementation 'com.squareup.retrofit2:retrofit:2.5.0' implementation 'com.squareup.retrofit2:converter-gson:2.4.0' + implementation 'com.google.code.gson:gson:2.8.5' + implementation 'com.anjlab.android.iab.v3:library:1.0.44' implementation 'de.psdev.licensesdialog:licensesdialog:1.8.3' + implementation 'com.github.bumptech.glide:glide:3.8.0' implementation 'com.github.bumptech.glide:okhttp3-integration:1.5.0' - implementation 'com.heinrichreimersoftware:material-intro:1.6.2' - implementation 'me.zhanghai.android.materialprogressbar:library:1.4.2' implementation 'org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5' - implementation 'com.jakewharton:butterknife:8.8.1' + implementation 'com.github.AdrienPoupa:jaudiotagger:2.2.3' - implementation('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar') { - transitive = true - } - implementation 'com.google.code.gson:gson:2.8.5' - annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' } From 365e953d914f60e16951085bfe5fc2cf1699185e Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Tue, 22 Jan 2019 18:40:23 -0500 Subject: [PATCH 12/33] Update Retrofit GSON converter --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 39f6e8e1e..3301c1953 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -139,7 +139,7 @@ dependencies { annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' implementation 'com.squareup.retrofit2:retrofit:2.5.0' - implementation 'com.squareup.retrofit2:converter-gson:2.4.0' + implementation 'com.squareup.retrofit2:converter-gson:2.5.0' implementation 'com.google.code.gson:gson:2.8.5' implementation 'com.anjlab.android.iab.v3:library:1.0.44' From 546d016109ed883728bcd30075de9e9fbd28e348 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Tue, 22 Jan 2019 18:42:32 -0500 Subject: [PATCH 13/33] Downgrade MaterialIntro (closes #645) See https://github.com/heinrichreimer/material-intro/issues/261 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 3301c1953..6af809c86 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -129,7 +129,7 @@ dependencies { implementation 'com.afollestad.material-dialogs:commons:0.9.6.0' implementation 'com.afollestad:material-cab:0.1.12' implementation 'com.github.ksoichiro:android-observablescrollview:1.6.0' - implementation 'com.heinrichreimersoftware:material-intro:1.6.2' + implementation 'com.heinrichreimersoftware:material-intro:1.6' implementation 'me.zhanghai.android.materialprogressbar:library:1.4.2' implementation('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar') { transitive = true From 0fd8d71f7c7ba5539b465aa0deb31333497cf601 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Tue, 22 Jan 2019 18:44:42 -0500 Subject: [PATCH 14/33] Fix library categories setting crash --- app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle b/app/build.gradle index 6af809c86..adca4e998 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -120,6 +120,7 @@ dependencies { implementation "com.android.support:percent:$supportLibVersion" implementation "com.android.support:preference-v7:$supportLibVersion" implementation "com.android.support:preference-v14:$supportLibVersion" + implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.github.kabouzeid:app-theme-helper:1.3.10' implementation 'com.github.kabouzeid:RecyclerView-FastScroll:1.0.16-kmod' From 5da8b862aec0bbfecbaa48f5e276084c8cb5807c Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Tue, 22 Jan 2019 18:46:08 -0500 Subject: [PATCH 15/33] Remove unused Hugo plugin --- app/build.gradle | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index adca4e998..44a55332a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,18 +1,6 @@ import javax.annotation.Nullable -buildscript { - repositories { - mavenCentral() - } - - dependencies { - //noinspection GradleDynamicVersion - classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1' - } -} - apply plugin: 'com.android.application' -apply plugin: 'com.jakewharton.hugo' static def gitBranch() { def branch = 'GitHub' From 3bf889dbc9de450fa9589fe65d6489a89fc00e65 Mon Sep 17 00:00:00 2001 From: Son Date: Thu, 24 Jan 2019 00:44:46 +0100 Subject: [PATCH 16/33] Update some translations --- app/src/main/res/values-en-rCA/strings.xml | 2 +- app/src/main/res/values-en-rGB/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-vi/strings.xml | 7 ++++--- app/src/main/res/values/strings.xml | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-en-rCA/strings.xml b/app/src/main/res/values-en-rCA/strings.xml index 85be01391..29b0fa2e6 100644 --- a/app/src/main/res/values-en-rCA/strings.xml +++ b/app/src/main/res/values-en-rCA/strings.xml @@ -162,7 +162,7 @@ Search your library… Favorites Last added - History + Recently played My top tracks Remove cover Download from Last.fm diff --git a/app/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml index bdd6daa9a..e222f69de 100644 --- a/app/src/main/res/values-en-rGB/strings.xml +++ b/app/src/main/res/values-en-rGB/strings.xml @@ -168,7 +168,7 @@ Search your library… Favourites Last added - History + Recently played My top tracks Remove cover Download from Last.fm diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 99268057e..016e942bd 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -127,6 +127,7 @@ Ignorer le stockage des pochettes Lecture sans coupure Réduire le volume lorse que le focus est interrompu + Intervalle de la playlist \"Titres écoutés récemment\" Intervalle de la playlist \"Derniers ajouts\" Afficher les paroles synchronisées Se souvenir de la dernière fenêtre diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index f1b0e7f29..42fb303dc 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -124,7 +124,8 @@ Bỏ qua kho ảnh bìa trong Kho Phương tiện Phát lại quãng lặng Giảm âm lượng khi mất tập trung - Thời gian danh sách nhạc được thêm vào sau cùng + Khoảng thời gian cho Bài hát mới nghe + Khoảng thời gian cho Bài hát mới thêm Hiển thị lời bài hát được đồng bộ Không có bộ lọc âm thanh nào. "Phát một bài hát đầu tiên, sau đó thử lại." @@ -160,8 +161,8 @@ "Kh\u00f4ng th\u1ec3 t\u1ea3i v\u1ec1 b\u00eca album ph\u00f9 h\u1ee3p." Tìm kiếm thư viện của bạn... Yêu thích - Được thêm sau cùng - Lịch sử + Bài hát mới thêm + Bài hát mới nghe Bài hát hàng đầu Di chuyển bìa Tải về từ Last.fm diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b41c40e80..705e62660 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -174,7 +174,7 @@ Search your library… Favorites Last added - History + Recently played My top tracks Not recently played Remove cover From 608b99ac22fe11320341d60eef5fcd0a7082a4f2 Mon Sep 17 00:00:00 2001 From: Son Date: Thu, 24 Jan 2019 19:27:02 +0100 Subject: [PATCH 17/33] round up the number of top tracks --- .../gramophone/loader/TopAndRecentlyPlayedTracksLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java index 522fceba2..53c35eb2b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java @@ -31,7 +31,7 @@ import java.util.ArrayList; public class TopAndRecentlyPlayedTracksLoader { - public static final int NUMBER_OF_TOP_TRACKS = 99; + public static final int NUMBER_OF_TOP_TRACKS = 100; @NonNull public static ArrayList getRecentlyPlayedTracks(@NonNull Context context) { From d855c8a4fbed061090b22aee21f2ff8b172d61e1 Mon Sep 17 00:00:00 2001 From: soncaokim Date: Tue, 5 Mar 2019 00:43:52 +0100 Subject: [PATCH 18/33] Upgrade dependencies (#658) * upgrade dependency, try fixing ci * update dependency --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 44a55332a..9d04c9c6e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -113,7 +113,7 @@ dependencies { implementation 'com.github.kabouzeid:app-theme-helper:1.3.10' implementation 'com.github.kabouzeid:RecyclerView-FastScroll:1.0.16-kmod' implementation 'com.github.kabouzeid:SeekArc:1.2-kmod' - implementation 'com.github.kabouzeid:AndroidSlidingUpPanel:3.3.0-kmod3' + implementation 'com.github.kabouzeid:AndroidSlidingUpPanel:3.3.3-kmod' implementation 'com.afollestad.material-dialogs:core:0.9.6.0' implementation 'com.afollestad.material-dialogs:commons:0.9.6.0' implementation 'com.afollestad:material-cab:0.1.12' From b592521813e7636e6491cee5908129eca70d8adf Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Tue, 26 Mar 2019 00:49:50 +0100 Subject: [PATCH 19/33] Update gradle plugin --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index b35e27204..7061b8f38 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.0' + classpath 'com.android.tools.build:gradle:3.3.2' } } From 06ae62c3279170f4b3e3b0f62267e6af3daece7b Mon Sep 17 00:00:00 2001 From: Poussinou Date: Wed, 27 Mar 2019 00:01:40 +0100 Subject: [PATCH 20/33] Add F-Droid link to README (#662) --- README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b7fc3cc0c..245d1cd82 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,9 @@ ![Screenshots](./art/art.jpg?raw=true) - - Get it on Google Play - - - - +[Get it on F-Droid](https://f-droid.org/packages/com.kabouzeid.gramophone/) +[Get it on Google Play](https://play.google.com/store/apps/details?id=com.kabouzeid.gramophone) From 2f914fd15c154196e0e1c7ad8c8b104fa76ac462 Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Wed, 10 Apr 2019 10:59:39 +0200 Subject: [PATCH 21/33] Sync translations --- app/src/main/res/values-ar/strings.xml | 314 +++++++++++++-------- app/src/main/res/values-cs/strings.xml | 7 +- app/src/main/res/values-de/strings.xml | 3 + app/src/main/res/values-el/strings.xml | 31 +- app/src/main/res/values-en-rCA/strings.xml | 2 +- app/src/main/res/values-en-rGB/strings.xml | 2 +- app/src/main/res/values-es-rES/strings.xml | 8 +- app/src/main/res/values-es-rUS/strings.xml | 14 + app/src/main/res/values-fi/strings.xml | 60 +++- app/src/main/res/values-fr/strings.xml | 9 +- app/src/main/res/values-he/strings.xml | 3 + app/src/main/res/values-hr/strings.xml | 15 +- app/src/main/res/values-hu/strings.xml | 3 + app/src/main/res/values-id/strings.xml | 85 +++--- app/src/main/res/values-in/strings.xml | 85 +++--- app/src/main/res/values-it/strings.xml | 3 + app/src/main/res/values-iw/strings.xml | 3 + app/src/main/res/values-ja/strings.xml | 5 +- app/src/main/res/values-ko/strings.xml | 17 +- app/src/main/res/values-nl/strings.xml | 3 + app/src/main/res/values-pl/strings.xml | 8 + app/src/main/res/values-pt-rBR/strings.xml | 33 ++- app/src/main/res/values-ro/strings.xml | 5 +- app/src/main/res/values-ru/strings.xml | 39 +-- app/src/main/res/values-tr/strings.xml | 3 + app/src/main/res/values-uk/strings.xml | 2 +- app/src/main/res/values-vi/strings.xml | 31 +- app/src/main/res/values-zh-rCN/strings.xml | 5 +- app/src/main/res/values-zh-rTW/strings.xml | 3 + 29 files changed, 523 insertions(+), 278 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 0a2a863aa..7eb213639 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -1,74 +1,83 @@ - ماذا تريد ان تشارك؟ - تستمع حاليا إلى %1$s لـ %2$s + ماذا تريد أن تشارك؟ + تستمع حالياً إلى %1$s من %2$s. ملف الصوت - تعيين %1$s كنغمة رنين - تعيين كنغمة رنين + تعيين %1$s كنغمة الرنين. + تعيين كنغمة الرنين مشاركة "الإعدادات" - سماح - "حول التطبيق " - امسح قائمة التشغيل - إضافة إلى الأغاني المفضلة - إزالة من الأغاني المفضلة + منح + حول + مسح قائمة التشغيل + إضافة إلى المفضلة + إزالة من المفضلة بحث استمع للتالي - استمع - أضف إلى قائمة الإنتظار - أزل من قائمة الانتظار - أضف إلى قائمة التشغيل - تعديل معلومات الملف + تشغيل + تشغيل/إيقاف مؤقت + السابق + التالي + إضافة إلى قائمة الانتظار + إزالة من قائمة الانتظار + إضافة إلى قائمة التشغيل... + محرر الوسوم حذف من الجهاز التفاصيل إعادة التسمية حذف فحص + تعيين كمسار البداية الألبومات الفنانون + الأنواع الأغاني قوائم التشغيل - \u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0623\u063a\u0646\u064a\u0629 - \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0633\u064a\u0631\u0629 \u0627\u0644\u0630\u0627\u062a\u064a\u0629 \u0644\u0644\u0641\u0646\u0627\u0646 - سيرة ذاتية - لم يتم منح التطبيق إذن Audio focus + \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0645\u0643\u0646 \u0645\u0646 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0623\u063a\u0646\u064a\u0629. + \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0633\u064a\u0631\u0629 \u0627\u0644\u0630\u0627\u062a\u064a\u0629 \u0644\u0644\u0641\u0646\u0627\u0646. + \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0635\u0641\u062d\u0629 \u0648\u064a\u0643\u064a \u0644\u0647\u0630\u0627 \u0627\u0644\u0623\u0644\u0628\u0648\u0645. + السيرة الذاتية + ويكي + تم رفض Audio focus. الألبوم الفنان النوع فنان الألبوم السنة - "مقطع (2 للمقطع 2 أو 3004 لـCD3 للمقطع 4)" - حقل اسم الألبوم أو اسم الفنان فارغ - يتم حفظ التغييرات... + "المقطع (2 للمقطع 2 أو 3004 لـCD3 للمقطع 4)" + كلمات الأغاني + حقل العنوان أو الفنان فارغ. + جار حفظ التغييرات التفاصيل اسم الملف مسار الملف الحجم الصيغة - المدة - معدل bit + الطول + معدل البت معدل الترميز - اذهب إلى الفنان - اذهب إلى الألبوم - قائمة الانتظار + الذهاب إلى الفنان + الذهاب إلى الألبوم + قائمة التشغيل لا توجد نتائج - يتم التحديث... - "تمت الإضافة إلى قائمة الانتظار" - تم إضافة %1$d عنوان إلى قائمة الانتظار - حذف من قائمة التشغيل + جار التحديث... + "تمت إضافة عنوان واحد إلى قائمة التشغيل." + تمت إضافة %1$d عناوين إلى قائمة التشغيل. + إزالة من قائمة التشغيل حجم الشبكة - عدد الحقول (في الوضع الأفقي) - تم إضافة %1$d أغنية إلى قائمة التشغيل %2$s - تم إنشاء قائمة التشغيل %1$s - تم حذف %1$d أغنية - \u0644\u0627 \u064a\u0645\u0643\u0646 \u0625\u0646\u0634\u0627\u0621 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 - %1$s ؟]]> - %1$s \u061f]]> - %1$d ؟]]> - %1$s ؟]]> - %1$d ؟]]> - %1$s من قائمة التشغيل ؟]]> - %1$d الأغاني من قائمة التشغيل؟]]> + حجم الشبكة (في الوضع الأفقي) + تم إدراج %1$d أغاني إلى قائمة التشغيل %2$s. + تم إنشاء قائمة التشغيل %1$s. + تم حذف %1$d أغاني. + قائمة التشغيل %1$s موجودة بالفعل. + \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0645\u0643\u0646 \u0645\u0646 \u0625\u0646\u0634\u0627\u0621 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644. + %1$s؟]]> + %1$s\u061f \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0644\u062a\u0631\u0627\u062c\u0639 \u0639\u0646 \u0630\u0644\u0643!]]> + %1$d قوائم تشغيل؟]]> + %1$s؟]]> + %1$d أغاني؟]]> + %1$s من قائمة التشغيل؟]]> + %1$d أغاني من قائمة التشغيل؟]]> حذف الأغنية حذف الأغاني إزالة الأغنية من قائمة التشغيل @@ -78,131 +87,212 @@ حذف قوائم التشغيل مسح قائمة التشغيل حفظ كملف - "أضف إلى قائمة التشغيل" - بعثرة الكل - بعثرة الألبوم - تشغيل أغاني الفنان عشوائيا - تشغيل قائمة التشغيل عشوائيا - مسح قائمة الانتظار - اعرض كلمات الأغنية + حفظ كملفات + "إضافة إلى قائمة التشغيل" + خلط الكل + خلط الألبوم + خلط الفنان + خلط قائمة التشغيل + مسح قائمة التشغيل + حفظ قائمة التشغيل + الذهاب إلى مسار البداية + عرض كلمات الأغاني فاتح - داكن - أسود (شاشات AMOLED) + غامق + أسود (AMOLED) دائماً - فقط عبر Wi-Fi - "ليس للأبد " + فقط على Wi-Fi + أبداً + اليوم + هذا الأسبوع + هذا الشهر + الأشهر الثلاثة السابقة + هذه السنة المعادل الألوان - مشغل الآن - السمة العامة + يتم تشغيله الآن + التنسيق العام الصوت + المكتبة الصور - قفل الشاشة + شاشة القفل + قوائم التشغيل + الإشعار شريط تنقل ملون - أظهر صورة الألبوم - صورة األبوم شافة + اختصارات تطبيق ملونة + عرض غلاف الألبوم + تحميل البيانات الوصفية تلقائياً + تغييم صورة الألبوم إشعار ملون - تجاهل صور متجر الوسائط + تصميم الإشعار الكلاسيكي + تجاهل أغلفة مخزن الوسائط تشغيل بدون فواصل خفض الصوت عند فقدان التركيز + فترة قائمة تشغيل المضافة مؤخراً + عرض كلمات الأغاني المتزامنة + تذكر آخر لسان لا يوجد معدل صوت - "شغل مقطعاً، ثم حاول مجدداً" + "شغل أغنية أولاً، ثم حاول مرة أخرى." حذف مسح - حذف - إعادة التسمية + إزالة + إعادة تسمية إنشاء - %1$d محددة + إعادة تعيين + تم تحديد %1$d اللون الأساسي اللون الثانوي - تحديد لون أساسي. الأزرق النيلي هو اللون الافتراضي. - تحديد اللون الثانوي. الوردي هو اللون الثانوي الافتراضي. + لون التنسيق الأساسي، الافتراضي هو الأزرق النيلي. + لون التنسيق الثانوي، الافتراضي هو الزهري. تحديث الصورة - قائمة التشغيل فارغة + قائمة تشغيل فارغة لا توجد قوائم تشغيل لا توجد ألبومات لا توجد أغاني لا يوجد فنانون + لا توجد أنواع فارغ اسم قائمة التشغيل الأغنية - تستخدم ألبوم الأغاني الحالية كخلفية لشاشة القفل - تغييم صورة الألبوم في شاشة القفل. قد تحدث مشاكل مع الواجهات المبوبة و تطبييقات الطرف الثالث - "\u062a\u0644\u0648\u064a\u0646 \u0627\u0644\u0627\u0634\u0639\u0627\u0631\u0627\u062a \u0628\u0644\u0648\u0646 \u063a\u0644\u0627\u0641 \u0627\u0644\u0623\u0644\u0628\u0648\u0645." - "إزالة المقاطع التي الصامتة بين الاغنيتين. هذا يمكن ان يسبب مشاكل في التشغيل في بعض الاجهرة" - قد يرفع جودة صورة الألبوم ولكن يبطء من سرعة تحميلها. فعلها فقط إذا تواجه مشكلة في جودة صور الألبوم - تلوين شريط التنقل باللون الأساسي - الإشعارات، التنقل، إلى آخره. - "\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u062d\u0645\u064a\u0644 \u063a\u0644\u0627\u0641 \u0623\u0644\u0628\u0648\u0645 \u0645\u0637\u0627\u0628\u0642 ." - إبحث في مكتبتك... + استعمال غلاف ألبوم الأغنية الحالية كخلفية لشاشة القفل. + تغييم غلاف الألبوم في شاشة القفل. قد يسبب مشاكل مع التطبيقات والأدوات الذكية من طرف ثالث. + استعمال تصميم الإشعار الكلاسيكي. + "\u062a\u0644\u0648\u064a\u0646 \u0627\u0644\u0625\u0634\u0639\u0627\u0631 \u0628\u0644\u0648\u0646 \u063a\u0644\u0627\u0641 \u0627\u0644\u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0628\u0627\u0631\u0632." + "قد يسبب مشاكل في التشغيل على بعض الأجهزة." + قد يرفع جودة أغلفة الألبومات لكنه يسبب بطئاً في زمن تحميل الصور. قم بتفعيل هذا الخيار إذا كانت لديك مشاكل مع الصور منخفضة الدقة. + تلوين شريط التنقل باللون الأساسي. + تلوين اختصارات التطبيق باللون الأساسي. + الإشعارات، التنقل، إلخ. + حالياً كلمات الأغاني المتزامنة بصيغة LRC هي المدعومة فقط. سواء كانت مدمجة أو كملف منفصل. + الذهاب إلى آخر لسان مفتوح عند التشغيل + "\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0645\u0643\u0646 \u0645\u0646 \u062a\u062d\u0645\u064a\u0644 \u063a\u0644\u0627\u0641 \u0623\u0644\u0628\u0648\u0645 \u0645\u0637\u0627\u0628\u0642." + البحث في مكتبتك... المفضلة - آخر ما تمت إضافته + المضافة مؤخراً السجل أفضل الأغاني إزالة الغلاف - التنزيل من Last.fm + التحميل من Last.fm اختيار من التخزين الداخلي البحث في الويب مؤقت النوم ضبط إلغاء المؤقت الحالي تم إلقاء مؤقت النوم - تم ضبط مؤقت النوم لـ %d دقيقة من الآن. - قائمة تشغيل جديدة ... + تم ضبط مؤقت النوم لـ%d دقائق من الآن. + قائمة تشغيل جديدة... قائمة تشغيل جديدة هوامش ملونة شكر خاص إلى سجل التغييرات - الرخص - أذونات مرفوضة - تم رفض الإذن للوصول إلى الذاكرة الخارجية + التراخيص + تم رفض الصلاحيات. + تم رفض صلاحية الوصول إلى الذاكرة الخارجية. دعم التطوير + شراء Phonograph Pro شكراً لك! - النسخة + تمت استعادة عملية الشراء السابقة. يرجى إعادة تشغيل التطبيق للاستفادة من جميع المميزات. + الإصدار المؤلف - تابع في تويتر - زر موقعنا - أبلغ عن وجود مشكلة - أبلغ عن وجود مشاكل أو طلب ميزات جديدة + كتابة بريد إلكتروني + متابعة على تويتر + Fork على GitHub + زيارة الموقع + الإبلاغ عن مشاكل + الإبلاغ عن مشاكل أو طلب ميزات جديدة. ترجمة - ساعدنا في ترجمة Phonograph إلى لغتك الأم + ساعد في ترجمة Phonograph إلى لغتك الأم. قيّم - اترك تقييماً إيجابياً في متجر جوجل بلاي إذا أعجبك التطبيق. - تبرع لنا - إذا كنت ترى أنني أستحق أن أحصل على جزاء مقابل عملي، يمكنك أن تكافئني ببضعة دولارات هنا. - من أجل محرك السمات وميزات جميلة أخرى - من أجل شعار التطبيق المطابق لفلسفة ماتيريال ديزاين - من أجل وضع توضيحات البرنامج المتواجدة على المتجر وأيضاً صورة الألبوم الإفتراضية - لمساعدتي في تصميم البرنامج + اترك تقييماً إيجابياً على Goole Play إذا أعجبك Phonograph. + تبرع + إذا كنت تعتقد أنني أستحق أجراً على عملي، يمكنك أن تترك لي بضع دولارات هنا. + من أجل محرك التنسيقات وبعض الأشياء الرائعة الأخرى. + من أجل أيقونة التطبيق الجميلة بتصميم الماتيريال. + من أجل الرسوم التوضيحية على متجر Play وغلاف الألبوم الفارغ. + من أجل مساعدته لي في التصميم. الموقع - يتم تحميل المنتجات... + جار تحميل المنتجات... التالي المظهر المقدمة - "مرحباً في Phonograph، مشغل موسيقى خفيف وأنيق على منصة أندرويد." - اسحب البطاقة في شاشة \"تستمع الآن\" لإظهار جميع المقطوعات على قائمة الانتظار - إعادة ترتيب القائمة بواسطة سحب المقطوعة من رقمها + "مرحباً بك في Phonograph، مشغل موسيقى جميل وخفيف للأندرويد. " + اسحب البطاقة في شاشة \"يتم تشغيله الآن\" لإظهار قائمة التشغيل بالكامل. + إعادة ترتيب قائمة التشغيل عبر سحب الأغاني من أرقامها. المكتبة - الملفات - تم الحفظ في قائمة التشغيل %s. - فشل الحفظ في القائمة التشغيل (%s). + المجلدات + تم حفظ قائمة التشغيل إلى %s. + فشل حفظ قائمة التشغيل (%s). + تم حفظ %1$d قوائم تشغيل إلى %2$s. + تم حفظ %1$d قوائم تشغيل إلى %2$s، فشل حفظ %3$d. + %s غير مدرج في مخزن الوسائط.]]> + بعض الملفات غير مدرجة في مخزن الوسائط. لا يوجد شيء للفحص - لم يتم فحص ملفات %d. - بلغ عن مشكلة + تم فحص %1$d من %2$d ملفات. + تعذر فحص %d ملفات. + جار إدراج الملفات + %s هو مسار البداية الجديد. + Phonograph - كبير + Phonograph - كلاسيكي + Phonograph - صغير + Phonograph - بطاقة + إبلاغ عن مشكلة المشكلة تسجيل دخول العنوان الوصف معلومات الجهاز - أرسل باستخدام حساب GitHub - أرسل يدوياً + إرسال باستخدام حساب GitHub + إرسال يدوياً اسم المستخدم كلمة المرور - فضلاً أدخل عنوان المشكلة - فضلاً أدخل وصف المشكلة - فضلاً أدخل اسم مستخدم صالح لحساب GitHub - فضلاً أدخل كلمة مرور صالح لحساب GitHub - يتم رفع المشكلة إلى GitHub + يرجى إدخال عنوان المشكلة + يرجى إدخل وصف المشكلة + يرجى إدخال اسم مستخدم GitHub صالح + يرجى إدخال كلمة مرور GitHub صالحة + جار رفع البلاغ إلى GitHub... غير قادر علي إرسال تقرير - اسم مستخدم او كلمة مرور خاطئه + اسم مستخدم أو كلمة مرور خاطئة + رمز وصول غير صالح. يرجى التواصل مع مطور التطبيق. + لم يتم تفعيل الأخطاء للمستودع المختار. يرجى التواصل مع مطور التطبيق. + حدث خطأ غير متوقع. يرجى التواصل مع مطور التطبيق. + تم نسخ بيانات الجهاز إلى الحافظة. + يتم استعمال بيانات حسابك للمصادقة فقط. + سيتم توجيهك إلى موقع تعقب الأخطاء. + خلط + أفضل الأغاني + المضافة مؤخراً + قائمة التشغيل فارغة + إشعار التشغيل يوفر أزرار تحكم للتشغيل/الإيقاف المؤقت إلخ. + إشعار التشغيل + فقط أول 5 ألوان هي المتوفرة في النسخة المجانية. + التنسيق الأسود هي ميزة في Phonograph Pro. + مؤقت النوم هي ميزة في Phonograph Pro + عرض المجلدات هي ميزة في Phonograph Pro. + جار استعادة عملية الشراء... + لم يتم التمكن من استعادة عملية الشراء. + شراء + استعادة + لم يتم العثور على عملية شراء. + من أجل مساهماته في الكود المصدري. + من أجل إنشاءه تصميم صفحة الألبومات. + إضافة + القائمة السوداء + إزالة من القائمة السوداء + %1$s من القائمة السوداء؟]]> + مسح القائمة السوداء + هل تريد مسح القائمة السوداء؟ + سيتم إخفاء محتوى المجلدات التي في القائمة السوداء من مكتبتك. + إعادة تعيين صورة الفنان + تعيين صورة الفنان + أقسام المكتبة + تخصيص رؤية وترتيب أقسام المكتبة. + عليك أن تختار قسماً واحداً على الأقل. + فحص المسار + فحص الوسائط + ترتيب الفرز + تصاعدي + تنازلي + الفنان + الألبوم + السنة diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 05f1c57ec..58e5d0e45 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -66,7 +66,7 @@ Odstranit z playlistu Velikost mřížky Velikost mřížky (na šiřku) - Vložit %1$d do playlistu %2$s. + Vloženo %1$d do playlistu %2$s. Vytvořen playlist %1$s Odstraněno %1$d skladeb. Seznam skladeb %1$s již existuje. @@ -87,6 +87,7 @@ Vymazat playlisty Vyčistit playlist Uložit jako soubor + Uložit jako soubor "Přidat do playlistu" Přehrát náhodně Přehrát album náhodně @@ -221,8 +222,10 @@ "Složky " Uloženo do playlistu %s. Chyba v uložení playlistu (%s). + Uloženo %1$d playlistů do %2$s. + Uloženo %1$d playlistů do %2$s, nepodařilo se uložit %3$d. %s není zobrazeno v seznamu souborů.]]> - Některé soubory nejsou zobrazené v obchodě s médii. + Některé soubory nejsou zobrazeny v obchodě s médii. Nic ke skenování. Naskenováno %1$d z %2$d souborů. Nelze skenovat %d souborů. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 645efbc92..9e04140d2 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -87,6 +87,7 @@ Wiedergabelisten löschen Wiedergabeliste leeren Als Datei speichern + Als Dateien speichern "Zu Wiedergabeliste hinzufügen" Zufällige Wiedergabe Album zufällig wiedergeben @@ -221,6 +222,8 @@ Ordner Playlist wurde in %s gespeichert. Speichern der Playlist fehlgeschlagen (%s). + %1$d Wiedergabelisten wurden in %2$s gespeichert. + %1$d Wiedergabelisten wurden in %2$s gespeichert, %3$d konnten nicht gespeichert werden. %s ist nicht im Media Store gelistet.]]> Einige Dateien sind nicht im Medienverzeichnis gelistet. Nichts zu scannen. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 9ad0be78d..ac9d6c956 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -15,7 +15,7 @@ Αναζήτηση Επόμενο Αναπαραγωγή - Αναπ.γή/Παύση + Αναπαραγωγή/Παύση Προηγούμενο Επόμενο Προσθήκη στη σειρά τραγουδιών @@ -30,11 +30,14 @@ Ορισμός ως κατάλογος έναρξης Άλμπουμ Καλλιτέχνες + Είδη Τραγούδια Λίστες αναπαραγωγής \u03a3\u03c5\u03b3\u03b3\u03bd\u03ce\u03bc\u03b7 - \u03a5\u03c0\u03ae\u03c1\u03be\u03b5 \u03c3\u03c6\u03ac\u03bb\u03bc\u03b1 \u03c3\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03c3\u03c0\u03ac\u03b8\u03b5\u03b9\u03b1 \u03b1\u03bd\u03b1\u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03ae\u03c2 \u03a3\u03c5\u03b3\u03b3\u03bd\u03ce\u03bc\u03b7, \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7 \u03b2\u03b9\u03bf\u03b3\u03c1\u03b1\u03c6\u03af\u03b1 \u03b1\u03c5\u03c4\u03bf\u03cd \u03c4\u03bf\u03c5 \u03ba\u03b1\u03bb\u03bb\u03b9\u03c4\u03ad\u03c7\u03bd\u03b7 + \u0394\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b5 \u03ba\u03b1\u03c4\u03b1\u03c7\u03ce\u03c1\u03b7\u03c3\u03b7 wiki \u03b3\u03b9\u03b1 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ac\u03bb\u03bc\u03c0\u03bf\u03c5\u03bc. Βιογραφία + Online εγκυκλοπαίδεια Έγινε άρνηση εστίασης ήχου Άλμπουμ Καλλιτέχνης @@ -66,10 +69,11 @@ Προστέθηκαν %1$d τραγούδια στην λίστα αναπαραγωγής%2$s Δημιουργήθηκε η λίστα αναπαραγωγής %1$s Διεγράφησαν %1$d τραγούδια + Η λίστα αναπαραγωγής %1$s υπάρχει ήδη. \u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03b4\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03bb\u03af\u03c3\u03c4\u03b1\u03c2 \u03b1\u03bd\u03b1\u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03ae\u03c2 %1$s;]]> %1$s ; (\u039c\u03b7 \u03b1\u03bd\u03b1\u03c3\u03c4\u03c1\u03ad\u03c8\u03b9\u03bc\u03bf!)]]> - %1$d λίστες αναπαραγωγής; + %1$d λίστες αναπαραγωγής; ]]> %1$s;]]> %1$d τραγούδια;]]> @@ -84,12 +88,14 @@ Διαγραφή λιστών αναπαραγωγής Εκκαθάριση λίστας Αποθήκευση ως αρχείο + Αποθήκευση ως αρχεία "Προσθήκη στη λίστα αναπαραγωγής" Τυχαία τραγούδια Τυχαίο άλμπουμ Τυχαίος καλλιτέχνης Τυχαία λίστα αναπαραγωγής Εκκαθάριση της ουράς αναπαραγωγής + Αποθήκευση της σειράς αναπαραγωγής Πηγαίνετε στον κατάλογο έναρξης Εμφάνιση στίχων Ανοιχτό @@ -98,19 +104,29 @@ Πάντα Μόνο σε Wi-Fi Ποτέ + Σήμερα + Αυτή την εβδομάδα + Αυτόν τον μήνα + Τους περασμένους 3 μήνες + Αυτόν τον χρόνο Ισοσταθμιστής Χρώματα - Γίνεται αναπαραγωγή + Παίζει τώρα Γενικό θέμα Ήχος + Βιβλιοθήκη Εικόνες Οθόνη κλειδώματος + Λίστες αναπαραγωγής + Ειδοποιήσεις Έγχρωμη μπάρα πλοήγησης Χρωματιστές συντομεύσεις εφαρμογής Εμφάνιση album art + Αυτόματο κατέβασμα metadata Θάμπωμα πορτρέτων καλλιτεχνών - Χρωματιστή πλοήγηση - Παράληψη των album art στην SD + Χρωματισμένη ειδοποίηση + Κλασικός σχεδιασμός ειδοποιήσεων + Παράληψη των Media Store εξωφύλλων. Εναλλαγή χωρίς παύση Μειώστε την ένταση στην απώλεια εστίασης Δε βρέθηκε ισοσταθμιστής @@ -135,7 +151,7 @@ Όνομα λίστας Τραγούδι Εμφάνιση του album art στην οθόνη κλειδώματος. - Εμφανίζει,θωριασμένα, το album art στην οθόνη κλειδώματος.Μπορεί να δημιουργίσει πρόβλημα με εφαρμογές Τρίτων. + Το θωριασμένο album εξώφυλλο στην οθόνη κλειδώματος μπορεί να δημιουργήσει προβλήματα με τρίτες εφαρμογές και συντομιεύσεις. "\u03a7\u03c1\u03c9\u03bc\u03b1\u03c4\u03af\u03b6\u03b5\u03b9 \u03c4\u03b7\u03bd \u03bc\u03c0\u03ac\u03c1\u03b1 \u03b5\u03b9\u03b4\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03b5\u03c9\u03bd \u03c3\u03c4\u03bf \u03c7\u03c1\u03ce\u03bc\u03b1 \u03c4\u03bf\u03c5 album art \u03c4\u03bf\u03c5 \u03c4\u03c1\u03b1\u03b3\u03bf\u03c5\u03b4\u03b9\u03bf\u03cd" "Μπορεί να δημιουργίσει θέματα αναπαραγωγής σε μερικές συσκευές." Μπορεί να αυξήσει την ποιότητα του εξώφυλλου του άλμπουμ, αλλά προκαλεί αργούς χρόνους φόρτωσης της εικόνας. Ενεργοποιήστε το μόνο αν έχετε προβλήματα με εξώφυλλα χαμηλής ανάλυσης. @@ -195,7 +211,10 @@ Φάκελοι Η λίστα αναπαραγωγής αποθηκεύτηκε στο %s. Η λίστα αναπαραγωγής απέτυχε να αποθηκευτεί (%s). + Αποθηκεύτηκαν %1$d λίστες αναπαραγωγής σε %2$s. + Αποθηκεύτηκαν %1$d λίστες αναπαραγωγής σε %2$s, αποτυχία αποθήκευσης %3$d. %s δεν είναι καταχωρημένο στο κατάστημα.]]> + Μερικά αρχεία δεν έχουν κατανεμηθεί στο κατάστημα αρχείων. Δεν υπάρχει κάτι για σάρωση. Έγινε σάρωση σε %1$d από %2$d αρχεία. Δεν μπόρεσε να πραγματοποιηθεί σάρωση σε %d αρχεία. diff --git a/app/src/main/res/values-en-rCA/strings.xml b/app/src/main/res/values-en-rCA/strings.xml index 29b0fa2e6..85be01391 100644 --- a/app/src/main/res/values-en-rCA/strings.xml +++ b/app/src/main/res/values-en-rCA/strings.xml @@ -162,7 +162,7 @@ Search your library… Favorites Last added - Recently played + History My top tracks Remove cover Download from Last.fm diff --git a/app/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml index e222f69de..bdd6daa9a 100644 --- a/app/src/main/res/values-en-rGB/strings.xml +++ b/app/src/main/res/values-en-rGB/strings.xml @@ -168,7 +168,7 @@ Search your library… Favourites Last added - Recently played + History My top tracks Remove cover Download from Last.fm diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 314368a37..7ba4ae976 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -76,7 +76,7 @@ %1$d listas de reproducción?]]> %1$s?]]> %1$d canciones?]]> - %1$s de la lista de reproducción?]]> + ]]> %1$d canciones de la lista de reproducción?]]> Eliminar canción Eliminar canciones @@ -87,6 +87,7 @@ Eliminar listas de reproducción Vaciar lista de reproducción Guardar como archivo + Español "Añadir a lista de reproducción" Modo aleatorio Reproducción aleatoria del álbum @@ -221,8 +222,9 @@ Carpetas Lista de reproducción guardada en %s. No se pudo guardar la lista de reproducción (%s). + %1$d de %2$s listas de reproducción guardadas. %s no se encuentra listado en los medios almacenados]]> - Algunos archivos no están listados en la tienda de medios. + Español Nada para analizar %1$d de %2$d archivos analizados No se pudieron analizar los archivos %d @@ -256,7 +258,7 @@ La información de tu cuenta se usa solamente para la autenticación Será redirigido a la página web del buscador de problemas. Mezclar - Los mejores temas + Canciones más reproducidas Último agregado Lista de reproducción vacía La notificación de reproducción muestra acciones para reproducir/pausar etc. diff --git a/app/src/main/res/values-es-rUS/strings.xml b/app/src/main/res/values-es-rUS/strings.xml index 6b60caf1e..743674e8a 100644 --- a/app/src/main/res/values-es-rUS/strings.xml +++ b/app/src/main/res/values-es-rUS/strings.xml @@ -87,6 +87,7 @@ Eliminar listas de reproducción Limpiar lista de reproducción Guardar como archivo + Guardar como archivos "Agregar a la lista de reproducción" Modo aleatorio Reproducción aleatoria del álbum @@ -221,7 +222,9 @@ Carpetas Lista de reproducción guardada en %s. No se pudo guardar lista de reproducción (%s). + %1$d de %2$s listas de reproducción guardadas. %s no se encuentra listado en los medios almacenados.]]> + Algunos archivos no se encuentran listados en los medios almacenados. Nada para escanear. %1$d de %2$d archivos escaneados. No se pudieron escanear los archivos %d. @@ -270,6 +273,7 @@ Restaurar No se encontró la compra. Por sus contribuciones al código fuente. + Por crear el diseño para la ventana del álbum. Agregar Lista negra Remover de Lista negra @@ -279,5 +283,15 @@ El contenido de las carpetas de Lista negra está oculto de tu librería. Reiniciar imagen de Artista Establecer imagen de Artista + Categorías de la biblioteca + Configurar la vista y orden de las categorías de la biblioteca. Tienes que seleccionar al menos una categoría. + Escanear directorio + Escanear medios + Ordenar por + Ascendente + Descendente + Artista + Álbum + Año diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 000e736ca..49dca62a5 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -8,11 +8,11 @@ Jaa "Asetukset" Myönnä - Tietoja + Tietoa Tyhjennä soittolista Lisää suosikkeihin Poista suosikeista - Etsi + Hae Toista seuraavaksi Toista Toista/Pysäytä @@ -27,7 +27,7 @@ Nimeä uudelleen Poista Skannaa - Aseta aloitushakemistoksi + Aseta aloituskansioksi Albumit Artistit Tyylilajit @@ -35,6 +35,7 @@ Soittolistat Virhe toistettaessa kappaletta. El\u00e4m\u00e4nkertaa ei l\u00f6ytynyt t\u00e4lle artistille. + Ei l\u00f6ytynyt wikist\u00e4 kohtaa t\u00e4lle albumille. Elämänkerta Wiki Ääntä ei voitu toistaa. @@ -43,10 +44,10 @@ Tyylilaji Albumin artisti Vuosi - "Raita(2 raidalle 2 tai 3004 CD3 raidalle 4)" + "Raita" Sanoitukset Nimi- tai artistikenttä on tyhjä. - Tallennetaan muutokset... + Tallennetaan muutokset Yksityiskohdat Tiedostonimi Tiedostopolku @@ -86,6 +87,7 @@ Poista soittolistat Tyhjennä soittolistat Tallenna tiedostona + Tallenna tiedostoina "Lisää soittolistaan" Sekoita kaikki Sekoita albumit @@ -93,7 +95,7 @@ Sekoita soittolistat Tyhjennä toistojono Tallenna toistojono - Mene aloitushakemistoon + Mene aloituskansioon Näytä lyriikat Vaalea Tumma @@ -116,11 +118,13 @@ Lukitusnäyttö Soittolistat Ilmoitukset - Värillinen navigointipalkki + Värillinen navigaatiopalkki + Värilliset sovelluksen pikavalinnat Näytä albumin kansi Metatietojen automaattinen lataus Sumenna albumin kansi Värillinen ilmoitus + Klassinen ilmoituksen ulkonäkö Sivuuta Media Storen albumikannet Tauoton toisto Hiljennä ääntä, kun kohdistus menetetään @@ -134,6 +138,7 @@ Poista Nimeä uudelleen Luo + Nollaa %1$d valittu Ensisijainen väri Aksenttiväri @@ -151,10 +156,12 @@ Kappale Käyttää tämänhetkisen kappaleen albumin kantta lukitusnäytön taustakuvana. Sumentaa albumin kannen lukitusnäytöllä. Saattaa aiheuttaa ongelmia kolmannen osapuolen sovellusten ja widgettien kanssa. + Käytä klassista ilmoituksen ulkonäköä. "V\u00e4ritt\u00e4\u00e4 ilmoituksen albumin eloisalla v\u00e4rill\u00e4." "Saattaa aiheuttaa toisto-ongelmia joillain laitteilla." Saattaa nostaa albumin kannen laatua, mutta aiheuttaa hitaampaa kuvien latausaikaa. Käytä tätä vain, jos sinulla on ongelmia huonolaatuisten taideteosten kanssa. - Värittää navigointipalkin ensisijaisella värillä. + Värittää navigaatiopalkin päävärillä. + Värittää sovelluksen pikavalinnat päävärillä. Ilmoitukset, liikkuminen jne. Nykyiseltään sovellus tukee vain LRC-muodossa olevia sanoituksia, joko sulautettuna tai erillisinä tiedostoina. Palauttaa käynnistyessään viimeksi avoinna olleen välilehden. @@ -182,7 +189,9 @@ Sinulla ei ole oikeuksia tähän. Oikeus päästä muistikortille evätty. Tue kehitystä + Osta Phonograph Pro Kiitos! + Palautettiin aiempi ostos. Ole hyvä ja käynnistä sovellus uudelleen saadaksesi hyödyn uusista ominaisuuksista. Versio Luoja Kirjoita sähköpostia @@ -200,7 +209,7 @@ Teemamoottorista ja muutamista muista hienoista jutuista. Hienosta material-ikonista. Play-kaupan kuvituksesta ja tyhjän albumin kannesta. - Sovelluksen designin kanssa auttamisesta. + Sovelluksen ulkonäön kanssa auttamisesta. Verkkosivu Ladataan tuotteita... Seuraavaksi @@ -213,15 +222,19 @@ Kansiot Soittolista tallennettu paikkaan %s. Soittolistan tallentaminen epäonnistui (%s). + Tallennettiin soittolistat %1$d paikkaan %2$s. + Tallennettiin soittolistat %1$d paikkaan %2$s, %3$d tallentaminen epäonnistui. %s ei ole listattu Media Storessa.]]> + Jotkin tiedostot eivät ole listattuna Media Storessa. Ei mitään skannattavaa. Skannattiin %1$d %2$d tiedostosta. Ei voitu skannata %d tiedostoa. Listataan tiedostoja - %s on uusi aloitushakemisto. + %s on uusi aloituskansio. Phonograph - Iso Phonograph - Klassikko Phonograph - Pieni + Phonograph - Kortti Raportoi ongelma Ongelma Kirjaudu sisään @@ -246,15 +259,40 @@ Sinun käyttäjätietojasi käytetään vain todentamiseen. Sinut johdatetaan vianseurantaohjelman verkkosivulle. Sekoita + Top raidat + Viimeksi lisätyt Soittolista on tyhjä + Toistoilmoitus sisältää nappeja musiikin toistolle/pysäyttämiselle jne. + Toistoilmoitus Sovelluksen ilmaisversio on rajoitettu 5 ensimmäiseen värivaihtoehtoon. + Musta teema on Phonograph Pro:n ominaisuus. + Herätyskello on Phonograph Pro:n ominaisuus. + Kansionäkymä on Phonograph Pro:n ominaisuus. + Palautetaan ostoa... + Ei voitu palauttaa ostoa. + Osta + Palauta + Ostoa ei löytynyt. Työpanoksesta sovelluksen lähdekoodin parissa. + Albumisivun ulkonäöstä. + Lisää Estolista Poista estolistalta %1$s estolistalta?]]> Tyhjennä estolista Haluatko tyhjentää estolistan? - Estolistalla olevien hakemistojen sisältö piilotetaan kirjastoltasi. + Estolistalla olevien kansioiden sisältö piilotetaan kirjastostasi. + Nollaa artistin kuva + Aseta artistin kuva Kirjaston välilehdet Määrittele kirjaston välilehtien näkyvyyttä ja järjestystä. + Sinun täytyy valita vähintään yksi kategoria. + Skannaa kansio + Skannaa media + Lajittelu järjestys + Nouseva + Laskeva + Artisti + Albumi + Vuosi diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 016e942bd..c97c1518e 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -20,7 +20,7 @@ Suivant Ajouter à la liste de lecture Retirer de la liste de lecture - Ajouter à la liste de lecture... + Ajouter à la playlist... Éditeur d\'informations Supprimer de l\'appareil Détails @@ -87,6 +87,7 @@ Supprimer les playlists Effacer la playlist Sauvegarder en tant que fichier + "Enregistrer le fichier " "Ajouter à la playlist" Lecture aléatoire Lecture aléatoire @@ -121,13 +122,12 @@ Raccourcis de l\'application colorés Afficher la pochette d\'album Télécharger automatiquement les métadonnées - Pochette d\'album floue + Flouter la pochette d\'album Notification colorée Style de notification classic Ignorer le stockage des pochettes Lecture sans coupure Réduire le volume lorse que le focus est interrompu - Intervalle de la playlist \"Titres écoutés récemment\" Intervalle de la playlist \"Derniers ajouts\" Afficher les paroles synchronisées Se souvenir de la dernière fenêtre @@ -222,8 +222,9 @@ Dossiers Liste de lecture sauvegardée dans %s. Impossible de sauvegarder la liste de lecture (%s). + Liste de lecture enregistrée %1$d à %2$s %s n\'est pas dans le catalogue de médias.]]> - Des fichiers ne sont pas listés dans les documents. + "Certains fichiers ne sont pas enregistrés dans le stockage média " Rien à analyser. %1$d fichiers scannés sur %2$d. Impossible de scanner %d fichiers. diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 464ceafd2..8206cec10 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -87,6 +87,7 @@ מחיקת רשימות השמעה נקה רשימת השמעה שמור כקובץ + שמור כקבצים "הוסף לרשימת ההשמעה" ערבב הכל ערבב אלבום @@ -221,6 +222,8 @@ תיקיות רשימת ההשמעה נשמרה ל-%s. לא ניתן היה לשמור את רשימת ההשמעה (%s) + נשמרו %1$d רשימות השמעה ל-%2$s. + נשמרו %1$d רשימות השמעה ל-%2$s. לא ניתן היה לשמור %3$d. %s לא רשום בחנות המדיה.]]> קבצים מסוימים לא רשומים בחנות המדיה. אין כלום לסרוק. diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 7e1ac72dc..8ed195f9a 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -87,6 +87,7 @@ Izbriši popise naslova Očisti popis naslova Spremi kao datoteku + Spremi kao datoteke "Dodaj na popis naslova" Izmiješaj sve Izmiješaj album @@ -221,6 +222,8 @@ Mape Popis naslova spremljen u %s. Popis naslova nije spremljen (%s). + %1$d popisa naslova je spremljeno u %2$s. + %1$d popisa naslova je spremljeno u %2$s, %3$d nije uspješno spremljeno. %s nije na popisu media storea.]]> Neke datoteke nisu u medijskom spremniku. Nema ništa za skeniranje. @@ -273,12 +276,12 @@ Za njegov doprinos izvornom kodu. Za stvaranje dizajna stranice albuma. Dodaj - Crna lista - Ukloni sa crne liste - %1$s sa crne liste?]]> - Očisti crnu listu - Želite li očistiti crnu listu? - Sadržaj mapa na crnoj listi je skriven iz vaše biblioteke. + Crni popis + Ukloni sa crnog popisa + %1$s sa crnog popisa?]]> + Očisti crni popis + Želite li očistiti crni popis? + Sadržaj mapa crnog popisa je skriven iz vaše biblioteke. Resetiraj slike izvođača Postavi sliku izvođača Kategorije biblioteke diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index b06d26077..4699974fe 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -87,6 +87,7 @@ Lejátszási lista törlése Lejátszási lista kiürítése Mentés fájlként + Mentés fájlként "Hozzáadás a lejátszási listához" Összes keverése Album dalainak keverése @@ -221,6 +222,8 @@ Mappák Lejátszási lista mentve ide: %s. Nem sikerült menteni a lejátszási listát (%s). + Mentés %1$d lejátszási listát %2$s-re. + Mentés %1$d lejátszási listák %2$s, nem sikerült menteni a %3$d. %s nem szerepel a médiatárban.]]> Egyes fájlok nem szerepelnek a médiában. Nincs mit beolvasni. diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 2ae2d176f..8dbd92e8d 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -1,15 +1,15 @@ "Apa yang ingin Anda bagikan? " - %3$s - Voice - Jadikan %1$s sebagai nada dering anda. + Sedang mendengarkan %1$s oleh %2$s. + Berkas audio + Jadikan %1$s sebagai nada dering Anda. Setel sebagai nada dering Bagikan "Pengaturan" Izinkan Tentang - Yes + Bersihkan daftar putar Tambahkan ke favorit Hapus dari favorit Pencarian @@ -29,15 +29,15 @@ Pindai Atur sebagai direktori awal Album-album - Artis-artis + Artis Aliran - Lagu-lagu + Lagu Daftar putar Tidak dapat memutar lagu ini. - Tidak dapat menemukan biografi artis ini. - Tidak dapat menemukan info Wiki untuk album ini + Tidak dapat menemukan entri biografi untuk artis ini. + Tidak dapat menemukan entri wiki untuk album ini. Biografi - Wikipedia + Wiki Fokus audio ditolak. Album Artis @@ -54,8 +54,8 @@ Ukuran Jenis Panjang - Bitrate - Sampling rate + Kecepatan bit + Batas frekuensi Pergi ke artis Pergi ke album Antrean putar @@ -69,7 +69,7 @@ Telah menambah %1$d lagu ke daftar putar %2$s. Telah membuat daftar putar %1$s %1$d lagu dihapus - Daftar putar ℅1$s sudah ada + Daftar putar %1$s sudah ada. Tidak dapat membuat daftar putar. }{%1$s}{}?]]> }{%1$s}{}? Tindakan ini tidak dapat diputarbalik.]]> @@ -87,6 +87,7 @@ Hapus daftar-daftar putar Kosongkan daftar putar Simpan sebagai berkas + Simpan sebagai berkas "Tambahkan ke daftar putar" Acak semua Putar album secara acak @@ -105,7 +106,7 @@ Hari ini Minggu ini Bulan ini - Melewati 3 bulan + 3 bulan terakhir Tahun ini Ekualiser Warna @@ -127,9 +128,9 @@ Abaikan sampul-sampul dari \'Media Store\' android. Pemutaran tanpa jeda Kurangi suara saat ada pemberitahuan - Sela daftar putar terakhir ditambahkan + Sela daftar putar yang terakhir ditambahkan Tampilkan lirik yang tersinkronisasi - Mengingat tab terakhir + Ingat tab terakhir Tidak ada ekualiser yang ditemukan. "Silahkan mainkan sebuah lagu dan coba lagi. " Hapus @@ -155,15 +156,15 @@ Lagu Gunakan sambul album lagu yang sedang diputar sebagai wallpaper layar kunci Buramkan sampul album di layar kunci. Dapat menyebabkan masalah dengan aplikasi pihak ke tiga dan widget - Pakai desain notifikasi klasik + Gunakan desain notifikasi klasik. "Mewarnai notifikasi putar dengan warna yang cerah dari album." "Dapat menyebabkan masalah pemutaran pada beberapa perangkat." "Dapat meningkatkan kualitas sampul album, namun menyebabkan waktu pemuatan lebih lambat. Aktifkan jika Anda bermasalah dengan resolusi gambar album yang rendah. " "Mewarnai bilah navigasi dengan warna primer. " Mewarnai pintasan-pintasan dengan warna utama. Pemberitahuan, navigasi dll. - Saat ini hanya disinkronkan lirik dalam format LRC yang didukung. Antara tertanam atau sebagai file terpisah. - Pergi ke tab terakhir pertama kali buka + Saat ini hanya mendukung lirik dalam format LRC yang disinkronkan. Antara tertanam atau sebagai file terpisah. + Pergi ke tab yang terakhir saat aplikasi dibuka "Tidak dapat mengunduh sampul album yang cocok." Mencari pustaka Anda... Favorit @@ -190,12 +191,12 @@ Dukung pengembangan Beli Phonographo Pro Terima kasih! - Mengembalikan pembelian sebelumnya. Mohon buka kembali aplikasi untuk memakai semua fitur + Mengembalikan pembelian sebelumnya. Mohon buka kembali aplikasi untuk memakai semua fitur. Versi Penulis - Tuliskan email + Tulis pesan elektronik Ikuti di Twitter - Gabung di Github + Salin di Github Kunjungi situs Laporkan masalah Laporkan masalah atau sarankan fitur baru @@ -221,7 +222,10 @@ Map-map Daftar putar tersimpan ke %s. Gagal untuk menyimpan daftar putar (%s). + %1$d daftar putar disimpan ke %2$s. + %1$d daftar putar disimpan ke %2$s, gagal menyimpan %3$d. %s tidak tercatat di toko media.]]> + Beberapa berkas tidak tercatat di media penyimpanan. Tidak ada untuk di pindai. %1$d dari %2$d berkas terpindai. Tidak dapat memindai %d berkas. @@ -255,31 +259,40 @@ Data akun Anda hanya digunakan untuk otentikasi. Anda akan ditersukan ke situs web pelacak masalah. Acak - Sering Diputar - @string/last_added + Trek Teratas + Terakhir ditambahkan Daftar putar kosong - Notifikasi bermain memberi tindakan untuk bermain / jeda, dll. - Memainkan notifikasi - Hanya ada 5 warna utama untuk versi gratis - Tema gelap adalah fitur Phonograph Pro - Waktu tidur adalah fitur Phonograph Pro - Tampilan map adalah fitur Phonograph Pro - Mengembalikan pembelian... - Tidak dapat mengembalikan pembelian - Membeli - Mengembalikan - Tidak dapat menemukan pembelian - Untuk kontribusinya terhadap sumber kode + Notifikasi bermain memberi tindakan untuk putar/jeda, dll. + Notifikasi bermain + Hanya 5 warna pertama yang tersedia untuk versi gratis. + Tema gelap adalah fitur Phonograph Pro. + Pengatur waktu tidur adalah fitur Phonograph Pro + Tampilan folder adalah fitur Phonograph Pro. + Memulihkan pembelian... + Tidak dapat memulihkan pembelian. + Pembelian + Pulihkan + Tidak ada pembelian yang ditemukan. + Untuk kontribusinya terhadap kode sumber. + Untuk membuat halaman desain album. Tambah Daftar hitam Hapus dari daftar hitam %1$s dari daftar hitam?]]> Bersihkan daftar hitam Apakah Anda ingin menghapus daftar hitam? - Konten yang sudah di daftar hitamkan tersembunyi dari pustaka anda + Konten yang sudah di daftar hitamkan tersembunyi dari pustaka Anda. Muat ulang gambar artist Pasang gambar artist Kategori perpustakaan Mengkonfigurasi visibilitas dan susunan kategori perpustakaan. Anda harus memilih setidaknya satu kategori + Pindai direktori + Pindai media + Tata urutan + Naik + Turun + Artis + Album + Tahun diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 2ae2d176f..8dbd92e8d 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -1,15 +1,15 @@ "Apa yang ingin Anda bagikan? " - %3$s - Voice - Jadikan %1$s sebagai nada dering anda. + Sedang mendengarkan %1$s oleh %2$s. + Berkas audio + Jadikan %1$s sebagai nada dering Anda. Setel sebagai nada dering Bagikan "Pengaturan" Izinkan Tentang - Yes + Bersihkan daftar putar Tambahkan ke favorit Hapus dari favorit Pencarian @@ -29,15 +29,15 @@ Pindai Atur sebagai direktori awal Album-album - Artis-artis + Artis Aliran - Lagu-lagu + Lagu Daftar putar Tidak dapat memutar lagu ini. - Tidak dapat menemukan biografi artis ini. - Tidak dapat menemukan info Wiki untuk album ini + Tidak dapat menemukan entri biografi untuk artis ini. + Tidak dapat menemukan entri wiki untuk album ini. Biografi - Wikipedia + Wiki Fokus audio ditolak. Album Artis @@ -54,8 +54,8 @@ Ukuran Jenis Panjang - Bitrate - Sampling rate + Kecepatan bit + Batas frekuensi Pergi ke artis Pergi ke album Antrean putar @@ -69,7 +69,7 @@ Telah menambah %1$d lagu ke daftar putar %2$s. Telah membuat daftar putar %1$s %1$d lagu dihapus - Daftar putar ℅1$s sudah ada + Daftar putar %1$s sudah ada. Tidak dapat membuat daftar putar. }{%1$s}{}?]]> }{%1$s}{}? Tindakan ini tidak dapat diputarbalik.]]> @@ -87,6 +87,7 @@ Hapus daftar-daftar putar Kosongkan daftar putar Simpan sebagai berkas + Simpan sebagai berkas "Tambahkan ke daftar putar" Acak semua Putar album secara acak @@ -105,7 +106,7 @@ Hari ini Minggu ini Bulan ini - Melewati 3 bulan + 3 bulan terakhir Tahun ini Ekualiser Warna @@ -127,9 +128,9 @@ Abaikan sampul-sampul dari \'Media Store\' android. Pemutaran tanpa jeda Kurangi suara saat ada pemberitahuan - Sela daftar putar terakhir ditambahkan + Sela daftar putar yang terakhir ditambahkan Tampilkan lirik yang tersinkronisasi - Mengingat tab terakhir + Ingat tab terakhir Tidak ada ekualiser yang ditemukan. "Silahkan mainkan sebuah lagu dan coba lagi. " Hapus @@ -155,15 +156,15 @@ Lagu Gunakan sambul album lagu yang sedang diputar sebagai wallpaper layar kunci Buramkan sampul album di layar kunci. Dapat menyebabkan masalah dengan aplikasi pihak ke tiga dan widget - Pakai desain notifikasi klasik + Gunakan desain notifikasi klasik. "Mewarnai notifikasi putar dengan warna yang cerah dari album." "Dapat menyebabkan masalah pemutaran pada beberapa perangkat." "Dapat meningkatkan kualitas sampul album, namun menyebabkan waktu pemuatan lebih lambat. Aktifkan jika Anda bermasalah dengan resolusi gambar album yang rendah. " "Mewarnai bilah navigasi dengan warna primer. " Mewarnai pintasan-pintasan dengan warna utama. Pemberitahuan, navigasi dll. - Saat ini hanya disinkronkan lirik dalam format LRC yang didukung. Antara tertanam atau sebagai file terpisah. - Pergi ke tab terakhir pertama kali buka + Saat ini hanya mendukung lirik dalam format LRC yang disinkronkan. Antara tertanam atau sebagai file terpisah. + Pergi ke tab yang terakhir saat aplikasi dibuka "Tidak dapat mengunduh sampul album yang cocok." Mencari pustaka Anda... Favorit @@ -190,12 +191,12 @@ Dukung pengembangan Beli Phonographo Pro Terima kasih! - Mengembalikan pembelian sebelumnya. Mohon buka kembali aplikasi untuk memakai semua fitur + Mengembalikan pembelian sebelumnya. Mohon buka kembali aplikasi untuk memakai semua fitur. Versi Penulis - Tuliskan email + Tulis pesan elektronik Ikuti di Twitter - Gabung di Github + Salin di Github Kunjungi situs Laporkan masalah Laporkan masalah atau sarankan fitur baru @@ -221,7 +222,10 @@ Map-map Daftar putar tersimpan ke %s. Gagal untuk menyimpan daftar putar (%s). + %1$d daftar putar disimpan ke %2$s. + %1$d daftar putar disimpan ke %2$s, gagal menyimpan %3$d. %s tidak tercatat di toko media.]]> + Beberapa berkas tidak tercatat di media penyimpanan. Tidak ada untuk di pindai. %1$d dari %2$d berkas terpindai. Tidak dapat memindai %d berkas. @@ -255,31 +259,40 @@ Data akun Anda hanya digunakan untuk otentikasi. Anda akan ditersukan ke situs web pelacak masalah. Acak - Sering Diputar - @string/last_added + Trek Teratas + Terakhir ditambahkan Daftar putar kosong - Notifikasi bermain memberi tindakan untuk bermain / jeda, dll. - Memainkan notifikasi - Hanya ada 5 warna utama untuk versi gratis - Tema gelap adalah fitur Phonograph Pro - Waktu tidur adalah fitur Phonograph Pro - Tampilan map adalah fitur Phonograph Pro - Mengembalikan pembelian... - Tidak dapat mengembalikan pembelian - Membeli - Mengembalikan - Tidak dapat menemukan pembelian - Untuk kontribusinya terhadap sumber kode + Notifikasi bermain memberi tindakan untuk putar/jeda, dll. + Notifikasi bermain + Hanya 5 warna pertama yang tersedia untuk versi gratis. + Tema gelap adalah fitur Phonograph Pro. + Pengatur waktu tidur adalah fitur Phonograph Pro + Tampilan folder adalah fitur Phonograph Pro. + Memulihkan pembelian... + Tidak dapat memulihkan pembelian. + Pembelian + Pulihkan + Tidak ada pembelian yang ditemukan. + Untuk kontribusinya terhadap kode sumber. + Untuk membuat halaman desain album. Tambah Daftar hitam Hapus dari daftar hitam %1$s dari daftar hitam?]]> Bersihkan daftar hitam Apakah Anda ingin menghapus daftar hitam? - Konten yang sudah di daftar hitamkan tersembunyi dari pustaka anda + Konten yang sudah di daftar hitamkan tersembunyi dari pustaka Anda. Muat ulang gambar artist Pasang gambar artist Kategori perpustakaan Mengkonfigurasi visibilitas dan susunan kategori perpustakaan. Anda harus memilih setidaknya satu kategori + Pindai direktori + Pindai media + Tata urutan + Naik + Turun + Artis + Album + Tahun diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index a2cbd9804..4f80dc1d3 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -87,6 +87,7 @@ Elimina playlist Svuota playlist Salva come file + Salva come file "Aggiungi alla playlist" Riproduzione casuale Riproduzione casuale album @@ -221,6 +222,8 @@ Cartelle Playlist salvata in %s. Salvataggio playlist fallito (%s). + Salvate %1$d playlist in %2$s. + Salvate %1$d playlist in %2$s, %3$d non salvato. %s non è elencato nel media store.]]> Alcuni file non sono elencati nel media store. Nulla da scansionare. diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 464ceafd2..8206cec10 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -87,6 +87,7 @@ מחיקת רשימות השמעה נקה רשימת השמעה שמור כקובץ + שמור כקבצים "הוסף לרשימת ההשמעה" ערבב הכל ערבב אלבום @@ -221,6 +222,8 @@ תיקיות רשימת ההשמעה נשמרה ל-%s. לא ניתן היה לשמור את רשימת ההשמעה (%s) + נשמרו %1$d רשימות השמעה ל-%2$s. + נשמרו %1$d רשימות השמעה ל-%2$s. לא ניתן היה לשמור %3$d. %s לא רשום בחנות המדיה.]]> קבצים מסוימים לא רשומים בחנות המדיה. אין כלום לסרוק. diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index c7016fd65..9677d503b 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -87,6 +87,7 @@ プレイリストの複数削除 プレイリストの消去 ファイルに保存 + ファイルを保存 "プレイリストに追加" 全曲シャッフル アルバムをシャッフル @@ -221,8 +222,10 @@ フォルダ プレイリストを%sに保存しました。 プレイリスト(%s)の保存に失敗しました。 + %1$dプレイリストを%2$sに保存しました + %1$dプレイリストを%2$sに保存しました、%3$dに保存できませんでした。 %sはメディアストアにリストされていません。]]> - Alguns arquivos não estão listados na biblioteca local. + メディアストアに追加されていないファイルがあります。 スキャンするものがありません。 %1$d中の%2$dをスキャンしました。 %d個のファイルをスキャンできませんでした。 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index c69a7b2a9..c4e5e8890 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -87,6 +87,7 @@ 재생 목록 삭제 재생 목록 비우기 파일로 저장 + 파일들로 저장 "재생 목록에 추가" 모든 곡 랜덤 재생 앨범 랜덤 재생 @@ -126,9 +127,9 @@ 클래식 알림 디자인 미디어 스토어 앨범 커버 무시 갭리스 재생 - 포커스 상실 시 볼륨 감소 - 최근 추가됨 재생 목록 기간 - 동기화된 가사 보이기 + 포커스 상실 시 볼륨 감소하기 + 최근 추가된 재생 목록 간격 + 동기화된 가사 보기 마지막 탭 기억 설치된 이퀄라이저가 없습니다. "먼저 노래를 재생한 후 다시 시도해 주세요." @@ -164,7 +165,7 @@ 하단바가 색깔을 주 색상으로 색칠합니다. 주 색상으로 앱 바로가기 색칠 알림 소리, 버튼음 등 - 임베딩 또는 별개로 저장된 LRC 형식의 동기화된 자막 파일만 지원합니다. + 현재는 임베딩 또는 별개로 저장된 LRC 형식의 동기화된 자막 파일만 지원합니다. 마지막으로 연 탭으로 시작 "\uc77c\uce58\ud558\ub294 \uc568\ubc94 \ucee4\ubc84\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4." 저장소 검색... @@ -223,6 +224,8 @@ 폴더 재생 목록을 %s 로 저장했습니다. 재생 목록을 저장하는 과정에서 오류가 발생했습니다. (%s) + %1$d 재생목록을 %2$s에 저장함. + %1$d 재생목록을 %2$s에 저장함 / %3$d 저장 실패 %s 을(를) 찾을 수 없습니다.]]> 몇몇 파일은 미디어 리스트에 기록되지 않습니다. 스캔할 내용이 없습니다. @@ -275,7 +278,7 @@ 소스 코드에 대한 기여 앨범 페이지 디자인 제작 추가 - 제외 목록 + 제외할 목록 제외 목록에서 제거 %1$s 을(를) 제외 목록에서 제거하시겠습니까?]]> 제외 목록 비우기 @@ -283,8 +286,8 @@ 제외 목록에 추가된 폴더의 내용은 보관함에 표시되지 않습니다. 아티스트 이미지 초기화 아티스트 이미지 설정 - 보관함 카테고리 - 보관함 카테고리의 표시 여부 및 배열 순서를 조정합니다. + 라이브러리 카테고리 + 라이브러리 카테고리의 표시 여부 및 배열 순서를 조정합니다. 적어도 하나의 카테고리는 선택해야 합니다. 디렉토리 스캔하기 미디어 스캔 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 48591bf60..cf741e3d7 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -87,6 +87,7 @@ Verwijder afspeellijst Afspeellijst legen Opslaan als bestand + Opslaan als bestanden "Toevoegen aan afspeellijst" Shuffle alles Shuffle album @@ -221,6 +222,8 @@ Mappen Afspeellijst opgeslagen in %s. Opslaan van afspeellijst (%s) mislukt. + %1$d afspeellijsten opgeslagen in %2$s. + %1$d afspeellijsten opgeslagen in %2$s, opslaan van %3$d mislukt. %s is niet aanwezig in mediaopslag.]]> Sommige bestanden worden niet vermeld in de mediaopslag. Niets te scannen. diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index e8a511a67..f39fac1cb 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -87,6 +87,7 @@ Usuń listy odtwarzania Wyczyść listę odtwarzania Zapisz jako plik + Zapisz jako pliki "Dodaj do listy odtwarzania" Wszystkie losowo Losowy album @@ -129,6 +130,7 @@ Zmniejszaj głośność przy powiadomieniach Okres ostatnio dodanych list odtwarzania Pokazuj zsynchronizowany tekst + "Zapamiętaj ostatnią zakładkę " Nie znaleziono korektora "Odegraj utwór, następnie ponów próbę" Usuń @@ -136,6 +138,7 @@ Usuń Zmień Utwórz + Resetuj %1$d zaznaczono Kolor podstawowy Kolor dodatków @@ -147,6 +150,7 @@ Brak albumów Brak utworów Brak wykonawców + Brak gatunków Pusto Nazwa listy odtwarzania Utwór @@ -160,6 +164,7 @@ Kolory skrótów aplikacji w kolorze podstawowym Notyfikacje, nawigacja, itp. Obecnie wspierane są tylko napisy w formacie LRC oraz te osadzone w osobnym pliku. + Idź do ostatniej otwartej zakładki przy starcie "Nie uda\u0142o si\u0119 pobra\u0107 pasuj\u0105cej ok\u0142adki albumu" Szukaj w bibliotece... Ulubione @@ -217,7 +222,10 @@ Foldery Zapisz listę odtwarzania do %s Błąd podczas zapisywania listy odtwarzania (%s) + Zapisano %1$d playliste w %2$s. + Zapisano %1$d playlistę w %2$s, niepowodzenie zapisu %3$d. %s nie figuruje w Media Store]]> + Niektóre pliki nie figuruje w Media Store. Nie ma nic do skanowania Przeskanowano %1$d z %2$d plików Nie można przeskanować %d plików diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 032d83c94..7f1de5c00 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1,7 +1,7 @@ O que você quer compartilhar? - Atualmente ouvindo %1$s por %2$s. + Atualmente ouvindo {% 1 $ s} em {% 2 $ s}. O arquivo de áudio %1$s foi definido como seu toque de chamada. Definir como toque de chamada @@ -9,11 +9,11 @@ "Configurações" Confirmar Sobre - Limpar playlist + Limpar lista de reprodução Adicionar aos favoritos Remover dos favoritos Pesquisar - Reproduzir à seguir + Reproduzir próxima Reproduzir Reproduzir/Pausar Anterior @@ -27,7 +27,7 @@ Renomear Excluir Escanear - Definir como diretório inicial + Definir como tela inicial Álbuns Artistas Gêneros @@ -44,7 +44,7 @@ Gênero Artista do álbum Ano - "Faixa (2 para à faixa 2 ou 3004 para a quarta faixa do CD3)" + "Música (2 para a música 2 ou 3004 para a música 4 do CD3)" Letra O título ou artista está vazio. Salvando alterações @@ -58,23 +58,23 @@ Taxa de amostragem Ir para o artista Ir para o álbum - Fila de Reprodução + Fila de reprodução Sem resultados Atualizando... "Adicionado 1 título à lista de reprodução" - %1$d faixas adicionadas à fila de reprodução. + Adicionados {% 1 $ d} títulos á fila de reprodução Remover da playlist Número de colunas Número de colunas (horizontal) - Inserido %1$d músicas na playlist %2$s. - A playlist %1$s foi criada - "%1$d músicas excluídas. " - Uma playlist de nome %1$s já existe. - N\u00e3o foi poss\u00edvel criar playlist. + Inserido {%1$d} músicas na lista de reprodução {%2$s}. + Lista de reprodução criada {% 1 $ s}. + Excluídas {%1$s} músicas. + A lista de reprodução %1$s já existe. + N\u00e3o foi poss\u00edvel criar a lista de reprodu\u00e7\u00e3o. %1$s? ]]> - %1$s? Isto n\u00e3o pode ser desfeito!]]> - %1$d playlists?]]> - %1$s?]]> + }{%1$s}{}? Isso n\u00e3o pode ser desfeito!]]> + }{%1$d}{} listas de reprodução?]]> + }{%1$s}{}?]]> %1$d faixas?]]> %1$s da playlist?]]> %1$d músicas da playlist?]]> @@ -87,6 +87,7 @@ Excluir playlists Limpar playlist Salvar como arquivo + Salvar como arquivos "Adicionar à playlist" Misturar todas Misturar álbum @@ -221,6 +222,8 @@ Pastas Salvo à playlist %s. Erro ao salvar a playlist (%s). + Salvado % 1 $ d lista de reprodução para%2$s. + Salvado %1$d listas de reprodução para %2$s, não foi possível salvar %3$d. %s não está listado no armazenamento de mídia.]]> Alguns arquivos não estão listados no armazenamento de mídia. Nada para escanear. diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 97b54c20f..fbc8a94d3 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -87,6 +87,7 @@ Ștergeți listele de redare Ştergeţi lista de redare Salveaza ca fișier + Salvează ca fișiere "Adăugaţi la lista de redare" Amestecare tot Amestecare album @@ -221,8 +222,10 @@ Dosare Listă de redare salvată în %s. Salvarea listei de redare (%s) a eșuat. + Au fost salvate %1$d liste de redare în %2$s. + Au fost salvate %1$d liste de redare în %2$s, salvarea %3$d eșuând. %s nu este listat(ă) în stocarea media.]]> - Unele fișiere nu sunt listate in media + Unele fișiere nu sunt afișate în librăria media. Nimic de scanat. Scanate %1$d din %2$d fişiere. Nu s-au putut scana %d fişiere. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 53a7abc13..ea6506910 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -33,9 +33,9 @@ Жанры Треки Плейлисты - \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u044d\u0442\u0443 \u043f\u0435\u0441\u043d\u044e. + \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u044d\u0442\u0443 \u043f\u0435\u0441\u043d\u044e. \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0431\u0438\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f. - \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0430\u043b\u044c\u0431\u043e\u043c\u0430. + \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0430\u043b\u044c\u0431\u043e\u043c\u0430. Биография Википедия В получении аудиофокуса отказано. @@ -46,7 +46,7 @@ Год "Трек (2 для трека 2 или 3004 для трека 4 CD3)" Текст песни - Поля названия альбома или альбом исполнителя пусты + Поля названия альбома или альбом исполнителя пусты. Сохранение изменений Подробнее Имя файла @@ -61,19 +61,19 @@ Очередь воспроизведения Нет результатов Обновление... - "Композиция добавлена в очередь воспроизведения" + "Композиция добавлена в очередь воспроизведения." %1$d композиций добавлено в очередь воспроизведения Удалить из плейлиста Размер сетки Размер сетки (ландшафт) - %1$d композиций добавлено в плейлист %2$s - Плейлист %1$s создан - %1$d композиций удалено + %1$d композиций добавлено в плейлист %2$s. + Плейлист %1$s создан. + %1$d композиций удалено. Плейлист %1$s уже существует. - \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442 + \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442. %1$s?]]> %1$s? \u042d\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u0435\u043e\u0431\u0440\u0430\u0442\u0438\u043c\u043e!]]> - %1$d ?]]> + %1$d плейлиста?]]> %1$s?]]> %1$d песни?]]> %1$s из плейлиста?]]> @@ -87,6 +87,7 @@ Удалить плейлисты Очистить плейлист Сохранить как файл + Сохранить как файлы "Добавить в плейлист" Перемешать всё Перемешать альбом @@ -120,13 +121,13 @@ Цветная панель управления Цветные шорткаты Показывать обложку альбома - Авто загрузка метаданных - "Размытая обложка альбома " + Автозагрузка метаданных + Размытая обложка альбома Окрашенное уведомление Стандартный дизайн уведомления Игнорировать хранилище обложек альбомов - Воспроизведение без переходов - Уменьшить громкость при уведомлених + Воспроизведение без пауз + Уменьшить громкость при уведомлениях Интервал последнего добавленного плейлиста Показать синхронизированные тексты Запомнить последнюю вкладку @@ -164,7 +165,7 @@ Уведомления, навигация, т.д. В настоящее время поддерживаются только синхронизированные тексты в формате LRC. Либо встроенные, либо как отдельный файл. Перейти на последнюю открытую вкладку при запуске - "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u043e\u0431\u043b\u043e\u0436\u043a\u0443 \u0430\u043b\u044c\u0431\u043e\u043c\u0430." + "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u043e\u0431\u043b\u043e\u0436\u043a\u0443 \u0430\u043b\u044c\u0431\u043e\u043c\u0430." Поиск в библиотеке... Избранное Последние добавленные @@ -185,7 +186,7 @@ Особая благодарность Список изменений Лицензии - "В разрешениях отказано " + В разрешениях отказано. В разрешении на доступ к внешнему хранилищу отказано. Поддержать разработку Купить Phonograph Pro @@ -221,6 +222,8 @@ Папки "Плейлист сохранён в %s " Не удалось сохранить плейлист (%s). + Сохранены %1$d плейлиста в %2$s. + Сохранены %1$d плейлиста в %2$s, не удалось сохранить %3$d. %s не указано в медиа-хранилище.]]> Некоторые файлы не указаны в медиа-хранилище. Нечего сканировать. @@ -242,7 +245,7 @@ Отправить вручную Имя пользователя Пароль - Пожалуйста, опишите ошибку здесь + Пожалуйста, опишите проблему здесь Пожалуйста, дайте подробное описание проблемы Пожалуйста, введите действительное имя пользователя GitHub Пожалуйста, введите действительный пароль GitHub @@ -269,9 +272,9 @@ Невозможно восстановить покупку. Покупка Восстановление - Покупка не найдена + Покупка не найдена. За его вклад в исходный код. - За создание дизайна отображения альбомов. + За создание дизайна показа альбомов. Добавить Чёрный список Убрать из чёрного списка diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 9c5c2264b..d4002e9ed 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -87,6 +87,7 @@ Çalma listelerini sil Çalma listesini temizle Dosya olarak kaydet + Dosya olarak kaydet "Çalma listesine ekle" Tümünü karıştır Albümü karıştır @@ -221,6 +222,8 @@ Klasörler Çalma listesi %s kaydedildi. (%s) çalma listesine kaydetme başarısız. + %1$d oynatma listesini %2$s konumuna kaydedildi. + %1$d oynatma listesini %2$s konumuna kaydedildi, %3$d kaydedilemedi. %s medya deposu listesinde yok.]]> Bazı dosyalar medya deposunda listelenmiyor. Taranacak bir şey yok diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 2447fdfee..7612e89f1 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -14,7 +14,7 @@ Видалити з улюблених Пошук Відтворити наступною - Відтворити + Грати Відтворити/Зупинити Попередня Наступна diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 42fb303dc..8b9285cde 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -7,11 +7,11 @@ Cài làm nhạc chuông Chia sẻ "Cài đặt" - Dành cho + Cho phép Thông tin Dọn danh sách nhạc - Thêm vào yêu thích - Xóa khỏi yêu thích + Thêm vào danh sách yêu thích + Xóa khỏi danh sách yêu thích Tìm kiếm Phát kế tiếp Phát @@ -19,9 +19,9 @@ Trước Kế tiếp Thêm vào danh sách phát - Xoá khỏi danh sách phát + Xóa khỏi hàng đợi phât Thêm vào danh sách nhạc... - Chỉnh sửa thẻ tag + Chỉnh sửa thẻ Xóa từ thiết bị Chi tiết Đổi tên @@ -41,7 +41,7 @@ Album Nghệ sĩ Thể loại - Album của Nghệ sĩ + Album của nghệ sĩ Năm "Số thứ tự (ghi 2 nếu là bài thứ 2 hoặc ghi 3004 nếu là CD 3, bài thứ 4)" Lời bài hát @@ -54,7 +54,7 @@ Định dạng Độ dài Lượng dữ liệu - Tỷ lệ lấy mẫu + Tỉ lệ mẫu Đi đến nghệ sĩ Đi đến album Hàng đợi phát @@ -65,17 +65,17 @@ Xóa khỏi danh sách nhạc Kích thước lưới Kích thước lưới (màn hình nằm ngang) - Đã chèn %1$d bài hát vào danh sách nhạc %2$s. + Đã thêm %1$d baifhats vào danh sách nhạc %2$s Đã tạo danh sách nhạc %1$s. - Đã xóa %1$d bài hát. + Đã xóa bài hát %1$d Kh\u00f4ng th\u1ec3 t\u1ea1o danh s\u00e1ch nh\u1ea1c. %1$s?]]> %1$s? \u0110i\u1ec1u n\u00e0y kh\u00f4ng th\u1ec3 kh\u00f4i ph\u1ee5c!]]> - %1$d danh sách nhạc?]]> + %1$d? ]]> %1$s?]]> - %1$d bài hát?]]> + %1$d? ]]> %1$s từ danh sách nhạc này?]]> - %1$d bài hát từ danh sách nhạc?]]> + %1$d từ danh sách nhạc? ]]> Xóa bài hát Xóa các bài hát Di chuyển bài hát từ danh sách nhạc @@ -124,8 +124,7 @@ Bỏ qua kho ảnh bìa trong Kho Phương tiện Phát lại quãng lặng Giảm âm lượng khi mất tập trung - Khoảng thời gian cho Bài hát mới nghe - Khoảng thời gian cho Bài hát mới thêm + Thời gian danh sách nhạc được thêm vào sau cùng Hiển thị lời bài hát được đồng bộ Không có bộ lọc âm thanh nào. "Phát một bài hát đầu tiên, sau đó thử lại." @@ -161,8 +160,8 @@ "Kh\u00f4ng th\u1ec3 t\u1ea3i v\u1ec1 b\u00eca album ph\u00f9 h\u1ee3p." Tìm kiếm thư viện của bạn... Yêu thích - Bài hát mới thêm - Bài hát mới nghe + Được thêm sau cùng + Lịch sử Bài hát hàng đầu Di chuyển bìa Tải về từ Last.fm diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 9b33a4942..66440debf 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -87,6 +87,7 @@ 删除多个播放列表 清空播放列表 另存为 + 另存为 "添加到播放列表" 随机播放所有歌曲 随机播放此专辑 @@ -221,6 +222,8 @@ 文件夹 已保存播放列表到 %s。 保存播放列表(%s)失败。 + 已保存 %1$d 播放列表到 %2$s。 + 已保存 %1$d 播放列表到 %2$s,保存 %3$d 失败。 %s 没有列在媒体储存中。]]> 部分文件未在媒体储存中列出 没有可扫描的对象。 @@ -271,6 +274,7 @@ 恢复 未找到购买记录 因他对源代码的贡献。 + 以新增专辑封面设计。 添加 黑名单 从黑名单中移除 @@ -291,5 +295,4 @@ 艺术家 专辑 年份 - 播完当前音乐 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index b79a61cc8..84fe16f18 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -88,6 +88,7 @@ 刪除多個播放清單 清空播放清單 儲存為檔案 + 儲存為檔案 "加入播放清單" 隨機播放 隨機播放專輯 @@ -222,6 +223,8 @@ 文件夾 已儲存播放清單至%s 無法儲存播放清單 \"%s\" + 儲存播放清單 %1$d 至 %2$s + 儲存播放清單 %1$d 至 %2$s , %3$d 儲存失敗 %s未被列在音樂庫裡。]]> 部分檔案未被列在音樂庫中。 沒有東西可掃描。 From c65822b6d165a4c914587736fb206f52be57114c Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Wed, 10 Apr 2019 11:05:34 +0200 Subject: [PATCH 22/33] Update .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index abcaae74e..b41eb1521 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,5 @@ fastlane/test_output # Google Play files fastlane/metadata/ + +Gemfile.lock From 75a602172d69aea7cd15b9117f6fcbb7b6241462 Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Wed, 10 Apr 2019 11:06:45 +0200 Subject: [PATCH 23/33] Untrack Gemfile.lock --- Gemfile.lock | 148 --------------------------------------------------- 1 file changed, 148 deletions(-) delete mode 100644 Gemfile.lock diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 3588156b9..000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,148 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.0) - addressable (2.5.2) - public_suffix (>= 2.0.2, < 4.0) - atomos (0.1.3) - babosa (1.0.2) - claide (1.0.2) - colored (1.2) - colored2 (3.1.2) - commander-fastlane (4.4.6) - highline (~> 1.7.2) - declarative (0.0.10) - declarative-option (0.1.0) - domain_name (0.5.20180417) - unf (>= 0.0.5, < 1.0.0) - dotenv (2.5.0) - emoji_regex (0.1.1) - excon (0.62.0) - faraday (0.15.3) - multipart-post (>= 1.2, < 3) - faraday-cookie_jar (0.0.6) - faraday (>= 0.7.4) - http-cookie (~> 1.0.0) - faraday_middleware (0.12.2) - faraday (>= 0.7.4, < 1.0) - fastimage (2.1.4) - fastlane (2.107.0) - CFPropertyList (>= 2.3, < 4.0.0) - addressable (>= 2.3, < 3.0.0) - babosa (>= 1.0.2, < 2.0.0) - bundler (>= 1.12.0, < 2.0.0) - colored - commander-fastlane (>= 4.4.6, < 5.0.0) - dotenv (>= 2.1.1, < 3.0.0) - emoji_regex (~> 0.1) - excon (>= 0.45.0, < 1.0.0) - faraday (~> 0.9) - faraday-cookie_jar (~> 0.0.6) - faraday_middleware (~> 0.9) - fastimage (>= 2.1.0, < 3.0.0) - gh_inspector (>= 1.1.2, < 2.0.0) - google-api-client (>= 0.21.2, < 0.24.0) - highline (>= 1.7.2, < 2.0.0) - json (< 3.0.0) - mini_magick (~> 4.5.1) - multi_json - multi_xml (~> 0.5) - multipart-post (~> 2.0.0) - plist (>= 3.1.0, < 4.0.0) - public_suffix (~> 2.0.0) - rubyzip (>= 1.2.2, < 2.0.0) - security (= 0.1.3) - simctl (~> 1.6.3) - slack-notifier (>= 2.0.0, < 3.0.0) - terminal-notifier (>= 1.6.2, < 2.0.0) - terminal-table (>= 1.4.5, < 2.0.0) - tty-screen (>= 0.6.3, < 1.0.0) - tty-spinner (>= 0.8.0, < 1.0.0) - word_wrap (~> 1.0.0) - xcodeproj (>= 1.6.0, < 2.0.0) - xcpretty (~> 0.3.0) - xcpretty-travis-formatter (>= 0.0.3) - gh_inspector (1.1.3) - google-api-client (0.23.9) - addressable (~> 2.5, >= 2.5.1) - googleauth (>= 0.5, < 0.7.0) - httpclient (>= 2.8.1, < 3.0) - mime-types (~> 3.0) - representable (~> 3.0) - retriable (>= 2.0, < 4.0) - signet (~> 0.9) - googleauth (0.6.7) - faraday (~> 0.12) - jwt (>= 1.4, < 3.0) - memoist (~> 0.16) - multi_json (~> 1.11) - os (>= 0.9, < 2.0) - signet (~> 0.7) - highline (1.7.10) - http-cookie (1.0.3) - domain_name (~> 0.5) - httpclient (2.8.3) - json (2.1.0) - jwt (2.1.0) - memoist (0.16.0) - mime-types (3.2.2) - mime-types-data (~> 3.2015) - mime-types-data (3.2018.0812) - mini_magick (4.5.1) - multi_json (1.13.1) - multi_xml (0.6.0) - multipart-post (2.0.0) - nanaimo (0.2.6) - naturally (2.2.0) - os (1.0.0) - plist (3.4.0) - public_suffix (2.0.5) - representable (3.0.4) - declarative (< 0.1.0) - declarative-option (< 0.2.0) - uber (< 0.2.0) - retriable (3.1.2) - rouge (2.0.7) - rubyzip (1.2.2) - security (0.1.3) - signet (0.11.0) - addressable (~> 2.3) - faraday (~> 0.9) - jwt (>= 1.5, < 3.0) - multi_json (~> 1.10) - simctl (1.6.5) - CFPropertyList - naturally - slack-notifier (2.3.2) - terminal-notifier (1.8.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - tty-cursor (0.6.0) - tty-screen (0.6.5) - tty-spinner (0.8.0) - tty-cursor (>= 0.5.0) - uber (0.1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.7.5) - unicode-display_width (1.4.0) - word_wrap (1.0.0) - xcodeproj (1.7.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.2.6) - xcpretty (0.3.0) - rouge (~> 2.0.7) - xcpretty-travis-formatter (1.0.0) - xcpretty (~> 0.2, >= 0.0.7) - -PLATFORMS - ruby - -DEPENDENCIES - fastlane - -BUNDLED WITH - 1.16.6 From 58fb31b4b108fbf59d152975c576a673c3c268ee Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Wed, 10 Apr 2019 12:40:28 +0200 Subject: [PATCH 24/33] SDK 28, Android X --- app/build.gradle | 50 +++++++++---------- app/src/main/AndroidManifest.xml | 2 +- .../java/com/kabouzeid/gramophone/App.java | 2 +- .../adapter/AlbumCoverPagerAdapter.java | 6 +-- .../adapter/CategoryInfoAdapter.java | 6 +-- .../gramophone/adapter/GenreAdapter.java | 8 +-- .../adapter/MusicLibraryPagerAdapter.java | 8 +-- .../gramophone/adapter/PlaylistAdapter.java | 8 +-- .../gramophone/adapter/SearchAdapter.java | 8 +-- .../gramophone/adapter/SongFileAdapter.java | 8 +-- .../adapter/album/AlbumAdapter.java | 10 ++-- .../adapter/album/HorizontalAlbumAdapter.java | 8 +-- .../adapter/artist/ArtistAdapter.java | 10 ++-- .../adapter/base/AbsMultiSelectAdapter.java | 6 +-- .../adapter/base/MediaEntryViewHolder.java | 6 +-- .../adapter/song/AbsOffsetSongAdapter.java | 8 +-- .../adapter/song/AlbumSongAdapter.java | 8 +-- .../adapter/song/ArtistSongAdapter.java | 8 +-- .../song/OrderablePlaylistSongAdapter.java | 8 +-- .../adapter/song/PlayingQueueAdapter.java | 8 +-- .../adapter/song/PlaylistSongAdapter.java | 10 ++-- .../song/ShuffleButtonSongAdapter.java | 8 +-- .../gramophone/adapter/song/SongAdapter.java | 10 ++-- .../AppShortcutIconGenerator.java | 4 +- .../gramophone/appwidgets/AppWidgetBig.java | 2 +- .../gramophone/appwidgets/AppWidgetCard.java | 4 +- .../appwidgets/AppWidgetClassic.java | 4 +- .../gramophone/appwidgets/AppWidgetSmall.java | 4 +- .../dialogs/AddToPlaylistDialog.java | 4 +- .../dialogs/BlacklistFolderChooserDialog.java | 6 +-- .../gramophone/dialogs/ChangelogDialog.java | 4 +- .../dialogs/ClearSmartPlaylistDialog.java | 4 +- .../dialogs/CreatePlaylistDialog.java | 6 +-- .../dialogs/DeletePlaylistDialog.java | 4 +- .../gramophone/dialogs/DeleteSongsDialog.java | 4 +- .../gramophone/dialogs/DonationsDialog.java | 6 +-- .../gramophone/dialogs/LyricsDialog.java | 4 +- .../dialogs/RemoveFromPlaylistDialog.java | 4 +- .../dialogs/RenamePlaylistDialog.java | 4 +- .../dialogs/ScanMediaFolderChooserDialog.java | 8 +-- .../gramophone/dialogs/SleepTimerDialog.java | 4 +- .../gramophone/dialogs/SongDetailDialog.java | 4 +- .../gramophone/dialogs/SongShareDialog.java | 4 +- .../gramophone/glide/ArtistGlideRequest.java | 2 +- .../gramophone/glide/BlurTransformation.java | 4 +- .../gramophone/glide/SongGlideRequest.java | 2 +- .../glide/palette/BitmapPaletteWrapper.java | 2 +- .../gramophone/helper/MusicPlayerRemote.java | 4 +- .../helper/MusicProgressViewUpdateHelper.java | 2 +- .../gramophone/helper/SearchQueryHelper.java | 2 +- .../gramophone/helper/ShuffleHelper.java | 2 +- .../helper/menu/PlaylistMenuHelper.java | 4 +- .../helper/menu/SongMenuHelper.java | 6 +-- .../helper/menu/SongsMenuHelper.java | 4 +- .../gramophone/interfaces/CabHolder.java | 2 +- .../interfaces/PaletteColorHolder.java | 2 +- .../lastfm/rest/LastFMRestClient.java | 4 +- .../lastfm/rest/service/LastFMService.java | 2 +- .../gramophone/loader/AlbumLoader.java | 4 +- .../gramophone/loader/ArtistLoader.java | 4 +- .../gramophone/loader/GenreLoader.java | 4 +- .../gramophone/loader/LastAddedLoader.java | 2 +- .../gramophone/loader/PlaylistLoader.java | 4 +- .../gramophone/loader/PlaylistSongLoader.java | 2 +- .../gramophone/loader/SongLoader.java | 4 +- .../gramophone/loader/SortedCursor.java | 4 +- .../gramophone/loader/SortedLongCursor.java | 4 +- .../TopAndRecentlyPlayedTracksLoader.java | 4 +- .../misc/CustomFragmentStatePagerAdapter.java | 14 +++--- .../gramophone/misc/DialogAsyncTask.java | 4 +- .../gramophone/misc/WeakContextAsyncTask.java | 2 +- .../misc/WrappedAsyncTaskLoader.java | 2 +- .../gramophone/model/AbsCustomPlaylist.java | 3 +- .../com/kabouzeid/gramophone/model/Album.java | 2 +- .../kabouzeid/gramophone/model/Artist.java | 2 +- .../kabouzeid/gramophone/model/Playlist.java | 2 +- .../model/smartplaylist/AbsSmartPlaylist.java | 4 +- .../model/smartplaylist/HistoryPlaylist.java | 2 +- .../smartplaylist/LastAddedPlaylist.java | 2 +- .../smartplaylist/MyTopTracksPlaylist.java | 2 +- .../NotRecentlyPlayedPlaylist.java | 2 +- .../smartplaylist/ShuffleAllPlaylist.java | 2 +- .../BlacklistPreferenceDialog.java | 4 +- .../preferences/LibraryPreferenceDialog.java | 8 +-- .../NowPlayingScreenPreferenceDialog.java | 8 +-- .../gramophone/provider/BlacklistStore.java | 2 +- .../gramophone/provider/HistoryStore.java | 4 +- .../provider/MusicPlaybackQueueStore.java | 4 +- .../provider/SongPlayCountStore.java | 4 +- .../gramophone/service/MultiPlayer.java | 4 +- .../gramophone/service/MusicService.java | 4 +- .../notification/PlayingNotification.java | 2 +- .../notification/PlayingNotificationImpl.java | 4 +- .../PlayingNotificationImpl24.java | 6 +-- .../gramophone/service/playback/Playback.java | 2 +- .../ui/activities/AboutActivity.java | 8 +-- .../ui/activities/AlbumDetailActivity.java | 14 +++--- .../ui/activities/ArtistDetailActivity.java | 14 +++--- .../ui/activities/GenreDetailActivity.java | 12 ++--- .../ui/activities/MainActivity.java | 10 ++-- .../ui/activities/PlaylistDetailActivity.java | 12 ++--- .../ui/activities/PurchaseActivity.java | 6 +-- .../ui/activities/SearchActivity.java | 14 +++--- .../ui/activities/SettingsActivity.java | 18 +++---- .../ui/activities/base/AbsBaseActivity.java | 8 +-- .../base/AbsMusicServiceActivity.java | 4 +- .../base/AbsSlidingMusicPanelActivity.java | 8 +-- .../ui/activities/base/AbsThemeActivity.java | 2 +- .../bugreport/BugReportActivity.java | 14 +++--- .../bugreport/model/DeviceInfo.java | 2 +- .../tageditor/AbsTagEditorActivity.java | 8 +-- .../tageditor/AlbumTagEditorActivity.java | 2 +- .../tageditor/SongTagEditorActivity.java | 2 +- .../ui/fragments/AbsMusicServiceFragment.java | 4 +- .../mainactivity/AbsMainActivityFragment.java | 2 +- .../mainactivity/folders/FoldersFragment.java | 20 ++++---- .../mainactivity/library/LibraryFragment.java | 14 +++--- .../pager/AbsLibraryPagerFragment.java | 2 +- ...gerRecyclerViewCustomGridSizeFragment.java | 6 +-- .../AbsLibraryPagerRecyclerViewFragment.java | 14 +++--- .../library/pager/AlbumsFragment.java | 8 +-- .../library/pager/ArtistsFragment.java | 8 +-- .../library/pager/GenresFragment.java | 8 +-- .../library/pager/PlaylistsFragment.java | 8 +-- .../library/pager/SongsFragment.java | 8 +-- .../fragments/player/AbsPlayerFragment.java | 4 +- .../fragments/player/MiniPlayerFragment.java | 4 +- .../ui/fragments/player/NowPlayingScreen.java | 4 +- .../player/PlayerAlbumCoverFragment.java | 4 +- .../player/card/CardPlayerFragment.java | 16 +++--- .../CardPlayerPlaybackControlsFragment.java | 4 +- .../player/flat/FlatPlayerFragment.java | 14 +++--- .../FlatPlayerPlaybackControlsFragment.java | 4 +- .../gramophone/util/ArtistSignatureUtil.java | 2 +- .../util/CustomArtistImageUtil.java | 2 +- .../kabouzeid/gramophone/util/FileUtil.java | 4 +- .../kabouzeid/gramophone/util/ImageUtil.java | 12 ++--- .../kabouzeid/gramophone/util/MusicUtil.java | 7 ++- .../gramophone/util/NavigationUtil.java | 8 +-- .../gramophone/util/PhonographColorUtil.java | 6 +-- .../gramophone/util/PlaylistsUtil.java | 4 +- .../gramophone/util/PreferenceUtil.java | 4 +- .../gramophone/util/SwipeAndDragHelper.java | 4 +- .../com/kabouzeid/gramophone/util/Util.java | 6 +-- .../kabouzeid/gramophone/util/ViewUtil.java | 2 +- .../gramophone/views/BreadCrumbLayout.java | 4 +- .../gramophone/views/IconImageView.java | 2 +- .../gramophone/views/PlayPauseDrawable.java | 2 +- .../res/layout-land/fragment_card_player.xml | 8 +-- .../res/layout-land/fragment_flat_player.xml | 4 +- .../fragment_simple_slide_large_image.xml | 2 +- app/src/main/res/layout/activity_about.xml | 2 +- .../main/res/layout/activity_album_detail.xml | 2 +- .../res/layout/activity_album_tag_editor.xml | 20 ++++---- .../res/layout/activity_artist_detail.xml | 2 +- .../main/res/layout/activity_bug_report.xml | 10 ++-- .../main/res/layout/activity_genre_detail.xml | 2 +- .../layout/activity_main_drawer_layout.xml | 6 +-- .../res/layout/activity_playlist_detail.xml | 2 +- .../main/res/layout/activity_preferences.xml | 2 +- app/src/main/res/layout/activity_purchase.xml | 6 +-- .../res/layout/activity_purchase_content.xml | 4 +- app/src/main/res/layout/activity_search.xml | 4 +- .../res/layout/activity_song_tag_editor.xml | 32 ++++++------ .../main/res/layout/artist_detail_header.xml | 2 +- app/src/main/res/layout/bread_crumb.xml | 2 +- .../layout/bug_report_card_device_info.xml | 4 +- .../res/layout/bug_report_card_report.xml | 28 +++++------ app/src/main/res/layout/card_about_app.xml | 4 +- app/src/main/res/layout/card_author.xml | 4 +- .../main/res/layout/card_special_thanks.xml | 24 ++++----- .../res/layout/card_support_development.xml | 4 +- .../main/res/layout/fragment_card_player.xml | 8 +-- ...fragment_card_player_playback_controls.xml | 2 +- .../main/res/layout/fragment_flat_player.xml | 4 +- app/src/main/res/layout/fragment_folder.xml | 12 ++--- app/src/main/res/layout/fragment_library.xml | 16 +++--- .../layout/fragment_player_album_cover.xml | 4 +- .../res/layout/item_grid_card_horizontal.xml | 4 +- .../res/layout/navigation_drawer_header.xml | 4 +- .../preference_dialog_library_categories.xml | 6 +-- .../preference_dialog_now_playing_screen.xml | 2 +- app/src/main/res/menu/menu_search.xml | 2 +- app/src/main/res/values/styles_parents.xml | 2 +- app/src/main/res/xml/pref_audio.xml | 9 +++- app/src/main/res/xml/pref_blacklist.xml | 6 ++- app/src/main/res/xml/pref_colors.xml | 10 +++- app/src/main/res/xml/pref_images.xml | 7 ++- app/src/main/res/xml/pref_library.xml | 7 ++- app/src/main/res/xml/pref_lockscreen.xml | 7 ++- app/src/main/res/xml/pref_notification.xml | 7 ++- .../main/res/xml/pref_now_playing_screen.xml | 7 ++- app/src/main/res/xml/pref_playlists.xml | 7 ++- gradle.properties | 4 +- 194 files changed, 606 insertions(+), 577 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 9d04c9c6e..bcbb2ae53 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -34,13 +34,13 @@ static def getProperty(@Nullable Properties properties, String name) { } android { - compileSdkVersion 27 + compileSdkVersion 28 buildToolsVersion '28.0.3' defaultConfig { minSdkVersion 16 - targetSdkVersion 27 + targetSdkVersion 28 - renderscriptTargetApi 27 + renderscriptTargetApi 28 vectorDrawables.useSupportLibrary = true applicationId 'com.kabouzeid.gramophone' @@ -87,28 +87,24 @@ android { } } -ext { - supportLibVersion = '27.1.1' -} - dependencies { - implementation "com.android.support:support-compat:$supportLibVersion" - implementation "com.android.support:support-core-utils:$supportLibVersion" - implementation "com.android.support:support-core-ui:$supportLibVersion" - implementation "com.android.support:support-media-compat:$supportLibVersion" - implementation "com.android.support:support-fragment:$supportLibVersion" - implementation "com.android.support:support-v13:$supportLibVersion" - implementation "com.android.support:appcompat-v7:$supportLibVersion" - implementation "com.android.support:recyclerview-v7:$supportLibVersion" - implementation "com.android.support:gridlayout-v7:$supportLibVersion" - implementation "com.android.support:cardview-v7:$supportLibVersion" - implementation "com.android.support:palette-v7:$supportLibVersion" - implementation "com.android.support:design:$supportLibVersion" - implementation "com.android.support:support-annotations:$supportLibVersion" - implementation "com.android.support:percent:$supportLibVersion" - implementation "com.android.support:preference-v7:$supportLibVersion" - implementation "com.android.support:preference-v14:$supportLibVersion" - implementation 'com.android.support.constraint:constraint-layout:1.1.3' + implementation 'androidx.core:core:1.0.1' + implementation 'androidx.legacy:legacy-support-core-utils:1.0.0' + implementation 'androidx.legacy:legacy-support-core-ui:1.0.0' + implementation 'androidx.media:media:1.0.1' + implementation 'androidx.fragment:fragment:1.0.0' + implementation 'androidx.legacy:legacy-support-v13:1.0.0' + implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'androidx.recyclerview:recyclerview:1.0.0' + implementation 'androidx.gridlayout:gridlayout:1.0.0' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'androidx.palette:palette:1.0.0' + implementation 'com.google.android.material:material:1.0.0' + implementation 'androidx.annotation:annotation:1.0.2' + implementation 'androidx.percentlayout:percentlayout:1.0.0' + implementation 'androidx.preference:preference:1.0.0' + implementation 'androidx.legacy:legacy-preference-v14:1.0.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'com.github.kabouzeid:app-theme-helper:1.3.10' implementation 'com.github.kabouzeid:RecyclerView-FastScroll:1.0.16-kmod' @@ -124,15 +120,15 @@ dependencies { transitive = true } - implementation 'com.jakewharton:butterknife:8.8.1' - annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' + implementation 'com.jakewharton:butterknife:10.1.0' + annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0' implementation 'com.squareup.retrofit2:retrofit:2.5.0' implementation 'com.squareup.retrofit2:converter-gson:2.5.0' implementation 'com.google.code.gson:gson:2.8.5' implementation 'com.anjlab.android.iab.v3:library:1.0.44' - implementation 'de.psdev.licensesdialog:licensesdialog:1.8.3' + implementation 'de.psdev.licensesdialog:licensesdialog:2.0.0' implementation 'com.github.bumptech.glide:glide:3.8.0' implementation 'com.github.bumptech.glide:okhttp3-integration:1.5.0' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b91807b9d..ee7d2d366 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -204,7 +204,7 @@ diff --git a/app/src/main/java/com/kabouzeid/gramophone/App.java b/app/src/main/java/com/kabouzeid/gramophone/App.java index 76a0b1115..ebcd7fe81 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/App.java +++ b/app/src/main/java/com/kabouzeid/gramophone/App.java @@ -2,7 +2,7 @@ import android.app.Application; import android.os.Build; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.anjlab.android.iab.v3.BillingProcessor; import com.anjlab.android.iab.v3.TransactionDetails; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java index abaeea281..b81433d6f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java @@ -2,9 +2,9 @@ import android.content.SharedPreferences; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/CategoryInfoAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/CategoryInfoAdapter.java index 7026290a0..b7fd7f45a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/CategoryInfoAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/CategoryInfoAdapter.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.adapter; import android.annotation.SuppressLint; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.helper.ItemTouchHelper; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.ItemTouchHelper; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/GenreAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/GenreAdapter.java index b6cbe3ec0..c9b2f96a3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/GenreAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/GenreAdapter.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.adapter; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/MusicLibraryPagerAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/MusicLibraryPagerAdapter.java index 1f7ca2f1f..797123332 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/MusicLibraryPagerAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/MusicLibraryPagerAdapter.java @@ -2,10 +2,10 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; import android.util.SparseArray; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java index 36e54523c..320f77973 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java @@ -3,10 +3,10 @@ import android.content.Context; import android.graphics.PorterDuff; import android.os.Build; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java index 7a9984fb3..30bb54aa0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java @@ -1,10 +1,10 @@ package com.kabouzeid.gramophone.adapter; import android.os.Build; -import android.support.annotation.NonNull; -import android.support.v4.util.Pair; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.core.util.Pair; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java index 1858fb9b9..0a7fc2da1 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java @@ -2,10 +2,10 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java index b950ab737..10a64bb2b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java @@ -1,11 +1,11 @@ package com.kabouzeid.gramophone.adapter.album; import android.graphics.drawable.Drawable; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.util.Pair; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.util.Pair; +import androidx.appcompat.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/HorizontalAlbumAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/HorizontalAlbumAdapter.java index 8738e851a..c046ec801 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/HorizontalAlbumAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/HorizontalAlbumAdapter.java @@ -1,10 +1,10 @@ package com.kabouzeid.gramophone.adapter.album; import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.CardView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.cardview.widget.CardView; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/artist/ArtistAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/artist/ArtistAdapter.java index 3d176ff86..e10e10ac8 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/artist/ArtistAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/artist/ArtistAdapter.java @@ -1,11 +1,11 @@ package com.kabouzeid.gramophone.adapter.artist; import android.graphics.drawable.Drawable; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.util.Pair; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.util.Pair; +import androidx.appcompat.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java index 8e15e94af..b67e37731 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.adapter.base; import android.content.Context; -import android.support.annotation.MenuRes; -import android.support.annotation.Nullable; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.MenuRes; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; import android.view.Menu; import android.view.MenuItem; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/MediaEntryViewHolder.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/MediaEntryViewHolder.java index 8ad2a3f10..63bc7dc18 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/MediaEntryViewHolder.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/MediaEntryViewHolder.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.adapter.base; import android.os.Build; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import android.widget.ImageView; import android.widget.TextView; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AbsOffsetSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AbsOffsetSongAdapter.java index a0bb21d8e..83b032741 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AbsOffsetSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AbsOffsetSongAdapter.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.adapter.song; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AlbumSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AlbumSongAdapter.java index cecdae60e..95a84d522 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AlbumSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AlbumSongAdapter.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.adapter.song; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import com.kabouzeid.gramophone.interfaces.CabHolder; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ArtistSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ArtistSongAdapter.java index 70bde8e7a..1319a6309 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ArtistSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ArtistSongAdapter.java @@ -1,10 +1,10 @@ package com.kabouzeid.gramophone.adapter.song; import android.os.Build; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.util.Pair; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.util.Pair; +import androidx.appcompat.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/OrderablePlaylistSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/OrderablePlaylistSongAdapter.java index 5cfd91291..fb5163b3c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/OrderablePlaylistSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/OrderablePlaylistSongAdapter.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.adapter.song; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java index 6856ec240..69e3b5d3a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.adapter.song; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlaylistSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlaylistSongAdapter.java index 89d77ab54..c4a0a5955 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlaylistSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlaylistSongAdapter.java @@ -1,10 +1,10 @@ package com.kabouzeid.gramophone.adapter.song; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.util.Pair; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.util.Pair; +import androidx.appcompat.app.AppCompatActivity; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ShuffleButtonSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ShuffleButtonSongAdapter.java index 7fd6e85b8..053894be4 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ShuffleButtonSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ShuffleButtonSongAdapter.java @@ -1,10 +1,10 @@ package com.kabouzeid.gramophone.adapter.song; import android.graphics.Typeface; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import com.kabouzeid.appthemehelper.ThemeStore; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java index fb29dc7ae..0997be439 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java @@ -1,11 +1,11 @@ package com.kabouzeid.gramophone.adapter.song; import android.graphics.drawable.Drawable; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.util.Pair; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.util.Pair; +import androidx.appcompat.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutIconGenerator.java b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutIconGenerator.java index 3dc8c8d79..6eda73c5a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutIconGenerator.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutIconGenerator.java @@ -6,8 +6,8 @@ import android.graphics.drawable.Icon; import android.graphics.drawable.LayerDrawable; import android.os.Build; -import android.support.annotation.RequiresApi; -import android.support.v4.graphics.drawable.IconCompat; +import androidx.annotation.RequiresApi; +import androidx.core.graphics.drawable.IconCompat; import android.util.TypedValue; import com.kabouzeid.appthemehelper.ThemeStore; diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java index 2e561e380..f13909048 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java @@ -7,7 +7,7 @@ import android.graphics.Bitmap; import android.graphics.Point; import android.graphics.drawable.Drawable; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.text.TextUtils; import android.view.View; import android.widget.RemoteViews; diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java index db00db976..2deba464c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java @@ -6,8 +6,8 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; -import android.support.annotation.Nullable; -import android.support.v7.graphics.Palette; +import androidx.annotation.Nullable; +import androidx.palette.graphics.Palette; import android.text.TextUtils; import android.view.View; import android.widget.RemoteViews; diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java index 625f8d991..e99e517ad 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java @@ -6,8 +6,8 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; -import android.support.annotation.Nullable; -import android.support.v7.graphics.Palette; +import androidx.annotation.Nullable; +import androidx.palette.graphics.Palette; import android.text.TextUtils; import android.view.View; import android.widget.RemoteViews; diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java index 79de693e7..e5d2011fd 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java @@ -6,8 +6,8 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; -import android.support.annotation.Nullable; -import android.support.v7.graphics.Palette; +import androidx.annotation.Nullable; +import androidx.palette.graphics.Palette; import android.text.TextUtils; import android.view.View; import android.widget.RemoteViews; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/AddToPlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/AddToPlaylistDialog.java index 60303315f..ae081804a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/AddToPlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/AddToPlaylistDialog.java @@ -2,8 +2,8 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import com.afollestad.materialdialogs.MaterialDialog; import com.kabouzeid.gramophone.R; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/BlacklistFolderChooserDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/BlacklistFolderChooserDialog.java index 32a3129bd..46830c5e9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/BlacklistFolderChooserDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/BlacklistFolderChooserDialog.java @@ -6,9 +6,9 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; -import android.support.annotation.NonNull; -import android.support.v4.app.ActivityCompat; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.core.app.ActivityCompat; +import androidx.fragment.app.DialogFragment; import android.view.View; import com.afollestad.materialdialogs.MaterialDialog; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ChangelogDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/ChangelogDialog.java index 092d91263..96f24f5b7 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ChangelogDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/ChangelogDialog.java @@ -7,8 +7,8 @@ import android.content.pm.PackageManager; import android.graphics.Color; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.view.InflateException; import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ClearSmartPlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/ClearSmartPlaylistDialog.java index 9e758e3c4..8f5017d1e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ClearSmartPlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/ClearSmartPlaylistDialog.java @@ -2,8 +2,8 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.text.Html; import com.afollestad.materialdialogs.MaterialDialog; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/CreatePlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/CreatePlaylistDialog.java index 1d2c3f046..092bd59ea 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/CreatePlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/CreatePlaylistDialog.java @@ -2,9 +2,9 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; import android.text.InputType; import android.widget.Toast; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeletePlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeletePlaylistDialog.java index 74315d362..c2f320ab4 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeletePlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeletePlaylistDialog.java @@ -2,8 +2,8 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.text.Html; import com.afollestad.materialdialogs.MaterialDialog; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeleteSongsDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeleteSongsDialog.java index fab31aeaf..6b1ef1b67 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeleteSongsDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeleteSongsDialog.java @@ -2,8 +2,8 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.text.Html; import com.afollestad.materialdialogs.MaterialDialog; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DonationsDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DonationsDialog.java index 214a3f2b4..89e796e80 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DonationsDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DonationsDialog.java @@ -6,9 +6,9 @@ import android.graphics.Paint; import android.os.AsyncTask; import android.os.Bundle; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/LyricsDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/LyricsDialog.java index ed8cc2ce8..18d6d5f07 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/LyricsDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/LyricsDialog.java @@ -2,8 +2,8 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import com.afollestad.materialdialogs.MaterialDialog; import com.kabouzeid.gramophone.model.lyrics.Lyrics; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/RemoveFromPlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/RemoveFromPlaylistDialog.java index 11cef244f..3263ef1d3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/RemoveFromPlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/RemoveFromPlaylistDialog.java @@ -2,8 +2,8 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.text.Html; import com.afollestad.materialdialogs.MaterialDialog; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/RenamePlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/RenamePlaylistDialog.java index 340af6e10..b09887f90 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/RenamePlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/RenamePlaylistDialog.java @@ -2,8 +2,8 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.text.InputType; import com.afollestad.materialdialogs.MaterialDialog; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ScanMediaFolderChooserDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/ScanMediaFolderChooserDialog.java index 66d1d90b3..0276874ae 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ScanMediaFolderChooserDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/ScanMediaFolderChooserDialog.java @@ -9,10 +9,10 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.ActivityCompat; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.app.ActivityCompat; +import androidx.fragment.app.DialogFragment; import android.view.View; import android.widget.Toast; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SleepTimerDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SleepTimerDialog.java index fff4fbbb5..8c953e7f1 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SleepTimerDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SleepTimerDialog.java @@ -9,8 +9,8 @@ import android.os.Bundle; import android.os.CountDownTimer; import android.os.SystemClock; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.widget.CheckBox; import android.widget.FrameLayout; import android.widget.TextView; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongDetailDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongDetailDialog.java index 7388c844c..8416e3a85 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongDetailDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongDetailDialog.java @@ -4,8 +4,8 @@ import android.app.Dialog; import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.text.Html; import android.text.Spanned; import android.util.Log; diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongShareDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongShareDialog.java index e7a87e414..3b904507e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongShareDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongShareDialog.java @@ -3,8 +3,8 @@ import android.app.Dialog; import android.content.Intent; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import com.afollestad.materialdialogs.MaterialDialog; import com.kabouzeid.gramophone.R; diff --git a/app/src/main/java/com/kabouzeid/gramophone/glide/ArtistGlideRequest.java b/app/src/main/java/com/kabouzeid/gramophone/glide/ArtistGlideRequest.java index 73e9efd55..04a6fd78b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/glide/ArtistGlideRequest.java +++ b/app/src/main/java/com/kabouzeid/gramophone/glide/ArtistGlideRequest.java @@ -2,7 +2,7 @@ import android.content.Context; import android.graphics.Bitmap; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.bumptech.glide.BitmapRequestBuilder; import com.bumptech.glide.DrawableRequestBuilder; diff --git a/app/src/main/java/com/kabouzeid/gramophone/glide/BlurTransformation.java b/app/src/main/java/com/kabouzeid/gramophone/glide/BlurTransformation.java index 403e26e2b..66f5fde9c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/glide/BlurTransformation.java +++ b/app/src/main/java/com/kabouzeid/gramophone/glide/BlurTransformation.java @@ -10,8 +10,8 @@ import android.renderscript.RSRuntimeException; import android.renderscript.RenderScript; import android.renderscript.ScriptIntrinsicBlur; -import android.support.annotation.FloatRange; -import android.support.annotation.NonNull; +import androidx.annotation.FloatRange; +import androidx.annotation.NonNull; import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; diff --git a/app/src/main/java/com/kabouzeid/gramophone/glide/SongGlideRequest.java b/app/src/main/java/com/kabouzeid/gramophone/glide/SongGlideRequest.java index 27fe2b0e1..dad073b21 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/glide/SongGlideRequest.java +++ b/app/src/main/java/com/kabouzeid/gramophone/glide/SongGlideRequest.java @@ -2,7 +2,7 @@ import android.content.Context; import android.graphics.Bitmap; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.bumptech.glide.BitmapRequestBuilder; import com.bumptech.glide.DrawableRequestBuilder; diff --git a/app/src/main/java/com/kabouzeid/gramophone/glide/palette/BitmapPaletteWrapper.java b/app/src/main/java/com/kabouzeid/gramophone/glide/palette/BitmapPaletteWrapper.java index 441b98e95..ff28ee08e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/glide/palette/BitmapPaletteWrapper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/glide/palette/BitmapPaletteWrapper.java @@ -1,7 +1,7 @@ package com.kabouzeid.gramophone.glide.palette; import android.graphics.Bitmap; -import android.support.v7.graphics.Palette; +import androidx.palette.graphics.Palette; public class BitmapPaletteWrapper { private final Bitmap mBitmap; diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java index 27ed199fe..9fe7462bb 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java @@ -15,8 +15,8 @@ import android.os.IBinder; import android.provider.DocumentsContract; import android.provider.MediaStore; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.util.Log; import android.widget.Toast; diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicProgressViewUpdateHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicProgressViewUpdateHelper.java index 4f912e890..c3c8fe787 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicProgressViewUpdateHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicProgressViewUpdateHelper.java @@ -2,7 +2,7 @@ import android.os.Handler; import android.os.Message; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; /** * @author Karim Abou Zeid (kabouzeid) diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/SearchQueryHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/SearchQueryHelper.java index eae42a808..cc342c966 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/SearchQueryHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/SearchQueryHelper.java @@ -4,7 +4,7 @@ import android.content.Context; import android.os.Bundle; import android.provider.MediaStore; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.loader.SongLoader; import com.kabouzeid.gramophone.model.Song; diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/ShuffleHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/ShuffleHelper.java index c55da086f..fb41098f0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/ShuffleHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/ShuffleHelper.java @@ -1,6 +1,6 @@ package com.kabouzeid.gramophone.helper; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.model.Song; diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/PlaylistMenuHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/PlaylistMenuHelper.java index c32fb56ba..080500d76 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/PlaylistMenuHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/PlaylistMenuHelper.java @@ -2,8 +2,8 @@ import android.app.Activity; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; import android.view.MenuItem; import android.widget.Toast; diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongMenuHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongMenuHelper.java index a3cedbd22..a84bfeb49 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongMenuHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongMenuHelper.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.helper.menu; import android.content.Intent; -import android.support.annotation.NonNull; -import android.support.v4.app.FragmentActivity; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.NonNull; +import androidx.fragment.app.FragmentActivity; +import androidx.appcompat.app.AppCompatActivity; import android.view.MenuItem; import android.view.View; import android.widget.PopupMenu; diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongsMenuHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongsMenuHelper.java index 5adb08688..fd7b32eae 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongsMenuHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongsMenuHelper.java @@ -1,7 +1,7 @@ package com.kabouzeid.gramophone.helper.menu; -import android.support.annotation.NonNull; -import android.support.v4.app.FragmentActivity; +import androidx.annotation.NonNull; +import androidx.fragment.app.FragmentActivity; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog; diff --git a/app/src/main/java/com/kabouzeid/gramophone/interfaces/CabHolder.java b/app/src/main/java/com/kabouzeid/gramophone/interfaces/CabHolder.java index 7818c2345..a7e93cd40 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/interfaces/CabHolder.java +++ b/app/src/main/java/com/kabouzeid/gramophone/interfaces/CabHolder.java @@ -1,6 +1,6 @@ package com.kabouzeid.gramophone.interfaces; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.afollestad.materialcab.MaterialCab; diff --git a/app/src/main/java/com/kabouzeid/gramophone/interfaces/PaletteColorHolder.java b/app/src/main/java/com/kabouzeid/gramophone/interfaces/PaletteColorHolder.java index b6df7c74d..6036c1e67 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/interfaces/PaletteColorHolder.java +++ b/app/src/main/java/com/kabouzeid/gramophone/interfaces/PaletteColorHolder.java @@ -1,6 +1,6 @@ package com.kabouzeid.gramophone.interfaces; -import android.support.annotation.ColorInt; +import androidx.annotation.ColorInt; /** * @author Aidan Follestad (afollestad) diff --git a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/LastFMRestClient.java b/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/LastFMRestClient.java index 76b17c866..49d0a98f5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/LastFMRestClient.java +++ b/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/LastFMRestClient.java @@ -1,8 +1,8 @@ package com.kabouzeid.gramophone.lastfm.rest; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.lastfm.rest.service.LastFMService; diff --git a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/service/LastFMService.java b/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/service/LastFMService.java index 4a9b33c79..01be3e72f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/service/LastFMService.java +++ b/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/service/LastFMService.java @@ -1,6 +1,6 @@ package com.kabouzeid.gramophone.lastfm.rest.service; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.lastfm.rest.model.LastFmAlbum; import com.kabouzeid.gramophone.lastfm.rest.model.LastFmArtist; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/AlbumLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/AlbumLoader.java index e47cb7f6f..807b4758c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/AlbumLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/AlbumLoader.java @@ -2,8 +2,8 @@ import android.content.Context; import android.provider.MediaStore.Audio.AudioColumns; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.model.Song; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistLoader.java index 6c3ea0620..97c93c14d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistLoader.java @@ -2,8 +2,8 @@ import android.content.Context; import android.provider.MediaStore.Audio.AudioColumns; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.model.Artist; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java index 5fcc3c0f9..498eca335 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java @@ -3,8 +3,8 @@ import android.content.Context; import android.database.Cursor; import android.provider.MediaStore.Audio.Genres; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.model.Genre; import com.kabouzeid.gramophone.model.Song; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/LastAddedLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/LastAddedLoader.java index 76de19874..b9540c195 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/LastAddedLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/LastAddedLoader.java @@ -3,7 +3,7 @@ import android.content.Context; import android.database.Cursor; import android.provider.MediaStore; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.PreferenceUtil; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistLoader.java index 60ad9f1b7..2c7c22638 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistLoader.java @@ -5,8 +5,8 @@ import android.provider.BaseColumns; import android.provider.MediaStore; import android.provider.MediaStore.Audio.PlaylistsColumns; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.model.Playlist; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistSongLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistSongLoader.java index 3f91684f8..5af6da0e0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistSongLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistSongLoader.java @@ -4,7 +4,7 @@ import android.database.Cursor; import android.provider.MediaStore; import android.provider.MediaStore.Audio.AudioColumns; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.model.PlaylistSong; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java index 7d84c9921..78655b5bb 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java @@ -5,8 +5,8 @@ import android.provider.BaseColumns; import android.provider.MediaStore; import android.provider.MediaStore.Audio.AudioColumns; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.BlacklistStore; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/SortedCursor.java b/app/src/main/java/com/kabouzeid/gramophone/loader/SortedCursor.java index 38348b442..75873dd43 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/SortedCursor.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/SortedCursor.java @@ -17,8 +17,8 @@ import android.database.AbstractCursor; import android.database.Cursor; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.util.ArrayList; import java.util.Collection; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/SortedLongCursor.java b/app/src/main/java/com/kabouzeid/gramophone/loader/SortedLongCursor.java index 60336f223..db83b26b5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/SortedLongCursor.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/SortedLongCursor.java @@ -17,8 +17,8 @@ import android.database.AbstractCursor; import android.database.Cursor; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.util.ArrayList; import java.util.Collection; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java index 53c35eb2b..c3cd27f05 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java @@ -20,8 +20,8 @@ import android.database.Cursor; import android.provider.BaseColumns; import android.provider.MediaStore; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.HistoryStore; diff --git a/app/src/main/java/com/kabouzeid/gramophone/misc/CustomFragmentStatePagerAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/misc/CustomFragmentStatePagerAdapter.java index e014bf6cf..b2f139710 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/misc/CustomFragmentStatePagerAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/misc/CustomFragmentStatePagerAdapter.java @@ -18,10 +18,12 @@ import android.os.Bundle; import android.os.Parcelable; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; -import android.support.v4.app.FragmentTransaction; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; +import androidx.fragment.app.FragmentTransaction; +import androidx.viewpager.widget.PagerAdapter; + import android.util.Log; import android.view.View; import android.view.ViewGroup; @@ -29,7 +31,7 @@ import java.util.ArrayList; /** - * Implementation of {@link android.support.v4.view.PagerAdapter} that + * Implementation of {@link PagerAdapter} that * uses a {@link Fragment} to manage each page. This class also handles * saving and restoring of fragment's state. *

@@ -64,7 +66,7 @@ * {@sample development/samples/Support13Demos/res/layout/fragment_pager_list.xml * complete} */ -public abstract class CustomFragmentStatePagerAdapter extends android.support.v4.view.PagerAdapter { +public abstract class CustomFragmentStatePagerAdapter extends PagerAdapter { public static final String TAG = CustomFragmentStatePagerAdapter.class.getSimpleName(); private static final boolean DEBUG = false; diff --git a/app/src/main/java/com/kabouzeid/gramophone/misc/DialogAsyncTask.java b/app/src/main/java/com/kabouzeid/gramophone/misc/DialogAsyncTask.java index cb5659d36..f45b10447 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/misc/DialogAsyncTask.java +++ b/app/src/main/java/com/kabouzeid/gramophone/misc/DialogAsyncTask.java @@ -3,8 +3,8 @@ import android.app.Dialog; import android.content.Context; import android.os.Handler; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.lang.ref.WeakReference; diff --git a/app/src/main/java/com/kabouzeid/gramophone/misc/WeakContextAsyncTask.java b/app/src/main/java/com/kabouzeid/gramophone/misc/WeakContextAsyncTask.java index 1b4f6f973..1d02d37c6 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/misc/WeakContextAsyncTask.java +++ b/app/src/main/java/com/kabouzeid/gramophone/misc/WeakContextAsyncTask.java @@ -2,7 +2,7 @@ import android.content.Context; import android.os.AsyncTask; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import java.lang.ref.WeakReference; diff --git a/app/src/main/java/com/kabouzeid/gramophone/misc/WrappedAsyncTaskLoader.java b/app/src/main/java/com/kabouzeid/gramophone/misc/WrappedAsyncTaskLoader.java index 9dd48a2b4..85746b6ef 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/misc/WrappedAsyncTaskLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/misc/WrappedAsyncTaskLoader.java @@ -2,7 +2,7 @@ package com.kabouzeid.gramophone.misc; import android.content.Context; -import android.support.v4.content.AsyncTaskLoader; +import androidx.loader.content.AsyncTaskLoader; /** * Issue diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java index 484f48926..011ce0061 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java @@ -2,9 +2,8 @@ import android.content.Context; import android.os.Parcel; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.util.MusicUtil; import java.util.ArrayList; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/Album.java b/app/src/main/java/com/kabouzeid/gramophone/model/Album.java index 4983ab6f5..139f1b203 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/Album.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/Album.java @@ -2,7 +2,7 @@ import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import java.util.ArrayList; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/Artist.java b/app/src/main/java/com/kabouzeid/gramophone/model/Artist.java index f53d2d1ab..ad6cd5db0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/Artist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/Artist.java @@ -2,7 +2,7 @@ import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.util.MusicUtil; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/Playlist.java b/app/src/main/java/com/kabouzeid/gramophone/model/Playlist.java index 0eea7fb45..f4bacdc70 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/Playlist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/Playlist.java @@ -3,7 +3,7 @@ import android.content.Context; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; /** * @author Karim Abou Zeid (kabouzeid) diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/AbsSmartPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/AbsSmartPlaylist.java index d011c8800..996931c24 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/AbsSmartPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/AbsSmartPlaylist.java @@ -2,8 +2,8 @@ import android.content.Context; import android.os.Parcel; -import android.support.annotation.DrawableRes; -import android.support.annotation.Nullable; +import androidx.annotation.DrawableRes; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.model.AbsCustomPlaylist; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java index efa74f736..3cb423c45 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java @@ -2,7 +2,7 @@ import android.content.Context; import android.os.Parcel; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java index 0a6e1ef0c..d0987c8bf 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java @@ -2,7 +2,7 @@ import android.content.Context; import android.os.Parcel; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.LastAddedLoader; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/MyTopTracksPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/MyTopTracksPlaylist.java index 9607649ff..09f605574 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/MyTopTracksPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/MyTopTracksPlaylist.java @@ -2,7 +2,7 @@ import android.content.Context; import android.os.Parcel; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java index 3a22a0e3b..f66da6f44 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java @@ -2,7 +2,7 @@ import android.content.Context; import android.os.Parcel; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/ShuffleAllPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/ShuffleAllPlaylist.java index f20b4d5cc..14a63afa2 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/ShuffleAllPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/ShuffleAllPlaylist.java @@ -2,7 +2,7 @@ import android.content.Context; import android.os.Parcel; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.SongLoader; diff --git a/app/src/main/java/com/kabouzeid/gramophone/preferences/BlacklistPreferenceDialog.java b/app/src/main/java/com/kabouzeid/gramophone/preferences/BlacklistPreferenceDialog.java index 449e8a2bf..cf20f408e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/preferences/BlacklistPreferenceDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/preferences/BlacklistPreferenceDialog.java @@ -2,8 +2,8 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; import android.text.Html; import com.afollestad.materialdialogs.MaterialDialog; diff --git a/app/src/main/java/com/kabouzeid/gramophone/preferences/LibraryPreferenceDialog.java b/app/src/main/java/com/kabouzeid/gramophone/preferences/LibraryPreferenceDialog.java index 53a808fe6..4b21edeac 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/preferences/LibraryPreferenceDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/preferences/LibraryPreferenceDialog.java @@ -2,10 +2,10 @@ import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import com.afollestad.materialdialogs.MaterialDialog; diff --git a/app/src/main/java/com/kabouzeid/gramophone/preferences/NowPlayingScreenPreferenceDialog.java b/app/src/main/java/com/kabouzeid/gramophone/preferences/NowPlayingScreenPreferenceDialog.java index d3a509ce4..047ddaf44 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/preferences/NowPlayingScreenPreferenceDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/preferences/NowPlayingScreenPreferenceDialog.java @@ -5,10 +5,10 @@ import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v4.view.PagerAdapter; -import android.support.v4.view.ViewPager; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; +import androidx.viewpager.widget.PagerAdapter; +import androidx.viewpager.widget.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/provider/BlacklistStore.java b/app/src/main/java/com/kabouzeid/gramophone/provider/BlacklistStore.java index 2f2dafa53..4353fe263 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/provider/BlacklistStore.java +++ b/app/src/main/java/com/kabouzeid/gramophone/provider/BlacklistStore.java @@ -7,7 +7,7 @@ import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Environment; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.util.FileUtil; diff --git a/app/src/main/java/com/kabouzeid/gramophone/provider/HistoryStore.java b/app/src/main/java/com/kabouzeid/gramophone/provider/HistoryStore.java index 62346aa45..e099c7e27 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/provider/HistoryStore.java +++ b/app/src/main/java/com/kabouzeid/gramophone/provider/HistoryStore.java @@ -21,8 +21,8 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; public class HistoryStore extends SQLiteOpenHelper { private static final int MAX_ITEMS_IN_DB = 5000; diff --git a/app/src/main/java/com/kabouzeid/gramophone/provider/MusicPlaybackQueueStore.java b/app/src/main/java/com/kabouzeid/gramophone/provider/MusicPlaybackQueueStore.java index 921b13e19..00354b425 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/provider/MusicPlaybackQueueStore.java +++ b/app/src/main/java/com/kabouzeid/gramophone/provider/MusicPlaybackQueueStore.java @@ -22,8 +22,8 @@ import android.database.sqlite.SQLiteOpenHelper; import android.provider.BaseColumns; import android.provider.MediaStore.Audio.AudioColumns; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.loader.SongLoader; import com.kabouzeid.gramophone.model.Song; diff --git a/app/src/main/java/com/kabouzeid/gramophone/provider/SongPlayCountStore.java b/app/src/main/java/com/kabouzeid/gramophone/provider/SongPlayCountStore.java index 203bc02b7..0ddc49f74 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/provider/SongPlayCountStore.java +++ b/app/src/main/java/com/kabouzeid/gramophone/provider/SongPlayCountStore.java @@ -21,8 +21,8 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.view.animation.AccelerateInterpolator; import android.view.animation.Interpolator; diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/MultiPlayer.java b/app/src/main/java/com/kabouzeid/gramophone/service/MultiPlayer.java index ebed4d17c..1cb3e15ed 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/MultiPlayer.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/MultiPlayer.java @@ -7,8 +7,8 @@ import android.media.audiofx.AudioEffect; import android.net.Uri; import android.os.PowerManager; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.util.Log; import android.widget.Toast; diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java index e860f0862..0566f0088 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java @@ -27,8 +27,8 @@ import android.os.Process; import android.preference.PreferenceManager; import android.provider.MediaStore; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.support.v4.media.MediaMetadataCompat; import android.support.v4.media.session.MediaSessionCompat; import android.support.v4.media.session.PlaybackStateCompat; diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotification.java b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotification.java index b17e91ba8..06d7418c3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotification.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotification.java @@ -4,7 +4,7 @@ import android.app.NotificationChannel; import android.app.NotificationManager; import android.os.Build; -import android.support.annotation.RequiresApi; +import androidx.annotation.RequiresApi; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.service.MusicService; diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java index 17065d5fc..b12de5611 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java @@ -8,8 +8,8 @@ import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.drawable.Drawable; -import android.support.annotation.Nullable; -import android.support.v4.app.NotificationCompat; +import androidx.annotation.Nullable; +import androidx.core.app.NotificationCompat; import android.text.TextUtils; import android.view.View; import android.widget.RemoteViews; diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl24.java b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl24.java index bd0ee315f..032941435 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl24.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl24.java @@ -8,9 +8,9 @@ import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Build; -import android.support.v4.app.NotificationCompat; -import android.support.v4.media.app.NotificationCompat.MediaStyle; -import android.support.v7.graphics.Palette; +import androidx.core.app.NotificationCompat; +import androidx.media.app.NotificationCompat.MediaStyle; +import androidx.palette.graphics.Palette; import com.bumptech.glide.Glide; import com.bumptech.glide.request.animation.GlideAnimation; diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/playback/Playback.java b/app/src/main/java/com/kabouzeid/gramophone/service/playback/Playback.java index ded13670f..5c4b9abdf 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/playback/Playback.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/playback/Playback.java @@ -1,6 +1,6 @@ package com.kabouzeid.gramophone.service.playback; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; /** * @author Karim Abou Zeid (kabouzeid) diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java index f897c957a..19d4caa17 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java @@ -5,9 +5,9 @@ import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v7.widget.AppCompatButton; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.Toolbar; import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; @@ -250,6 +250,6 @@ private void showLicenseDialog() { ) .setIncludeOwnLicense(true) .build() - .showAppCompat(); + .show(); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java index 866e46a99..51e6a9567 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java @@ -4,13 +4,13 @@ import android.content.Intent; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.appcompat.widget.Toolbar; import android.text.Html; import android.text.Spanned; import android.view.Menu; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java index 2553a3ffe..9746ed8be 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java @@ -4,13 +4,13 @@ import android.content.Intent; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.appcompat.widget.Toolbar; import android.text.Html; import android.text.Spanned; import android.view.LayoutInflater; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/GenreDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/GenreDetailActivity.java index 45b52552f..4ccc00b80 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/GenreDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/GenreDetailActivity.java @@ -2,12 +2,12 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.appcompat.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index 821735c4b..45b392340 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -9,11 +9,11 @@ import android.os.Bundle; import android.os.Handler; import android.provider.MediaStore; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.design.widget.NavigationView; -import android.support.v4.app.Fragment; -import android.support.v4.widget.DrawerLayout; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.google.android.material.navigation.NavigationView; +import androidx.fragment.app.Fragment; +import androidx.drawerlayout.widget.DrawerLayout; import android.util.Log; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java index 5220e3fb1..e25fd6fec 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java @@ -2,12 +2,12 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.appcompat.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PurchaseActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PurchaseActivity.java index 2c56d26e4..8c831e1b7 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PurchaseActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PurchaseActivity.java @@ -3,9 +3,9 @@ import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.MenuItem; import android.widget.Button; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java index 74d349c28..a7bb042ee 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java @@ -2,13 +2,13 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.SearchView; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.appcompat.widget.SearchView; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java index 0d9c762f0..bba947bb8 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java @@ -7,15 +7,15 @@ import android.media.audiofx.AudioEffect; import android.os.Build; import android.os.Bundle; -import android.support.annotation.ColorInt; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; -import android.support.v7.preference.ListPreference; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceManager; -import android.support.v7.preference.TwoStatePreference; -import android.support.v7.widget.Toolbar; +import androidx.annotation.ColorInt; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; +import androidx.preference.ListPreference; +import androidx.preference.Preference; +import androidx.preference.PreferenceManager; +import androidx.preference.TwoStatePreference; +import androidx.appcompat.widget.Toolbar; import android.view.MenuItem; import android.view.View; import android.widget.Toast; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsBaseActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsBaseActivity.java index 0f2682def..17c28f931 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsBaseActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsBaseActivity.java @@ -8,10 +8,10 @@ import android.os.Build; import android.os.Bundle; import android.provider.Settings; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.design.widget.Snackbar; -import android.support.v4.app.ActivityCompat; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.google.android.material.snackbar.Snackbar; +import androidx.core.app.ActivityCompat; import android.view.KeyEvent; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsMusicServiceActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsMusicServiceActivity.java index b3b3197f6..3d15bc770 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsMusicServiceActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsMusicServiceActivity.java @@ -9,8 +9,8 @@ import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.helper.MusicPlayerRemote; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java index 0da6d312b..730204e87 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java @@ -5,10 +5,10 @@ import android.annotation.SuppressLint; import android.os.Build; import android.os.Bundle; -import android.support.annotation.ColorInt; -import android.support.annotation.FloatRange; -import android.support.annotation.LayoutRes; -import android.support.v4.app.Fragment; +import androidx.annotation.ColorInt; +import androidx.annotation.FloatRange; +import androidx.annotation.LayoutRes; +import androidx.fragment.app.Fragment; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsThemeActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsThemeActivity.java index bde88d9df..338f88882 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsThemeActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsThemeActivity.java @@ -3,7 +3,7 @@ import android.graphics.Color; import android.os.Build; import android.os.Bundle; -import android.support.annotation.ColorInt; +import androidx.annotation.ColorInt; import android.view.View; import com.kabouzeid.appthemehelper.ATH; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/bugreport/BugReportActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/bugreport/BugReportActivity.java index 1668d9159..70eda7edf 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/bugreport/BugReportActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/bugreport/BugReportActivity.java @@ -8,13 +8,13 @@ import android.content.Intent; import android.net.Uri; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.StringDef; -import android.support.annotation.StringRes; -import android.support.design.widget.FloatingActionButton; -import android.support.design.widget.TextInputEditText; -import android.support.design.widget.TextInputLayout; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.annotation.StringDef; +import androidx.annotation.StringRes; +import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.textfield.TextInputEditText; +import com.google.android.material.textfield.TextInputLayout; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/bugreport/model/DeviceInfo.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/bugreport/model/DeviceInfo.java index 2f6108359..ad67c147f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/bugreport/model/DeviceInfo.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/bugreport/model/DeviceInfo.java @@ -5,7 +5,7 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Build; -import android.support.annotation.IntRange; +import androidx.annotation.IntRange; import java.util.Arrays; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java index ed10d385b..53cf9c2ba 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java @@ -10,10 +10,10 @@ import android.media.MediaScannerConnection; import android.net.Uri; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.design.widget.FloatingActionButton; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.google.android.material.floatingactionbutton.FloatingActionButton; +import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java index 0608074bf..4b2dd760e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java @@ -6,7 +6,7 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java index 8dcbce448..07f8a5443 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java @@ -2,7 +2,7 @@ import android.net.Uri; import android.os.Bundle; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.text.Editable; import android.text.TextWatcher; import android.widget.EditText; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/AbsMusicServiceFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/AbsMusicServiceFragment.java index 17baf1e84..78847652a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/AbsMusicServiceFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/AbsMusicServiceFragment.java @@ -2,8 +2,8 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.Fragment; +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; import android.view.View; import com.kabouzeid.gramophone.interfaces.MusicServiceEventListener; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/AbsMainActivityFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/AbsMainActivityFragment.java index 104f68c95..eb6657bc9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/AbsMainActivityFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/AbsMainActivityFragment.java @@ -1,7 +1,7 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivity; import android.os.Bundle; -import android.support.v4.app.Fragment; +import androidx.fragment.app.Fragment; import com.kabouzeid.gramophone.ui.activities.MainActivity; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java index 172f606ce..1205f7044 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java @@ -6,16 +6,16 @@ import android.media.MediaScannerConnection; import android.os.Bundle; import android.os.Environment; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.design.widget.AppBarLayout; -import android.support.design.widget.CoordinatorLayout; -import android.support.design.widget.Snackbar; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.google.android.material.appbar.AppBarLayout; +import androidx.coordinatorlayout.widget.CoordinatorLayout; +import com.google.android.material.snackbar.Snackbar; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.appcompat.widget.Toolbar; import android.text.Html; import android.view.LayoutInflater; import android.view.Menu; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java index df3ea0108..fa1e9e0f0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java @@ -5,13 +5,13 @@ import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.design.widget.AppBarLayout; -import android.support.design.widget.TabLayout; -import android.support.v4.app.Fragment; -import android.support.v4.view.ViewPager; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.google.android.material.appbar.AppBarLayout; +import com.google.android.material.tabs.TabLayout; +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; +import androidx.appcompat.widget.Toolbar; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerFragment.java index c52c0247c..fc6b51d99 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerFragment.java @@ -1,7 +1,7 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivity.library.pager; import android.os.Bundle; -import android.support.v4.app.LoaderManager; +import androidx.loader.app.LoaderManager; import com.kabouzeid.gramophone.ui.fragments.AbsMusicServiceFragment; import com.kabouzeid.gramophone.ui.fragments.mainactivity.library.LibraryFragment; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewCustomGridSizeFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewCustomGridSizeFragment.java index a5b69d786..25927e4b3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewCustomGridSizeFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewCustomGridSizeFragment.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivity.library.pager; import android.os.Bundle; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import com.kabouzeid.gramophone.R; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewFragment.java index c5e50aaa2..bd08cabdc 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewFragment.java @@ -1,13 +1,13 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivity.library.pager; import android.os.Bundle; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; -import android.support.design.widget.AppBarLayout; -import android.support.design.widget.AppBarLayout.OnOffsetChangedListener; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import com.google.android.material.appbar.AppBarLayout; +import com.google.android.material.appbar.AppBarLayout.OnOffsetChangedListener; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java index dfa05dd51..033031297 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java @@ -2,10 +2,10 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.GridLayoutManager; +import androidx.annotation.NonNull; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.GridLayoutManager; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.album.AlbumAdapter; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java index 80b78dc45..6a276e96d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java @@ -2,10 +2,10 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.GridLayoutManager; +import androidx.annotation.NonNull; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.GridLayoutManager; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.artist.ArtistAdapter; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java index e856b6ab6..ee623ac0d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java @@ -2,10 +2,10 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.LinearLayoutManager; +import androidx.annotation.NonNull; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.LinearLayoutManager; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.GenreAdapter; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/PlaylistsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/PlaylistsFragment.java index 5fda764f9..b71de6322 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/PlaylistsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/PlaylistsFragment.java @@ -2,10 +2,10 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.LinearLayoutManager; +import androidx.annotation.NonNull; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.LinearLayoutManager; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.PlaylistAdapter; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/SongsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/SongsFragment.java index 455ce9be8..63ee2542d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/SongsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/SongsFragment.java @@ -2,10 +2,10 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.support.v7.widget.GridLayoutManager; +import androidx.annotation.NonNull; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.GridLayoutManager; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.song.ShuffleButtonSongAdapter; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java index 09ea86aa5..6de995d71 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java @@ -2,8 +2,8 @@ import android.content.Context; import android.content.Intent; -import android.support.annotation.Nullable; -import android.support.v7.widget.Toolbar; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.Toolbar; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/MiniPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/MiniPlayerFragment.java index bd2af36e0..e1468296f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/MiniPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/MiniPlayerFragment.java @@ -4,8 +4,8 @@ import android.content.res.ColorStateList; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.view.GestureDetector; import android.view.LayoutInflater; import android.view.MotionEvent; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/NowPlayingScreen.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/NowPlayingScreen.java index 32f002470..196c25f7a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/NowPlayingScreen.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/NowPlayingScreen.java @@ -1,7 +1,7 @@ package com.kabouzeid.gramophone.ui.fragments.player; -import android.support.annotation.DrawableRes; -import android.support.annotation.StringRes; +import androidx.annotation.DrawableRes; +import androidx.annotation.StringRes; import com.kabouzeid.gramophone.R; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java index 723f021d9..814483bd5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java @@ -2,8 +2,8 @@ import android.animation.Animator; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.view.ViewPager; +import androidx.annotation.NonNull; +import androidx.viewpager.widget.ViewPager; import android.view.GestureDetector; import android.view.LayoutInflater; import android.view.MotionEvent; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java index 722b643c8..f7f6074e1 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java @@ -9,14 +9,14 @@ import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; -import android.support.annotation.ColorInt; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.CardView; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.Toolbar; +import androidx.annotation.ColorInt; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.cardview.widget.CardView; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.Menu; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerPlaybackControlsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerPlaybackControlsFragment.java index e855dba04..d0cdc1e72 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerPlaybackControlsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerPlaybackControlsFragment.java @@ -3,8 +3,8 @@ import android.graphics.Color; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.design.widget.FloatingActionButton; +import androidx.annotation.NonNull; +import com.google.android.material.floatingactionbutton.FloatingActionButton; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java index 48ac0d02f..948d043cf 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java @@ -8,13 +8,13 @@ import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; -import android.support.annotation.ColorInt; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.Toolbar; +import androidx.annotation.ColorInt; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.Menu; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerPlaybackControlsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerPlaybackControlsFragment.java index b7b7f467d..b24ef929b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerPlaybackControlsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerPlaybackControlsFragment.java @@ -7,8 +7,8 @@ import android.graphics.Color; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.view.animation.FastOutSlowInInterpolator; +import androidx.annotation.NonNull; +import androidx.interpolator.view.animation.FastOutSlowInInterpolator; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/ArtistSignatureUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/ArtistSignatureUtil.java index cef28810a..25269a69f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/ArtistSignatureUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/ArtistSignatureUtil.java @@ -3,7 +3,7 @@ import android.annotation.SuppressLint; import android.content.Context; import android.content.SharedPreferences; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.bumptech.glide.signature.StringSignature; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/CustomArtistImageUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/CustomArtistImageUtil.java index 3a796bf1a..6e640ff7a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/CustomArtistImageUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/CustomArtistImageUtil.java @@ -7,7 +7,7 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.AsyncTask; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.widget.Toast; import com.bumptech.glide.Glide; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/FileUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/FileUtil.java index 05f512706..51019b9be 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/FileUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/FileUtil.java @@ -3,8 +3,8 @@ import android.content.Context; import android.database.Cursor; import android.provider.MediaStore; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.webkit.MimeTypeMap; import com.kabouzeid.gramophone.loader.SongLoader; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/ImageUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/ImageUtil.java index 1100e0c5f..47e50ffd7 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/ImageUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/ImageUtil.java @@ -7,12 +7,12 @@ import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.os.Build; -import android.support.annotation.AttrRes; -import android.support.annotation.ColorInt; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.graphics.drawable.VectorDrawableCompat; +import androidx.annotation.AttrRes; +import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat; import com.kabouzeid.appthemehelper.util.TintHelper; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java index 24f569cb3..b4ee40ef8 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java @@ -11,9 +11,9 @@ import android.provider.BaseColumns; import android.provider.MediaStore; import android.provider.Settings; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.content.FileProvider; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.content.FileProvider; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; @@ -28,7 +28,6 @@ import com.kabouzeid.gramophone.model.Playlist; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.lyrics.AbsSynchronizedLyrics; -import com.kabouzeid.gramophone.util.MusicUtil; import org.jaudiotagger.audio.AudioFileIO; import org.jaudiotagger.tag.FieldKey; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/NavigationUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/NavigationUtil.java index 32a217635..a6709e012 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/NavigationUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/NavigationUtil.java @@ -4,10 +4,10 @@ import android.content.ActivityNotFoundException; import android.content.Intent; import android.media.audiofx.AudioEffect; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.ActivityOptionsCompat; -import android.support.v4.util.Pair; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.app.ActivityOptionsCompat; +import androidx.core.util.Pair; import android.widget.Toast; import com.kabouzeid.gramophone.R; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PhonographColorUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PhonographColorUtil.java index 77d6e0c93..0143d3faf 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PhonographColorUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PhonographColorUtil.java @@ -1,9 +1,9 @@ package com.kabouzeid.gramophone.util; import android.graphics.Bitmap; -import android.support.annotation.ColorInt; -import android.support.annotation.Nullable; -import android.support.v7.graphics.Palette; +import androidx.annotation.ColorInt; +import androidx.annotation.Nullable; +import androidx.palette.graphics.Palette; import com.kabouzeid.appthemehelper.util.ColorUtil; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PlaylistsUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PlaylistsUtil.java index 7f900cac3..d287d780f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PlaylistsUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PlaylistsUtil.java @@ -8,8 +8,8 @@ import android.os.Environment; import android.provider.BaseColumns; import android.provider.MediaStore; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.widget.Toast; import com.kabouzeid.gramophone.R; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index 6eecd2f55..87065559a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -6,8 +6,8 @@ import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.preference.PreferenceManager; -import android.support.annotation.NonNull; -import android.support.annotation.StyleRes; +import androidx.annotation.NonNull; +import androidx.annotation.StyleRes; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/SwipeAndDragHelper.java b/app/src/main/java/com/kabouzeid/gramophone/util/SwipeAndDragHelper.java index 3e28263d0..51c1dca04 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/SwipeAndDragHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/SwipeAndDragHelper.java @@ -1,8 +1,8 @@ package com.kabouzeid.gramophone.util; import android.graphics.Canvas; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.helper.ItemTouchHelper; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.ItemTouchHelper; public class SwipeAndDragHelper extends ItemTouchHelper.Callback { diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/Util.java b/app/src/main/java/com/kabouzeid/gramophone/util/Util.java index 51454f8df..4500b89f4 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/Util.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/Util.java @@ -8,9 +8,9 @@ import android.content.res.TypedArray; import android.graphics.Point; import android.os.Build; -import android.support.annotation.AttrRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.AttrRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.util.TypedValue; import android.view.Display; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java index ca5db1095..ff8b596ed 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java @@ -12,7 +12,7 @@ import android.graphics.drawable.RippleDrawable; import android.graphics.drawable.StateListDrawable; import android.os.Build; -import android.support.annotation.ColorInt; +import androidx.annotation.ColorInt; import android.util.DisplayMetrics; import android.view.View; import android.view.animation.PathInterpolator; diff --git a/app/src/main/java/com/kabouzeid/gramophone/views/BreadCrumbLayout.java b/app/src/main/java/com/kabouzeid/gramophone/views/BreadCrumbLayout.java index d5dccff95..155076601 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/views/BreadCrumbLayout.java +++ b/app/src/main/java/com/kabouzeid/gramophone/views/BreadCrumbLayout.java @@ -5,8 +5,8 @@ import android.os.Build; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.ColorInt; -import android.support.annotation.NonNull; +import androidx.annotation.ColorInt; +import androidx.annotation.NonNull; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/java/com/kabouzeid/gramophone/views/IconImageView.java b/app/src/main/java/com/kabouzeid/gramophone/views/IconImageView.java index 14e92b9be..d9bae1e3c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/views/IconImageView.java +++ b/app/src/main/java/com/kabouzeid/gramophone/views/IconImageView.java @@ -2,7 +2,7 @@ import android.content.Context; import android.graphics.PorterDuff; -import android.support.v7.widget.AppCompatImageView; +import androidx.appcompat.widget.AppCompatImageView; import android.util.AttributeSet; import com.kabouzeid.appthemehelper.util.ATHUtil; diff --git a/app/src/main/java/com/kabouzeid/gramophone/views/PlayPauseDrawable.java b/app/src/main/java/com/kabouzeid/gramophone/views/PlayPauseDrawable.java index d8f91dc22..f624ee1b6 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/views/PlayPauseDrawable.java +++ b/app/src/main/java/com/kabouzeid/gramophone/views/PlayPauseDrawable.java @@ -13,7 +13,7 @@ import android.graphics.PixelFormat; import android.graphics.Rect; import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.util.Property; import android.view.animation.DecelerateInterpolator; diff --git a/app/src/main/res/layout-land/fragment_card_player.xml b/app/src/main/res/layout-land/fragment_card_player.xml index 51886f1ca..234fedb62 100644 --- a/app/src/main/res/layout-land/fragment_card_player.xml +++ b/app/src/main/res/layout-land/fragment_card_player.xml @@ -15,7 +15,7 @@ - @@ -75,7 +75,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - - + diff --git a/app/src/main/res/layout-land/fragment_flat_player.xml b/app/src/main/res/layout-land/fragment_flat_player.xml index 65a8a1dfa..2498679aa 100644 --- a/app/src/main/res/layout-land/fragment_flat_player.xml +++ b/app/src/main/res/layout-land/fragment_flat_player.xml @@ -23,7 +23,7 @@ - @@ -95,7 +95,7 @@ android:textAppearance="@style/TextAppearance.AppCompat.Body2" android:textColor="?android:textColorSecondary" /> - - diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 5795ba59c..d2a36bd8e 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -8,7 +8,7 @@ - diff --git a/app/src/main/res/layout/activity_album_detail.xml b/app/src/main/res/layout/activity_album_detail.xml index b2d188f66..1dd1b7608 100644 --- a/app/src/main/res/layout/activity_album_detail.xml +++ b/app/src/main/res/layout/activity_album_detail.xml @@ -14,7 +14,7 @@ android:elevation="@dimen/toolbar_elevation" tools:ignore="UnusedAttribute"> - diff --git a/app/src/main/res/layout/activity_album_tag_editor.xml b/app/src/main/res/layout/activity_album_tag_editor.xml index 2ca7ab235..8a4559a3c 100644 --- a/app/src/main/res/layout/activity_album_tag_editor.xml +++ b/app/src/main/res/layout/activity_album_tag_editor.xml @@ -47,7 +47,7 @@ android:paddingTop="8dp" tools:ignore="UnusedAttribute"> - @@ -63,7 +63,7 @@ android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textColor="@color/ate_primary_text_dark" /> - + @@ -76,7 +76,7 @@ android:orientation="vertical" android:padding="16dp"> - @@ -92,9 +92,9 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.AppCompat.Title" /> - + - @@ -110,9 +110,9 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.AppCompat.Title" /> - + - @@ -128,7 +128,7 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.AppCompat.Title" /> - + @@ -141,14 +141,14 @@ android:layout_height="?android:attr/actionBarSize" android:background="@drawable/shadow_down" /> - - - diff --git a/app/src/main/res/layout/activity_bug_report.xml b/app/src/main/res/layout/activity_bug_report.xml index 3af3baf75..d170b22c3 100644 --- a/app/src/main/res/layout/activity_bug_report.xml +++ b/app/src/main/res/layout/activity_bug_report.xml @@ -7,17 +7,17 @@ android:focusableInTouchMode="true" android:orientation="vertical"> - - - + - @@ -57,7 +57,7 @@ - - diff --git a/app/src/main/res/layout/activity_main_drawer_layout.xml b/app/src/main/res/layout/activity_main_drawer_layout.xml index f70e53454..36cd1fed8 100644 --- a/app/src/main/res/layout/activity_main_drawer_layout.xml +++ b/app/src/main/res/layout/activity_main_drawer_layout.xml @@ -1,5 +1,5 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_playlist_detail.xml b/app/src/main/res/layout/activity_playlist_detail.xml index 27a7e2be5..dd879b53e 100644 --- a/app/src/main/res/layout/activity_playlist_detail.xml +++ b/app/src/main/res/layout/activity_playlist_detail.xml @@ -16,7 +16,7 @@ android:elevation="@dimen/toolbar_elevation" tools:ignore="UnusedAttribute"> - diff --git a/app/src/main/res/layout/activity_preferences.xml b/app/src/main/res/layout/activity_preferences.xml index 653ae7bc1..2f25857ed 100644 --- a/app/src/main/res/layout/activity_preferences.xml +++ b/app/src/main/res/layout/activity_preferences.xml @@ -6,7 +6,7 @@ - diff --git a/app/src/main/res/layout/activity_purchase.xml b/app/src/main/res/layout/activity_purchase.xml index 43a0d19a4..de7374538 100644 --- a/app/src/main/res/layout/activity_purchase.xml +++ b/app/src/main/res/layout/activity_purchase.xml @@ -8,7 +8,7 @@ - - - + - - + diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index b4268a140..4b3b12ae6 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -6,7 +6,7 @@ - @@ -14,7 +14,7 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - @@ -55,9 +55,9 @@ android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textColor="@color/ate_primary_text_dark" /> - + - @@ -72,7 +72,7 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textColor="@color/ate_primary_text_dark" /> - + @@ -85,7 +85,7 @@ android:orientation="vertical" android:padding="16dp"> - @@ -101,9 +101,9 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.AppCompat.Title" /> - + - @@ -119,9 +119,9 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.AppCompat.Title" /> - + - @@ -137,9 +137,9 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.AppCompat.Title" /> - + - @@ -155,9 +155,9 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.AppCompat.Title" /> - + - @@ -172,7 +172,7 @@ android:inputType="textMultiLine" android:textAppearance="@style/TextAppearance.AppCompat.Title" /> - + @@ -180,7 +180,7 @@ - - - - - - + diff --git a/app/src/main/res/layout/bug_report_card_report.xml b/app/src/main/res/layout/bug_report_card_report.xml index 5f4f37f42..56940021b 100644 --- a/app/src/main/res/layout/bug_report_card_report.xml +++ b/app/src/main/res/layout/bug_report_card_report.xml @@ -1,5 +1,5 @@ - - - - + - - - + - - - + - - - + @@ -185,4 +185,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/card_about_app.xml b/app/src/main/res/layout/card_about_app.xml index 38abd7302..1778914bb 100644 --- a/app/src/main/res/layout/card_about_app.xml +++ b/app/src/main/res/layout/card_about_app.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/card_author.xml b/app/src/main/res/layout/card_author.xml index 66c5f6d18..6ce79c99c 100644 --- a/app/src/main/res/layout/card_author.xml +++ b/app/src/main/res/layout/card_author.xml @@ -1,5 +1,5 @@ - - + diff --git a/app/src/main/res/layout/card_special_thanks.xml b/app/src/main/res/layout/card_special_thanks.xml index 179cabc14..5d70a1be1 100644 --- a/app/src/main/res/layout/card_special_thanks.xml +++ b/app/src/main/res/layout/card_special_thanks.xml @@ -1,5 +1,5 @@ - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/card_support_development.xml b/app/src/main/res/layout/card_support_development.xml index 048a18fae..dbe7c4e46 100644 --- a/app/src/main/res/layout/card_support_development.xml +++ b/app/src/main/res/layout/card_support_development.xml @@ -1,5 +1,5 @@ - - + diff --git a/app/src/main/res/layout/fragment_card_player.xml b/app/src/main/res/layout/fragment_card_player.xml index 4af471370..c8c6d2171 100644 --- a/app/src/main/res/layout/fragment_card_player.xml +++ b/app/src/main/res/layout/fragment_card_player.xml @@ -73,7 +73,7 @@ android:layout_width="match_parent" android:layout_height="@dimen/status_bar_padding" /> - @@ -92,7 +92,7 @@ android:layout_marginTop="@dimen/status_bar_padding" android:orientation="vertical"> - - - + diff --git a/app/src/main/res/layout/fragment_card_player_playback_controls.xml b/app/src/main/res/layout/fragment_card_player_playback_controls.xml index d12ce3fe2..ae2969f49 100644 --- a/app/src/main/res/layout/fragment_card_player_playback_controls.xml +++ b/app/src/main/res/layout/fragment_card_player_playback_controls.xml @@ -123,7 +123,7 @@ android:layout_height="56dp" android:layout_centerInParent="true" /> - - @@ -123,7 +123,7 @@ android:textAppearance="@style/TextAppearance.AppCompat.Body2" android:textColor="?android:textColorSecondary" /> - - - - - + - + - + diff --git a/app/src/main/res/layout/fragment_library.xml b/app/src/main/res/layout/fragment_library.xml index cc0669a12..9dbb04640 100644 --- a/app/src/main/res/layout/fragment_library.xml +++ b/app/src/main/res/layout/fragment_library.xml @@ -1,12 +1,12 @@ - - - - + - - + - - + diff --git a/app/src/main/res/layout/fragment_player_album_cover.xml b/app/src/main/res/layout/fragment_player_album_cover.xml index 17e13007f..1d140e637 100644 --- a/app/src/main/res/layout/fragment_player_album_cover.xml +++ b/app/src/main/res/layout/fragment_player_album_cover.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - @@ -46,7 +46,7 @@ - - + diff --git a/app/src/main/res/layout/navigation_drawer_header.xml b/app/src/main/res/layout/navigation_drawer_header.xml index 8e77bef64..c12a71776 100644 --- a/app/src/main/res/layout/navigation_drawer_header.xml +++ b/app/src/main/res/layout/navigation_drawer_header.xml @@ -1,4 +1,4 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/preference_dialog_library_categories.xml b/app/src/main/res/layout/preference_dialog_library_categories.xml index c06c64744..e3f54417e 100644 --- a/app/src/main/res/layout/preference_dialog_library_categories.xml +++ b/app/src/main/res/layout/preference_dialog_library_categories.xml @@ -1,12 +1,12 @@ - - - + diff --git a/app/src/main/res/layout/preference_dialog_now_playing_screen.xml b/app/src/main/res/layout/preference_dialog_now_playing_screen.xml index fe602a11d..c66c835de 100644 --- a/app/src/main/res/layout/preference_dialog_now_playing_screen.xml +++ b/app/src/main/res/layout/preference_dialog_now_playing_screen.xml @@ -5,7 +5,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - \ No newline at end of file diff --git a/app/src/main/res/values/styles_parents.xml b/app/src/main/res/values/styles_parents.xml index df2c893e9..a6eefee54 100644 --- a/app/src/main/res/values/styles_parents.xml +++ b/app/src/main/res/values/styles_parents.xml @@ -27,7 +27,7 @@ @style/Widget.ActionButton.Overflow - @style/PreferenceThemeOverlay.v14.Material + @style/PreferenceThemeOverlay