Skip to content

Commit d463ffd

Browse files
committed
allow navigating up with Back button until theres no more breadcrumbs
1 parent 483b433 commit d463ffd

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

app/src/main/java/com/simplemobiletools/filemanager/activities/MainActivity.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ public class MainActivity extends SimpleActivity implements ItemsFragment.ItemIn
2424
@BindView(R.id.breadcrumbs) Breadcrumbs mBreadcrumbs;
2525

2626
private static final int STORAGE_PERMISSION = 1;
27-
private static int mRootFoldersCnt;
2827
private static boolean mShowFullPath;
2928
private static Config mConfig;
3029

@@ -71,13 +70,11 @@ private void tryInitFileManager() {
7170
}
7271

7372
private void initRootFileManager() {
74-
final String path = Environment.getExternalStorageDirectory().toString();
75-
openPath(path);
76-
mBreadcrumbs.setInitialBreadcrumb(path, mConfig.getShowFullPath());
77-
mRootFoldersCnt = mBreadcrumbs.getChildCount();
73+
openPath(Environment.getExternalStorageDirectory().toString());
7874
}
7975

8076
private void openPath(String path) {
77+
mBreadcrumbs.setInitialBreadcrumb(path, mConfig.getShowFullPath());
8178
final Bundle bundle = new Bundle();
8279
bundle.putString(Constants.PATH, path);
8380

@@ -110,12 +107,12 @@ public boolean onOptionsItemSelected(MenuItem item) {
110107

111108
@Override
112109
public void onBackPressed() {
113-
final int cnt = mBreadcrumbs.getChildCount() - mRootFoldersCnt;
114-
if (cnt <= 0) {
110+
if (mBreadcrumbs.getChildCount() <= 1) {
115111
finish();
116112
} else {
117113
mBreadcrumbs.removeBreadcrumb();
118-
super.onBackPressed();
114+
final FileDirItem item = (FileDirItem) mBreadcrumbs.getChildAt(mBreadcrumbs.getChildCount() - 1).getTag();
115+
openPath(item.getPath());
119116
}
120117
}
121118

@@ -136,14 +133,11 @@ public void onRequestPermissionsResult(int requestCode, String[] permissions, in
136133
@Override
137134
public void itemClicked(FileDirItem item) {
138135
openPath(item.getPath());
139-
mBreadcrumbs.addBreadcrumb(item, true);
140136
}
141137

142138
@Override
143139
public void breadcrumbClicked(int id) {
144140
final FileDirItem item = (FileDirItem) mBreadcrumbs.getChildAt(id).getTag();
145-
final String path = item.getPath();
146-
mBreadcrumbs.setInitialBreadcrumb(path, mConfig.getShowFullPath());
147-
openPath(path);
141+
openPath(item.getPath());
148142
}
149143
}

0 commit comments

Comments
 (0)