[Android] Add an option Show/Hide Undo bar when tab[s] closed.
This commit is contained in:
@@ -79,6 +79,8 @@ public final class BravePreferenceKeys {
|
||||
|
||||
public static final String DAY_ZERO_EXPT_FLAG = "day_zero_expt_flag";
|
||||
|
||||
public static final String SHOW_UNDO_ON_TAB_CLOSED = "show_undo_on_tab_closed";
|
||||
|
||||
/*
|
||||
* Checks if preference key is used in Brave.
|
||||
* It's no op currently. We might reconsider
|
||||
|
||||
@@ -50,6 +50,7 @@ public class AppearancePreferences extends BravePreferenceFragment
|
||||
public static final String PREF_BRAVE_ENABLE_TAB_GROUPS = "brave_enable_tab_groups";
|
||||
public static final String PREF_BRAVE_ENABLE_SPEEDREADER = "brave_enable_speedreader";
|
||||
public static final String PREF_ENABLE_MULTI_WINDOWS = "enable_multi_windows";
|
||||
public static final String PREF_SHOW_UNDO_ON_TAB_CLOSED = "show_undo_on_tab_closed";
|
||||
|
||||
private BraveRewardsNativeWorker mBraveRewardsNativeWorker;
|
||||
|
||||
@@ -172,6 +173,17 @@ public class AppearancePreferences extends BravePreferenceFragment
|
||||
.setChecked(BraveMultiWindowUtils.shouldEnableMultiWindows());
|
||||
}
|
||||
}
|
||||
|
||||
ChromeSwitchPreference showUndoButtonOnTabClosed =
|
||||
(ChromeSwitchPreference) findPreference(PREF_SHOW_UNDO_ON_TAB_CLOSED);
|
||||
if (showUndoButtonOnTabClosed != null) {
|
||||
showUndoButtonOnTabClosed.setOnPreferenceChangeListener(this);
|
||||
((ChromeSwitchPreference) showUndoButtonOnTabClosed)
|
||||
.setChecked(
|
||||
ChromeSharedPreferences.getInstance()
|
||||
.readBoolean(
|
||||
BravePreferenceKeys.SHOW_UNDO_ON_TAB_CLOSED, true));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -257,6 +269,9 @@ public class AppearancePreferences extends BravePreferenceFragment
|
||||
}
|
||||
}
|
||||
BraveMultiWindowUtils.updateEnableMultiWindows((boolean) newValue);
|
||||
} else if (PREF_SHOW_UNDO_ON_TAB_CLOSED.equals(key)) {
|
||||
ChromeSharedPreferences.getInstance()
|
||||
.writeBoolean(BravePreferenceKeys.SHOW_UNDO_ON_TAB_CLOSED, (boolean) newValue);
|
||||
}
|
||||
if (shouldRelaunch) {
|
||||
BraveRelaunchUtils.askForRelaunch(getActivity());
|
||||
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
/* Copyright (c) 2024 The Brave Authors. All rights reserved.
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.chromium.chrome.browser.undo_tab_close_snackbar;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.chromium.base.BravePreferenceKeys;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BraveUndoBarController extends UndoBarController {
|
||||
public BraveUndoBarController(
|
||||
Context context,
|
||||
TabModelSelector selector,
|
||||
SnackbarManageable snackbarManageable,
|
||||
@Nullable Supplier<Boolean> dialogVisibilitySupplier) {
|
||||
super(context, selector, snackbarManageable, dialogVisibilitySupplier);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void showUndoBar(List<Tab> closedTabs, boolean isAllTabs) {
|
||||
boolean should_show_undo_bar =
|
||||
ChromeSharedPreferences.getInstance()
|
||||
.readBoolean(BravePreferenceKeys.SHOW_UNDO_ON_TAB_CLOSED, true);
|
||||
if (!should_show_undo_bar) {
|
||||
return;
|
||||
}
|
||||
super.showUndoBar(closedTabs, isAllTabs);
|
||||
}
|
||||
}
|
||||
@@ -49,6 +49,12 @@
|
||||
android:title="@string/enable_multi_windows_title"
|
||||
android:summary="@string/enable_multi_windows_summary" />
|
||||
|
||||
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
android:key="show_undo_on_tab_closed"
|
||||
android:title="@string/show_undo_on_tab_closed"
|
||||
android:summaryOn="@string/text_on"
|
||||
android:summaryOff="@string/text_off" />
|
||||
|
||||
<Preference
|
||||
android:fragment="org.chromium.chrome.browser.night_mode.settings.BraveThemePreferences"
|
||||
android:key="ui_theme"
|
||||
|
||||
Reference in New Issue
Block a user