Files
android_packages_apps_BgUpd/AndroidManifest.xml
oxmc 54f44d3417 Initial import of bg-upd, PawletOS's background component updater
Polls a manifest to discover per-component update endpoints (currently
just webview) and silently installs/switches providers without a full
system OTA.
2026-07-09 01:23:46 -07:00

56 lines
2.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: oxmc / PawletOS
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="os.pawlet.bgupd"
android:versionCode="1">
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Disable a superseded WebView/launcher provider without uninstalling it -->
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
<!-- Required by IWebViewUpdateService#changeProviderAndSetting -->
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<!-- Signature-level permission so only platform-signed callers (the PawletOS
settings addon) can bind IBgUpdaterService. -->
<permission
android:name="pawletos.bgupd.permission.BIND_UPDATER"
android:protectionLevel="signature" />
<application
android:allowBackup="false"
android:label="@string/app_name"
android:persistent="false"
android:supportsRtl="true">
<service
android:name=".BgUpdaterService"
android:exported="true"
android:permission="pawletos.bgupd.permission.BIND_UPDATER">
<intent-filter>
<action android:name="pawletos.bgupd.action.BIND" />
</intent-filter>
</service>
<service
android:name=".job.BgUpdJobService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="false" />
<receiver android:name=".BootReceiver" android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
</application>
</manifest>