54f44d3417
Polls a manifest to discover per-component update endpoints (currently just webview) and silently installs/switches providers without a full system OTA.
56 lines
2.2 KiB
XML
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>
|