diff --git a/app/build.gradle b/app/build.gradle
index e184499d..197aa1b7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -23,8 +23,8 @@ android {
applicationId "com.kabouzeid.gramophone"
minSdkVersion 16
targetSdkVersion 22
- versionCode 16
- versionName "0.9.8b"
+ versionCode 17
+ versionName "0.9.7.1b"
}
compileOptions {
@@ -60,7 +60,7 @@ dependencies {
compile 'com.melnykov:floatingactionbutton:1.3.0'
compile 'com.github.ksoichiro:android-observablescrollview:1.5.0'
compile 'com.mcxiaoke.volley:library:1.0.15'
- compile 'com.squareup.picasso:picasso:2.5.0'
+ compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.squareup:otto:1.3.6'
compile 'com.squareup.okhttp:okhttp:2.2.0'
compile 'asia.ivity.android:drag-sort-listview:1.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 638672a2..a2858ff7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -5,7 +5,6 @@
-
{
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
+ if(item.getItemId() == R.id.action_remove_from_playing_queue) {
+ MusicPlayerRemote.removeFromQueue(position);
+ notifyDataSetChanged();
+ return true;
+ }
return MenuItemClickHelper.handleSongMenuClick(activity, song, item);
}
});
diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/PlaylistSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/PlaylistSongAdapter.java
index 7d0a4dc5..c1cadf60 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/PlaylistSongAdapter.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/PlaylistSongAdapter.java
@@ -19,6 +19,7 @@ import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil;
+import com.kabouzeid.gramophone.util.PlaylistsUtil;
import com.squareup.picasso.Picasso;
import java.util.List;
@@ -89,6 +90,11 @@ public class PlaylistSongAdapter extends RecyclerView.Adapter 0) {
+ item.setChecked(true);
+ if (isAlbumPage()) {
+ getAlbumFragment().setColumns(size);
+ if (Util.isInPortraitMode(this)) {
+ PreferenceUtils.getInstance(this).setAlbumGridColumns(size);
+ } else {
+ PreferenceUtils.getInstance(this).setAlbumGridColumnsLand(size);
+ }
+ }
+ return true;
+ }
+ return false;
+ }
}
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java
index 84d9c4de..dd130829 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java
@@ -2,10 +2,7 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
-import android.util.Log;
-import android.view.GestureDetector;
import android.view.LayoutInflater;
-import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
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 30cf4c52..0c033fea 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
@@ -2,9 +2,12 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
+import android.widget.Toast;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.AlbumAdapter;
+import com.kabouzeid.gramophone.util.PreferenceUtils;
+import com.kabouzeid.gramophone.util.Util;
/**
* Created by karim on 22.11.14.
@@ -12,6 +15,8 @@ import com.kabouzeid.gramophone.adapter.AlbumAdapter;
public class AlbumViewFragment extends AbsMainActivityRecyclerViewFragment {
public static final String TAG = AlbumViewFragment.class.getSimpleName();
+ private GridLayoutManager layoutManager;
+
@Override
protected int getLayoutResId() {
return R.layout.fragment_album_view;
@@ -19,11 +24,18 @@ public class AlbumViewFragment extends AbsMainActivityRecyclerViewFragment {
@Override
protected RecyclerView.LayoutManager createLayoutManager() {
- return new GridLayoutManager(getActivity(), getResources().getInteger(R.integer.grid_columns));
+ int columns = Util.isInPortraitMode(getActivity()) ? PreferenceUtils.getInstance(getActivity()).getAlbumGridColumns() : PreferenceUtils.getInstance(getActivity()).getAlbumGridColumnsLand();
+ layoutManager = new GridLayoutManager(getActivity(), columns);
+ return layoutManager;
}
@Override
protected RecyclerView.Adapter createAdapter() {
return new AlbumAdapter(getActivity());
}
+
+ public void setColumns(int columns) {
+ layoutManager.setSpanCount(columns);
+ layoutManager.requestLayout();
+ }
}
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 ab9963e5..dde89f0d 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java
@@ -8,58 +8,26 @@ import com.kabouzeid.gramophone.R;
public final class PreferenceUtils {
- /* Default start page (Album page) */
public static final int DEFAULT_PAGE = 1;
-
public static final String GENERAL_THEME = "general_theme";
-
- /* Saves the last page the pager was on in {@link MainActivity} */
public static final String DEFAULT_START_PAGE = "default_start_page";
-
- /* Saves the last page the pager was on in {@link MainActivity} */
public static final String LAST_START_PAGE = "last_start_page";
-
- // Sort order for the artist list
public static final String ARTIST_SORT_ORDER = "artist_sort_order";
-
- // Sort order for the artist song list
public static final String ARTIST_SONG_SORT_ORDER = "artist_song_sort_order";
-
- // Sort order for the artist album list
public static final String ARTIST_ALBUM_SORT_ORDER = "artist_album_sort_order";
-
- // Sort order for the album list
public static final String ALBUM_SORT_ORDER = "album_sort_order";
-
- // Sort order for the album song list
public static final String ALBUM_SONG_SORT_ORDER = "album_song_sort_order";
-
- // Sort order for the song list
public static final String SONG_SORT_ORDER = "song_sort_order";
-
- // Key used to download images only on Wi-Fi
public static final String ONLY_ON_WIFI = "auto_download_artist_images";
-
- // Key that gives permissions to download missing artist images
public static final String DOWNLOAD_MISSING_ARTIST_IMAGES = "auto_download_artist_images";
-
- // Key used to en or disable palette
public static final String COLORED_ALBUM_FOOTERS = "colored_album_footers";
-
- // Key used to en or disable the colored navigation bar
public static final String COLORED_NAVIGATION_BAR_ALBUM = "colored_navigation_bar_album";
-
- // Key used to en or disable the colored navigation bar
public static final String COLORED_NAVIGATION_BAR_ARTIST = "colored_navigation_bar_artist";
-
- // Key used to en or disable the colored navigation bar
public static final String COLORED_NAVIGATION_BAR_CURRENT_PLAYING = "colored_navigation_bar_current_playing_enabled";
-
- // 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";
+ public static final String ALBUM_GRID_COLUMNS = "album_grid_columns";
+ public static final String ALBUM_GRID_COLUMNS_LAND = "album_grid_columns_land";
private static PreferenceUtils sInstance;
@@ -77,8 +45,8 @@ public final class PreferenceUtils {
}
public int getGeneralTheme() {
- int value = Integer.parseInt(mPreferences.getString(GENERAL_THEME, "1"));
- switch (value){
+ int value = Integer.parseInt(mPreferences.getString(GENERAL_THEME, "1"));
+ switch (value) {
case 0:
return R.style.Theme_MaterialMusic_Light;
case 1:
@@ -261,4 +229,24 @@ public final class PreferenceUtils {
public final String getSongSortOrder() {
return mPreferences.getString(SONG_SORT_ORDER, SortOrder.SongSortOrder.SONG_A_Z);
}
+
+ public void setAlbumGridColumns(final int value) {
+ final SharedPreferences.Editor editor = mPreferences.edit();
+ editor.putInt(ALBUM_GRID_COLUMNS, value);
+ editor.apply();
+ }
+
+ public final int getAlbumGridColumns() {
+ return mPreferences.getInt(ALBUM_GRID_COLUMNS, 2);
+ }
+
+ public void setAlbumGridColumnsLand(final int value) {
+ final SharedPreferences.Editor editor = mPreferences.edit();
+ editor.putInt(ALBUM_GRID_COLUMNS_LAND, value);
+ editor.apply();
+ }
+
+ public final int getAlbumGridColumnsLand() {
+ return mPreferences.getInt(ALBUM_GRID_COLUMNS_LAND, 3);
+ }
}
diff --git a/app/src/main/res/layout/fragment_songview.xml b/app/src/main/res/layout/fragment_songview.xml
index e4a51263..e0de623a 100644
--- a/app/src/main/res/layout/fragment_songview.xml
+++ b/app/src/main/res/layout/fragment_songview.xml
@@ -13,6 +13,5 @@
android:clipToPadding="false"
android:dividerHeight="0px"
android:divider="@null"
- android:numColumns="@integer/grid_columns"
android:scrollbars="vertical"/>
diff --git a/app/src/main/res/menu/menu_albums.xml b/app/src/main/res/menu/menu_albums.xml
new file mode 100644
index 00000000..3791c90a
--- /dev/null
+++ b/app/src/main/res/menu/menu_albums.xml
@@ -0,0 +1,66 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-land/integers.xml b/app/src/main/res/values-land/integers.xml
deleted file mode 100644
index 6f0860c5..00000000
--- a/app/src/main/res/values-land/integers.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- 3
-
\ No newline at end of file
diff --git a/app/src/main/res/values-sw600dp-land/integers.xml b/app/src/main/res/values-sw600dp-land/integers.xml
deleted file mode 100644
index 8928c17d..00000000
--- a/app/src/main/res/values-sw600dp-land/integers.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- 6
-
\ No newline at end of file
diff --git a/app/src/main/res/values-sw600dp/integers.xml b/app/src/main/res/values-sw600dp/integers.xml
deleted file mode 100644
index 57abde48..00000000
--- a/app/src/main/res/values-sw600dp/integers.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- 4
-
\ No newline at end of file
diff --git a/app/src/main/res/values/integers.xml b/app/src/main/res/values/integers.xml
deleted file mode 100644
index ef15fe51..00000000
--- a/app/src/main/res/values/integers.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- 2
-
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5526cbe4..efa1f30f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -79,6 +79,8 @@
Inserted\u0020
\u0020titles to playlist\u0020
New playlist
+ Grid columns
+ Grid columns (Land)
Cancel
Created playlist\u0020
Deleted playlist\u0020