From 2f17819dbb5bacf12591a2836c6a0c0672f3f591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?yJan=20Christian=20Gr=C3=BCnhage?= Date: Wed, 29 Mar 2017 00:31:10 +0200 Subject: [PATCH] Version Bump, changing a lot of minor stuff suggested by Android Studio. --- build.gradle | 2 +- .../de/arcus/framework/utils/FileTools.java | 5 +- playmusicexporter/build.gradle | 4 +- .../playmusicexporter/activities/Intro.java | 1 - .../activities/SettingsActivity.java | 76 ++++++++----------- .../fragments/MusicContainerListFragment.java | 12 +-- .../fragments/MusicTrackListFragment.java | 52 ++++++------- .../fragments/NavigationDrawerFragment.java | 49 +++--------- .../services/ExportAllService.java | 5 -- .../services/ExportService.java | 6 -- .../utils/ArtworkViewLoader.java | 57 ++++++-------- .../button_navigation_drawer_normal.xml | 31 -------- .../button_navigation_drawer_selected.xml | 31 -------- .../button_navigation_drawer_normal.xml | 12 ++- .../button_navigation_drawer_selected.xml | 12 ++- .../arcus/playmusiclib/PlayMusicManager.java | 5 +- 16 files changed, 111 insertions(+), 249 deletions(-) delete mode 100644 playmusicexporter/src/main/res/drawable-v21/button_navigation_drawer_normal.xml delete mode 100644 playmusicexporter/src/main/res/drawable-v21/button_navigation_drawer_selected.xml diff --git a/build.gradle b/build.gradle index d40fe08..34e6830 100644 --- a/build.gradle +++ b/build.gradle @@ -27,7 +27,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.4.0-alpha3' + classpath 'com.android.tools.build:gradle:2.3.0' } } diff --git a/framework/src/main/java/de/arcus/framework/utils/FileTools.java b/framework/src/main/java/de/arcus/framework/utils/FileTools.java index 7e4173c..b6a0c45 100644 --- a/framework/src/main/java/de/arcus/framework/utils/FileTools.java +++ b/framework/src/main/java/de/arcus/framework/utils/FileTools.java @@ -29,6 +29,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -309,9 +310,7 @@ public class FileTools { } // Remove all blacklisted paths - for (String blacklistPath : mountPointBlacklist) { - storages.remove(blacklistPath); - } + storages.removeAll(Arrays.asList(mountPointBlacklist)); // Sort the list Collections.sort(storages); diff --git a/playmusicexporter/build.gradle b/playmusicexporter/build.gradle index 2ec692f..954e749 100644 --- a/playmusicexporter/build.gradle +++ b/playmusicexporter/build.gradle @@ -31,8 +31,8 @@ android { minSdkVersion 21 targetSdkVersion 25 // TODO Change Version with releases - versionCode 109 - versionName '0.9.5.2' + versionCode 110 + versionName '0.9.6.0' vectorDrawables.useSupportLibrary = true jackOptions { diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/Intro.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/Intro.java index 3676a14..fa1d05a 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/Intro.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/Intro.java @@ -4,7 +4,6 @@ import android.Manifest; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Color; -import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.support.annotation.Nullable; diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/SettingsActivity.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/SettingsActivity.java index db1aee2..22ee299 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/SettingsActivity.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/SettingsActivity.java @@ -25,7 +25,6 @@ import re.jcg.playmusicexporter.settings.PlayMusicExporterPreferences; import java.text.SimpleDateFormat; import java.util.List; -import java.util.stream.Collectors; /** * A {@link PreferenceActivity} that presents a set of application settings. On @@ -47,31 +46,28 @@ public class SettingsActivity extends AppCompatPreferenceActivity { * A preference value change listener that updates the preference's summary * to reflect its new value. */ - private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() { - @Override - public boolean onPreferenceChange(Preference preference, Object value) { - String stringValue = value.toString(); + private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = (preference, value) -> { + String stringValue = value.toString(); - if (preference instanceof ListPreference) { - // For list preferences, look up the correct display value in - // the preference's 'entries' list. - ListPreference listPreference = (ListPreference) preference; - int index = listPreference.findIndexOfValue(stringValue); + if (preference instanceof ListPreference) { + // For list preferences, look up the correct display value in + // the preference's 'entries' list. + ListPreference listPreference = (ListPreference) preference; + int index = listPreference.findIndexOfValue(stringValue); - // Set the summary to reflect the new value. - preference.setSummary( - index >= 0 - ? listPreference.getEntries()[index] - : null); + // Set the summary to reflect the new value. + preference.setSummary( + index >= 0 + ? listPreference.getEntries()[index] + : null); - } else { - // For all other preferences, set the summary to the value's - // simple string representation. - preference.setSummary(stringValue); - } - - return true; + } else { + // For all other preferences, set the summary to the value's + // simple string representation. + preference.setSummary(stringValue); } + + return true; }; /** @@ -154,19 +150,13 @@ public class SettingsActivity extends AppCompatPreferenceActivity { setHasOptionsMenu(true); - findPreference("preference_alba_export_path").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - startActivityForResult(new Intent("android.intent.action.OPEN_DOCUMENT_TREE"), REQUEST_CODE_OPEN_DOCUMENT_TREE_ALBA_PATH); - return true; - } + findPreference("preference_alba_export_path").setOnPreferenceClickListener(preference -> { + startActivityForResult(new Intent("android.intent.action.OPEN_DOCUMENT_TREE"), REQUEST_CODE_OPEN_DOCUMENT_TREE_ALBA_PATH); + return true; }); - findPreference("preference_groups_export_path").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - startActivityForResult(new Intent("android.intent.action.OPEN_DOCUMENT_TREE"), REQUEST_CODE_OPEN_DOCUMENT_TREE_GROUPS_PATH); - return true; - } + findPreference("preference_groups_export_path").setOnPreferenceClickListener(preference -> { + startActivityForResult(new Intent("android.intent.action.OPEN_DOCUMENT_TREE"), REQUEST_CODE_OPEN_DOCUMENT_TREE_GROUPS_PATH); + return true; }); } @@ -240,12 +230,9 @@ public class SettingsActivity extends AppCompatPreferenceActivity { } private void setupOnClickListeners() { - findPreference(PlayMusicExporterPreferences.AUTO_EXPORT_PATH).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - startActivityForResult(new Intent("android.intent.action.OPEN_DOCUMENT_TREE"), REQUEST_CODE_OPEN_DOCUMENT_TREE_AUTO_PATH); - return true; - } + findPreference(PlayMusicExporterPreferences.AUTO_EXPORT_PATH).setOnPreferenceClickListener(preference -> { + startActivityForResult(new Intent("android.intent.action.OPEN_DOCUMENT_TREE"), REQUEST_CODE_OPEN_DOCUMENT_TREE_AUTO_PATH); + return true; }); //For every setting that is used to define the export job, setup a listener that @@ -256,12 +243,9 @@ public class SettingsActivity extends AppCompatPreferenceActivity { } private void setupRescheduler(String preference) { - findPreference(preference).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - ExportAllJob.scheduleExport(getContext()); - return false; - } + findPreference(preference).setOnPreferenceClickListener(preference1 -> { + ExportAllJob.scheduleExport(getContext()); + return false; }); } diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/MusicContainerListFragment.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/MusicContainerListFragment.java index fcc971f..b68d09c 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/MusicContainerListFragment.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/MusicContainerListFragment.java @@ -79,10 +79,7 @@ public class MusicContainerListFragment extends ListFragment { * A dummy implementation of the {@link Callbacks} interface that does * nothing. Used only when this fragment is not attached to an activity. */ - private static Callbacks sDummyCallbacks = new Callbacks() { - @Override - public void onItemSelected(MusicTrackList musicTrackList) { - } + private static Callbacks sDummyCallbacks = musicTrackList -> { }; private MusicContainerListAdapter mMusicTrackListAdapter; @@ -112,9 +109,7 @@ public class MusicContainerListFragment extends ListFragment { // Null check if (list != null) { // Copy the list - for (MusicTrackList musicTrackList : list) { - newList.add(musicTrackList); - } + newList.addAll(list); } // Set the list in the adapter @@ -145,7 +140,8 @@ public class MusicContainerListFragment extends ListFragment { setActivatedPosition(savedInstanceState.getInt(STATE_ACTIVATED_POSITION)); } } -// DEPRECATED + + // DEPRECATED @Override public void onAttach(Context context) { super.onAttach(context); diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/MusicTrackListFragment.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/MusicTrackListFragment.java index defe8fe..b8454f5 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/MusicTrackListFragment.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/MusicTrackListFragment.java @@ -32,7 +32,6 @@ import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.AdapterView; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; @@ -197,43 +196,36 @@ public class MusicTrackListFragment extends Fragment { mListView.setAdapter(mMusicTrackAdapter); // Click on one list item - mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - // The header is not clicked - if (position > 0) { - // We need to subtract the header view - position -= 1; + mListView.setOnItemClickListener((parent, view, position, id) -> { + // The header is not clicked + if (position > 0) { + // We need to subtract the header view + position -= 1; - // Gets the selected track - MusicTrack musicTrack = mMusicTrackAdapter.getItem(position); + // Gets the selected track + MusicTrack musicTrack = mMusicTrackAdapter.getItem(position); - // Toggle the track - selectTrack(musicTrack, view, TrackSelectionState.Toggle); - } + // Toggle the track + selectTrack(musicTrack, view, TrackSelectionState.Toggle); } }); // The floating action button mFloatingButtonExport = (FloatingActionButton) rootView.findViewById(R.id.floating_button_export); - mFloatingButtonExport.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) - { - m_CPULock.acquire(); - // Export all selected tracks - for (SelectedTrack selectedTrack : SelectedTrackList.getInstance().getSelectedItems()) { - selectedTrack.export(getActivity()); - } - - if ( m_CPULock.isHeld()) - { - m_CPULock.release(); - } - - // Clear the selection - SelectedTrackList.getInstance().clear(true); + mFloatingButtonExport.setOnClickListener(v -> { + m_CPULock.acquire(); + // Export all selected tracks + for (SelectedTrack selectedTrack : SelectedTrackList.getInstance().getSelectedItems()) { + selectedTrack.export(getActivity()); } + + if ( m_CPULock.isHeld()) + { + m_CPULock.release(); + } + + // Clear the selection + SelectedTrackList.getInstance().clear(true); }); updateFloatingButton(); } diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/NavigationDrawerFragment.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/NavigationDrawerFragment.java index 321dd89..2adde17 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/NavigationDrawerFragment.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/fragments/NavigationDrawerFragment.java @@ -22,7 +22,6 @@ package re.jcg.playmusicexporter.fragments; -import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; @@ -160,47 +159,24 @@ public class NavigationDrawerFragment extends Fragment { setViewType(mViewType); // Click on album - mButtonTypeAlbum.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - setViewType(ViewType.Album); - } - }); + mButtonTypeAlbum.setOnClickListener(v -> setViewType(ViewType.Album)); // Click on artist - mButtonTypeArtist.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - setViewType(ViewType.Artist); - } - }); + mButtonTypeArtist.setOnClickListener(v -> setViewType(ViewType.Artist)); // Click on playlist - mButtonTypePlaylist.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - setViewType(ViewType.Playlist); - } - }); + mButtonTypePlaylist.setOnClickListener(v -> setViewType(ViewType.Playlist)); // Click on rated - mButtonTypeRated.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - setViewType(ViewType.Rated); - } - }); + mButtonTypeRated.setOnClickListener(v -> setViewType(ViewType.Rated)); // Click on settings - mButtonSettings.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intentSettings = new Intent(getActivity(), SettingsActivity.class); - startActivity(intentSettings); + mButtonSettings.setOnClickListener(v -> { + Intent intentSettings = new Intent(getActivity(), SettingsActivity.class); + startActivity(intentSettings); - // Close the drawer - mDrawerLayout.closeDrawers(); - } + // Close the drawer + mDrawerLayout.closeDrawers(); }); // Color the settings button @@ -307,12 +283,7 @@ public class NavigationDrawerFragment extends Fragment { } // Defer code dependent on restoration of previous instance state. - mDrawerLayout.post(new Runnable() { - @Override - public void run() { - mDrawerToggle.syncState(); - } - }); + mDrawerLayout.post(mDrawerToggle::syncState); mDrawerLayout.setDrawerListener(mDrawerToggle); } diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllService.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllService.java index 00a2977..f136677 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllService.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportAllService.java @@ -7,11 +7,6 @@ import android.net.Uri; import android.os.PowerManager; import android.util.Log; -import com.mpatric.mp3agic.InvalidDataException; -import com.mpatric.mp3agic.NotSupportedException; -import com.mpatric.mp3agic.UnsupportedTagException; - -import java.io.IOException; import java.util.List; import ly.count.android.sdk.Countly; diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportService.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportService.java index 8fa970f..b151357 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportService.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/services/ExportService.java @@ -30,12 +30,6 @@ import android.net.Uri; import android.os.Bundle; import android.support.v4.app.NotificationCompat; -import com.mpatric.mp3agic.InvalidDataException; -import com.mpatric.mp3agic.NotSupportedException; -import com.mpatric.mp3agic.UnsupportedTagException; - -import java.io.IOException; - import de.arcus.framework.logger.Logger; import ly.count.android.sdk.Countly; import re.jcg.playmusicexporter.R; diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/utils/ArtworkViewLoader.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/utils/ArtworkViewLoader.java index c4822bc..c359e62 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/utils/ArtworkViewLoader.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/utils/ArtworkViewLoader.java @@ -22,14 +22,12 @@ package re.jcg.playmusicexporter.utils; -import android.graphics.Bitmap; import android.widget.ImageView; import java.lang.ref.WeakReference; import re.jcg.playmusicexporter.R; import de.arcus.playmusiclib.ArtworkLoader; -import de.arcus.playmusiclib.ArtworkLoaderCallback; import de.arcus.playmusiclib.items.ArtworkEntry; /** @@ -121,13 +119,10 @@ public class ArtworkViewLoader { maximalArtworkSize = imageViewDefault.getContext().getResources().getDimensionPixelSize(R.dimen.music_track_artwork_loading_size); // Sets the bitmap in the UI thread - Runnable runnable = new Runnable() { - @Override - public void run() { - // Default icon - imageViewDefault.setImageResource(mDefaultImage); + Runnable runnable = () -> { + // Default icon + imageViewDefault.setImageResource(mDefaultImage); - } }; imageViewDefault.post(runnable); } @@ -138,36 +133,30 @@ public class ArtworkViewLoader { mIsLoading = true; // Load the artwork - ArtworkLoader.loadArtworkAsync(mArtworkEntry, maximalArtworkSize, new ArtworkLoaderCallback() { - @Override - public void onFinished(final Bitmap bitmap) { - final ImageView imageView = mImageView.get(); + ArtworkLoader.loadArtworkAsync(mArtworkEntry, maximalArtworkSize, bitmap -> { + final ImageView imageView = mImageView.get(); - if (imageViewDefault != null) { - // Sets the bitmap in the UI thread - Runnable runnable = new Runnable() { - @Override - public void run() { - // Bitmap is valid - if (bitmap != null) - imageView.setImageBitmap(bitmap); - else - imageView.setImageResource(mDefaultImage); - } - }; - imageView.post(runnable); - } + if (imageViewDefault != null) { + // Sets the bitmap in the UI thread + Runnable runnable = () -> { + // Bitmap is valid + if (bitmap != null) + imageView.setImageBitmap(bitmap); + else + imageView.setImageResource(mDefaultImage); + }; + imageView.post(runnable); + } - // Loading is done - mIsLoading = false; + // Loading is done + mIsLoading = false; - // Loads the next image - if (mNewArtworkEntry != null) { - mArtworkEntry = mNewArtworkEntry; - mNewArtworkEntry = null; + // Loads the next image + if (mNewArtworkEntry != null) { + mArtworkEntry = mNewArtworkEntry; + mNewArtworkEntry = null; - loadImage(); - } + loadImage(); } }); } diff --git a/playmusicexporter/src/main/res/drawable-v21/button_navigation_drawer_normal.xml b/playmusicexporter/src/main/res/drawable-v21/button_navigation_drawer_normal.xml deleted file mode 100644 index 62a8436..0000000 --- a/playmusicexporter/src/main/res/drawable-v21/button_navigation_drawer_normal.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/playmusicexporter/src/main/res/drawable-v21/button_navigation_drawer_selected.xml b/playmusicexporter/src/main/res/drawable-v21/button_navigation_drawer_selected.xml deleted file mode 100644 index 7110152..0000000 --- a/playmusicexporter/src/main/res/drawable-v21/button_navigation_drawer_selected.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/playmusicexporter/src/main/res/drawable/button_navigation_drawer_normal.xml b/playmusicexporter/src/main/res/drawable/button_navigation_drawer_normal.xml index 32cc3ba..62a8436 100644 --- a/playmusicexporter/src/main/res/drawable/button_navigation_drawer_normal.xml +++ b/playmusicexporter/src/main/res/drawable/button_navigation_drawer_normal.xml @@ -21,7 +21,11 @@ ~ THE SOFTWARE. --> - - - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/playmusicexporter/src/main/res/drawable/button_navigation_drawer_selected.xml b/playmusicexporter/src/main/res/drawable/button_navigation_drawer_selected.xml index 755155d..7110152 100644 --- a/playmusicexporter/src/main/res/drawable/button_navigation_drawer_selected.xml +++ b/playmusicexporter/src/main/res/drawable/button_navigation_drawer_selected.xml @@ -21,7 +21,11 @@ ~ THE SOFTWARE. --> - - - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/playmusiclib/src/main/java/de/arcus/playmusiclib/PlayMusicManager.java b/playmusiclib/src/main/java/de/arcus/playmusiclib/PlayMusicManager.java index 445dc89..48bca36 100644 --- a/playmusiclib/src/main/java/de/arcus/playmusiclib/PlayMusicManager.java +++ b/playmusiclib/src/main/java/de/arcus/playmusiclib/PlayMusicManager.java @@ -25,7 +25,6 @@ package de.arcus.playmusiclib; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; -import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.graphics.Bitmap; @@ -33,10 +32,8 @@ import android.net.Uri; import android.os.Build; import android.os.Environment; import android.os.ParcelFileDescriptor; -import android.support.v4.content.FileProvider; import android.support.v4.provider.DocumentFile; import android.text.TextUtils; -import android.util.Log; import com.mpatric.mp3agic.ID3v1Genres; import com.mpatric.mp3agic.ID3v1Tag; @@ -557,7 +554,7 @@ public class PlayMusicManager { DocumentFile document = DocumentFile.fromTreeUri(mContext, uri); // Creates the subdirectories - String[] directories = path.split("\\/"); + String[] directories = path.split("/"); for (int i = 0; i < directories.length - 1; i++) { String directoryName = directories[i]; boolean found = false;