public class BookmarksActivity extends AppCompatActivity implements CreateBookmarkDialog.CreateBookmarkListener, CreateBookmarkFolderDialog.CreateBookmarkFolderListener, EditBookmarkDialog.EditBookmarkListener,
EditBookmarkFolderDialog.EditBookmarkFolderListener, MoveToFolderDialog.MoveToFolderListener {
- // `currentFolder` is public static so it can be accessed from `BookmarksDatabaseViewActivity`.
+ // Declare the public static variables, which are accessed from the bookmarks database view activity.
public static String currentFolder;
-
- // `restartFromBookmarksDatabaseViewActivity` is public static so it can be accessed from `BookmarksDatabaseViewActivity`. It is also used in `onRestart()`.
public static boolean restartFromBookmarksDatabaseViewActivity;
-
// Define the saved instance state constants.
private final String CHECKED_BOOKMARKS_ARRAY_LIST = "checked_bookmarks_array_list";
+ private final String CURRENT_FOLDER = "current_folder";
// Define the class menu items.
private MenuItem moveBookmarkUpMenuItem;
// Initialize the database helper.
bookmarksDatabaseHelper = new BookmarksDatabaseHelper(this);
- // Load the home folder.
- loadFolder();
-
// Set a listener so that tapping a list item loads the URL or folder.
bookmarksListView.setOnItemClickListener((parent, view, position, id) -> {
// Convert the id from long to int to match the format of the bookmarks database.
// Restore the state if the app has been restarted.
if (savedInstanceState != null) {
+ // Restore the current folder.
+ currentFolder = savedInstanceState.getString(CURRENT_FOLDER);
+
// Update the bookmarks list view after it has loaded.
bookmarksListView.post(() -> {
// Get the checked bookmarks array list.
}
});
}
+
+ // Load the home folder.
+ loadFolder();
}
@Override
}
}
- // Store the checked items array list in the saved instance state.
+ // Store the variables in the saved instance state.
+ savedInstanceState.putString(CURRENT_FOLDER, currentFolder);
savedInstanceState.putIntegerArrayList(CHECKED_BOOKMARKS_ARRAY_LIST, checkedBookmarksArrayList);
}
public static String proxyMode = ProxyHelper.NONE;
// Declare the public static variables.
- public static String currentBookmarksFolder;
+ public static String currentBookmarksFolder = "";
public static boolean restartFromBookmarksActivity;
public static WebViewPagerAdapter webViewPagerAdapter;
drawerLayout.setDrawerTitle(GravityCompat.START, getString(R.string.navigation_drawer));
drawerLayout.setDrawerTitle(GravityCompat.END, getString(R.string.bookmarks));
- // Initialize `currentBookmarksFolder`. `""` is the home folder in the database.
- currentBookmarksFolder = "";
-
- // Load the home folder, which is `""` in the database.
+ // Load the bookmarks folder.
loadBookmarksFolder();
+ // Handle clicks on bookmarks.
bookmarksListView.setOnItemClickListener((parent, view, position, id) -> {
// Convert the id from long to int to match the format of the bookmarks database.
int databaseId = (int) id;