1
0
Aidan Follestad 9 жил өмнө
parent
commit
5383df81c1

+ 2 - 2
README.md

@@ -105,7 +105,7 @@ You can create basic, list, single/multi choice, progress, input, etc. dialogs w
 ```gradle
 dependencies {
 	...
-    compile('com.github.afollestad.material-dialogs:core:0.8.5.5@aar') {
+    compile('com.github.afollestad.material-dialogs:core:0.8.5.6@aar') {
         transitive = true
     }
 }
@@ -121,7 +121,7 @@ dependencies {
 
     // ... other dependencies here
     
-    compile('com.github.afollestad.material-dialogs:commons:0.8.5.5@aar') {
+    compile('com.github.afollestad.material-dialogs:commons:0.8.5.6@aar') {
         transitive = true
     }
 }

+ 1 - 1
build.gradle

@@ -3,7 +3,7 @@ buildscript {
         jcenter()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.0.0-beta5'
+        classpath 'com.android.tools.build:gradle:2.0.0-beta6'
         classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
         classpath 'com.github.ben-manes:gradle-versions-plugin:0.12.0'
     }

+ 1 - 1
commons/build.gradle

@@ -11,7 +11,7 @@ android {
         minSdkVersion 8
         targetSdkVersion 23
         versionCode 1
-        versionName "0.8.5.5"
+        versionName "0.8.5.6"
     }
     lintOptions {
         abortOnError false

+ 1 - 1
core/build.gradle

@@ -11,7 +11,7 @@ android {
         minSdkVersion 8
         targetSdkVersion 23
         versionCode 1
-        versionName "0.8.5.5"
+        versionName "0.8.5.6"
         consumerProguardFiles 'progress-proguard.txt'
     }
     lintOptions {

+ 5 - 4
core/src/main/java/com/afollestad/materialdialogs/MaterialDialog.java

@@ -55,6 +55,7 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+import java.util.Locale;
 
 /**
  * @author Aidan Follestad (afollestad)
@@ -180,7 +181,7 @@ public class MaterialDialog extends DialogBase implements
         } else {
             // Default adapter, choice mode
             if (listType == ListType.MULTI) {
-                final boolean shouldBeChecked = !selectedIndicesList.contains(Integer.valueOf(position));
+                final boolean shouldBeChecked = !selectedIndicesList.contains(position);
                 final CheckBox cb = (CheckBox) view.findViewById(R.id.control);
                 if (shouldBeChecked) {
                     // Add the selection to the states first so the callback includes it (when alwaysCallMultiChoiceCallback)
@@ -1787,7 +1788,7 @@ public class MaterialDialog extends DialogBase implements
     protected void invalidateInputMinMaxIndicator(int currentLength, boolean emptyDisabled) {
         if (inputMinMax != null) {
             if (mBuilder.inputMaxLength > 0) {
-                inputMinMax.setText(String.format("%d/%d", currentLength, mBuilder.inputMaxLength));
+                inputMinMax.setText(String.format(Locale.getDefault(), "%d/%d", currentLength, mBuilder.inputMaxLength));
                 inputMinMax.setVisibility(View.VISIBLE);
             } else inputMinMax.setVisibility(View.GONE);
             final boolean isDisabled = (emptyDisabled && currentLength == 0) ||
@@ -1804,10 +1805,10 @@ public class MaterialDialog extends DialogBase implements
     }
 
     @Override
-    protected void onStop() {
-        super.onStop();
+    public void dismiss() {
         if (input != null)
             DialogUtils.hideKeyboard(this, mBuilder);
+        super.dismiss();
     }
 
     protected enum ListType {

+ 6 - 12
core/src/main/java/com/afollestad/materialdialogs/util/DialogUtils.java

@@ -204,7 +204,7 @@ public class DialogUtils {
         }
     }
 
-    public static void showKeyboard(DialogInterface di, final MaterialDialog.Builder builder) {
+    public static void showKeyboard(@NonNull final DialogInterface di, @NonNull final MaterialDialog.Builder builder) {
         final MaterialDialog dialog = (MaterialDialog) di;
         if (dialog.getInputEditText() == null) return;
         dialog.getInputEditText().post(new Runnable() {
@@ -213,23 +213,17 @@ public class DialogUtils {
                 dialog.getInputEditText().requestFocus();
                 InputMethodManager imm = (InputMethodManager) builder.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                 if (imm != null)
-                    imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
+                    imm.showSoftInput(dialog.getInputEditText(), InputMethodManager.SHOW_FORCED);
             }
         });
     }
 
-    public static void hideKeyboard(DialogInterface di, final MaterialDialog.Builder builder) {
+    public static void hideKeyboard(@NonNull final DialogInterface di, @NonNull final MaterialDialog.Builder builder) {
         final MaterialDialog dialog = (MaterialDialog) di;
         if (dialog.getInputEditText() == null) return;
-        dialog.getInputEditText().post(new Runnable() {
-            @Override
-            public void run() {
-                dialog.getInputEditText().requestFocus();
-                InputMethodManager imm = (InputMethodManager) builder.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
-                if (imm != null)
-                    imm.hideSoftInputFromWindow(dialog.getCurrentFocus().getWindowToken(), 0);
-            }
-        });
+        InputMethodManager imm = (InputMethodManager) builder.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
+        if (imm != null)
+            imm.hideSoftInputFromWindow(dialog.getCurrentFocus().getWindowToken(), 0);
     }
 
     public static ColorStateList getActionTextStateList(Context context, int newPrimaryColor) {

+ 2 - 2
sample/build.gradle

@@ -17,8 +17,8 @@ android {
         applicationId "com.afollestad.materialdialogssample"
         minSdkVersion 9
         targetSdkVersion 23
-        versionCode 157
-        versionName "0.8.5.5"
+        versionCode 158
+        versionName "0.8.5.6"
     }
     lintOptions {
         abortOnError false

BIN
sample/sample.apk


+ 2 - 2
sample/src/main/java/com/afollestad/materialdialogssample/MainActivity.java

@@ -632,7 +632,7 @@ public class MainActivity extends AppCompatActivity implements
                 .positiveText(R.string.submit)
                 .input(R.string.input_hint, R.string.input_hint, false, new MaterialDialog.InputCallback() {
                     @Override
-                    public void onInput(MaterialDialog dialog, CharSequence input) {
+                    public void onInput(@NonNull MaterialDialog dialog, CharSequence input) {
                         showToast("Hello, " + input.toString() + "!");
                     }
                 }).show();
@@ -650,7 +650,7 @@ public class MainActivity extends AppCompatActivity implements
                 .alwaysCallInputCallback() // this forces the callback to be invoked with every input change
                 .input(R.string.input_hint, 0, false, new MaterialDialog.InputCallback() {
                     @Override
-                    public void onInput(MaterialDialog dialog, CharSequence input) {
+                    public void onInput(@NonNull MaterialDialog dialog, CharSequence input) {
                         if (input.toString().equalsIgnoreCase("hello")) {
                             dialog.setContent("I told you not to type that!");
                             dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);