/*
- * Copyright 2016-2017 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
*
import android.widget.ListView;
import com.stoutner.privacybrowser.R;
+import com.stoutner.privacybrowser.activities.MainWebViewActivity;
import com.stoutner.privacybrowser.adapters.HistoryArrayAdapter;
import com.stoutner.privacybrowser.definitions.History;
public class UrlHistoryDialog extends AppCompatDialogFragment{
// `historyArrayList` and `currentPageId` pass information from `onCreate()` to `onCreateDialog()`.
- private ArrayList<History> historyArrayList = new ArrayList<>();
+ private final ArrayList<History> historyArrayList = new ArrayList<>();
private int currentPageId;
public static UrlHistoryDialog loadBackForwardList(Context context, WebBackForwardList webBackForwardList) {
// Get the activity's layout inflater.
LayoutInflater layoutInflater = getActivity().getLayoutInflater();
- // Use `AlertDialog.Builder` to create the `AlertDialog`. `R.style.lightAlertDialog` formats the color of the button text.
- AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.LightAlertDialog);
+ // Use `AlertDialog.Builder` to create the `AlertDialog`.
+ AlertDialog.Builder dialogBuilder;
+
+ // Set the style according to the theme.
+ if (MainWebViewActivity.darkTheme) {
+ dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
+ } else {
+ dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
+ }
// Set the title.
dialogBuilder.setTitle(R.string.history);
// Get a handle for `listView`.
ListView listView = (ListView) alertDialog.findViewById(R.id.history_listview);
- // Remove the warning below that `listView` might be `null`.
- assert listView != null;
-
// Set the adapter on `listView`.
listView.setAdapter(historyArrayAdapter);
// Convert the `long` `id` to an `int`.
int itemId = (int) id;
- // Only enable the click if it is not on the `currentPageId`.
+ // Only consume the click if it is not on the `currentPageId`.
if (itemId != currentPageId) {
- // Get the history entry for this `itemId`.
- History historyEntry = historyArrayAdapter.getItem(itemId);
-
- // Remove the lint warning below that `historyEntry` might be `null`.
- assert historyEntry != null;
-
- // Send the history entry URL to be loaded in `mainWebView`.
+ // Go forward or back to `itemId`.
urlHistoryListener.onUrlHistoryEntrySelected(currentPageId - itemId);
// Dismiss the `Dialog`.