package com.njlabs.showjava.ui; import android.content.Context; import android.os.Bundle; import android.os.Environment; import android.support.v7.app.ActionBar; import android.view.MenuItem; import com.nononsenseapps.filepicker.AbstractFilePickerActivity; import com.nononsenseapps.filepicker.AbstractFilePickerFragment; import java.io.File; import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; public class FilePicker extends AbstractFilePickerActivity<File> { private FilePickerFragment currentFragment; @Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowHomeEnabled(true); } } protected AbstractFilePickerFragment<File> getFragment(String startPath, int mode, boolean allowMultiple, boolean allowCreateDir) { currentFragment = new FilePickerFragment(); currentFragment.setArgs(startPath != null ? startPath : Environment.getExternalStorageDirectory().getPath(), mode, allowMultiple, allowCreateDir); return currentFragment; } /** * Override the back-button. */ @Override public void onBackPressed() { // If at top most level, normal behaviour if (currentFragment == null || currentFragment.isBackTop()) { finish(); } else { // Else go up currentFragment.goUp(); } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; } return super.onOptionsItemSelected(item); } }