Example usage for android.support.v4.content ContextCompat getExternalFilesDirs

List of usage examples for android.support.v4.content ContextCompat getExternalFilesDirs

Introduction

In this page you can find the example usage for android.support.v4.content ContextCompat getExternalFilesDirs.

Prototype

public static File[] getExternalFilesDirs(Context context, String str) 

Source Link

Usage

From source file:com.hippo.content.FileProvider.java

/**
 * Parse and return {@link PathStrategy} for given authority as defined in
 * {@link #META_DATA_FILE_PROVIDER_PATHS} {@code <meta-data>}.
 *
 * @see #getPathStrategy(Context, String)
 *//*w  ww  .j  a  v a  2s .com*/
private static PathStrategy parsePathStrategy(Context context, String authority)
        throws IOException, XmlPullParserException {
    final SimplePathStrategy strat = new SimplePathStrategy(authority);

    final ProviderInfo info = context.getPackageManager().resolveContentProvider(authority,
            PackageManager.GET_META_DATA);
    final XmlResourceParser in = info.loadXmlMetaData(context.getPackageManager(),
            META_DATA_FILE_PROVIDER_PATHS);
    if (in == null) {
        throw new IllegalArgumentException("Missing " + META_DATA_FILE_PROVIDER_PATHS + " meta-data");
    }

    int type;
    while ((type = in.next()) != END_DOCUMENT) {
        if (type == START_TAG) {
            final String tag = in.getName();

            final String name = in.getAttributeValue(null, ATTR_NAME);
            String path = in.getAttributeValue(null, ATTR_PATH);

            File target = null;
            if (TAG_ROOT_PATH.equals(tag)) {
                target = DEVICE_ROOT;
            } else if (TAG_FILES_PATH.equals(tag)) {
                target = context.getFilesDir();
            } else if (TAG_CACHE_PATH.equals(tag)) {
                target = context.getCacheDir();
            } else if (TAG_EXTERNAL.equals(tag)) {
                target = Environment.getExternalStorageDirectory();
            } else if (TAG_EXTERNAL_FILES.equals(tag)) {
                File[] externalFilesDirs = ContextCompat.getExternalFilesDirs(context, null);
                if (externalFilesDirs.length > 0) {
                    target = externalFilesDirs[0];
                }
            } else if (TAG_EXTERNAL_CACHE.equals(tag)) {
                File[] externalCacheDirs = ContextCompat.getExternalCacheDirs(context);
                if (externalCacheDirs.length > 0) {
                    target = externalCacheDirs[0];
                }
            }

            if (target != null) {
                strat.addRoot(name, buildPath(target, path));
            }
        }
    }

    return strat;
}

From source file:net.zorgblub.typhon.Configuration.java

public Option<File> getDownloadsFolder() {

    return firstOption(asList(ContextCompat.getExternalFilesDirs(context, "Downloads")));
}

From source file:org.eurekapp.pageturner.Configuration.java

public Option<File> getLibraryFolder() {

    Option<File> libraryFolder = getStorageBase()
            .map(baseFolder -> new File(baseFolder.getAbsolutePath() + "/PageTurner/Books"));

    //If the library-folder on external storage exists, return it
    if (!isEmpty(select(libraryFolder, File::exists))) {
        return libraryFolder;
    }/*  w  w w .j  a  va2s. co m*/

    if (!isEmpty(libraryFolder)) {
        try {
            boolean result = libraryFolder.unsafeGet().mkdirs();

            if (result) {
                return libraryFolder;
            }

        } catch (Exception e) {
        }
    }

    return firstOption(asList(ContextCompat.getExternalFilesDirs(context, "Books")));
}

From source file:net.zorgblub.typhon.Configuration.java

public Option<File> getLibraryFolder() {

    Option<File> libraryFolder = getStorageBase()
            .map(baseFolder -> new File(baseFolder.getAbsolutePath() + "/Typhon/Books"));

    //If the library-folder on external storage exists, return it
    if (!isEmpty(select(libraryFolder, File::exists))) {
        return libraryFolder;
    }/*  w w  w .j  av a 2s.c om*/

    if (!isEmpty(libraryFolder)) {
        try {
            boolean result = libraryFolder.unsafeGet().mkdirs();

            if (result) {
                return libraryFolder;
            }

        } catch (Exception e) {
        }
    }

    return firstOption(asList(ContextCompat.getExternalFilesDirs(context, "Books")));
}