Java源码示例:com.github.angads25.filepicker.model.DialogConfigs

示例1
private void chooseOutputFolder() {
    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.SINGLE_MODE;
    properties.selection_type = DialogConfigs.DIR_SELECT;
    properties.root = new File(Environment.getExternalStorageDirectory().toURI());
    properties.error_dir = new File(Environment.getExternalStorageDirectory().toURI());
    properties.offset = new File(Environment.getExternalStorageDirectory().toURI());
    FilePickerDialog dial = new FilePickerDialog(this, properties);
    dial.setTitle(R.string.backupFolder);
    dial.setDialogSelectionListener(files -> {
        pathToSaveLogs = files[0];
        etLogsPath.setText(pathToSaveLogs);
        br.setPathToSaveLogs(pathToSaveLogs);
    });
    dial.show();
}
 
示例2
private void selectBackupPath() {
    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.SINGLE_MODE;
    properties.selection_type = DialogConfigs.DIR_SELECT;
    properties.root = new File(Environment.getExternalStorageDirectory().toURI());
    properties.error_dir = new File(Environment.getExternalStorageDirectory().toURI());
    properties.offset = new File(Environment.getExternalStorageDirectory().toURI());
    properties.extensions = new String[]{"arch:"};
    FilePickerDialog dial = new FilePickerDialog(getActivity(), properties);
    dial.setTitle(R.string.backupFolder);
    dial.setDialogSelectionListener(files -> {
        pathBackup = files[0];
        etFilePath.setText(pathBackup);

        if (backupHelper != null) {
            backupHelper.setPathBackup(pathBackup);
        }

        if (restoreHelper != null) {
            restoreHelper.setPathBackup(pathBackup);
        }
    });
    dial.show();
}
 
示例3
@Override
protected void deliverSelectionResult(String tag, int selectedItemIndex) {
    switch (selectedItemIndex) {
        case 0:
            DialogProperties properties = new DialogProperties();
            properties.selection_mode = DialogConfigs.SINGLE_MODE;
            properties.selection_type = DialogConfigs.DIR_SELECT;
            properties.root = Environment.getExternalStorageDirectory();

            openFilePicker(FilePickerDialogFragment.newInstance("backup_dir", getString(R.string.settings_main_pick_dir), properties));
            break;
        case 1:
            Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
            startActivityForResult(Intent.createChooser(intent, getString(R.string.installer_pick_apks)), REQUEST_CODE_SELECT_BACKUP_DIR);
            break;
    }
}
 
示例4
@NeedsPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
void SelectFile() {
    FileUtils.SelectFileFromStorage(ActivityExportCSV.this, DialogConfigs.FILE_AND_DIR_SELECT, new FileUtils.IOnSelectFile() {
        @Override
        public void OnSelectFile(String path) {
            String dir;
            String fn;
            File file = new File(path);
            if (file.isDirectory()) {
                dir = path;
                fn = "";
            } else {
                dir = file.getParent();
                fn = file.getName();
            }
            SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(ActivityExportCSV.this);
            preferences.edit().putString("export_dir", dir).putString("export_file", fn).apply();
            mEditTextDirectory.setText(dir);
            mEditTextFileName.setText(fn);
        }
    });
}
 
示例5
private void selectHomeDir() {
    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.SINGLE_MODE;
    properties.selection_type = DialogConfigs.DIR_SELECT;
    properties.root = Environment.getExternalStorageDirectory();

    openFilePicker(FilePickerDialogFragment.newInstance("home", getString(R.string.settings_main_pick_dir), properties));
}
 
示例6
private void checkPermissionsAndPickFiles() {
    if (!PermissionsUtils.checkAndRequestStoragePermissions(this))
        return;

    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.MULTI_MODE;
    properties.selection_type = DialogConfigs.FILE_SELECT;
    properties.root = Environment.getExternalStorageDirectory();
    properties.offset = new File(mHelper.getHomeDirectory());
    properties.extensions = new String[]{"apk", "zip", "apks", "xapk"};
    properties.sortBy = mHelper.getFilePickerSortBy();
    properties.sortOrder = mHelper.getFilePickerSortOrder();

    FilePickerDialogFragment.newInstance(null, getString(R.string.installer_pick_apks), properties).show(getChildFragmentManager(), "dialog_files_picker");
}
 
