diff --git a/app/build.gradle b/app/build.gradle index 62ce08bc..fbc11ef5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -23,8 +23,8 @@ android { applicationId "com.kabouzeid.gramophone" minSdkVersion 16 targetSdkVersion 22 - versionCode 7 - versionName "0.9.4b" + versionCode 8 + versionName "0.9.4.1b" } compileOptions { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 54e0153c..07a6c12b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -61,7 +61,7 @@ android:label="@string/title_activity_search" > - + diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/NavigationDrawerItemAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/NavigationDrawerItemAdapter.java index 8e62c9e6..eb800edd 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/NavigationDrawerItemAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/NavigationDrawerItemAdapter.java @@ -43,7 +43,7 @@ public class NavigationDrawerItemAdapter extends ArrayAdapter { int accentColor = Util.resolveColor(activity, R.attr.colorAccent); holder.songTitle.setText(activity.getResources().getString(R.string.shuffle_all).toUpperCase()); holder.songTitle.setTextColor(accentColor); + holder.songTitle.setTypeface(Typeface.create("sans-serif-medium", Typeface.NORMAL)); holder.songInfo.setVisibility(View.GONE); holder.overflowButton.setVisibility(View.GONE); final int padding = activity.getResources().getDimensionPixelSize(R.dimen.default_item_margin) / 2; diff --git a/app/src/main/java/com/kabouzeid/gramophone/widget/MusicPlayerWidget.java b/app/src/main/java/com/kabouzeid/gramophone/appwidget/MusicPlayerWidget.java similarity index 98% rename from app/src/main/java/com/kabouzeid/gramophone/widget/MusicPlayerWidget.java rename to app/src/main/java/com/kabouzeid/gramophone/appwidget/MusicPlayerWidget.java index 6a6aef18..af861192 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/widget/MusicPlayerWidget.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidget/MusicPlayerWidget.java @@ -1,4 +1,4 @@ -package com.kabouzeid.gramophone.widget; +package com.kabouzeid.gramophone.appwidget; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java index 96db26f0..2eb771c2 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java @@ -136,7 +136,7 @@ public class PlayingNotificationHelper { private void setUpCollapsedLayout(final Song song) { notificationLayout.setTextViewText(R.id.song_title, song.title); - notificationLayout.setTextViewText(R.id.song_artist, song.title); + notificationLayout.setTextViewText(R.id.song_artist, song.artistName); } private void setUpExpandedLayout(final Song song) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/UiPreferenceChangedEvent.java b/app/src/main/java/com/kabouzeid/gramophone/model/UiPreferenceChangedEvent.java index 5a5f3538..d589289e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/UiPreferenceChangedEvent.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/UiPreferenceChangedEvent.java @@ -9,6 +9,7 @@ public class UIPreferenceChangedEvent { public static final int COLORED_NAVIGATION_BAR_ARTIST_CHANGED = 2; public static final int COLORED_NAVIGATION_BAR_ALBUM_CHANGED = 3; public static final int PLAYBACK_CONTROLLER_CARD_CHANGED = 4; + public static final int TOOLBAR_TRANSPARENT_CHANGED = 5; private int action; private Object value; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsFabActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsFabActivity.java index 2c21168f..1c2a5db2 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsFabActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsFabActivity.java @@ -35,7 +35,8 @@ public abstract class AbsFabActivity extends AbsBaseActivity { super.onPostCreate(savedInstanceState); try { App.bus.register(busEventListener); - } catch (Exception ignored) {} + } catch (Exception ignored) { + } setUpFab(); } @@ -64,14 +65,6 @@ public abstract class AbsFabActivity extends AbsBaseActivity { } }); - getFab().setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - Toast.makeText(AbsFabActivity.this, getResources().getString(R.string.hint_fling_to_open), Toast.LENGTH_SHORT).show(); - return true; - } - }); - getFab().setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { @@ -141,7 +134,8 @@ public abstract class AbsFabActivity extends AbsBaseActivity { super.onDestroy(); try { App.bus.unregister(busEventListener); - } catch (Exception ignored) {} + } catch (Exception ignored) { + } } public void onMusicRemoteEvent(MusicRemoteEvent event) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/SongViewFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java similarity index 65% rename from app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/SongViewFragment.java rename to app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java index 250ea78f..ec3f744f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/SongViewFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java @@ -1,26 +1,22 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments; import android.os.Bundle; -import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.kabouzeid.gramophone.R; -import com.kabouzeid.gramophone.adapter.songadapter.SongAdapter; /** - * Created by karim on 29.12.14. + * Created by karim on 30.03.15. */ -public class SongViewFragment extends AbsMainActivityFragment { - public static final String TAG = SongViewFragment.class.getSimpleName(); - +public abstract class AbsMainActivityRecyclerViewFragment extends AbsMainActivityFragment { private RecyclerView recyclerView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_songview, container, false); + return inflater.inflate(getLayoutResId(), container, false); } @Override @@ -31,9 +27,9 @@ public class SongViewFragment extends AbsMainActivityFragment { } private void setUpRecyclerView() { - recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 1)); + recyclerView.setLayoutManager(getLayoutManager()); recyclerView.setPadding(0, getTopPadding(), 0, getBottomPadding()); - recyclerView.setAdapter(new SongAdapter(getActivity())); + recyclerView.setAdapter(getAdapter()); } @Override @@ -47,4 +43,14 @@ public class SongViewFragment extends AbsMainActivityFragment { super.disableViews(); recyclerView.setEnabled(false); } + + protected abstract int getLayoutResId(); + + protected abstract RecyclerView.LayoutManager getLayoutManager(); + + protected abstract RecyclerView.Adapter getAdapter(); + + public RecyclerView getRecyclerView() { + return recyclerView; + } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AlbumViewFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AlbumViewFragment.java index 97b785da..eaf38105 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AlbumViewFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AlbumViewFragment.java @@ -1,49 +1,29 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments; -import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import com.kabouzeid.gramophone.App; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.AlbumAdapter; -import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent; -import com.squareup.otto.Subscribe; /** * Created by karim on 22.11.14. */ -public class AlbumViewFragment extends AbsMainActivityFragment { +public class AlbumViewFragment extends AbsMainActivityRecyclerViewFragment { public static final String TAG = AlbumViewFragment.class.getSimpleName(); - private RecyclerView recyclerView; - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_album_view, container, false); - recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); - setUpRecyclerView(); - return view; - } - - private void setUpRecyclerView() { - recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2)); - recyclerView.setPadding(0, getTopPadding(), 0, getBottomPadding()); - recyclerView.setAdapter(new AlbumAdapter(getActivity())); + protected int getLayoutResId() { + return R.layout.fragment_album_view; } @Override - public void enableViews() { - super.enableViews(); - recyclerView.setEnabled(true); + protected RecyclerView.LayoutManager getLayoutManager() { + return new GridLayoutManager(getActivity(), 2); } @Override - public void disableViews() { - super.disableViews(); - recyclerView.setEnabled(false); + protected RecyclerView.Adapter getAdapter() { + return new AlbumAdapter(getActivity()); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/ArtistViewFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/ArtistViewFragment.java index e401e5e3..ab94cb25 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/ArtistViewFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/ArtistViewFragment.java @@ -1,48 +1,27 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments; -import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.ArtistAdapter; -public class ArtistViewFragment extends AbsMainActivityFragment { +public class ArtistViewFragment extends AbsMainActivityRecyclerViewFragment { public static final String TAG = ArtistViewFragment.class.getSimpleName(); - private RecyclerView recyclerView; - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_artist_view, container, false); + protected int getLayoutResId() { + return R.layout.fragment_artist_view; } @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); - setUpRecyclerView(); - } - - private void setUpRecyclerView() { - recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 1)); - recyclerView.setPadding(0, getTopPadding(), 0, getBottomPadding()); - recyclerView.setAdapter(new ArtistAdapter(getActivity())); + protected RecyclerView.LayoutManager getLayoutManager() { + return new GridLayoutManager(getActivity(), 1); } @Override - public void enableViews() { - super.enableViews(); - recyclerView.setEnabled(true); - } - - @Override - public void disableViews() { - super.disableViews(); - recyclerView.setEnabled(false); + protected RecyclerView.Adapter getAdapter() { + return new ArtistAdapter(getActivity()); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/PlaylistViewFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/PlaylistViewFragment.java index ff8a47c3..73927dab 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/PlaylistViewFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/PlaylistViewFragment.java @@ -1,55 +1,27 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments; -import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.PlaylistAdapter; -public class PlaylistViewFragment extends AbsMainActivityFragment { +public class PlaylistViewFragment extends AbsMainActivityRecyclerViewFragment { public static final String TAG = PlaylistViewFragment.class.getSimpleName(); - private RecyclerView recyclerView; - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_playlist_view, container, false); + protected int getLayoutResId() { + return R.layout.fragment_playlist_view; } @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); - setUpRecyclerView(); - } - - private void setUpRecyclerView() { - recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 1)); - recyclerView.setPadding(0, getTopPadding(), 0, getBottomPadding()); - setUpAdapter(); - } - - private void setUpAdapter() { - if (recyclerView != null) { - PlaylistAdapter adapter = new PlaylistAdapter(getActivity()); - recyclerView.setAdapter(adapter); - } + protected RecyclerView.LayoutManager getLayoutManager() { + return new GridLayoutManager(getActivity(), 1); } @Override - public void enableViews() { - super.enableViews(); - recyclerView.setEnabled(true); - } - - @Override - public void disableViews() { - super.disableViews(); - recyclerView.setEnabled(false); + protected RecyclerView.Adapter getAdapter() { + return new PlaylistAdapter(getActivity()); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/view/SquareImageView.java b/app/src/main/java/com/kabouzeid/gramophone/ui/widget/SquareImageView.java similarity index 93% rename from app/src/main/java/com/kabouzeid/gramophone/view/SquareImageView.java rename to app/src/main/java/com/kabouzeid/gramophone/ui/widget/SquareImageView.java index be4530ce..5726e3ac 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/view/SquareImageView.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/widget/SquareImageView.java @@ -1,4 +1,4 @@ -package com.kabouzeid.gramophone.view; +package com.kabouzeid.gramophone.ui.widget; import android.content.Context; import android.util.AttributeSet; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java index 31775234..ab9963e5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java @@ -58,6 +58,9 @@ public final class PreferenceUtils { // Key used to en or disable the colored navigation bar public static final String PLAYBACK_CONTROLLER_BOX = "playback_controller_card"; + /* Saves the last page the pager was on in {@link MainActivity} */ + public static final String TRANSPARENT_TOOLBAR = "transparent_toolbar"; + private static PreferenceUtils sInstance; private final SharedPreferences mPreferences; @@ -182,6 +185,16 @@ public final class PreferenceUtils { editor.apply(); } + public final boolean transparentToolbar() { + return mPreferences.getBoolean(TRANSPARENT_TOOLBAR, true); + } + + public void setTransparentToolbar(final boolean value) { + final SharedPreferences.Editor editor = mPreferences.edit(); + editor.putBoolean(TRANSPARENT_TOOLBAR, value); + editor.apply(); + } + public final boolean downloadMissingArtistImages() { return mPreferences.getBoolean(DOWNLOAD_MISSING_ARTIST_IMAGES, true); } diff --git a/app/src/main/res/drawable/list_item_activated.xml b/app/src/main/res/drawable/list_item_activated.xml index 5c1a210f..1fd2fcde 100755 --- a/app/src/main/res/drawable/list_item_activated.xml +++ b/app/src/main/res/drawable/list_item_activated.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/list_item_activated_dark.xml b/app/src/main/res/drawable/list_item_activated_dark.xml index a0aa840f..c4018240 100755 --- a/app/src/main/res/drawable/list_item_activated_dark.xml +++ b/app/src/main/res/drawable/list_item_activated_dark.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_music_controller.xml b/app/src/main/res/layout-land/activity_music_controller.xml index a934c207..7800386b 100644 --- a/app/src/main/res/layout-land/activity_music_controller.xml +++ b/app/src/main/res/layout-land/activity_music_controller.xml @@ -54,10 +54,12 @@ android:fontFamily="sans-serif-medium" android:gravity="bottom|left" android:singleLine="true" + android:textSize="14dp" android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textColor="@color/white"/> 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 cc6f16dd..928b37bb 100644 --- a/app/src/main/res/layout/activity_album_tag_editor.xml +++ b/app/src/main/res/layout/activity_album_tag_editor.xml @@ -1,6 +1,5 @@ - @@ -60,7 +62,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/media_controller_container" - android:background="@color/materialmusic_default_bar_color" + android:background="?default_bar_color" android:orientation="vertical" android:paddingBottom="16dp" android:paddingLeft="72dp" diff --git a/app/src/main/res/layout/activity_song_tag_editor.xml b/app/src/main/res/layout/activity_song_tag_editor.xml index 550d6617..eca27e7f 100644 --- a/app/src/main/res/layout/activity_song_tag_editor.xml +++ b/app/src/main/res/layout/activity_song_tag_editor.xml @@ -15,7 +15,7 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - diff --git a/app/src/main/res/layout/item_grid_album.xml b/app/src/main/res/layout/item_grid_album.xml index ed7dd5d7..9bfe85f5 100644 --- a/app/src/main/res/layout/item_grid_album.xml +++ b/app/src/main/res/layout/item_grid_album.xml @@ -14,7 +14,7 @@ android:gravity="center" android:orientation="vertical"> - diff --git a/app/src/main/res/layout/item_grid_artist_album.xml b/app/src/main/res/layout/item_grid_artist_album.xml index 9d252055..93040f87 100644 --- a/app/src/main/res/layout/item_grid_artist_album.xml +++ b/app/src/main/res/layout/item_grid_artist_album.xml @@ -8,7 +8,7 @@ android:foreground="?rect_selector"> @@ -24,7 +24,7 @@ android:id="@+id/footer" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/materialmusic_default_bar_color"> + android:background="?default_bar_color"> - - - - - diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 8b654267..ee91b998 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -13,9 +13,9 @@ @color/grey_300 #0C000000 @color/white - @color/grey_800 + #8A000000 @color/materialmusic_accent_color - #D0D0D0 + #D0D0D0 @color/indigo_500 @@ -29,12 +29,15 @@ @color/grey_900 @color/white @color/materialmusic_dark_accent_color - #55000000 + #55000000 #D0D0D0 #30FFFFFF + #FFFFFF + #99FFFFFF + #29ffffff \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 2b2af6b1..fbc2f5b2 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -13,10 +13,11 @@