diff --git a/app/src/main/java/com/simplemobiletools/filemanager/Breadcrumbs.java b/app/src/main/java/com/simplemobiletools/filemanager/Breadcrumbs.java index ba068922..298e9336 100644 --- a/app/src/main/java/com/simplemobiletools/filemanager/Breadcrumbs.java +++ b/app/src/main/java/com/simplemobiletools/filemanager/Breadcrumbs.java @@ -101,10 +101,9 @@ public class Breadcrumbs extends LinearLayout implements View.OnClickListener { public void setInitialBreadcrumb(String fullPath) { final String basePath = Environment.getExternalStorageDirectory().toString(); - final String tempPath = fullPath.replace(basePath, getContext().getString(R.string.initial_breadcrumb) + "/"); removeAllViewsInLayout(); - final String[] dirs = tempPath.split("/"); - String currPath = basePath; + final String[] dirs = fullPath.split("/"); + String currPath = "/"; for (int i = 0; i < dirs.length; i++) { final String dir = dirs[i]; if (i > 0) { diff --git a/app/src/main/java/com/simplemobiletools/filemanager/activities/MainActivity.java b/app/src/main/java/com/simplemobiletools/filemanager/activities/MainActivity.java index d2717805..44c06402 100644 --- a/app/src/main/java/com/simplemobiletools/filemanager/activities/MainActivity.java +++ b/app/src/main/java/com/simplemobiletools/filemanager/activities/MainActivity.java @@ -24,6 +24,7 @@ public class MainActivity extends SimpleActivity implements ItemsFragment.ItemIn @BindView(R.id.breadcrumbs) Breadcrumbs mBreadcrumbs; private static final int STORAGE_PERMISSION = 1; + private static int mRootFoldersCnt; @Override protected void onCreate(Bundle savedInstanceState) { @@ -52,6 +53,7 @@ public class MainActivity extends SimpleActivity implements ItemsFragment.ItemIn final String path = Environment.getExternalStorageDirectory().toString(); openPath(path); mBreadcrumbs.setInitialBreadcrumb(path); + mRootFoldersCnt = mBreadcrumbs.getChildCount(); } private void openPath(String path) { @@ -87,10 +89,10 @@ public class MainActivity extends SimpleActivity implements ItemsFragment.ItemIn @Override public void onBackPressed() { - final int cnt = getSupportFragmentManager().getBackStackEntryCount(); - if (cnt == 1) + final int cnt = mBreadcrumbs.getChildCount() - mRootFoldersCnt; + if (cnt <= 0) { finish(); - else { + } else { mBreadcrumbs.removeBreadcrumb(); super.onBackPressed(); } @@ -118,11 +120,9 @@ public class MainActivity extends SimpleActivity implements ItemsFragment.ItemIn @Override public void breadcrumbClicked(int id) { - final int children = mBreadcrumbs.getChildCount() - 1; - final int removeCnt = children - id; - for (int i = 0; i < removeCnt; i++) { - getSupportFragmentManager().popBackStack(); - mBreadcrumbs.removeBreadcrumb(); - } + final FileDirItem item = (FileDirItem) mBreadcrumbs.getChildAt(id).getTag(); + final String path = item.getPath(); + openPath(path); + mBreadcrumbs.setInitialBreadcrumb(path); } } diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 5240210b..0d23d65b 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -29,7 +29,6 @@ Bitte wähle ein Ziel Konnte die Datei nicht kopieren Kopiere - home OK Abbrechen diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index f994603f..20de7400 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -29,7 +29,6 @@ Seleziona una destinazione Impossibile copiare i file Copia in corso - home OK Cancel diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index cf792f89..afa4e025 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -29,7 +29,6 @@ 宛先を選択してください ファイルをコピーできませんでした コピー中 - ホーム OK Cancel diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 91e4ec00..7c5bb1f0 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -29,7 +29,6 @@ Please select a destination Kunde inte kopiera filen Kopierar - home OK Cancel diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f1b1db31..da0bc91f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -29,7 +29,6 @@ Please select a destination Could not copy the files Copying - home OK Cancel