示例7
private void checkPermissionsAndPickFiles() {
    if (!PermissionsUtils.checkAndRequestStoragePermissions(this))
        return;

    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.MULTI_MODE;
    properties.selection_type = DialogConfigs.FILE_SELECT;
    properties.root = Environment.getExternalStorageDirectory();
    properties.offset = new File(mHelper.getHomeDirectory());
    properties.extensions = new String[]{"apk", "zip", "apks"};
    properties.sortBy = mHelper.getFilePickerSortBy();
    properties.sortOrder = mHelper.getFilePickerSortOrder();

    FilePickerDialogFragment.newInstance(null, getString(R.string.installer_pick_apks), properties).show(getChildFragmentManager(), "dialog_files_picker");
}
 
示例8
private void checkPermissionsAndPickFiles() {
    if (!PermissionsUtils.checkAndRequestStoragePermissions(this))
        return;

    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.MULTI_MODE;
    properties.selection_type = DialogConfigs.FILE_SELECT;
    properties.root = Environment.getExternalStorageDirectory();
    properties.offset = new File(mHelper.getHomeDirectory());
    properties.extensions = new String[]{"zip", "apks", "xapk", "apk"};
    properties.sortBy = mHelper.getFilePickerSortBy();
    properties.sortOrder = mHelper.getFilePickerSortOrder();

    FilePickerDialogFragment.newInstance(null, getString(R.string.installer_pick_apks), properties).show(getChildFragmentManager(), "dialog_files_picker");
}
 
示例9
public static void SelectFileFromStorage(Activity activity, int selectionType, final IOnSelectFile onSelectFileListener) {
    final DialogProperties properties=new DialogProperties();
    properties.selection_mode = DialogConfigs.SINGLE_MODE;
    properties.selection_type = selectionType;
    properties.root = new File(DialogConfigs.DEFAULT_DIR);
    properties.error_dir = new File(DialogConfigs.DEFAULT_DIR);
    properties.offset = new File(DialogConfigs.DEFAULT_DIR);
    properties.extensions = new String[] {"csv", "CSV"};

    FilePickerDialog dialog=new FilePickerDialog(activity,properties);
    String title = "";
    title = selectionType == DialogConfigs.FILE_SELECT ? activity.getString(R.string.ttl_select_csv_file) : activity.getString(R.string.ttl_select_export_dir);
    dialog.setTitle(title);
    dialog.setPositiveBtnName("Select");
    dialog.setNegativeBtnName("Cancel");

    dialog.setDialogSelectionListener(new DialogSelectionListener() {
        @Override
        public void onSelectedFilePaths(String[] files) {
            if (files.length == 1 && !files[0].isEmpty()) {
                onSelectFileListener.OnSelectFile(files[0]);
            }
        }
    });

    dialog.show();
}
 
示例10
@NeedsPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
void SelectFile() {
    FileUtils.SelectFileFromStorage(ActivityImportCSV.this, DialogConfigs.FILE_SELECT, new FileUtils.IOnSelectFile() {
        @Override
        public void OnSelectFile(String FileName) {
            editTextFileName.setText(FileName);
        }
    });
}
 
示例11
@NeedsPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
void SelectFile() {
    FileUtils.SelectFileFromStorage(ActivityImportCSVAdvanced.this, DialogConfigs.FILE_SELECT, new FileUtils.IOnSelectFile() {
        @Override
        public void OnSelectFile(String fileName) {
            mPath = fileName;
            initColumns();
        }
    });
}
 
