diff --git a/.idea/copyright/Mit.xml b/.idea/copyright/Mit.xml deleted file mode 100644 index e3676e3..0000000 --- a/.idea/copyright/Mit.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/libraries/appcompat_v7_22_1_1.xml b/.idea/libraries/appcompat_v7_22_1_1.xml index 1a3326a..922ba24 100644 --- a/.idea/libraries/appcompat_v7_22_1_1.xml +++ b/.idea/libraries/appcompat_v7_22_1_1.xml @@ -1,11 +1,11 @@ - + - - + + diff --git a/.idea/libraries/support_v4_22_1_1.xml b/.idea/libraries/support_v4_22_1_1.xml index c4d8988..dba4a27 100644 --- a/.idea/libraries/support_v4_22_1_1.xml +++ b/.idea/libraries/support_v4_22_1_1.xml @@ -1,9 +1,9 @@ - - - + + + diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/PlayMusicExporterGit.iml b/PlayMusicExporterGit.iml index ccde83c..a25d277 100644 --- a/PlayMusicExporterGit.iml +++ b/PlayMusicExporterGit.iml @@ -8,7 +8,7 @@ - + diff --git a/framework/framework.iml b/framework/framework.iml index e3174a4..1f4bfda 100644 --- a/framework/framework.iml +++ b/framework/framework.iml @@ -12,10 +12,12 @@ - + diff --git a/playmusicexporter/playmusicexporter.iml b/playmusicexporter/playmusicexporter.iml index b0eec71..c8fa681 100644 --- a/playmusicexporter/playmusicexporter.iml +++ b/playmusicexporter/playmusicexporter.iml @@ -12,10 +12,12 @@ - + diff --git a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/actionmode/ActionModeTitle.java b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/actionmode/ActionModeTitle.java index 022a180..c409918 100644 --- a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/actionmode/ActionModeTitle.java +++ b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/actionmode/ActionModeTitle.java @@ -60,8 +60,7 @@ public class ActionModeTitle implements ActionMode.Callback { MenuInflater inflater = mode.getMenuInflater(); inflater.inflate(R.menu.action_mode_selection, menu); - //mode.setSubtitle("TEST"); - mode.setTitleOptionalHint(true); + return true; } @@ -71,6 +70,9 @@ public class ActionModeTitle implements ActionMode.Callback { public boolean onPrepareActionMode(ActionMode mode, Menu menu) { updateViews(); + // Update the title + mode.setTitle(mContext.getString(R.string.action_mode_track_selection, mSelectionList.getSelectedItems().size())); + return false; // Return false if nothing is done } @@ -85,8 +87,16 @@ public class ActionModeTitle implements ActionMode.Callback { selectedTrack.export(mContext); } + // Clear the selection + SelectedTrackList.getInstance().clear(); + // Close the action mode - mode.finish(); + //mode.finish(); + return true; + case R.id.action_deselect_all: + // Clear the selection + SelectedTrackList.getInstance().clear(); + return true; default: return false; diff --git a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/activities/MusicContainerListActivity.java b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/activities/MusicContainerListActivity.java index 2b287c4..7350174 100644 --- a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/activities/MusicContainerListActivity.java +++ b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/activities/MusicContainerListActivity.java @@ -41,6 +41,7 @@ import de.arcus.playmusicexporter2.R; import de.arcus.playmusicexporter2.fragments.MusicTrackListFragment; import de.arcus.playmusicexporter2.fragments.MusicContainerListFragment; import de.arcus.playmusicexporter2.fragments.NavigationDrawerFragment; +import de.arcus.playmusicexporter2.items.SelectedTrackList; import de.arcus.playmusiclib.PlayMusicManager; import de.arcus.playmusiclib.datasources.AlbumDataSource; import de.arcus.playmusiclib.datasources.ArtistDataSource; @@ -160,6 +161,9 @@ public class MusicContainerListActivity extends AppCompatActivity // Loads the list mViewType = mNavigationDrawerFragment.getViewType(); loadList(); + + // Setup the selection list for this activity + SelectedTrackList.getInstance().setupActionMode(this); } /** diff --git a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/activities/MusicTrackListActivity.java b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/activities/MusicTrackListActivity.java index 66cac8b..edf4058 100644 --- a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/activities/MusicTrackListActivity.java +++ b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/activities/MusicTrackListActivity.java @@ -32,6 +32,7 @@ import android.view.MenuItem; import de.arcus.framework.crashhandler.CrashHandler; import de.arcus.playmusicexporter2.R; import de.arcus.playmusicexporter2.fragments.MusicTrackListFragment; +import de.arcus.playmusicexporter2.items.SelectedTrackList; import de.arcus.playmusiclib.PlayMusicManager; import de.arcus.playmusiclib.items.MusicTrackList; @@ -102,6 +103,9 @@ public class MusicTrackListActivity extends AppCompatActivity { .add(R.id.track_detail_container, fragment) .commit(); } + + // Setup the selection list for this activity + SelectedTrackList.getInstance().setupActionMode(this); } @Override @@ -129,6 +133,7 @@ public class MusicTrackListActivity extends AppCompatActivity { MusicTrackListFragment musicTrackDetailFragment = (MusicTrackListFragment) getSupportFragmentManager() .findFragmentById(R.id.track_detail_container); - musicTrackDetailFragment.updateListView(); + if (musicTrackDetailFragment != null) + musicTrackDetailFragment.updateListView(); } } diff --git a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/fragments/MusicContainerListFragment.java b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/fragments/MusicContainerListFragment.java index 4fd7e8d..db19b75 100644 --- a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/fragments/MusicContainerListFragment.java +++ b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/fragments/MusicContainerListFragment.java @@ -25,6 +25,7 @@ package de.arcus.playmusicexporter2.fragments; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.ListFragment; +import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.ListView; @@ -33,6 +34,7 @@ import java.util.ArrayList; import java.util.List; import de.arcus.playmusicexporter2.adapter.MusicContainerListAdapter; +import de.arcus.playmusicexporter2.items.SelectedTrackList; import de.arcus.playmusiclib.items.MusicTrackList; /** @@ -130,7 +132,7 @@ public class MusicContainerListFragment extends ListFragment { mMusicTrackListAdapter = new MusicContainerListAdapter(getActivity()); - + // Setup the list view setListAdapter(mMusicTrackListAdapter); } diff --git a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/fragments/MusicTrackListFragment.java b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/fragments/MusicTrackListFragment.java index b21ce0a..67a9d76 100644 --- a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/fragments/MusicTrackListFragment.java +++ b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/fragments/MusicTrackListFragment.java @@ -104,9 +104,6 @@ public class MusicTrackListFragment extends Fragment { mMusicTrackList = MusicTrackList.deserialize(playMusicManager, id, type); } } - - // Setup the selection list for this activity - SelectedTrackList.getInstance().setupActionMode((AppCompatActivity)getActivity()); } @Override @@ -146,10 +143,6 @@ public class MusicTrackListFragment extends Fragment { musicTrackAdapter.setList(mMusicTrackList.getMusicTrackList()); mListView.setAdapter(musicTrackAdapter); - //listView.setDrawSelectorOnTop(false); - mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); - mListView.setItemsCanFocus(false); - // Click on one list item mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { diff --git a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/utils/ArtworkViewLoader.java b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/utils/ArtworkViewLoader.java index d8aaa9b..e14381e 100644 --- a/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/utils/ArtworkViewLoader.java +++ b/playmusicexporter/src/main/java/de/arcus/playmusicexporter2/utils/ArtworkViewLoader.java @@ -27,6 +27,8 @@ import android.widget.ImageView; import java.lang.ref.WeakReference; +import de.arcus.framework.logger.Logger; +import de.arcus.playmusicexporter2.R; import de.arcus.playmusiclib.ArtworkLoader; import de.arcus.playmusiclib.ArtworkLoaderCallback; import de.arcus.playmusiclib.items.ArtworkEntry; @@ -74,6 +76,11 @@ public class ArtworkViewLoader { * @param defaultImage The default image in case the image could not be loaded */ public static void loadImage(ArtworkEntry artworkEntry, ImageView imageView, int defaultImage) { + // No artwork + if (artworkEntry.getArtworkLocation() == null) { + return; + } + // Checks for an old artwork loader on this image view ArtworkViewLoader imageViewLoader = (ArtworkViewLoader)imageView.getTag(); @@ -112,7 +119,7 @@ public class ArtworkViewLoader { int maximalArtworkSize = 0; if (imageViewDefault != null) { // The maximum artwork size - maximalArtworkSize = imageViewDefault.getWidth(); + maximalArtworkSize = imageViewDefault.getContext().getResources().getDimensionPixelSize(R.dimen.music_track_artwork_loading_size); // Sets the bitmap in the UI thread Runnable runnable = new Runnable() { @@ -126,6 +133,8 @@ public class ArtworkViewLoader { imageViewDefault.post(runnable); } + + // Start loading mIsLoading = true; diff --git a/playmusicexporter/src/main/res/drawable-hdpi/ic_action_select_none.png b/playmusicexporter/src/main/res/drawable-hdpi/ic_action_select_none.png new file mode 100755 index 0000000..6db7076 Binary files /dev/null and b/playmusicexporter/src/main/res/drawable-hdpi/ic_action_select_none.png differ diff --git a/playmusicexporter/src/main/res/drawable-mdpi/ic_action_select_none.png b/playmusicexporter/src/main/res/drawable-mdpi/ic_action_select_none.png new file mode 100755 index 0000000..cff4eb9 Binary files /dev/null and b/playmusicexporter/src/main/res/drawable-mdpi/ic_action_select_none.png differ diff --git a/playmusicexporter/src/main/res/drawable-xhdpi/ic_action_select_none.png b/playmusicexporter/src/main/res/drawable-xhdpi/ic_action_select_none.png new file mode 100755 index 0000000..d3ecde5 Binary files /dev/null and b/playmusicexporter/src/main/res/drawable-xhdpi/ic_action_select_none.png differ diff --git a/playmusicexporter/src/main/res/drawable-xxhdpi/ic_action_select_none.png b/playmusicexporter/src/main/res/drawable-xxhdpi/ic_action_select_none.png new file mode 100755 index 0000000..c51c9a8 Binary files /dev/null and b/playmusicexporter/src/main/res/drawable-xxhdpi/ic_action_select_none.png differ diff --git a/playmusicexporter/src/main/res/menu/action_mode_selection.xml b/playmusicexporter/src/main/res/menu/action_mode_selection.xml index 934b3c8..1cb90e6 100644 --- a/playmusicexporter/src/main/res/menu/action_mode_selection.xml +++ b/playmusicexporter/src/main/res/menu/action_mode_selection.xml @@ -27,6 +27,11 @@ android:icon="@drawable/ic_action_select_all" app:showAsAction="ifRoom" /> + + Benutzerdefinierter Pfad Maximale Artworkgröße Wenn die Größe des Artworks größer als der eingestellte Wert ist, wird das Artwork auf diesen Wert runter skalliert. + %d Titel ausgewählt \ No newline at end of file diff --git a/playmusicexporter/src/main/res/values/dimens.xml b/playmusicexporter/src/main/res/values/dimens.xml index 9089ed7..e9518fa 100644 --- a/playmusicexporter/src/main/res/values/dimens.xml +++ b/playmusicexporter/src/main/res/values/dimens.xml @@ -25,6 +25,7 @@ 86dp 128dp 86dp + 86dp 280dp \ No newline at end of file diff --git a/playmusicexporter/src/main/res/values/strings.xml b/playmusicexporter/src/main/res/values/strings.xml index f607b95..409ac30 100644 --- a/playmusicexporter/src/main/res/values/strings.xml +++ b/playmusicexporter/src/main/res/values/strings.xml @@ -27,6 +27,7 @@ Track Detail Select all + Deselect all Export Play Share @@ -110,4 +111,5 @@ Support me Donate to me via PayPal + %d tracks selected diff --git a/playmusiclib/playmusiclib.iml b/playmusiclib/playmusiclib.iml index d2c9ede..f6ff216 100644 --- a/playmusiclib/playmusiclib.iml +++ b/playmusiclib/playmusiclib.iml @@ -12,10 +12,12 @@ - +