From cafd1081ca0cd5cffceb4ec5b83b981e5a1c1556 Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Sun, 15 Feb 2015 12:36:13 +0100 Subject: [PATCH] Upgraded Material Dialogs - native material progress dialog - auto hide keyboard when saving --- app/build.gradle | 4 +-- .../tageditor/AbsTagEditorActivity.java | 10 ++++---- .../kabouzeid/materialmusic/util/Util.java | 13 ++++++++++ app/src/main/res/layout/dialog_loading.xml | 25 ------------------- app/src/main/res/values/strings.xml | 1 + 5 files changed, 20 insertions(+), 33 deletions(-) delete mode 100644 app/src/main/res/layout/dialog_loading.xml diff --git a/app/build.gradle b/app/build.gradle index 37fff9a6..004da96c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,12 +55,10 @@ dependencies { compile 'com.github.ksoichiro:android-observablescrollview:1.3.0' compile 'com.mcxiaoke.volley:library:1.0.+' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3' - compile 'com.afollestad:material-dialogs:0.6.1.5' + compile 'com.afollestad:material-dialogs:0.6.3.0' compile('com.crashlytics.sdk.android:crashlytics:2.2.1@aar') { transitive = true; } compile files('../libs/jaudiotagger-2.0.4-20111207.115108-15.jar') compile 'asia.ivity.android:drag-sort-listview:1.0' - - compile 'com.github.navasmdc:MaterialDesign:1.+@aar' } diff --git a/app/src/main/java/com/kabouzeid/materialmusic/ui/activities/tageditor/AbsTagEditorActivity.java b/app/src/main/java/com/kabouzeid/materialmusic/ui/activities/tageditor/AbsTagEditorActivity.java index e468b258..77c53a65 100644 --- a/app/src/main/java/com/kabouzeid/materialmusic/ui/activities/tageditor/AbsTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/materialmusic/ui/activities/tageditor/AbsTagEditorActivity.java @@ -17,7 +17,6 @@ import android.view.MenuItem; import android.view.View; import android.view.animation.OvershootInterpolator; import android.widget.ImageView; -import android.widget.TextView; import com.afollestad.materialdialogs.MaterialDialog; import com.github.ksoichiro.android.observablescrollview.ObservableScrollView; @@ -311,13 +310,14 @@ public abstract class AbsTagEditorActivity extends ActionBarActivity { } protected void writeValuesToFiles(final Map fieldKeyValueMap, final Artwork artwork, final boolean deleteArtwork) { + Util.hideSoftKeyboard(this); final String writingFileStr = getResources().getString(R.string.writing_file_number); + final String savingStr = getResources().getString(R.string.saving_changes); final MaterialDialog progressDialog = new MaterialDialog.Builder(AbsTagEditorActivity.this) - .customView(R.layout.dialog_loading, true) - .title(writingFileStr) + .title(savingStr) .cancelable(false) + .progress(true, 0) .build(); - final TextView progressText = (TextView) progressDialog.getCustomView().findViewById(R.id.text); progressDialog.show(); new Thread(new Runnable() { @Override @@ -328,7 +328,7 @@ public abstract class AbsTagEditorActivity extends ActionBarActivity { runOnUiThread(new Runnable() { @Override public void run() { - progressText.setText((finalI + 1) + "/" + songPaths.size()); + progressDialog.setContent(writingFileStr + " " + ((finalI + 1) + "/" + songPaths.size())); } }); try { diff --git a/app/src/main/java/com/kabouzeid/materialmusic/util/Util.java b/app/src/main/java/com/kabouzeid/materialmusic/util/Util.java index 4a4e7648..9be2e279 100644 --- a/app/src/main/java/com/kabouzeid/materialmusic/util/Util.java +++ b/app/src/main/java/com/kabouzeid/materialmusic/util/Util.java @@ -1,6 +1,7 @@ package com.kabouzeid.materialmusic.util; import android.annotation.TargetApi; +import android.app.Activity; import android.content.Context; import android.content.res.TypedArray; import android.database.Cursor; @@ -10,8 +11,10 @@ import android.net.NetworkInfo; import android.net.Uri; import android.provider.MediaStore; import android.util.TypedValue; +import android.view.View; import android.view.Window; import android.view.WindowManager; +import android.view.inputmethod.InputMethodManager; import com.kabouzeid.materialmusic.App; import com.kabouzeid.materialmusic.R; @@ -178,4 +181,14 @@ public class Util { private static Bitmap getScaledBitmap(final Bitmap bitmap) { return Bitmap.createScaledBitmap(bitmap, albumArtSize, albumArtSize, false); } + + public static void hideSoftKeyboard(Activity activity) { + if (activity != null) { + View currentFocus = activity.getCurrentFocus(); + if (currentFocus != null) { + InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); + inputMethodManager.hideSoftInputFromWindow(currentFocus.getWindowToken(), 0); + } + } + } } diff --git a/app/src/main/res/layout/dialog_loading.xml b/app/src/main/res/layout/dialog_loading.xml deleted file mode 100644 index deffa456..00000000 --- a/app/src/main/res/layout/dialog_loading.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - \ 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 6f852681..08a69594 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -49,6 +49,7 @@ Track (2 for track 2 or 3004 for CD3 track 4) The album title or the album artist text field is empty. Writing file + Saving changes… AlbumTagEditorActivity Details File name