Upstream Chromium cr147 (https://chromium-review.googlesource.com/c/chromium/src/+/7559078) made FOREGROUND_SERVICE_CAMERA unconditional for all Android builds by removing the is_desktop_android guard. However, the feature that actually uses it (kAndroidEnableBackgroundMediaCapturing) is disabled by default and not enabled by Brave, so the permission is declared but never used. This blocks Play Store publishing because Google requires a declaration with a demo video for any app using FOREGROUND_SERVICE_CAMERA. This PR: - Re-gates FOREGROUND_SERVICE_CAMERA behind is_desktop_android so it's excluded from Brave builds - Removes AndroidManifest_user_permissions.xml since upstream now declares FOREGROUND_SERVICE_MICROPHONE unconditionally, making Brave's duplicate unnecessary Resolves: https://github.com/brave/brave-browser/issues/54143
122 lines
6.4 KiB
Diff
122 lines
6.4 KiB
Diff
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
|
index 5270a95ee7b87aacdcad1f2823fe1d20e66cef3b..9e72230a8e6403526f9929e32ed7862899573469 100644
|
|
--- a/chrome/android/java/AndroidManifest.xml
|
|
+++ b/chrome/android/java/AndroidManifest.xml
|
|
@@ -62,7 +62,9 @@ by a child template that "extends" this file.
|
|
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_SCAN"
|
|
android:usesPermissionFlags="neverForLocation"/>
|
|
|
|
+<!--
|
|
<uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
|
|
+-->
|
|
<uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
|
|
|
|
<!-- Needed for allowing downloaded APKs to be installed. -->
|
|
@@ -72,28 +74,38 @@ by a child template that "extends" this file.
|
|
<uses-permission android:name="android.permission.CAPTURE_KEYBOARD" />
|
|
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
+ {% if is_desktop_android == "true" %}
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" />
|
|
+ {% endif %}
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
|
|
{% set enable_screen_capture = enable_screen_capture|default(0) %}
|
|
{% if enable_screen_capture == "true" %}
|
|
+<!--
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
|
|
+-->
|
|
{% endif %}
|
|
<!-- TODO(crbug.com/40259231): Remove this tools:ignore attribute once it's no longer necessary. -->
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" tools:ignore="SystemPermissionTypo" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" tools:ignore="SystemPermissionTypo" />
|
|
<uses-permission android:name="android.permission.RUN_USER_INITIATED_JOBS" />
|
|
|
|
+<!--
|
|
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
|
|
+-->
|
|
<uses-permission android:name="android.permission.INTERNET"/>
|
|
+<!--
|
|
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
|
|
+-->
|
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
|
+<!--
|
|
<uses-permission android:name="android.permission.NFC"/>
|
|
+-->
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
|
|
<!-- Needed to determine whether an app installed on the device should handle a web navigation. -->
|
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
|
|
|
|
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
|
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32"/>
|
|
<uses-permission-sdk-23 android:name="android.permission.READ_MEDIA_AUDIO"/>
|
|
|
|
<!-- Needed for handling media-viewing Intents from other apps for images and video on low end
|
|
@@ -111,12 +123,14 @@ by a child template that "extends" this file.
|
|
resizeTo, moveBy}|).
|
|
-->
|
|
<uses-permission android:name="android.permission.REPOSITION_SELF_WINDOWS"/>
|
|
+<!--
|
|
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
|
|
+-->
|
|
<uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
|
|
<uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
|
|
<uses-permission android:name="android.permission.VIBRATE"/>
|
|
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
|
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
|
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32"/>
|
|
|
|
<!-- Permission for using Android 14's credential management framework. -->
|
|
<uses-permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS"/>
|
|
@@ -169,7 +183,9 @@ by a child template that "extends" this file.
|
|
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
|
|
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
|
|
|
|
+<!--
|
|
<uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS" />
|
|
+--> <uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>
|
|
|
|
<!-- Permission for using pinned windowing layer for document picture-in-picture. -->
|
|
<uses-permission android:name="android.permission.USE_PINNED_WINDOWING_LAYER" />
|
|
@@ -385,6 +401,7 @@ by a child template that "extends" this file.
|
|
<intent-filter>
|
|
<action android:name="com.sec.android.airview.HOVER" />
|
|
</intent-filter>
|
|
+ {% include "//brave/android/java/AndroidManifest_intent_filters.xml" %}
|
|
<meta-data android:name="android.app.searchable"
|
|
android:resource="@xml/searchable" />
|
|
</activity-alias>
|
|
@@ -942,6 +959,7 @@ by a child template that "extends" this file.
|
|
</service>
|
|
|
|
<!-- Quick Action Search widget -->
|
|
+ <!--
|
|
<receiver
|
|
android:name="org.chromium.chrome.browser.quickactionsearchwidget.QuickActionSearchWidgetProvider$QuickActionSearchWidgetProviderSearch"
|
|
android:label="@string/quick_action_search_widget_title"
|
|
@@ -971,6 +989,7 @@ by a child template that "extends" this file.
|
|
android:name="android.appwidget.provider"
|
|
android:resource="@xml/quick_action_search_widget_dino_info" />
|
|
</receiver>
|
|
+ -->
|
|
|
|
<!-- Bookmarks widget -->
|
|
<receiver android:name="com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidgetProvider"
|
|
@@ -1184,7 +1203,7 @@ by a child template that "extends" this file.
|
|
|
|
<service android:name="org.chromium.chrome.browser.media.MediaCaptureNotificationService"
|
|
{% if enable_screen_capture == "true" %}
|
|
- android:foregroundServiceType="camera|microphone|mediaProjection|mediaPlayback"
|
|
+ android:foregroundServiceType="camera|microphone|mediaPlayback"
|
|
{% else %}
|
|
android:foregroundServiceType="camera|microphone"
|
|
{% endif %}
|
|
@@ -1281,6 +1300,7 @@ by a child template that "extends" this file.
|
|
</activity>
|
|
{% endif %}
|
|
|
|
+ {% include "//brave/android/java/AndroidManifest.xml" %}
|
|
{% block extra_application_definitions %}
|
|
{% endblock %}
|
|
{% endmacro %}
|