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 4f5c5a9b..6f509260 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 @@ -189,6 +189,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH applyPalette(result); } else { albumArtImageView.setImageResource(R.drawable.default_album_art); + resetColors(); } if (Util.hasLollipopSDK()) startPostponedEnterTransition(); } @@ -210,11 +211,26 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH notifyTaskColorChange(toolbarColor); if (Util.hasLollipopSDK() && PreferenceUtils.getInstance(AlbumDetailActivity.this).coloredNavigationBarAlbumEnabled()) getWindow().setNavigationBarColor(toolbarColor); + } else { + resetColors(); } } }); } + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + private void resetColors() { + int titleTextColor = DialogUtils.resolveColor(this, R.attr.title_text_color); + int defaultBarColor = DialogUtils.resolveColor(this, R.attr.default_bar_color); + + toolbarColor = defaultBarColor; + albumTitleView.setBackgroundColor(defaultBarColor); + albumTitleView.setTextColor(titleTextColor); + + if (Util.hasLollipopSDK() && PreferenceUtils.getInstance(this).coloredNavigationBarArtistEnabled()) + getWindow().setNavigationBarColor(DialogUtils.resolveColor(this, R.attr.default_bar_color)); + } + @Override protected boolean overrideTaskColor() { return true; 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 c44ad4d4..95194e8d 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 @@ -3,6 +3,7 @@ package com.kabouzeid.gramophone.ui.activities.tageditor; import android.annotation.TargetApi; import android.app.SearchManager; import android.content.Intent; +import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.MediaScannerConnection; @@ -320,11 +321,15 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity { Util.hideSoftKeyboard(this); final String writingFileStr = getResources().getString(R.string.writing_file_number); final String savingStr = getResources().getString(R.string.saving_changes); + final String rescanningStr = getResources().getString(R.string.rescanning_changed_files); + //TODO dialog currently disappears on orientation change and using DialogFragment causes an exception for some reason final MaterialDialog progressDialog = new MaterialDialog.Builder(AbsTagEditorActivity.this) .title(savingStr) .cancelable(false) .progress(true, 0) .build(); + if (Build.VERSION.SDK_INT >= 18) + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED); progressDialog.show(); new Thread(new Runnable() { @Override @@ -369,13 +374,24 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity { Ion.getDefault(AbsTagEditorActivity.this).getBitmapCache().clear(); Ion.getDefault(AbsTagEditorActivity.this).getCache().clear(); } - progressDialog.dismiss(); - rescanMedia(); + runOnUiThread(new Runnable() { + @Override + public void run() { + progressDialog.setContent(rescanningStr); + } + }); + rescanMediaAndQuitOnFinish(new OnScannedAllListener() { + @Override + public void onScannedAll() { + progressDialog.dismiss(); + finish(); + } + }); } }).start(); } - private void rescanMedia() { + private void rescanMediaAndQuitOnFinish(final OnScannedAllListener listener) { String[] toBeScanned = new String[songPaths.size()]; toBeScanned = songPaths.toArray(toBeScanned); final int toBeScannedLength = toBeScanned.length; @@ -390,7 +406,7 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity { if (i == 0 || i == toBeScannedLength - 1) { App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.DATABASE_CHANGED)); if (i == toBeScannedLength - 1) - finish(); + listener.onScannedAll(); } i++; } @@ -505,4 +521,8 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity { } return null; } + + private interface OnScannedAllListener { + void onScannedAll(); + } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5f38539f..d6a77248 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -126,6 +126,7 @@ Album footers in the grid are colored with the album cover\'s palette. Unable to download the art for this album. Search your library… + Rescanning changed files Download from Last.fm