diff --git a/src/org/kiwix/kiwixmobile/KiwixMobileFragment.java b/src/org/kiwix/kiwixmobile/KiwixMobileFragment.java index d333bd6c8..20313456d 100644 --- a/src/org/kiwix/kiwixmobile/KiwixMobileFragment.java +++ b/src/org/kiwix/kiwixmobile/KiwixMobileFragment.java @@ -568,6 +568,8 @@ public class KiwixMobileFragment extends Fragment { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { + Log.i("kiwix", "Intent data: " + data); + switch (requestCode) { case ZIMFILESELECT_REQUEST_CODE: if (resultCode == Activity.RESULT_OK) { @@ -641,7 +643,7 @@ public class KiwixMobileFragment extends Fragment { webView.getSettings().setDisplayZoomControls(pref_zoom_enabled); if (!isButtonEnabled) { - mBackToTopButton.setVisibility(View.INVISIBLE); + mBackToTopButton.setVisibility(View.INVISIBLE); } // Night mode status @@ -742,7 +744,7 @@ public class KiwixMobileFragment extends Fragment { } } else { - Log.e("kiwix", "ZIM file doesn't exist at " + file.getAbsolutePath()); + Log.e("kiwix", "ZIM file doesn't exist at " + file.getAbsolutePath()); Toast.makeText(getActivity(), getResources().getString(R.string.error_filenotfound), Toast.LENGTH_LONG).show(); } @@ -750,13 +752,18 @@ public class KiwixMobileFragment extends Fragment { } private void initAllMenuItems() { - menu.findItem(R.id.menu_fullscreen).setVisible(true); - menu.findItem(R.id.menu_back).setVisible(true); - menu.findItem(R.id.menu_forward).setVisible(false); - menu.findItem(R.id.menu_home).setVisible(true); - menu.findItem(R.id.menu_randomarticle).setVisible(true); - menu.findItem(R.id.menu_searchintext).setVisible(true); - menu.findItem(R.id.menu_search).setVisible(true); + + try { + menu.findItem(R.id.menu_forward).setVisible(false); + menu.findItem(R.id.menu_fullscreen).setVisible(true); + menu.findItem(R.id.menu_back).setVisible(true); + menu.findItem(R.id.menu_home).setVisible(true); + menu.findItem(R.id.menu_randomarticle).setVisible(true); + menu.findItem(R.id.menu_searchintext).setVisible(true); + menu.findItem(R.id.menu_search).setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } } public void onKeyDown(int keyCode, KeyEvent event) { diff --git a/src/org/kiwix/kiwixmobile/ZimFileSelectActivity.java b/src/org/kiwix/kiwixmobile/ZimFileSelectActivity.java index 593257921..bb21edf62 100644 --- a/src/org/kiwix/kiwixmobile/ZimFileSelectActivity.java +++ b/src/org/kiwix/kiwixmobile/ZimFileSelectActivity.java @@ -81,6 +81,7 @@ public class ZimFileSelectActivity extends FragmentActivity if (path != null) { File file = new File(path); Uri uri = Uri.fromFile(file); + Log.i("kiwix", "Opening " + uri); setResult(RESULT_OK, new Intent().setData(uri)); finish(); } else { @@ -189,12 +190,28 @@ public class ZimFileSelectActivity extends FragmentActivity // if the scan resturns null and our CursorAdapter will update. private void removeNonExistentFiles(Cursor cursor) { - List files = new ArrayList(); + ArrayList files = new ArrayList(); // Iterate trough the data from our curser and add every file path column to an ArrayList for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { files.add(cursor.getString(2)); } + updateMediaStore(files); + + } + + // Add new files to the MediaStore + private void addDataToMediaStore(ArrayList files) { + + ArrayList paths = new ArrayList(); + + for (int i = 0; i < files.size(); i++) { + paths.add(files.get(i).getPath()); + } + updateMediaStore(paths); + } + + private void updateMediaStore(ArrayList files) { // Scan every file (and delete it from the MediaStore, if it does not exist) MediaScannerConnection.scanFile( @@ -312,6 +329,8 @@ public class ZimFileSelectActivity extends FragmentActivity mProgressBarMessage.setVisibility(View.GONE); mProgressBar.setVisibility(View.GONE); + addDataToMediaStore(mFiles); + super.onPostExecute(result); }