55import android .content .pm .PackageManager ;
66import android .os .Bundle ;
77import android .os .Environment ;
8+ import android .os .Handler ;
89import android .support .v4 .app .ActivityCompat ;
910import android .view .Menu ;
1011import android .view .MenuItem ;
@@ -24,8 +25,11 @@ public class MainActivity extends SimpleActivity implements ItemsFragment.ItemIn
2425 @ BindView (R .id .breadcrumbs ) Breadcrumbs mBreadcrumbs ;
2526
2627 private static final int STORAGE_PERMISSION = 1 ;
28+ private static final int BACK_PRESS_TIMEOUT = 5000 ;
29+
2730 private static boolean mShowFullPath ;
2831 private static Config mConfig ;
32+ private static boolean mWasBackJustPressed ;
2933
3034 @ Override
3135 protected void onCreate (Bundle savedInstanceState ) {
@@ -108,7 +112,18 @@ public boolean onOptionsItemSelected(MenuItem item) {
108112 @ Override
109113 public void onBackPressed () {
110114 if (mBreadcrumbs .getChildCount () <= 1 ) {
111- finish ();
115+ if (!mWasBackJustPressed ) {
116+ mWasBackJustPressed = true ;
117+ Utils .showToast (getApplicationContext (), R .string .press_back_again );
118+ new Handler ().postDelayed (new Runnable () {
119+ @ Override
120+ public void run () {
121+ mWasBackJustPressed = false ;
122+ }
123+ }, BACK_PRESS_TIMEOUT );
124+ } else {
125+ finish ();
126+ }
112127 } else {
113128 mBreadcrumbs .removeBreadcrumb ();
114129 final FileDirItem item = (FileDirItem ) mBreadcrumbs .getChildAt (mBreadcrumbs .getChildCount () - 1 ).getTag ();
0 commit comments