示例12
@Override
public boolean onPreferenceSingleClick(Preference preference) {
    mPreference = preference;

    File offset = null;
    String current = HiSettingsHelper.getInstance().getStringValue(preference.getKey(), "");
    if (!TextUtils.isEmpty(current)) {
        File currentFile = new File(current);
        if (currentFile.exists()) {
            offset = currentFile.getParentFile();
        }
    }

    DialogProperties properties = new DialogProperties();
    properties.root = Environment.getExternalStorageDirectory();
    properties.error_dir = Environment.getExternalStorageDirectory();
    properties.selection_mode = DialogConfigs.SINGLE_MODE;
    if (offset != null)
        properties.offset = offset;
    if (mType == FONT_FILE) {
        properties.selection_type = DialogConfigs.FILE_SELECT;
        properties.extensions = "ttf:otf".split(":");
        properties.enable_clear_button = true;
    } else if (mType == SAVE_DIR) {
        properties.selection_type = DialogConfigs.DIR_SELECT;
    }

    FilePickerDialog mDialog = new FilePickerDialog(mActivity);
    mDialog.setProperties(properties);
    mDialog.setDialogSelectionListener(this);
    mDialog.setTitle(preference.getTitle());
    mDialog.show();
    return false;
}
 
示例13
private void initPicturePanel(final View root) {
    ((ImageView) root.findViewById(R.id.picture_preview)).setImageResource(R.drawable.pause_publish);
    root.findViewById(R.id.picture_preview).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            DialogProperties properties = new DialogProperties();
            properties.selection_mode = DialogConfigs.SINGLE_MODE;
            properties.selection_type = DialogConfigs.FILE_SELECT;
            properties.root = new File(DialogConfigs.STORAGE_DIR);
            properties.error_dir = new File(DialogConfigs.DEFAULT_DIR);
            properties.extensions = new String[]{"jpg", "png"};

            FilePickerDialog dialog = new FilePickerDialog(getActivity(), properties);
            dialog.setTitle("Select a File");
            dialog.setDialogSelectionListener(new DialogSelectionListener() {
                @Override
                public void onSelectedFilePaths(String[] files) {
                    ImageView imageView = ((ImageView) getView().findViewById(R.id.picture_preview));
                    if (files != null && files.length > 0){
                        mPictureFilePath = files[0];
                        imageView.setImageBitmap(BitmapFactory.decodeFile(mPictureFilePath));
                    } else {
                        mPictureFilePath = null;
                        imageView.setImageResource(R.drawable.pause_publish);
                    }
                }
            });
            dialog.show();
        }
    });
}
 
示例14
private void showFilePicker(){
    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.SINGLE_MODE;
    properties.selection_type = DialogConfigs.FILE_SELECT;
    properties.root = new File(DialogConfigs.DEFAULT_DIR);
    properties.error_dir = new File(DialogConfigs.DEFAULT_DIR);
    properties.offset = new File(DialogConfigs.DEFAULT_DIR);

    Set<String> registeredExtensions = ArchiveFileFactory.getRegisteredExtensions();

    registeredExtensions.add("csv");


    String[] ret = new String[registeredExtensions.size()];
    ret = registeredExtensions.toArray(ret);
    properties.extensions = ret;

    FilePickerDialog dialog = new FilePickerDialog(getContext(), properties);
    dialog.setTitle("Select a CSV File");
    dialog.setDialogSelectionListener(new DialogSelectionListener() {
        @Override
        public void onSelectedFilePaths(final String[] files) {
            //files is the array of the paths of files selected by the Application User.
            if (files.length==1)
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        importFromCsv(new File(files[0]));
                    }
                }).start();

        }

    });
    dialog.show();
}
 
示例15
/**
 * step 1, users selects files
 */
