From a91f3fc15f277fb257b40a997fdb0d4695c5a1c6 Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 20:52:05 +0330 Subject: [PATCH 01/15] callback() is deprecated in MaterialDialog --- .../filepickerlibrary/FilePickerActivity.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java index 7d30ab4..dbaae6a 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java @@ -29,6 +29,7 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; +import android.support.annotation.NonNull; import android.support.design.widget.Snackbar; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; @@ -44,6 +45,7 @@ import android.widget.RelativeLayout; import android.widget.TextView; +import com.afollestad.materialdialogs.DialogAction; import com.afollestad.materialdialogs.MaterialDialog; import com.devpaul.materiallibrary.views.MaterialFloatingActionButton; import com.github.developerpaul123.filepickerlibrary.adapter.FileListAdapter; @@ -338,17 +340,18 @@ public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCoun .content(R.string.file_picker_permission_rationale_dialog_content) .positiveText(R.string.file_picker_ok) .negativeText(R.string.file_picker_cancel) - .callback(new MaterialDialog.ButtonCallback() { + .onPositive(new MaterialDialog.SingleButtonCallback() { @Override - public void onPositive(MaterialDialog dialog) { + public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { ActivityCompat.requestPermissions(FilePickerActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_FOR_READ_EXTERNAL_STORAGE); } - + }) + .onNegative(new MaterialDialog.SingleButtonCallback() { @Override - public void onNegative(MaterialDialog dialog) { + public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { setResult(RESULT_CANCELED); finish(); } @@ -393,8 +396,8 @@ public void onRequestPermissionsResult(int requestCode, String[] permissions, in switch (requestCode) { case REQUEST_FOR_READ_EXTERNAL_STORAGE: - if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED && - grantResults[1] == PackageManager.PERMISSION_GRANTED) { + if ((grantResults.length > 0) && (grantResults[0] == PackageManager.PERMISSION_GRANTED) && + (grantResults[1] == PackageManager.PERMISSION_GRANTED)) { //permission granted. init(); } else { @@ -473,7 +476,7 @@ public void onClick(View view) { setResult(RESULT_OK, data); finish(); } else { - Snackbar.make(getWindow().getDecorView(), String.format(getString(R.string.file_picker_snackbar_select_file_ext_message),requiredExtension), Snackbar.LENGTH_SHORT).show(); + Snackbar.make(getWindow().getDecorView(), String.format(getString(R.string.file_picker_snackbar_select_file_ext_message), requiredExtension), Snackbar.LENGTH_SHORT).show(); } } else { data = new Intent(); From 7526d0844f6c9854b048ef67dc617e7a127646ba Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 20:52:40 +0330 Subject: [PATCH 02/15] addition import statement removed --- .../filepickerlibrary/adapter/FileListAdapter.java | 1 - .../filepickerlibrary/adapter/FileRecyclerViewAdapter.java | 1 - 2 files changed, 2 deletions(-) diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileListAdapter.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileListAdapter.java index c26e708..b7cd5bb 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileListAdapter.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileListAdapter.java @@ -37,7 +37,6 @@ import java.io.File; import java.lang.ref.WeakReference; import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileRecyclerViewAdapter.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileRecyclerViewAdapter.java index 2a2df5a..7f6d99f 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileRecyclerViewAdapter.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileRecyclerViewAdapter.java @@ -22,7 +22,6 @@ import java.io.File; import java.lang.ref.WeakReference; import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; From c408e47ecee17443685949035e754149c968fd2b Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 20:53:16 +0330 Subject: [PATCH 03/15] old FPlib module removed --- .idea/modules.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/.idea/modules.xml b/.idea/modules.xml index 4186499..4cc3e1d 100755 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,6 @@ - From fc1c328b282e474136f45f09a9f2e3a75d113d2a Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 21:19:57 +0330 Subject: [PATCH 04/15] launch() is now deprecated, use launch(int) instead because of user defined request code --- .../filepickerlibrary/FilePickerBuilder.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java index 25fe9d0..3e8e8be 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java @@ -12,8 +12,8 @@ */ public class FilePickerBuilder { - boolean useMaterial; private final Activity mActivity; + boolean useMaterial; private FileScopeType mType; private int requestCode; private int color; @@ -90,10 +90,7 @@ public FilePickerBuilder useMaterialActivity(boolean use) { return this; } - /** - * Builds and starts the intent with startActivityForResult() uses the - * request code you said as the request code for the activity result. - */ + @Deprecated public void launch() { Intent intent = build(); mActivity.startActivityForResult(intent, requestCode); @@ -112,4 +109,14 @@ public Intent build() { filePicker.putExtra(FilePicker.MIME_TYPE, mimeType); return filePicker; } + + /** + * Builds and starts the intent with startActivityForResult() uses the request code you said as the request code for the activity result. + * + * @param requestCode + */ + public void launch(int requestCode) { + Intent intent = build(); + mActivity.startActivityForResult(intent, requestCode); + } } From 57b2beee32727434e25de40c5be7d52a2e6109ee Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 21:21:13 +0330 Subject: [PATCH 05/15] FileScopeType class name changed to Scope --- .../filepickerlibrary/app/MainActivity.java | 10 +++++----- .../filepickerlibrary/FilePicker.java | 12 ++++++------ .../filepickerlibrary/FilePickerActivity.java | 12 ++++++------ .../filepickerlibrary/FilePickerBuilder.java | 8 ++++---- .../filepickerlibrary/adapter/FileListAdapter.java | 12 ++++++------ .../adapter/FileRecyclerViewAdapter.java | 12 ++++++------ .../enums/{FileScopeType.java => Scope.java} | 3 +-- 7 files changed, 34 insertions(+), 35 deletions(-) rename library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/{FileScopeType.java => Scope.java} (96%) diff --git a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java index f3aa151..5e5d83e 100644 --- a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java +++ b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java @@ -32,7 +32,7 @@ import com.github.developerpaul123.filepickerlibrary.FilePicker; import com.github.developerpaul123.filepickerlibrary.FilePickerActivity; import com.github.developerpaul123.filepickerlibrary.FilePickerBuilder; -import com.github.developerpaul123.filepickerlibrary.enums.FileScopeType; +import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.FileType; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; @@ -104,7 +104,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, @Override public void onClick(View view) { Intent filePickerActivity = new Intent(getActivity(), FilePickerActivity.class); - filePickerActivity.putExtra(FilePickerActivity.SCOPE_TYPE, FileScopeType.ALL); + filePickerActivity.putExtra(FilePickerActivity.SCOPE_TYPE, Scope.ALL); filePickerActivity.putExtra(FilePickerActivity.REQUEST_CODE, FilePickerActivity.REQUEST_DIRECTORY); filePickerActivity.putExtra(FilePickerActivity.INTENT_EXTRA_FAB_COLOR_ID, android.R.color.holo_green_dark); startActivityForResult(filePickerActivity, FilePickerActivity.REQUEST_DIRECTORY); @@ -117,7 +117,7 @@ public void onClick(View view) { @Override public void onClick(View view) { Intent filePicker = new Intent(getActivity(), FilePickerActivity.class); - filePicker.putExtra(FilePickerActivity.SCOPE_TYPE, FileScopeType.ALL); + filePicker.putExtra(FilePickerActivity.SCOPE_TYPE, Scope.ALL); filePicker.putExtra(FilePickerActivity.REQUEST_CODE, FilePickerActivity.REQUEST_FILE); filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_orange_dark); startActivityForResult(filePicker, FilePickerActivity.REQUEST_FILE); @@ -140,7 +140,7 @@ public void onClick(View view) { @Override public void onClick(View view) { Intent filePicker = new Intent(getActivity(), FilePickerActivity.class); - filePicker.putExtra(FilePickerActivity.SCOPE_TYPE, FileScopeType.ALL); + filePicker.putExtra(FilePickerActivity.SCOPE_TYPE, Scope.ALL); filePicker.putExtra(FilePickerActivity.REQUEST_CODE, FilePickerActivity.REQUEST_FILE); filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_green_dark); filePicker.putExtra(FilePickerActivity.MIME_TYPE, FileType.PNG); @@ -155,7 +155,7 @@ public void onClick(View view) { new FilePickerBuilder(getActivity()).withColor(android.R.color.holo_blue_bright) .withRequestCode(FilePicker.REQUEST_FILE) - .withScopeType(FileScopeType.ALL) + .withScopeType(Scope.ALL) .withMimeType(FileType.JPEG) .useMaterialActivity(true) .launch(); diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java index 1f86283..b6729fa 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java @@ -33,7 +33,7 @@ import com.afollestad.materialdialogs.MaterialDialog; import com.github.developerpaul123.filepickerlibrary.adapter.FileRecyclerViewAdapter; -import com.github.developerpaul123.filepickerlibrary.enums.FileScopeType; +import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.FileType; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; @@ -63,7 +63,7 @@ public class FilePicker extends AppCompatActivity implements NameFileDialogInter /** * Constant value for adding the SCOPE_TYPE enum as an extra to the {@code FilePickerActivity} * {@code Intent} The default is {@code FileType.ALL} see - * {@link FileScopeType} for other types. + * {@link Scope} for other types. */ public static final String SCOPE_TYPE = "scopeType"; @@ -200,9 +200,9 @@ public void onItemClicked(View item, int position) { } }; /** - * {@link FileScopeType} enum + * {@link Scope} enum */ - private FileScopeType scopeType; + private Scope scopeType; /** * {@link ThemeType} enum for the type of them for this * activity. @@ -289,10 +289,10 @@ public void onClick(View view) { //get the scope type and request code. Defaults are all files and request of a directory //path. - scopeType = (FileScopeType) givenIntent.getSerializableExtra(SCOPE_TYPE); + scopeType = (Scope) givenIntent.getSerializableExtra(SCOPE_TYPE); if (scopeType == null) { //set default if it is null - scopeType = FileScopeType.ALL; + scopeType = Scope.ALL; } requestCode = givenIntent.getIntExtra(REQUEST_CODE, REQUEST_DIRECTORY); diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java index dbaae6a..a757e9b 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java @@ -49,7 +49,7 @@ import com.afollestad.materialdialogs.MaterialDialog; import com.devpaul.materiallibrary.views.MaterialFloatingActionButton; import com.github.developerpaul123.filepickerlibrary.adapter.FileListAdapter; -import com.github.developerpaul123.filepickerlibrary.enums.FileScopeType; +import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.FileType; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; @@ -81,7 +81,7 @@ public class FilePickerActivity extends ListActivity implements NameFileDialogIn /** * Constant value for adding the SCOPE_TYPE enum as an extra to the {@code FilePickerActivity} * {@code Intent} The default is {@code FileType.ALL} see - * {@link FileScopeType} for other types. + * {@link Scope} for other types. */ public static final String SCOPE_TYPE = "scopeType"; @@ -195,9 +195,9 @@ public class FilePickerActivity extends ListActivity implements NameFileDialogIn private File currentFile; private boolean areButtonsShowing; /** - * {@link FileScopeType} enum + * {@link Scope} enum */ - private FileScopeType scopeType; + private Scope scopeType; /** * {@link ThemeType} enum for the type of them for this * activity. @@ -279,10 +279,10 @@ protected void onCreate(Bundle savedInstanceState) { //get the scope type and request code. Defaults are all files and request of a directory //path. - scopeType = (FileScopeType) givenIntent.getSerializableExtra(SCOPE_TYPE); + scopeType = (Scope) givenIntent.getSerializableExtra(SCOPE_TYPE); if (scopeType == null) { //set default if it is null - scopeType = FileScopeType.ALL; + scopeType = Scope.ALL; } requestCode = givenIntent.getIntExtra(REQUEST_CODE, REQUEST_DIRECTORY); diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java index 3e8e8be..297251f 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java @@ -4,7 +4,7 @@ import android.content.Intent; import android.support.annotation.ColorRes; -import com.github.developerpaul123.filepickerlibrary.enums.FileScopeType; +import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.FileType; /** @@ -14,7 +14,7 @@ public class FilePickerBuilder { private final Activity mActivity; boolean useMaterial; - private FileScopeType mType; + private Scope mType; private int requestCode; private int color; private FileType mimeType; @@ -26,7 +26,7 @@ public class FilePickerBuilder { */ public FilePickerBuilder(Activity activity) { color = android.R.color.holo_blue_bright; - mType = FileScopeType.ALL; + mType = Scope.ALL; mimeType = FileType.NONE; requestCode = FilePicker.REQUEST_FILE; mActivity = activity; @@ -39,7 +39,7 @@ public FilePickerBuilder(Activity activity) { * @param type scope type. Can be DIRECTORIES or ALL. * @return the current builder instance. */ - public FilePickerBuilder withScopeType(FileScopeType type) { + public FilePickerBuilder withScopeType(Scope type) { mType = type; return this; } diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileListAdapter.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileListAdapter.java index b7cd5bb..a990929 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileListAdapter.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileListAdapter.java @@ -31,7 +31,7 @@ import com.afollestad.materialdialogs.MaterialDialog; import com.github.developerpaul123.filepickerlibrary.R; -import com.github.developerpaul123.filepickerlibrary.enums.FileScopeType; +import com.github.developerpaul123.filepickerlibrary.enums.Scope; import java.io.ByteArrayOutputStream; import java.io.File; @@ -55,9 +55,9 @@ public class FileListAdapter extends BaseAdapter { private final float iconPadding; private final Drawable folderDrawable; - private final FileScopeType mFileType; + private final Scope mFileType; - public FileListAdapter(Context context, File[] fileArray, FileScopeType type) { + public FileListAdapter(Context context, File[] fileArray, Scope type) { mContext = context; fileList = new ArrayList(Arrays.asList(fileArray)); inflater = LayoutInflater.from(mContext); @@ -65,7 +65,7 @@ public FileListAdapter(Context context, File[] fileArray, FileScopeType type) { selectedPos = -1; folderDrawable = mContext.getResources().getDrawable(R.drawable.fplib_ic_folder); iconPadding = mContext.getResources().getDimension(R.dimen.file_picker_lib_default_icon_padding); - if (mFileType == FileScopeType.DIRECTORIES) { + if (mFileType == Scope.DIRECTORIES) { for (int i = 0; i < fileList.size(); i++) { String extension = fileExt(fileList.get(i).getPath()); if (extension != null) { @@ -226,7 +226,7 @@ public void onClick(View v) { } }); - if (mFileType == FileScopeType.ALL) { + if (mFileType == Scope.ALL) { viewHolder.fileTitle.setText(fileList.get(i).getName()); if (!fileList.get(i).isDirectory()) { viewHolder.fileInfo.setText(String.format(mContext.getString(R.string.file_picker_adapter_file_size_only_string), fileList.get(i).length())); @@ -270,7 +270,7 @@ public void onClick(View v) { } } } - } else if (mFileType == FileScopeType.DIRECTORIES) { + } else if (mFileType == Scope.DIRECTORIES) { if (fileList.get(i).isDirectory()) { viewHolder.fileImage.setBackgroundDrawable(folderDrawable); viewHolder.fileTitle.setText(fileList.get(i).getName()); diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileRecyclerViewAdapter.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileRecyclerViewAdapter.java index 7f6d99f..e0d66cd 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileRecyclerViewAdapter.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/adapter/FileRecyclerViewAdapter.java @@ -16,7 +16,7 @@ import com.afollestad.materialdialogs.MaterialDialog; import com.afollestad.materialdialogs.Theme; import com.github.developerpaul123.filepickerlibrary.R; -import com.github.developerpaul123.filepickerlibrary.enums.FileScopeType; +import com.github.developerpaul123.filepickerlibrary.enums.Scope; import java.io.ByteArrayOutputStream; import java.io.File; @@ -39,7 +39,7 @@ public class FileRecyclerViewAdapter extends RecyclerView.Adapter { private final Drawable folderDrawable; private int selectedPosition; private final float iconPadding; - private final FileScopeType mFileType; + private final Scope mFileType; private final File[] mFiles; private final FileRecyclerViewAdapter.Callback mCallback; private final View.OnClickListener viewClickListener = new View.OnClickListener() { @@ -54,7 +54,7 @@ public void onClick(View view) { private final List fileList; private final Context context; - public FileRecyclerViewAdapter(Context context, File[] files, FileScopeType scopeType, FileRecyclerViewAdapter.Callback callback) { + public FileRecyclerViewAdapter(Context context, File[] files, Scope scopeType, FileRecyclerViewAdapter.Callback callback) { this.context = context; mFiles = files; iconPadding = context.getResources().getDimension(R.dimen.file_picker_lib_default_icon_padding); @@ -62,7 +62,7 @@ public FileRecyclerViewAdapter(Context context, File[] files, FileScopeType scop selectedPosition = -1; folderDrawable = context.getResources().getDrawable(R.drawable.fplib_ic_folder); fileList = new ArrayList<>(Arrays.asList(files)); - if (mFileType == FileScopeType.DIRECTORIES) { + if (mFileType == Scope.DIRECTORIES) { for (int i = 0; i < fileList.size(); i++) { String extension = fileExt(fileList.get(i).getPath()); if (extension != null) { @@ -222,7 +222,7 @@ public void onClick(View v) { } }); - if (mFileType == FileScopeType.ALL) { + if (mFileType == Scope.ALL) { viewHolder.fileTitle.setText(fileList.get(i).getName()); if (!fileList.get(i).isDirectory()) { viewHolder.fileInfo.setText(String.format(context.getString(R.string.file_picker_adapter_file_size_only_string), @@ -267,7 +267,7 @@ public void onClick(View v) { } } } - } else if (mFileType == FileScopeType.DIRECTORIES) { + } else if (mFileType == Scope.DIRECTORIES) { if (fileList.get(i).isDirectory()) { viewHolder.fileImage.setBackgroundDrawable(folderDrawable); viewHolder.fileTitle.setText(fileList.get(i).getName()); diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileScopeType.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/Scope.java similarity index 96% rename from library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileScopeType.java rename to library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/Scope.java index 449cabb..e2a2926 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileScopeType.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/Scope.java @@ -19,7 +19,6 @@ /** * An enum that has two possible values, {@code ALL} or {@code DIRECTORIES} */ -public enum FileScopeType { - +public enum Scope { ALL, DIRECTORIES } From 0feab2004f913ae75ab5c959002131108e42251b Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 21:21:51 +0330 Subject: [PATCH 06/15] mType > mScope --- .../filepickerlibrary/FilePickerBuilder.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java index 297251f..a7ab411 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java @@ -14,7 +14,7 @@ public class FilePickerBuilder { private final Activity mActivity; boolean useMaterial; - private Scope mType; + private Scope mScope; private int requestCode; private int color; private FileType mimeType; @@ -26,7 +26,7 @@ public class FilePickerBuilder { */ public FilePickerBuilder(Activity activity) { color = android.R.color.holo_blue_bright; - mType = Scope.ALL; + mScope = Scope.ALL; mimeType = FileType.NONE; requestCode = FilePicker.REQUEST_FILE; mActivity = activity; @@ -40,7 +40,7 @@ public FilePickerBuilder(Activity activity) { * @return the current builder instance. */ public FilePickerBuilder withScopeType(Scope type) { - mType = type; + mScope = type; return this; } @@ -103,7 +103,7 @@ public void launch() { */ public Intent build() { Intent filePicker = new Intent(mActivity, useMaterial ? FilePicker.class : FilePickerActivity.class); - filePicker.putExtra(FilePicker.SCOPE_TYPE, mType); + filePicker.putExtra(FilePicker.SCOPE_TYPE, mScope); filePicker.putExtra(FilePicker.REQUEST_CODE, requestCode); filePicker.putExtra(FilePicker.INTENT_EXTRA_COLOR_ID, color); filePicker.putExtra(FilePicker.MIME_TYPE, mimeType); From aec85bdeb85d5cbdc9df643c4d9a9f2944d8d9d9 Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 21:28:34 +0330 Subject: [PATCH 07/15] JPG enum removed because JPEG is the right one --- .../developerpaul123/filepickerlibrary/enums/FileType.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileType.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileType.java index 7998653..26af4d4 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileType.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileType.java @@ -20,10 +20,10 @@ * Created by Paul Tsouchlos */ public enum FileType { - NONE(""), JPEG("image/jpeg"), JPG("image/jpeg"), PNG("image/png"), XML("application/xml"), + NONE(""), JPEG("image/jpeg"), PNG("image/png"), XML("application/xml"), XLS("application/vnd.ms-excel"), XLSX("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"), DOC("application/msword"), DOCX("application/vnd.openxmlformats-officedocument.wordprocessingml.document"), - HTML("text/html"), TXT("text/plain"), PDF("application/pdf"); + HTML("text/html"), TXT("text/plain"), PDF("application/pdf"), ; private final String mimeType; From f68554e8fd6fc837d2807c64448a1008966aeae9 Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 21:35:51 +0330 Subject: [PATCH 08/15] launch() is deprecated --- .../developerpaul123/filepickerlibrary/app/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java index 5e5d83e..f27d513 100644 --- a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java +++ b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java @@ -158,7 +158,7 @@ public void onClick(View view) { .withScopeType(Scope.ALL) .withMimeType(FileType.JPEG) .useMaterialActivity(true) - .launch(); + .launch(FilePicker.REQUEST_FILE); // Intent filePicker = new Intent(getActivity(), FilePicker.class); // filePicker.putExtra(FilePicker.SCOPE_TYPE, FileScopeType.ALL); From c22a783aa3a95e6584c166f4d3b5367afc5c97f5 Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 21:37:04 +0330 Subject: [PATCH 09/15] getting Context instead of Activity and set init properties outside of constructor --- .../filepickerlibrary/FilePickerBuilder.java | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java index a7ab411..a4b3915 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java @@ -1,36 +1,32 @@ package com.github.developerpaul123.filepickerlibrary; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.support.annotation.ColorRes; -import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.FileType; +import com.github.developerpaul123.filepickerlibrary.enums.Scope; /** * Created by Paul on 11/23/2015. */ public class FilePickerBuilder { - private final Activity mActivity; - boolean useMaterial; - private Scope mScope; - private int requestCode; - private int color; - private FileType mimeType; + private final Context mContext; + private boolean useMaterial; + private Scope mScope = Scope.ALL; + private int requestCode = FilePicker.REQUEST_FILE; + private int color = android.R.color.holo_blue_bright; + private FileType mimeType = FileType.NONE; /** * Builder class to build a filepicker activity. * - * @param activity the calling activity. + * @param context the calling activity. */ - public FilePickerBuilder(Activity activity) { - color = android.R.color.holo_blue_bright; - mScope = Scope.ALL; - mimeType = FileType.NONE; - requestCode = FilePicker.REQUEST_FILE; - mActivity = activity; - useMaterial = false; + public FilePickerBuilder(Context context) { + mContext = context; } /** @@ -93,7 +89,7 @@ public FilePickerBuilder useMaterialActivity(boolean use) { @Deprecated public void launch() { Intent intent = build(); - mActivity.startActivityForResult(intent, requestCode); + ((Activity) mContext).startActivityForResult(intent, requestCode); } /** @@ -102,7 +98,7 @@ public void launch() { * @return a filepicker intent. */ public Intent build() { - Intent filePicker = new Intent(mActivity, useMaterial ? FilePicker.class : FilePickerActivity.class); + Intent filePicker = new Intent(mContext, useMaterial ? FilePicker.class : FilePickerActivity.class); filePicker.putExtra(FilePicker.SCOPE_TYPE, mScope); filePicker.putExtra(FilePicker.REQUEST_CODE, requestCode); filePicker.putExtra(FilePicker.INTENT_EXTRA_COLOR_ID, color); @@ -117,6 +113,6 @@ public Intent build() { */ public void launch(int requestCode) { Intent intent = build(); - mActivity.startActivityForResult(intent, requestCode); + ((Activity) mContext).startActivityForResult(intent, requestCode); } } From 35370f853d179b91974e0036f22d3722990df5b4 Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 21:46:44 +0330 Subject: [PATCH 10/15] Request enum created instead of FILE and DIRECTORY requestCodes this is better than duplicate requestCodes for each activity. --- .../filepickerlibrary/app/MainActivity.java | 14 +++++--------- .../filepickerlibrary/FilePicker.java | 17 ++++------------- .../filepickerlibrary/FilePickerBuilder.java | 13 +++++++------ .../filepickerlibrary/enums/Request.java | 8 ++++++++ 4 files changed, 24 insertions(+), 28 deletions(-) create mode 100644 library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/Request.java diff --git a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java index f27d513..658df50 100644 --- a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java +++ b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java @@ -32,6 +32,7 @@ import com.github.developerpaul123.filepickerlibrary.FilePicker; import com.github.developerpaul123.filepickerlibrary.FilePickerActivity; import com.github.developerpaul123.filepickerlibrary.FilePickerBuilder; +import com.github.developerpaul123.filepickerlibrary.enums.Request; import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.FileType; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; @@ -39,6 +40,8 @@ public class MainActivity extends AppCompatActivity { + private static int REQUEST_FILE = 10; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -154,18 +157,11 @@ public void onClick(View view) { public void onClick(View view) { new FilePickerBuilder(getActivity()).withColor(android.R.color.holo_blue_bright) - .withRequestCode(FilePicker.REQUEST_FILE) + .withRequest(Request.FILE) .withScopeType(Scope.ALL) .withMimeType(FileType.JPEG) .useMaterialActivity(true) - .launch(FilePicker.REQUEST_FILE); - -// Intent filePicker = new Intent(getActivity(), FilePicker.class); -// filePicker.putExtra(FilePicker.SCOPE_TYPE, FileScopeType.ALL); -// filePicker.putExtra(FilePicker.REQUEST_CODE, FilePicker.REQUEST_FILE); -// filePicker.putExtra(FilePicker.INTENT_EXTRA_COLOR_ID, android.R.color.holo_green_dark); -// filePicker.putExtra(FilePicker.MIME_TYPE, FileType.PNG); -// startActivityForResult(filePicker, FilePicker.REQUEST_FILE); + .launch(REQUEST_FILE); } }); return rootView; diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java index b6729fa..178c840 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java @@ -33,8 +33,9 @@ import com.afollestad.materialdialogs.MaterialDialog; import com.github.developerpaul123.filepickerlibrary.adapter.FileRecyclerViewAdapter; -import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.FileType; +import com.github.developerpaul123.filepickerlibrary.enums.Request; +import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; import java.io.File; @@ -44,16 +45,6 @@ */ public class FilePicker extends AppCompatActivity implements NameFileDialogInterface { - /** - * Request code for when you want the file path to a directory. - */ - public static final int REQUEST_DIRECTORY = 101; - - /** - * Request code for when you want the file path to a specific file. - */ - public static final int REQUEST_FILE = 102; - /** * Constant value for adding the REQUEST_CODE int as an extra to the {@code FilePickerActivity} * {@code Intent} @@ -294,7 +285,7 @@ public void onClick(View view) { //set default if it is null scopeType = Scope.ALL; } - requestCode = givenIntent.getIntExtra(REQUEST_CODE, REQUEST_DIRECTORY); + requestCode = givenIntent.getIntExtra(REQUEST_CODE, Request.DIRECTORY.ordinal()); colorId = givenIntent.getIntExtra(INTENT_EXTRA_COLOR_ID, android.R.color.holo_blue_light); drawableId = givenIntent.getIntExtra(INTENT_EXTRA_DRAWABLE_ID, -1); @@ -475,7 +466,7 @@ private void initializeViews() { selectButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if (requestCode == REQUEST_DIRECTORY) { + if (requestCode == Request.DIRECTORY.ordinal()) { if (currentFile.isDirectory()) { curDirectory = currentFile; data = new Intent(); diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java index a4b3915..10e09e3 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java @@ -6,6 +6,7 @@ import android.support.annotation.ColorRes; import com.github.developerpaul123.filepickerlibrary.enums.FileType; +import com.github.developerpaul123.filepickerlibrary.enums.Request; import com.github.developerpaul123.filepickerlibrary.enums.Scope; /** @@ -16,7 +17,7 @@ public class FilePickerBuilder { private final Context mContext; private boolean useMaterial; private Scope mScope = Scope.ALL; - private int requestCode = FilePicker.REQUEST_FILE; + private Request requestCode = Request.FILE; private int color = android.R.color.holo_blue_bright; private FileType mimeType = FileType.NONE; @@ -44,11 +45,11 @@ public FilePickerBuilder withScopeType(Scope type) { * Set the request code of this. You can request a path to a file or * a directory. * - * @param requestCode the request code can be FilePicker.DIRECTORY or FilePicker.FILE. - * @return current instance of the builder. + * @param request + * @return */ - public FilePickerBuilder withRequestCode(int requestCode) { - this.requestCode = requestCode; + public FilePickerBuilder withRequest(Request request){ + requestCode = request; return this; } @@ -89,7 +90,7 @@ public FilePickerBuilder useMaterialActivity(boolean use) { @Deprecated public void launch() { Intent intent = build(); - ((Activity) mContext).startActivityForResult(intent, requestCode); + ((Activity) mContext).startActivityForResult(intent, requestCode.ordinal()); } /** diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/Request.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/Request.java new file mode 100644 index 0000000..d2a6778 --- /dev/null +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/Request.java @@ -0,0 +1,8 @@ +package com.github.developerpaul123.filepickerlibrary.enums; + +/** + * Created by Alireza Eskandarpour Shoferi on 2/24/2016. + */ +public enum Request { + FILE, DIRECTORY +} From fa3bb6c4446d99fe6a9e4991a2c18a47e196a84d Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 21:56:26 +0330 Subject: [PATCH 11/15] fix request codes --- .../filepickerlibrary/app/MainActivity.java | 14 +++++++------- .../filepickerlibrary/FilePicker.java | 6 +++--- .../filepickerlibrary/FilePickerActivity.java | 14 +++++--------- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java index 658df50..ca1d342 100644 --- a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java +++ b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java @@ -29,18 +29,18 @@ import com.devpaul.filepicker.R; import com.devpaul.materiallibrary.views.MaterialFlatButton; -import com.github.developerpaul123.filepickerlibrary.FilePicker; import com.github.developerpaul123.filepickerlibrary.FilePickerActivity; import com.github.developerpaul123.filepickerlibrary.FilePickerBuilder; +import com.github.developerpaul123.filepickerlibrary.enums.FileType; import com.github.developerpaul123.filepickerlibrary.enums.Request; import com.github.developerpaul123.filepickerlibrary.enums.Scope; -import com.github.developerpaul123.filepickerlibrary.enums.FileType; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; public class MainActivity extends AppCompatActivity { - private static int REQUEST_FILE = 10; + static int REQUEST_FILE = 10; + static int REQUEST_DIRECTORY = 11; @Override protected void onCreate(Bundle savedInstanceState) { @@ -84,11 +84,11 @@ public PlaceholderFragment() { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode == FilePickerActivity.REQUEST_DIRECTORY && resultCode == RESULT_OK) { + if (requestCode == REQUEST_DIRECTORY && resultCode == RESULT_OK) { Toast.makeText(getActivity(), "File Selected: " + data .getStringExtra(FilePickerActivity.FILE_EXTRA_DATA_PATH), Toast.LENGTH_LONG).show(); - } else if (requestCode == FilePickerActivity.REQUEST_FILE && resultCode == RESULT_OK) { + } else if (requestCode == REQUEST_FILE && resultCode == RESULT_OK) { Toast.makeText(getActivity(), "File Selected: " + data .getStringExtra(FilePickerActivity.FILE_EXTRA_DATA_PATH), Toast.LENGTH_LONG).show(); @@ -108,9 +108,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, public void onClick(View view) { Intent filePickerActivity = new Intent(getActivity(), FilePickerActivity.class); filePickerActivity.putExtra(FilePickerActivity.SCOPE_TYPE, Scope.ALL); - filePickerActivity.putExtra(FilePickerActivity.REQUEST_CODE, FilePickerActivity.REQUEST_DIRECTORY); + filePickerActivity.putExtra(FilePickerActivity.REQUEST_CODE, Request.DIRECTORY); filePickerActivity.putExtra(FilePickerActivity.INTENT_EXTRA_FAB_COLOR_ID, android.R.color.holo_green_dark); - startActivityForResult(filePickerActivity, FilePickerActivity.REQUEST_DIRECTORY); + startActivityForResult(filePickerActivity, REQUEST_DIRECTORY); } }); diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java index 178c840..ac2fc2b 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java @@ -206,7 +206,7 @@ public void onItemClicked(View item, int position) { /** * Request code for this activity */ - private int requestCode; + private Request requestCode; /** * {@code Intent} used to send back the data to the calling activity */ @@ -285,7 +285,7 @@ public void onClick(View view) { //set default if it is null scopeType = Scope.ALL; } - requestCode = givenIntent.getIntExtra(REQUEST_CODE, Request.DIRECTORY.ordinal()); + requestCode = (Request) givenIntent.getSerializableExtra(REQUEST_CODE); colorId = givenIntent.getIntExtra(INTENT_EXTRA_COLOR_ID, android.R.color.holo_blue_light); drawableId = givenIntent.getIntExtra(INTENT_EXTRA_DRAWABLE_ID, -1); @@ -466,7 +466,7 @@ private void initializeViews() { selectButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if (requestCode == Request.DIRECTORY.ordinal()) { + if (requestCode == Request.DIRECTORY) { if (currentFile.isDirectory()) { curDirectory = currentFile; data = new Intent(); diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java index a757e9b..d17d93d 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java @@ -49,8 +49,9 @@ import com.afollestad.materialdialogs.MaterialDialog; import com.devpaul.materiallibrary.views.MaterialFloatingActionButton; import com.github.developerpaul123.filepickerlibrary.adapter.FileListAdapter; -import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.FileType; +import com.github.developerpaul123.filepickerlibrary.enums.Request; +import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; import java.io.File; @@ -62,11 +63,6 @@ */ public class FilePickerActivity extends ListActivity implements NameFileDialogInterface { - /** - * Request code for when you want the file path to a directory. - */ - public static final int REQUEST_DIRECTORY = 101; - /** * Request code for when you want the file path to a specific file. */ @@ -210,7 +206,7 @@ public class FilePickerActivity extends ListActivity implements NameFileDialogIn /** * Request code for this activity */ - private int requestCode; + private Request requestCode; /** * {@code Intent} used to send back the data to the calling activity */ @@ -284,7 +280,7 @@ protected void onCreate(Bundle savedInstanceState) { //set default if it is null scopeType = Scope.ALL; } - requestCode = givenIntent.getIntExtra(REQUEST_CODE, REQUEST_DIRECTORY); + requestCode = (Request) givenIntent.getSerializableExtra(REQUEST_CODE); colorId = givenIntent.getIntExtra(INTENT_EXTRA_COLOR_ID, android.R.color.holo_blue_light); drawableId = givenIntent.getIntExtra(INTENT_EXTRA_DRAWABLE_ID, -1); @@ -452,7 +448,7 @@ public void onClick(View v) { selectButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if (requestCode == REQUEST_DIRECTORY) { + if (requestCode == Request.DIRECTORY) { if (currentFile.isDirectory()) { curDirectory = currentFile; data = new Intent(); From 8e67b543918854844dddfb4309966e889a598a0a Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 22:14:02 +0330 Subject: [PATCH 12/15] bug fix + FileType class name changed to MimeType --- .../filepickerlibrary/app/MainActivity.java | 36 +++++++++---------- .../filepickerlibrary/FilePicker.java | 18 +++++----- .../filepickerlibrary/FilePickerActivity.java | 20 +++++------ .../filepickerlibrary/FilePickerBuilder.java | 20 +++++++---- .../enums/{FileType.java => MimeType.java} | 12 +++---- 5 files changed, 56 insertions(+), 50 deletions(-) rename library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/{FileType.java => MimeType.java} (88%) diff --git a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java index ca1d342..fa509e6 100644 --- a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java +++ b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java @@ -31,7 +31,7 @@ import com.devpaul.materiallibrary.views.MaterialFlatButton; import com.github.developerpaul123.filepickerlibrary.FilePickerActivity; import com.github.developerpaul123.filepickerlibrary.FilePickerBuilder; -import com.github.developerpaul123.filepickerlibrary.enums.FileType; +import com.github.developerpaul123.filepickerlibrary.enums.MimeType; import com.github.developerpaul123.filepickerlibrary.enums.Request; import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; @@ -83,17 +83,17 @@ public PlaceholderFragment() { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); - if (requestCode == REQUEST_DIRECTORY && resultCode == RESULT_OK) { - Toast.makeText(getActivity(), "File Selected: " + data + if ((requestCode == REQUEST_DIRECTORY) && (resultCode == RESULT_OK)) { + Toast.makeText(getActivity(), "Directory Selected: " + data .getStringExtra(FilePickerActivity.FILE_EXTRA_DATA_PATH), Toast.LENGTH_LONG).show(); - } else if (requestCode == REQUEST_FILE && resultCode == RESULT_OK) { + } else if ((requestCode == REQUEST_FILE) && (resultCode == RESULT_OK)) { Toast.makeText(getActivity(), "File Selected: " + data .getStringExtra(FilePickerActivity.FILE_EXTRA_DATA_PATH), Toast.LENGTH_LONG).show(); } - super.onActivityResult(requestCode, resultCode, data); } @Override @@ -107,8 +107,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, @Override public void onClick(View view) { Intent filePickerActivity = new Intent(getActivity(), FilePickerActivity.class); - filePickerActivity.putExtra(FilePickerActivity.SCOPE_TYPE, Scope.ALL); - filePickerActivity.putExtra(FilePickerActivity.REQUEST_CODE, Request.DIRECTORY); + filePickerActivity.putExtra(FilePickerActivity.SCOPE, Scope.ALL); + filePickerActivity.putExtra(FilePickerActivity.REQUEST, Request.DIRECTORY); filePickerActivity.putExtra(FilePickerActivity.INTENT_EXTRA_FAB_COLOR_ID, android.R.color.holo_green_dark); startActivityForResult(filePickerActivity, REQUEST_DIRECTORY); } @@ -120,10 +120,10 @@ public void onClick(View view) { @Override public void onClick(View view) { Intent filePicker = new Intent(getActivity(), FilePickerActivity.class); - filePicker.putExtra(FilePickerActivity.SCOPE_TYPE, Scope.ALL); - filePicker.putExtra(FilePickerActivity.REQUEST_CODE, FilePickerActivity.REQUEST_FILE); + filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); + filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_orange_dark); - startActivityForResult(filePicker, FilePickerActivity.REQUEST_FILE); + startActivityForResult(filePicker, REQUEST_FILE); } }); @@ -133,8 +133,8 @@ public void onClick(View view) { public void onClick(View view) { Intent filePickerDialogIntent = new Intent(getActivity(), FilePickerActivity.class); filePickerDialogIntent.putExtra(FilePickerActivity.THEME_TYPE, ThemeType.DIALOG); - filePickerDialogIntent.putExtra(FilePickerActivity.REQUEST_CODE, FilePickerActivity.REQUEST_FILE); - startActivityForResult(filePickerDialogIntent, FilePickerActivity.REQUEST_FILE); + filePickerDialogIntent.putExtra(FilePickerActivity.REQUEST, Request.FILE); + startActivityForResult(filePickerDialogIntent, REQUEST_FILE); } }); @@ -143,11 +143,11 @@ public void onClick(View view) { @Override public void onClick(View view) { Intent filePicker = new Intent(getActivity(), FilePickerActivity.class); - filePicker.putExtra(FilePickerActivity.SCOPE_TYPE, Scope.ALL); - filePicker.putExtra(FilePickerActivity.REQUEST_CODE, FilePickerActivity.REQUEST_FILE); + filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); + filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_green_dark); - filePicker.putExtra(FilePickerActivity.MIME_TYPE, FileType.PNG); - startActivityForResult(filePicker, FilePickerActivity.REQUEST_FILE); + filePicker.putExtra(FilePickerActivity.MIME_TYPE, MimeType.PNG); + startActivityForResult(filePicker, REQUEST_FILE); } }); @@ -158,8 +158,8 @@ public void onClick(View view) { new FilePickerBuilder(getActivity()).withColor(android.R.color.holo_blue_bright) .withRequest(Request.FILE) - .withScopeType(Scope.ALL) - .withMimeType(FileType.JPEG) + .withScope(Scope.ALL) + .withMimeType(MimeType.JPEG) .useMaterialActivity(true) .launch(REQUEST_FILE); } diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java index ac2fc2b..d6caeed 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePicker.java @@ -33,7 +33,7 @@ import com.afollestad.materialdialogs.MaterialDialog; import com.github.developerpaul123.filepickerlibrary.adapter.FileRecyclerViewAdapter; -import com.github.developerpaul123.filepickerlibrary.enums.FileType; +import com.github.developerpaul123.filepickerlibrary.enums.MimeType; import com.github.developerpaul123.filepickerlibrary.enums.Request; import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; @@ -46,17 +46,17 @@ public class FilePicker extends AppCompatActivity implements NameFileDialogInterface { /** - * Constant value for adding the REQUEST_CODE int as an extra to the {@code FilePickerActivity} + * Constant value for adding the REQUEST int as an extra to the {@code FilePickerActivity} * {@code Intent} */ - public static final String REQUEST_CODE = "requestCode"; + public static final String REQUEST = "request"; /** - * Constant value for adding the SCOPE_TYPE enum as an extra to the {@code FilePickerActivity} + * Constant value for adding the SCOPE enum as an extra to the {@code FilePickerActivity} * {@code Intent} The default is {@code FileType.ALL} see * {@link Scope} for other types. */ - public static final String SCOPE_TYPE = "scopeType"; + public static final String SCOPE = "scope"; /** * Constant label value for sending a color id extra in the calling intent for this @@ -267,8 +267,8 @@ public void onClick(View view) { Object rawMimeTypeParameter = getIntent().getExtras().get(MIME_TYPE); if (rawMimeTypeParameter instanceof String) { mimeType = (String) rawMimeTypeParameter; - } else if (rawMimeTypeParameter instanceof FileType) { - mimeType = ((FileType) rawMimeTypeParameter).getMimeType(); + } else if (rawMimeTypeParameter instanceof MimeType) { + mimeType = ((MimeType) rawMimeTypeParameter).getMimeType(); } else { mimeType = null; } @@ -280,12 +280,12 @@ public void onClick(View view) { //get the scope type and request code. Defaults are all files and request of a directory //path. - scopeType = (Scope) givenIntent.getSerializableExtra(SCOPE_TYPE); + scopeType = (Scope) givenIntent.getSerializableExtra(SCOPE); if (scopeType == null) { //set default if it is null scopeType = Scope.ALL; } - requestCode = (Request) givenIntent.getSerializableExtra(REQUEST_CODE); + requestCode = (Request) givenIntent.getSerializableExtra(REQUEST); colorId = givenIntent.getIntExtra(INTENT_EXTRA_COLOR_ID, android.R.color.holo_blue_light); drawableId = givenIntent.getIntExtra(INTENT_EXTRA_DRAWABLE_ID, -1); diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java index d17d93d..d4053f9 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerActivity.java @@ -49,7 +49,7 @@ import com.afollestad.materialdialogs.MaterialDialog; import com.devpaul.materiallibrary.views.MaterialFloatingActionButton; import com.github.developerpaul123.filepickerlibrary.adapter.FileListAdapter; -import com.github.developerpaul123.filepickerlibrary.enums.FileType; +import com.github.developerpaul123.filepickerlibrary.enums.MimeType; import com.github.developerpaul123.filepickerlibrary.enums.Request; import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; @@ -69,17 +69,17 @@ public class FilePickerActivity extends ListActivity implements NameFileDialogIn public static final int REQUEST_FILE = 102; /** - * Constant value for adding the REQUEST_CODE int as an extra to the {@code FilePickerActivity} + * Constant value for adding the REQUEST int as an extra to the {@code FilePickerActivity} * {@code Intent} */ - public static final String REQUEST_CODE = "requestCode"; + public static final String REQUEST = "request"; /** - * Constant value for adding the SCOPE_TYPE enum as an extra to the {@code FilePickerActivity} + * Constant value for adding the SCOPE enum as an extra to the {@code FilePickerActivity} * {@code Intent} The default is {@code FileType.ALL} see * {@link Scope} for other types. */ - public static final String SCOPE_TYPE = "scopeType"; + public static final String SCOPE = "scope"; /** * Constant label value for sending a color id extra in the calling intent for this @@ -262,8 +262,8 @@ protected void onCreate(Bundle savedInstanceState) { Object rawMimeTypeParameter = getIntent().getExtras().get(MIME_TYPE); if (rawMimeTypeParameter instanceof String) { mimeType = (String) rawMimeTypeParameter; - } else if (rawMimeTypeParameter instanceof FileType) { - mimeType = ((FileType) rawMimeTypeParameter).getMimeType(); + } else if (rawMimeTypeParameter instanceof MimeType) { + mimeType = ((MimeType) rawMimeTypeParameter).getMimeType(); } else { mimeType = null; } @@ -275,12 +275,12 @@ protected void onCreate(Bundle savedInstanceState) { //get the scope type and request code. Defaults are all files and request of a directory //path. - scopeType = (Scope) givenIntent.getSerializableExtra(SCOPE_TYPE); + scopeType = (Scope) givenIntent.getSerializableExtra(SCOPE); if (scopeType == null) { //set default if it is null scopeType = Scope.ALL; } - requestCode = (Request) givenIntent.getSerializableExtra(REQUEST_CODE); + requestCode = (Request) givenIntent.getSerializableExtra(REQUEST); colorId = givenIntent.getIntExtra(INTENT_EXTRA_COLOR_ID, android.R.color.holo_blue_light); drawableId = givenIntent.getIntExtra(INTENT_EXTRA_DRAWABLE_ID, -1); @@ -463,7 +463,7 @@ public void onClick(View view) { curDirectory = currentFile; new UpdateFilesTask(FilePickerActivity.this).execute(curDirectory); } else { - if (mimeType != null && !mimeType.equalsIgnoreCase(FileType.NONE.getMimeType())) { + if (mimeType != null && !mimeType.equalsIgnoreCase(MimeType.NONE.getMimeType())) { MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton(); String requiredExtension = "." + mimeTypeMap.getExtensionFromMimeType(mimeType); if (requiredExtension.equalsIgnoreCase(fileExt(currentFile.toString()))) { diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java index 10e09e3..8ef445e 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/FilePickerBuilder.java @@ -5,7 +5,7 @@ import android.content.Intent; import android.support.annotation.ColorRes; -import com.github.developerpaul123.filepickerlibrary.enums.FileType; +import com.github.developerpaul123.filepickerlibrary.enums.MimeType; import com.github.developerpaul123.filepickerlibrary.enums.Request; import com.github.developerpaul123.filepickerlibrary.enums.Scope; @@ -19,7 +19,7 @@ public class FilePickerBuilder { private Scope mScope = Scope.ALL; private Request requestCode = Request.FILE; private int color = android.R.color.holo_blue_bright; - private FileType mimeType = FileType.NONE; + private MimeType mimeType = MimeType.NONE; /** * Builder class to build a filepicker activity. @@ -30,13 +30,19 @@ public FilePickerBuilder(Context context) { mContext = context; } + @Deprecated + public FilePickerBuilder withScopeType(Scope type) { + mScope = type; + return this; + } + /** * Set the scopetype of the file picker. * * @param type scope type. Can be DIRECTORIES or ALL. * @return the current builder instance. */ - public FilePickerBuilder withScopeType(Scope type) { + public FilePickerBuilder withScope(Scope type) { mScope = type; return this; } @@ -48,7 +54,7 @@ public FilePickerBuilder withScopeType(Scope type) { * @param request * @return */ - public FilePickerBuilder withRequest(Request request){ + public FilePickerBuilder withRequest(Request request) { requestCode = request; return this; } @@ -71,7 +77,7 @@ public FilePickerBuilder withColor(@ColorRes int color) { * @param type the mime type. * @return current instance of the builder. */ - public FilePickerBuilder withMimeType(FileType type) { + public FilePickerBuilder withMimeType(MimeType type) { mimeType = type; return this; } @@ -100,8 +106,8 @@ public void launch() { */ public Intent build() { Intent filePicker = new Intent(mContext, useMaterial ? FilePicker.class : FilePickerActivity.class); - filePicker.putExtra(FilePicker.SCOPE_TYPE, mScope); - filePicker.putExtra(FilePicker.REQUEST_CODE, requestCode); + filePicker.putExtra(FilePicker.SCOPE, mScope); + filePicker.putExtra(FilePicker.REQUEST, requestCode); filePicker.putExtra(FilePicker.INTENT_EXTRA_COLOR_ID, color); filePicker.putExtra(FilePicker.MIME_TYPE, mimeType); return filePicker; diff --git a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileType.java b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/MimeType.java similarity index 88% rename from library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileType.java rename to library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/MimeType.java index 26af4d4..67ee5e4 100644 --- a/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/FileType.java +++ b/library/src/main/java/com/github/developerpaul123/filepickerlibrary/enums/MimeType.java @@ -19,19 +19,19 @@ /** * Created by Paul Tsouchlos */ -public enum FileType { +public enum MimeType { NONE(""), JPEG("image/jpeg"), PNG("image/png"), XML("application/xml"), XLS("application/vnd.ms-excel"), XLSX("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"), DOC("application/msword"), DOCX("application/vnd.openxmlformats-officedocument.wordprocessingml.document"), - HTML("text/html"), TXT("text/plain"), PDF("application/pdf"), ; + HTML("text/html"), TXT("text/plain"), PDF("application/pdf"); - private final String mimeType; + private final String mMimeType; - FileType(String mimeType) { - this.mimeType = mimeType; + MimeType(String mimeType) { + mMimeType = mimeType; } public String getMimeType() { - return mimeType; + return mMimeType; } } From 520c4ebda3d7f00f7a984748f30fb3490ccdf88a Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 22:19:31 +0330 Subject: [PATCH 13/15] There's no need to fragment and options menu at this time. --- .../filepickerlibrary/app/MainActivity.java | 190 +++++++----------- app/src/main/res/layout/activity_main.xml | 63 +++++- app/src/main/res/layout/fragment_main.xml | 56 ------ app/src/main/res/menu/main.xml | 9 - 4 files changed, 129 insertions(+), 189 deletions(-) delete mode 100644 app/src/main/res/layout/fragment_main.xml delete mode 100644 app/src/main/res/menu/main.xml diff --git a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java index fa509e6..e32269c 100644 --- a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java +++ b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java @@ -16,15 +16,12 @@ package com.github.developerpaul123.filepickerlibrary.app; -import android.app.Fragment; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; -import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.view.ViewGroup; import android.widget.Toast; import com.devpaul.filepicker.R; @@ -46,125 +43,84 @@ public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - if (savedInstanceState == null) { - getFragmentManager().beginTransaction() - .add(R.id.container, new MainActivity.PlaceholderFragment()) - .commit(); - } - } + MaterialFlatButton filePickerActivity = (MaterialFlatButton) findViewById(R.id.file_picker_activity); - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.main, menu); - return true; + filePickerActivity.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent filePickerActivity = new Intent(MainActivity.this, FilePickerActivity.class); + filePickerActivity.putExtra(FilePickerActivity.SCOPE, Scope.ALL); + filePickerActivity.putExtra(FilePickerActivity.REQUEST, Request.DIRECTORY); + filePickerActivity.putExtra(FilePickerActivity.INTENT_EXTRA_FAB_COLOR_ID, android.R.color.holo_green_dark); + startActivityForResult(filePickerActivity, REQUEST_DIRECTORY); + } + }); + + MaterialFlatButton filePickerForFile = (MaterialFlatButton) findViewById(R.id.file_picker_return_file_path); + + filePickerForFile.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent filePicker = new Intent(MainActivity.this, FilePickerActivity.class); + filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); + filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); + filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_orange_dark); + startActivityForResult(filePicker, REQUEST_FILE); + } + }); + + MaterialFlatButton filePickerDialog = (MaterialFlatButton) findViewById(R.id.file_picker_dialog); + filePickerDialog.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent filePickerDialogIntent = new Intent(MainActivity.this, FilePickerActivity.class); + filePickerDialogIntent.putExtra(FilePickerActivity.THEME_TYPE, ThemeType.DIALOG); + filePickerDialogIntent.putExtra(FilePickerActivity.REQUEST, Request.FILE); + startActivityForResult(filePickerDialogIntent, REQUEST_FILE); + } + }); + + MaterialFlatButton filePickerMimePng = (MaterialFlatButton) findViewById(R.id.file_picker_mime_png); + filePickerMimePng.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent filePicker = new Intent(MainActivity.this, FilePickerActivity.class); + filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); + filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); + filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_green_dark); + filePicker.putExtra(FilePickerActivity.MIME_TYPE, MimeType.PNG); + startActivityForResult(filePicker, REQUEST_FILE); + } + }); + + MaterialFlatButton newFilePicker = (MaterialFlatButton) findViewById(R.id.new_file_picker_activity); + newFilePicker.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + new FilePickerBuilder(MainActivity.this).withColor(android.R.color.holo_blue_bright) + .withRequest(Request.FILE) + .withScope(Scope.ALL) + .withMimeType(MimeType.JPEG) + .useMaterialActivity(true) + .launch(REQUEST_FILE); + } + }); } @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - if (id == R.id.action_settings) { - return true; - } - return super.onOptionsItemSelected(item); - } - - /** - * A placeholder fragment containing a simple view. - */ - public static class PlaceholderFragment extends Fragment { - - public PlaceholderFragment() { - } - - @Override - public void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - if ((requestCode == REQUEST_DIRECTORY) && (resultCode == RESULT_OK)) { - Toast.makeText(getActivity(), "Directory Selected: " + data - .getStringExtra(FilePickerActivity.FILE_EXTRA_DATA_PATH), - Toast.LENGTH_LONG).show(); - } else if ((requestCode == REQUEST_FILE) && (resultCode == RESULT_OK)) { - Toast.makeText(getActivity(), "File Selected: " + data - .getStringExtra(FilePickerActivity.FILE_EXTRA_DATA_PATH), - Toast.LENGTH_LONG).show(); - } - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View rootView = inflater.inflate(R.layout.fragment_main, container, false); - - MaterialFlatButton filePickerActivity = (MaterialFlatButton) rootView.findViewById(R.id.file_picker_activity); - - filePickerActivity.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent filePickerActivity = new Intent(getActivity(), FilePickerActivity.class); - filePickerActivity.putExtra(FilePickerActivity.SCOPE, Scope.ALL); - filePickerActivity.putExtra(FilePickerActivity.REQUEST, Request.DIRECTORY); - filePickerActivity.putExtra(FilePickerActivity.INTENT_EXTRA_FAB_COLOR_ID, android.R.color.holo_green_dark); - startActivityForResult(filePickerActivity, REQUEST_DIRECTORY); - } - }); - - MaterialFlatButton filePickerForFile = (MaterialFlatButton) rootView.findViewById(R.id.file_picker_return_file_path); - - filePickerForFile.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent filePicker = new Intent(getActivity(), FilePickerActivity.class); - filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); - filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); - filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_orange_dark); - startActivityForResult(filePicker, REQUEST_FILE); - } - }); - - MaterialFlatButton filePickerDialog = (MaterialFlatButton) rootView.findViewById(R.id.file_picker_dialog); - filePickerDialog.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent filePickerDialogIntent = new Intent(getActivity(), FilePickerActivity.class); - filePickerDialogIntent.putExtra(FilePickerActivity.THEME_TYPE, ThemeType.DIALOG); - filePickerDialogIntent.putExtra(FilePickerActivity.REQUEST, Request.FILE); - startActivityForResult(filePickerDialogIntent, REQUEST_FILE); - } - }); - - MaterialFlatButton filePickerMimePng = (MaterialFlatButton) rootView.findViewById(R.id.file_picker_mime_png); - filePickerMimePng.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent filePicker = new Intent(getActivity(), FilePickerActivity.class); - filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); - filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); - filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_green_dark); - filePicker.putExtra(FilePickerActivity.MIME_TYPE, MimeType.PNG); - startActivityForResult(filePicker, REQUEST_FILE); - } - }); - - MaterialFlatButton newFilePicker = (MaterialFlatButton) rootView.findViewById(R.id.new_file_picker_activity); - newFilePicker.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - - new FilePickerBuilder(getActivity()).withColor(android.R.color.holo_blue_bright) - .withRequest(Request.FILE) - .withScope(Scope.ALL) - .withMimeType(MimeType.JPEG) - .useMaterialActivity(true) - .launch(REQUEST_FILE); - } - }); - return rootView; + public void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + + if ((requestCode == REQUEST_DIRECTORY) && (resultCode == RESULT_OK)) { + Toast.makeText(this, "Directory Selected: " + data + .getStringExtra(FilePickerActivity.FILE_EXTRA_DATA_PATH), + Toast.LENGTH_LONG).show(); + } else if ((requestCode == REQUEST_FILE) && (resultCode == RESULT_OK)) { + Toast.makeText(this, "File Selected: " + data + .getStringExtra(FilePickerActivity.FILE_EXTRA_DATA_PATH), + Toast.LENGTH_LONG).show(); } } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index eb642dc..4dd1387 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,7 +1,56 @@ - + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml deleted file mode 100644 index 4dd1387..0000000 --- a/app/src/main/res/layout/fragment_main.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml deleted file mode 100644 index 13a0a81..0000000 --- a/app/src/main/res/menu/main.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - From 59a17493541cf6e94f17ab2ff437fb3c36053cdc Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 22:26:37 +0330 Subject: [PATCH 14/15] butterknife used instead of old sample creating OnClick --- app/build.gradle | 1 + .../filepickerlibrary/app/MainActivity.java | 128 +++++++++--------- 2 files changed, 62 insertions(+), 67 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4102b00..ca37c74 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,4 +25,5 @@ dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile project(':library') compile 'com.github.DeveloperPaul123:MaterialLibrary:1.0.5' + compile 'com.jakewharton:butterknife:7.0.1' } diff --git a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java index e32269c..d6e62ed 100644 --- a/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java +++ b/app/src/main/java/com/github/developerpaul123/filepickerlibrary/app/MainActivity.java @@ -19,9 +19,6 @@ import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; import android.widget.Toast; import com.devpaul.filepicker.R; @@ -33,80 +30,77 @@ import com.github.developerpaul123.filepickerlibrary.enums.Scope; import com.github.developerpaul123.filepickerlibrary.enums.ThemeType; +import butterknife.Bind; +import butterknife.ButterKnife; +import butterknife.OnClick; + public class MainActivity extends AppCompatActivity { static int REQUEST_FILE = 10; static int REQUEST_DIRECTORY = 11; + @Bind(R.id.file_picker_activity) + MaterialFlatButton activitySample; + @Bind(R.id.file_picker_return_file_path) + MaterialFlatButton returnFilePathSample; + @Bind(R.id.file_picker_dialog) + MaterialFlatButton dialogSample; + @Bind(R.id.file_picker_mime_png) + MaterialFlatButton mimePngSample; + @Bind(R.id.new_file_picker_activity) + MaterialFlatButton materialSample; + + @OnClick(R.id.file_picker_mime_png) + void mimePngSample() { + Intent filePicker = new Intent(this, FilePickerActivity.class); + filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); + filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); + filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_green_dark); + filePicker.putExtra(FilePickerActivity.MIME_TYPE, MimeType.PNG); + startActivityForResult(filePicker, REQUEST_FILE); + } - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - MaterialFlatButton filePickerActivity = (MaterialFlatButton) findViewById(R.id.file_picker_activity); - - filePickerActivity.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent filePickerActivity = new Intent(MainActivity.this, FilePickerActivity.class); - filePickerActivity.putExtra(FilePickerActivity.SCOPE, Scope.ALL); - filePickerActivity.putExtra(FilePickerActivity.REQUEST, Request.DIRECTORY); - filePickerActivity.putExtra(FilePickerActivity.INTENT_EXTRA_FAB_COLOR_ID, android.R.color.holo_green_dark); - startActivityForResult(filePickerActivity, REQUEST_DIRECTORY); - } - }); - - MaterialFlatButton filePickerForFile = (MaterialFlatButton) findViewById(R.id.file_picker_return_file_path); - - filePickerForFile.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent filePicker = new Intent(MainActivity.this, FilePickerActivity.class); - filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); - filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); - filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_orange_dark); - startActivityForResult(filePicker, REQUEST_FILE); - } - }); + @OnClick(R.id.new_file_picker_activity) + void materialSample() { + new FilePickerBuilder(this).withColor(android.R.color.holo_blue_bright) + .withRequest(Request.FILE) + .withScope(Scope.ALL) + .withMimeType(MimeType.JPEG) + .useMaterialActivity(true) + .launch(REQUEST_FILE); + } - MaterialFlatButton filePickerDialog = (MaterialFlatButton) findViewById(R.id.file_picker_dialog); - filePickerDialog.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent filePickerDialogIntent = new Intent(MainActivity.this, FilePickerActivity.class); - filePickerDialogIntent.putExtra(FilePickerActivity.THEME_TYPE, ThemeType.DIALOG); - filePickerDialogIntent.putExtra(FilePickerActivity.REQUEST, Request.FILE); - startActivityForResult(filePickerDialogIntent, REQUEST_FILE); - } - }); + @OnClick(R.id.file_picker_dialog) + void dialogSample() { + Intent filePickerDialogIntent = new Intent(this, FilePickerActivity.class); + filePickerDialogIntent.putExtra(FilePickerActivity.THEME_TYPE, ThemeType.DIALOG); + filePickerDialogIntent.putExtra(FilePickerActivity.REQUEST, Request.FILE); + startActivityForResult(filePickerDialogIntent, REQUEST_FILE); + } - MaterialFlatButton filePickerMimePng = (MaterialFlatButton) findViewById(R.id.file_picker_mime_png); - filePickerMimePng.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent filePicker = new Intent(MainActivity.this, FilePickerActivity.class); - filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); - filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); - filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_green_dark); - filePicker.putExtra(FilePickerActivity.MIME_TYPE, MimeType.PNG); - startActivityForResult(filePicker, REQUEST_FILE); - } - }); + @OnClick(R.id.file_picker_activity) + void activitySample() { + Intent filePickerActivity = new Intent(this, FilePickerActivity.class); + filePickerActivity.putExtra(FilePickerActivity.SCOPE, Scope.ALL); + filePickerActivity.putExtra(FilePickerActivity.REQUEST, Request.DIRECTORY); + filePickerActivity.putExtra(FilePickerActivity.INTENT_EXTRA_FAB_COLOR_ID, android.R.color.holo_green_dark); + startActivityForResult(filePickerActivity, REQUEST_DIRECTORY); + } - MaterialFlatButton newFilePicker = (MaterialFlatButton) findViewById(R.id.new_file_picker_activity); - newFilePicker.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { + @OnClick(R.id.file_picker_return_file_path) + void returnFilePathSample() { + Intent filePicker = new Intent(this, FilePickerActivity.class); + filePicker.putExtra(FilePickerActivity.SCOPE, Scope.ALL); + filePicker.putExtra(FilePickerActivity.REQUEST, Request.FILE); + filePicker.putExtra(FilePickerActivity.INTENT_EXTRA_COLOR_ID, android.R.color.holo_orange_dark); + startActivityForResult(filePicker, REQUEST_FILE); + } - new FilePickerBuilder(MainActivity.this).withColor(android.R.color.holo_blue_bright) - .withRequest(Request.FILE) - .withScope(Scope.ALL) - .withMimeType(MimeType.JPEG) - .useMaterialActivity(true) - .launch(REQUEST_FILE); - } - }); + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + ButterKnife.bind(this); } @Override From e6e787cb951ffe0ea309a4adfd8f3f874f41b9d9 Mon Sep 17 00:00:00 2001 From: Alireza Date: Wed, 24 Feb 2016 22:31:42 +0330 Subject: [PATCH 15/15] v3.5 is here and tested --- .idea/misc.xml | 13 +- .idea/qaplug_profiles.xml | 452 ++++++++++++++++++++++++++++++++++++++ app/app.iml | 15 +- app/build.gradle | 4 +- library/build.gradle | 4 +- 5 files changed, 474 insertions(+), 14 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 9a78308..05edddc 100755 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -2,6 +2,16 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/qaplug_profiles.xml b/.idea/qaplug_profiles.xml index 2cf250a..ab337d2 100644 --- a/.idea/qaplug_profiles.xml +++ b/.idea/qaplug_profiles.xml @@ -7,6 +7,458 @@ diff --git a/app/app.iml b/app/app.iml index 6247909..6520e6b 100755 --- a/app/app.iml +++ b/app/app.iml @@ -61,13 +61,6 @@ - - - - - - - @@ -75,6 +68,13 @@ + + + + + + + @@ -97,6 +97,7 @@ + diff --git a/app/build.gradle b/app/build.gradle index ca37c74..021f3cb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId 'com.github.developerpaul123.filepickerlibrary' minSdkVersion 16 targetSdkVersion 23 - versionCode 2 - versionName '3.0' + versionCode 3 + versionName '3.5' } buildTypes { release { diff --git a/library/build.gradle b/library/build.gradle index 0581b83..9068c14 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -6,8 +6,8 @@ android { defaultConfig { minSdkVersion 16 targetSdkVersion 23 - versionName '3.0' - versionCode 7 + versionName '3.5' + versionCode 8 } buildTypes { release {