GitHub Issues Mozilla Public License 2.0


codekidX fennifith mfonville rahulpopuri beatbrot
All Projects



Storage Chooser

GitHub issues demo javadoc

A pretty and simple directory chooser and file picker library for 4.4+ devices. This library was created to be included in OpenGApps App. There are too many storage chooser out there but this one is too materially :stuck_out_tongue: . Easy to implement and does not take a lot of your valueable time in setting-up all the other necessary things that every developer seeks, like

There are also some really nice features that I thought would come in handy:


SC Features


Add this to your root build.gradle file under repositories:

allprojects {
	repositories {
		maven { url "" }

Add this to your app level build.gradle as dependency:



Before you implement this library here are some notes that you can follow to avoid errors.


  • You have asked for Runtime Permission from the user in the past to avoid read errors.
  • Permissions with “READ_EXTERNAL_STORAGE” and “WRITE_EXTERNAL_STORAGE” is enough for this library to work.
  • This library follows same color scheme as that of the parent app to maintain the aesthetic of the parent app. See the color scheme section below


Simple Type

// ~

// Initialize Builder
StorageChooser chooser = new StorageChooser.Builder()

// Show dialog whenever you want by;

// get path that the user has chosen
chooser.setOnSelectListener(new StorageChooser.OnSelectListener() {
    public void onSelect(String path) {
        Log.e("SELECTED_PATH", path);

OUTPUT: /storage/emulated/0

Pre-defined Type

// --- ADD --

OUTPUT: /storage/emulated/0/Downloads/CodekidLabs

Custom Type

Directory Chooser

// --- ADD ---

File Picker

NOTE: File Picker is still –> WIP

// --- ADD ---

Save directly to preference

// --- ADD ---

Get path from preference

String path = sharedPreferences.getString(DiskUtil.SC_PREFERENCE_KEY,"");


A seperate localization wiki is posted here

Color Scheme

  • Overview header color -> @colorPrimary
  • Memory bar color -> @colorAccent
  • Memory available text -> @colorPrimaryDark
  • Address bar background -> @colorPrimary
  • Select button label color -> @colorPrimaryDark

For custom color scheme, read Wiki


This project is licensed with the Mozilla Public License v2.

In practice, you can use this library as-is, with a notification of it being used. If you make any changes, you are required to publish your changes under a compatible license.

Support Storage Chooser

This is a community based project so help fixing bugs by adding your fixes to it by clicking Create pull request

Last updated: 2017-03-13T01:21:19Z

This site may do shady things with cookies and stuff because it's evil. Please don't read my privacy policy. close