private void promptForFiles() {
    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.MULTI_MODE;
    properties.selection_type = DialogConfigs.FILE_SELECT;
    properties.root = new File(DialogConfigs.DEFAULT_DIR);
    properties.error_dir = new File(DialogConfigs.DEFAULT_DIR);
    properties.offset = new File(DialogConfigs.DEFAULT_DIR);

    Set<String> registeredExtensions = ArchiveFileFactory.getRegisteredExtensions();
    //api check
    if (Build.VERSION.SDK_INT >= 14)
        registeredExtensions.add("gpkg");
    registeredExtensions.add("map");

    String[] ret = new String[registeredExtensions.size()];
    ret = registeredExtensions.toArray(ret);
    properties.extensions = ret;

    FilePickerDialog dialog = new FilePickerDialog(getContext(), properties);
    dialog.setTitle("Select a File");
    dialog.setDialogSelectionListener(new DialogSelectionListener() {
        @Override
        public void onSelectedFilePaths(String[] files) {
            //files is the array of the paths of files selected by the Application User.
            setProviderConfig(files);
        }

    });
    dialog.show();
}
 
示例16
private static void showFileDialog(final Context context, final Preference preference, String extension, String rootPath, final boolean isSelectFile)
{
    if (preference instanceof EditTextPreference) {
        ((EditTextPreference) preference).getDialog().dismiss();
    }

    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.SINGLE_MODE;
    if(isSelectFile) {
        properties.selection_type = DialogConfigs.FILE_SELECT;
        properties.extensions = new String[]{extension};
    }
    else {
        properties.selection_type = DialogConfigs.DIR_SELECT;
    }
    properties.root = new File(rootPath);
    properties.error_dir = new File("/storage/emulated/0/");
    properties.offset = new File("/storage");

    FilePickerDialog dialog = new FilePickerDialog(context, properties);
    if(isSelectFile) {
        dialog.setTitle("Select a <" + extension + "> File");
    }
    else {
        dialog.setTitle("Select a Folder");
    }
    dialog.setDialogSelectionListener(new DialogSelectionListener() {
        @Override
        public void onSelectedFilePaths(String[] files) {
            if (preference instanceof EditTextPreference) {
                ((EditTextPreference)preference).setText(files[0]); // Saves the text to the SharedPreferences.
                preference.setSummary("    " + files[0]);
            }
            else if (preference instanceof VideoSelectPreference) {
                ((VideoSelectPreference)preference).setVideoPath(files[0]); // Saves the text to the SharedPreferences.
            }
            else if (preference instanceof FileDialogPreference) {
                ((FileDialogPreference)preference).setPath(files[0]); // Saves the text to the SharedPreferences.
            }
        }
    });
    dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
    dialog.show();
}
 
示例17
public int getFilePickerSortBy() {
    return mPrefs.getInt(PreferencesKeys.FILE_PICKER_SORT_BY, DialogConfigs.SORT_BY_NAME);
}
 
示例18
public int getFilePickerSortOrder() {
    return mPrefs.getInt(PreferencesKeys.FILE_PICKER_SORT_ORDER, DialogConfigs.SORT_ORDER_NORMAL);
}
 
