From 873eb2bce86c76b11962367701cb66bdf66b9f5e Mon Sep 17 00:00:00 2001 From: Aditya-Sood Date: Sat, 15 Jun 2019 23:02:56 +0530 Subject: [PATCH] Refactor: Refer comments by @macgills in PR #1198 --- .../kiwix/kiwixmobile/main/AddNoteDialog.java | 34 ++++++------------- .../kiwix/kiwixmobile/main/MainActivity.java | 29 ++++++++-------- .../kiwix/kiwixmobile/utils/Constants.java | 5 +++ app/src/main/res/values/strings.xml | 4 +-- 4 files changed, 31 insertions(+), 41 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/main/AddNoteDialog.java b/app/src/main/java/org/kiwix/kiwixmobile/main/AddNoteDialog.java index 650cd2727..5ea1c0e66 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/main/AddNoteDialog.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/main/AddNoteDialog.java @@ -41,6 +41,8 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import static org.kiwix.kiwixmobile.utils.Constants.NOTES_DIRECTORY; + /** * Created by @Aditya-Sood (21/05/19) as a part of GSoC 2019 * @@ -68,11 +70,7 @@ public class AddNoteDialog extends DialogFragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if(sharedPreferenceUtil != null && sharedPreferenceUtil.nightMode()) { - setStyle(DialogFragment.STYLE_NORMAL, R.style.AddNoteDialogStyle_Night); // Night Mode support - } else { - setStyle(DialogFragment.STYLE_NORMAL, R.style.AddNoteDialogStyle); - } + setStyle(DialogFragment.STYLE_NORMAL, sharedPreferenceUtil.nightMode() ? R.style.AddNoteDialogStyle_Night : R.style.AddNoteDialogStyle); zimFileTitle = ZimContentProvider.getZimFileTitle(); articleTitle = ((MainActivity)getActivity()).getCurrentWebView().getTitle(); @@ -236,7 +234,7 @@ public class AddNoteDialog extends DialogFragment { return; } - File notesFolder = new File(Environment.getExternalStorageDirectory() + "/Kiwix/Notes/" + zimFileTitle); + File notesFolder = new File(NOTES_DIRECTORY + zimFileTitle); boolean folderExists = true; if(!notesFolder.exists()) { @@ -257,11 +255,11 @@ public class AddNoteDialog extends DialogFragment { } catch (IOException e) { e.printStackTrace(); - Toast.makeText(getContext(), getActivity().getString(R.string.note_save_unsuccessful), Toast.LENGTH_LONG); + Toast.makeText(this.getContext(), R.string.note_save_unsuccessful, Toast.LENGTH_LONG).show(); } } else { - Toast.makeText(getContext(), getActivity().getString(R.string.note_save_unsuccessful), Toast.LENGTH_LONG); + Toast.makeText(this.getContext(), R.string.note_save_unsuccessful, Toast.LENGTH_LONG).show(); Log.d(TAG, "Required folder doesn't exist"); } } @@ -278,7 +276,7 @@ public class AddNoteDialog extends DialogFragment { * is displayed in the EditText field (note content area) * */ - File noteFile = new File(Environment.getExternalStorageDirectory() + "/Kiwix/Notes/" + zimFileTitle + "/" + articleTitle + ".txt"); + File noteFile = new File(NOTES_DIRECTORY + zimFileTitle + "/" + articleTitle + ".txt"); if(noteFile.exists()) { noteFileExists = true; @@ -325,7 +323,7 @@ public class AddNoteDialog extends DialogFragment { saveNote(addNoteEditText.getText().toString()); // Save edited note before sharing the text file } - File noteFile = new File(Environment.getExternalStorageDirectory() + "/Kiwix/Notes/" + zimFileTitle + "/" + articleTitle + ".txt"); + File noteFile = new File(NOTES_DIRECTORY + zimFileTitle + "/" + articleTitle + ".txt"); Uri noteFileUri = null; if(noteFile.exists()) { @@ -357,12 +355,7 @@ public class AddNoteDialog extends DialogFragment { } public static boolean isExternalStorageWritable() { - String state = Environment.getExternalStorageState(); - if(Environment.MEDIA_MOUNTED.equals(state)) { - return true; - } else { - return false; - } + return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()); } @Override @@ -407,19 +400,14 @@ class ConfirmationAlertDialogFragment extends DialogFragment { } builder.setMessage(getString(R.string.confirmation_alert_dialog_message)) - .setPositiveButton(getString(R.string.confirmation_alert_dialog_positive_btn), new DialogInterface.OnClickListener() { + .setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // User sure of discarding unsaved changes and closing note dialog addNoteDialog.dismiss(); } }) - .setNeutralButton(getString(R.string.confirmation_alert_dialog_neutral_btn), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - // No action to be taken in case of the neutral 'Cancel' action - } - }); + .setNegativeButton(getString(R.string.cancel), null); // Do nothing for 'Cancel' button return builder.create(); } diff --git a/app/src/main/java/org/kiwix/kiwixmobile/main/MainActivity.java b/app/src/main/java/org/kiwix/kiwixmobile/main/MainActivity.java index eeccff427..fb6140596 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/main/MainActivity.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/main/MainActivity.java @@ -129,6 +129,7 @@ import static org.kiwix.kiwixmobile.utils.Constants.EXTRA_NOTIFICATION_ID; import static org.kiwix.kiwixmobile.utils.Constants.EXTRA_SEARCH; import static org.kiwix.kiwixmobile.utils.Constants.EXTRA_ZIM_FILE; import static org.kiwix.kiwixmobile.utils.Constants.EXTRA_ZIM_FILE_2; +import static org.kiwix.kiwixmobile.utils.Constants.NOTES_DIRECTORY; import static org.kiwix.kiwixmobile.utils.Constants.PREF_KIWIX_MOBILE; import static org.kiwix.kiwixmobile.utils.Constants.REQUEST_FILE_SEARCH; import static org.kiwix.kiwixmobile.utils.Constants.REQUEST_FILE_SELECT; @@ -929,13 +930,8 @@ public class MainActivity extends BaseActivity implements WebViewCallback, } builder.setMessage(this.getString(R.string.delete_notes_confirmation_msg)) - .setNeutralButton(this.getString(R.string.dismiss), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - // Do nothing - } - }) - .setPositiveButton(this.getString(R.string.delete), new DialogInterface.OnClickListener() { + .setNegativeButton(this.getString(R.string.cancel), null) // Do nothing for 'Cancel' button + .setPositiveButton(this.getString(R.string.yes), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { clearAllNotes(); @@ -956,7 +952,9 @@ public class MainActivity extends BaseActivity implements WebViewCallback, return; } - File notesDirectory = new File(Environment.getExternalStorageDirectory() + "/Kiwix/Notes/"); + // TODO: Replace below code with Kotlin's deleteRecursively() method + + File notesDirectory = new File(NOTES_DIRECTORY); File[] filesInNotesDirectory = notesDirectory.listFiles(); if(filesInNotesDirectory == null) { // Notes folder doesn't exist @@ -992,14 +990,15 @@ public class MainActivity extends BaseActivity implements WebViewCallback, private void showAddNoteDialog() { FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); Fragment prev = getSupportFragmentManager().findFragmentByTag("AddNoteDialog"); - if(prev != null) { - fragmentTransaction.remove(prev); // To prevent multiple instances of the DialogFragment - } - fragmentTransaction.addToBackStack(null); - AddNoteDialog dialogFragment = new AddNoteDialog(); - // For DialogFragments, show() handles the fragment commit and display - dialogFragment.show(fragmentTransaction, "AddNoteDialog"); + // To prevent multiple instances of the DialogFragment + if(prev != null) { + fragmentTransaction.show(prev); // For DialogFragments, show() handles the fragment commit and display + } else { + fragmentTransaction.addToBackStack(null); + AddNoteDialog dialogFragment = new AddNoteDialog(); + dialogFragment.show(fragmentTransaction, "AddNoteDialog"); + } } private boolean requestExternalStorageWritePermissionForNotes() { diff --git a/app/src/main/java/org/kiwix/kiwixmobile/utils/Constants.java b/app/src/main/java/org/kiwix/kiwixmobile/utils/Constants.java index af4306a34..64dd83e99 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/utils/Constants.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/utils/Constants.java @@ -17,6 +17,8 @@ */ package org.kiwix.kiwixmobile.utils; +import android.os.Environment; + import org.kiwix.kiwixmobile.BuildConfig; public final class Constants { @@ -136,4 +138,7 @@ public final class Constants { public static final String OLD_PROVIDER_DOMAIN = "org.kiwix.zim.base"; public static final String NEW_PROVIDER_DOMAIN = BuildConfig.APPLICATION_ID + ".zim.base"; + + // Path Constants + public static final String NOTES_DIRECTORY = Environment.getExternalStorageDirectory() + "/Kiwix/Notes/"; } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 77cfecf3c..8e067d45f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -257,11 +257,9 @@ Note file doesn\'t exist Share note file with: Discard unsaved changes? - Yes - Cancel Clear All Notes Delete all notes? - Dismiss + Cancel Error: Storage permissions not granted No notes found for deletion Entire notes folder deleted