Browse Source

Fixed folder chooser dialog issue, and removed the choose button. Also resolved #1131.

Aidan Follestad 8 years ago
parent
commit
fd4d15b4e7

+ 2 - 10
commons/src/main/java/com/afollestad/materialdialogs/folderselector/FileChooserDialog.java

@@ -89,6 +89,8 @@ public class FileChooserDialog extends DialogFragment implements MaterialDialog.
                 return false;
             }
             String fileExtension = filename.substring(dotPos + 1);
+            if (fileExtension.endsWith("json"))
+                return mimeType.startsWith("application/json");
             String fileType = mimeTypeMap.getMimeTypeFromExtension(fileExtension);
             if (fileType == null) {
                 return false;
@@ -151,7 +153,6 @@ public class FileChooserDialog extends DialogFragment implements MaterialDialog.
                 })
                 .autoDismiss(false)
                 .negativeText(getBuilder().mCancelButton)
-                .positiveText(getBuilder().mChooseButton)
                 .build();
     }
 
@@ -202,8 +203,6 @@ public class FileChooserDialog extends DialogFragment implements MaterialDialog.
         @NonNull
         protected final transient AppCompatActivity mContext;
         @StringRes
-        protected int mChooseButton;
-        @StringRes
         protected int mCancelButton;
         protected String mInitialPath;
         protected String mMimeType;
@@ -212,7 +211,6 @@ public class FileChooserDialog extends DialogFragment implements MaterialDialog.
         public <ActivityType extends AppCompatActivity & FileCallback> Builder(@NonNull ActivityType context) {
             mContext = context;
             mCancelButton = android.R.string.cancel;
-            mChooseButton = R.string.md_choose_label;
             mInitialPath = Environment.getExternalStorageDirectory().getAbsolutePath();
             mMimeType = null;
         }
@@ -223,12 +221,6 @@ public class FileChooserDialog extends DialogFragment implements MaterialDialog.
             return this;
         }
 
-        @NonNull
-        public Builder chooseButton(@StringRes int text) {
-            mChooseButton = text;
-            return this;
-        }
-
         @NonNull
         public Builder initialPath(@Nullable String initialPath) {
             if (initialPath == null)

+ 1 - 1
sample/src/main/java/com/afollestad/materialdialogssample/ButtonItemAdapter.java

@@ -54,7 +54,7 @@ class ButtonItemAdapter extends BaseAdapter implements View.OnClickListener {
         if (convertView == null)
             convertView = View.inflate(mContext, R.layout.dialog_customlistitem, null);
         ((TextView) convertView.findViewById(R.id.md_title)).setText(mItems[position] + " (" + position + ")");
-        Button button = (Button) convertView.findViewById(R.id.button);
+        Button button = (Button) convertView.findViewById(R.id.md_button);
         button.setTag(position);
         button.setOnClickListener(this);
         return convertView;

+ 4 - 4
sample/src/main/res/layout/dialog_customlistitem.xml

@@ -5,7 +5,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android">
 
     <TextView
-        android:id="@+id/title"
+        android:id="@+id/md_title"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textSize="@dimen/md_listitem_textsize"
@@ -13,12 +13,12 @@
         android:layout_marginStart="@dimen/md_listitem_margin_left"
         android:layout_alignParentLeft="true"
         android:layout_alignParentStart="true"
-        android:layout_toLeftOf="@+id/button"
-        android:layout_toStartOf="@+id/button"
+        android:layout_toLeftOf="@+id/md_button"
+        android:layout_toStartOf="@+id/md_button"
         android:layout_centerVertical="true" />
 
     <Button
-        android:id="@+id/button"
+        android:id="@+id/md_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginRight="@dimen/md_dialog_frame_margin"