示例19
@Override
public void onItemSelected(String dialogTag, int selectedItemIndex) {
    switch (dialogTag) {
        case "sort":
            mHelper.setFilePickerRawSort(selectedItemIndex);
            switch (selectedItemIndex) {
                case 0:
                    mHelper.setFilePickerSortBy(DialogConfigs.SORT_BY_NAME);
                    mHelper.setFilePickerSortOrder(DialogConfigs.SORT_ORDER_NORMAL);
                    break;
                case 1:
                    mHelper.setFilePickerSortBy(DialogConfigs.SORT_BY_NAME);
                    mHelper.setFilePickerSortOrder(DialogConfigs.SORT_ORDER_REVERSE);
                    break;
                case 2:
                    mHelper.setFilePickerSortBy(DialogConfigs.SORT_BY_LAST_MODIFIED);
                    mHelper.setFilePickerSortOrder(DialogConfigs.SORT_ORDER_NORMAL);
                    break;
                case 3:
                    mHelper.setFilePickerSortBy(DialogConfigs.SORT_BY_LAST_MODIFIED);
                    mHelper.setFilePickerSortOrder(DialogConfigs.SORT_ORDER_REVERSE);
                    break;
                case 4:
                    mHelper.setFilePickerSortBy(DialogConfigs.SORT_BY_SIZE);
                    mHelper.setFilePickerSortOrder(DialogConfigs.SORT_ORDER_REVERSE);
                    break;
                case 5:
                    mHelper.setFilePickerSortBy(DialogConfigs.SORT_BY_SIZE);
                    mHelper.setFilePickerSortOrder(DialogConfigs.SORT_ORDER_NORMAL);
                    break;
            }
            updateFilePickerSortSummary();
            break;
        case "installer":
            boolean installerSet = false;
            switch (selectedItemIndex) {
                case PreferencesValues.INSTALLER_ROOTLESS:
                    installerSet = true;
                    break;
                case PreferencesValues.INSTALLER_ROOTED:
                    if (!SuShell.getInstance().requestRoot()) {
                        AlertsUtils.showAlert(this, R.string.error, R.string.settings_main_use_root_error);
                        return;
                    }
                    installerSet = true;
                    break;
                case PreferencesValues.INSTALLER_SHIZUKU:
                    if (!Utils.apiIsAtLeast(Build.VERSION_CODES.M)) {
                        AlertsUtils.showAlert(this, R.string.error, R.string.settings_main_installer_error_shizuku_pre_m);
                        return;
                    }
                    if (!ShizukuClientHelper.isManagerV3Installed(requireContext())) {
                        AlertsUtils.showAlert(this, R.string.error, R.string.settings_main_installer_error_no_shizuku);
                        return;
                    }

                    installerSet = PermissionsUtils.checkAndRequestShizukuPermissions(this);
                    break;
            }
            if (installerSet) {
                mHelper.setInstaller(selectedItemIndex);
                updateInstallerSummary();
            }
            break;
    }
}
 
示例20
private void showPicker() {
    DialogProperties properties = new DialogProperties();
    properties.selection_mode = DialogConfigs.SINGLE_MODE;
    properties.selection_type = DialogConfigs.FILE_SELECT;
    properties.root = new File(DialogConfigs.DEFAULT_DIR);
    properties.error_dir = new File(DialogConfigs.DEFAULT_DIR);
    properties.offset = new File(DialogConfigs.DEFAULT_DIR);

    Set<String> registeredExtensions = ArchiveFileFactory.getRegisteredExtensions();
    registeredExtensions.add("shp");


    String[] ret = new String[registeredExtensions.size()];
    ret = registeredExtensions.toArray(ret);
    properties.extensions = ret;

    FilePickerDialog dialog = new FilePickerDialog(getContext(), properties);
    dialog.setTitle("Select a File");
    dialog.setDialogSelectionListener(new DialogSelectionListener() {
        @Override
        public void onSelectedFilePaths(String[] files) {
            //files is the array of the paths of files selected by the Application User.
            try {
                List<Overlay>  folder = ShapeConverter.convert(mMapView, new File(files[0]));
                for (final Overlay item : folder) {
                    if (item instanceof PolyOverlayWithIW) {
                        final PolyOverlayWithIW poly = (PolyOverlayWithIW)item;
                        poly.setDowngradePixelSizes(50, 25);
                        poly.setDowngradeDisplay(true);
                        final Paint paint = poly.getOutlinePaint();
                        paint.setStyle(Paint.Style.STROKE);
                        paint.setStrokeJoin(Paint.Join.ROUND);
                        paint.setStrokeCap(Paint.Cap.ROUND);
                    }
                }
                mMapView.getOverlayManager().addAll(folder);
                mMapView.invalidate();
            } catch (Exception e) {
                Toast.makeText(getActivity(), "Error importing file: " + e.getMessage(), Toast.LENGTH_LONG).show();
                Log.e(TAG, "error importing file from " + files[0], e);
            }

        }

    });
    dialog.show();

}