Upgraded Material Dialogs

- native material progress dialog
- auto hide keyboard when saving
This commit is contained in:
Karim Abou Zeid 2015-02-15 12:36:13 +01:00
commit cafd1081ca
5 changed files with 20 additions and 33 deletions

View file

@ -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<FieldKey, String> 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 {

View file

@ -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);
}
}
}
}