[Android] Fix for details action on advanced protection message (#35386)
* [Android] Fix for details action on advanced protection message * [Tests] Fix for bytecode test
This commit is contained in:
@@ -782,6 +782,7 @@
|
||||
|
||||
-keep class org.chromium.chrome.browser.tabbed_mode.TabbedRootUiCoordinator {
|
||||
public <init>(...);
|
||||
*** mAdvancedProtectionCoordinator;
|
||||
}
|
||||
|
||||
-keep class org.chromium.chrome.browser.tabbed_mode.BraveTabbedRootUiCoordinator {
|
||||
|
||||
+18
@@ -39,7 +39,9 @@ import org.chromium.chrome.browser.keyboard_accessory.ManualFillingComponent;
|
||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.multiwindow.MultiInstanceManager;
|
||||
import org.chromium.chrome.browser.privacy.settings.BravePrivacySettings;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.safe_browsing.AdvancedProtectionCoordinator;
|
||||
import org.chromium.chrome.browser.share.ShareDelegate;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tab_ui.TabContentManager;
|
||||
@@ -71,6 +73,9 @@ import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class BraveTabbedRootUiCoordinator extends TabbedRootUiCoordinator {
|
||||
// To delete in bytecode, parent class field will be used instead.
|
||||
private AdvancedProtectionCoordinator mAdvancedProtectionCoordinator;
|
||||
|
||||
private final AppCompatActivity mBraveActivity;
|
||||
private final OneshotSupplier<HubManager> mHubManagerSupplier;
|
||||
private final MonotonicObservableSupplier<EdgeToEdgeController>
|
||||
@@ -191,6 +196,19 @@ public class BraveTabbedRootUiCoordinator extends TabbedRootUiCoordinator {
|
||||
mBraveEdgeToEdgeControllerSupplier = edgeToEdgeSupplier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinishNativeInitialization() {
|
||||
super.onFinishNativeInitialization();
|
||||
|
||||
// Replace the upstream coordinator (which uses PrivacySettings.class) with one that
|
||||
// points to BravePrivacySettings so the advanced protection message navigates correctly.
|
||||
if (mAdvancedProtectionCoordinator != null) {
|
||||
mAdvancedProtectionCoordinator.destroy();
|
||||
}
|
||||
mAdvancedProtectionCoordinator =
|
||||
new AdvancedProtectionCoordinator(mWindowAndroid, BravePrivacySettings.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPostInflationStartup() {
|
||||
super.onPostInflationStartup();
|
||||
|
||||
@@ -2768,6 +2768,10 @@ public class BytecodeTest {
|
||||
fieldExists(
|
||||
"org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl",
|
||||
"mAppMenuDragHelper"));
|
||||
Assert.assertTrue(
|
||||
fieldExists(
|
||||
"org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator",
|
||||
"mAdvancedProtectionCoordinator"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+3
@@ -18,5 +18,8 @@ public class BraveTabbedRootUiCoordinatorClassAdapter extends BraveClassVisitor
|
||||
|
||||
redirectConstructor(
|
||||
sTabbedRootUiCoordinatorClassName, sBraveTabbedRootUiCoordinatorClassName);
|
||||
|
||||
deleteField(sBraveTabbedRootUiCoordinatorClassName, "mAdvancedProtectionCoordinator");
|
||||
makeProtectedField(sTabbedRootUiCoordinatorClassName, "mAdvancedProtectionCoordinator");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user