PlayCoreDialogWrapperActivity (from core-common) lives in base.apk but deserializes a Parcelable (review.zzc) from split_chrome.apk. The base split's ClassLoader can't see chrome split classes, causing ClassNotFoundException. Chromium fixes this for its own activities via BundleUtils.checkContextClassLoader(), but PlayCoreDialogWrapperActivity extends plain Activity and is not covered. Fix by registering an ActivityLifecycleCallbacks that sets the Application's ClassLoader on the Intent extras Bundle before onCreate(). Also adds a QA preference to force the in-app review flow from settings for easier testing. Resolves: https://github.com/brave/brave-browser/issues/53179
74 lines
3.1 KiB
XML
74 lines
3.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (c) 2020 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/.
|
|
-->
|
|
|
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:orderingFromXml="true">
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
android:key="link_subscription_on_staging"
|
|
android:title="Link subscription on Staging"
|
|
android:summaryOn="@string/text_on"
|
|
android:summaryOff="@string/text_off"
|
|
android:defaultValue="false" />
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
android:key="dormant_users_engagement"
|
|
android:title="Enable dormant users engagement"
|
|
android:summaryOn="@string/text_on"
|
|
android:summaryOff="@string/text_off" />
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
android:key="use_rewards_staging_server"
|
|
android:title="Use Rewards staging server"
|
|
android:summaryOn="@string/text_on"
|
|
android:summaryOff="@string/text_off" />
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
android:key="qa_maximize_initial_ads_number"
|
|
android:title="Maximize initial ads number"
|
|
android:summaryOn="@string/text_on"
|
|
android:summaryOff="@string/text_off"
|
|
android:defaultValue="true" />
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
android:key="qa_debug_ntp"
|
|
android:title="Enable debugging NTP"
|
|
android:summaryOn="@string/text_on"
|
|
android:summaryOff="@string/text_off"
|
|
android:defaultValue="false" />
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
android:key="qa_vlog_rewards"
|
|
android:title="Verbose Logs for Ad-Rewards"
|
|
android:summaryOn="@string/text_on"
|
|
android:summaryOff="@string/text_off"
|
|
android:defaultValue="false" />
|
|
|
|
<Preference
|
|
android:key="qa_command_line"
|
|
android:title="Command Line String"/>
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
|
android:key="qa_import_rewards_db"
|
|
android:title="Import Rewards Database"/>
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
|
android:key="qa_export_rewards_db"
|
|
android:title="Export Rewards Database" />
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
|
android:key="qa_consume_origin_purchase"
|
|
android:title="Consume Origin Purchase"
|
|
android:summary="Clears Origin INAPP purchase on Play Store for re-testing"/>
|
|
|
|
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
android:key="qa_force_in_app_review"
|
|
android:title="Force in-app review flow"
|
|
android:summary="Rate from settings uses in-app review instead of Play Store"
|
|
android:defaultValue="false" />
|
|
|
|
</PreferenceScreen>
|