use Android Studio default Ctrl-Alt-L to format all AndroidManifest.xml
This commit is contained in:
parent
deea4bd696
commit
24ed554b1d
@ -1,18 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.fdroid.fdroid.tests"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
|
||||
<uses-sdk tools:overrideLibrary="android_libs.ub_uiautomator" />
|
||||
|
||||
<!-- We add an application tag here just so that we can indicate that
|
||||
this package needs to link against the android.test library,
|
||||
which is needed when building test cases. -->
|
||||
<application>
|
||||
<uses-library android:name="android.test.runner"
|
||||
<uses-library
|
||||
android:name="android.test.runner"
|
||||
android:required="false" />
|
||||
</application>
|
||||
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
</manifest>
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- This file should be outside of release manifest (in this case app/src/mock/Manifest.xml -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
* Copyright (C) 2010-2012 Ciaran Gultnieks
|
||||
* Copyright (C) 2013-2017 Peter Serwylo
|
||||
@ -26,9 +27,16 @@
|
||||
package="org.fdroid.fdroid"
|
||||
android:installLocation="auto">
|
||||
|
||||
<uses-feature android:name="android.hardware.nfc" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.usb.host" android:required="false"/>
|
||||
<uses-feature
|
||||
android:name="android.hardware.nfc"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.bluetooth"
|
||||
android:required="false" />
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.usb.host"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
@ -43,8 +51,10 @@
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.NFC" />
|
||||
<uses-permission android:name="android.permission.USB_PERMISSION"
|
||||
<uses-permission
|
||||
android:name="android.permission.USB_PERMISSION"
|
||||
android:maxSdkVersion="22" /><!-- maybe unnecessary -->
|
||||
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
|
||||
<uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
@ -52,89 +62,33 @@
|
||||
<application>
|
||||
|
||||
<activity
|
||||
android:label="@string/swap"
|
||||
android:name=".nearby.SwapWorkflowActivity"
|
||||
android:parentActivityName=".views.main.MainActivity"
|
||||
android:configChanges="orientation|keyboardHidden"
|
||||
android:label="@string/swap"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="portrait"
|
||||
android:configChanges="orientation|keyboardHidden">
|
||||
android:parentActivityName=".views.main.MainActivity"
|
||||
android:screenOrientation="portrait">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".views.main.MainActivity" />
|
||||
</activity>
|
||||
|
||||
<receiver android:name=".nearby.WifiStateChangeReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.net.wifi.STATE_CHANGE"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".receiver.DeviceStorageReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.DEVICE_STORAGE_LOW"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service
|
||||
android:name=".nearby.WifiStateChangeService"
|
||||
android:exported="false"/>
|
||||
<service android:name=".nearby.SwapService"/>
|
||||
|
||||
<service
|
||||
android:name=".nearby.LocalRepoService"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".nearby.TreeUriScannerIntentService"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".nearby.SDCardScannerService"
|
||||
android:exported="false"/>
|
||||
|
||||
<receiver
|
||||
android:name=".nearby.UsbDeviceAttachedReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
|
||||
android:resource="@xml/device_filter"/>
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name=".nearby.UsbDeviceDetachedReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"/>
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"
|
||||
android:resource="@xml/device_filter"/>
|
||||
</receiver>
|
||||
<receiver android:name=".nearby.UsbDeviceMediaMountedReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MEDIA_EJECT" />
|
||||
<action android:name="android.intent.action.MEDIA_REMOVED" />
|
||||
<action android:name="android.intent.action.MEDIA_MOUNTED" />
|
||||
<action android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
|
||||
|
||||
<data android:scheme="content" />
|
||||
<data android:scheme="file" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<activity
|
||||
android:name=".panic.PanicPreferencesActivity"
|
||||
android:label="@string/panic_settings"
|
||||
android:parentActivityName=".views.main.MainActivity">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".views.main.MainActivity"/>
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="info.guardianproject.panic.action.CONNECT" />
|
||||
<action android:name="info.guardianproject.panic.action.DISCONNECT" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".views.main.MainActivity" />
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".panic.SelectInstalledAppsActivity"
|
||||
android:parentActivityName=".panic.PanicPreferencesActivity" />
|
||||
@ -154,6 +108,7 @@
|
||||
<activity
|
||||
android:name=".panic.ExitActivity"
|
||||
android:theme="@android:style/Theme.NoDisplay" />
|
||||
|
||||
<activity
|
||||
android:name=".panic.CalculatorActivity"
|
||||
android:enabled="false"
|
||||
@ -165,6 +120,59 @@
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<receiver android:name=".nearby.WifiStateChangeReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.net.wifi.STATE_CHANGE" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver android:name=".receiver.DeviceStorageReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".nearby.UsbDeviceAttachedReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
|
||||
android:resource="@xml/device_filter" />
|
||||
</receiver>
|
||||
<receiver android:name=".nearby.UsbDeviceDetachedReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"
|
||||
android:resource="@xml/device_filter" />
|
||||
</receiver>
|
||||
<receiver android:name=".nearby.UsbDeviceMediaMountedReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MEDIA_EJECT" />
|
||||
<action android:name="android.intent.action.MEDIA_REMOVED" />
|
||||
<action android:name="android.intent.action.MEDIA_MOUNTED" />
|
||||
<action android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
|
||||
|
||||
<data android:scheme="content" />
|
||||
<data android:scheme="file" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service
|
||||
android:name=".nearby.WifiStateChangeService"
|
||||
android:exported="false" />
|
||||
<service android:name=".nearby.SwapService" />
|
||||
|
||||
<service
|
||||
android:name=".nearby.LocalRepoService"
|
||||
android:exported="false" />
|
||||
<service
|
||||
android:name=".nearby.TreeUriScannerIntentService"
|
||||
android:exported="false" />
|
||||
<service
|
||||
android:name=".nearby.SDCardScannerService"
|
||||
android:exported="false" />
|
||||
|
||||
</application>
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
* Copyright (C) 2010-2012 Ciaran Gultnieks
|
||||
* Copyright (C) 2013-2017 Peter Serwylo
|
||||
@ -32,8 +33,7 @@
|
||||
android:normalScreens="true"
|
||||
android:resizeable="true"
|
||||
android:smallScreens="true"
|
||||
android:xlargeScreens="true"
|
||||
/>
|
||||
android:xlargeScreens="true" />
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.telephony"
|
||||
@ -41,6 +41,7 @@
|
||||
<uses-feature
|
||||
android:name="android.hardware.wifi"
|
||||
android:required="false" />
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.touchscreen"
|
||||
android:required="false" />
|
||||
@ -55,112 +56,52 @@
|
||||
|
||||
<application
|
||||
android:name=".FDroidApp"
|
||||
android:allowBackup="true"
|
||||
android:description="@string/app_description"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:icon="@drawable/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:description="@string/app_description"
|
||||
android:allowBackup="true"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:theme="@style/Theme.App"
|
||||
android:supportsRtl="true">
|
||||
|
||||
<provider
|
||||
android:authorities="${applicationId}.data.AppProvider"
|
||||
android:name="org.fdroid.fdroid.data.AppProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:authorities="${applicationId}.data.RepoProvider"
|
||||
android:name="org.fdroid.fdroid.data.RepoProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:authorities="${applicationId}.data.ApkProvider"
|
||||
android:name="org.fdroid.fdroid.data.ApkProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:authorities="${applicationId}.data.TempApkProvider"
|
||||
android:name="org.fdroid.fdroid.data.TempApkProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:authorities="${applicationId}.data.TempAppProvider"
|
||||
android:name="org.fdroid.fdroid.data.TempAppProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:authorities="${applicationId}.data.InstalledAppProvider"
|
||||
android:name="org.fdroid.fdroid.data.InstalledAppProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:authorities="${applicationId}.data.AppPrefsProvider"
|
||||
android:name="org.fdroid.fdroid.data.AppPrefsProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:authorities="${applicationId}.data.PackageIdProvider"
|
||||
android:name="org.fdroid.fdroid.data.PackageIdProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:authorities="${applicationId}.data.CategoryProvider"
|
||||
android:name="org.fdroid.fdroid.data.CategoryProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.installer.ApkFileProvider"
|
||||
android:authorities="${applicationId}.installer.ApkFileProvider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/apk_file_provider"/>
|
||||
</provider>
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${applicationId}.installer"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/installer_file_provider"/>
|
||||
</provider>
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.App">
|
||||
|
||||
<activity
|
||||
android:name=".privileged.views.InstallConfirmActivity"
|
||||
android:label="@string/menu_install"
|
||||
android:configChanges="layoutDirection|locale"
|
||||
android:excludeFromRecents="true"
|
||||
android:parentActivityName=".views.main.MainActivity"
|
||||
android:configChanges="layoutDirection|locale">
|
||||
android:label="@string/menu_install"
|
||||
android:parentActivityName=".views.main.MainActivity">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".views.main.MainActivity" />
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".privileged.views.UninstallDialogActivity"
|
||||
android:excludeFromRecents="true" />
|
||||
|
||||
<activity
|
||||
android:name=".views.ManageReposActivity"
|
||||
android:configChanges="layoutDirection|locale"
|
||||
android:label="@string/menu_manage"
|
||||
android:launchMode="singleTask"
|
||||
android:parentActivityName=".views.main.MainActivity"
|
||||
android:configChanges="layoutDirection|locale">
|
||||
android:parentActivityName=".views.main.MainActivity">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".views.main.MainActivity" />
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".NfcNotEnabledActivity"
|
||||
android:noHistory="true"
|
||||
android:configChanges="layoutDirection|locale"/>
|
||||
android:configChanges="layoutDirection|locale"
|
||||
android:noHistory="true" />
|
||||
|
||||
<activity
|
||||
android:name=".views.RepoDetailsActivity"
|
||||
android:configChanges="layoutDirection|locale"
|
||||
android:label="@string/repo_details"
|
||||
android:parentActivityName=".views.ManageReposActivity"
|
||||
android:windowSoftInputMode="stateHidden"
|
||||
android:configChanges="layoutDirection|locale">
|
||||
android:windowSoftInputMode="stateHidden">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".views.ManageReposActivity" />
|
||||
@ -168,107 +109,35 @@
|
||||
|
||||
<activity
|
||||
android:name=".views.AppDetailsActivity"
|
||||
android:label="@string/app_details"
|
||||
android:configChanges="layoutDirection|locale"
|
||||
android:exported="true"
|
||||
android:parentActivityName=".views.main.MainActivity"
|
||||
android:configChanges="layoutDirection|locale">
|
||||
android:label="@string/app_details"
|
||||
android:parentActivityName=".views.main.MainActivity">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".views.main.MainActivity" />
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".acra.CrashReportActivity"
|
||||
android:process=":error_report"
|
||||
android:launchMode="singleInstance"
|
||||
android:excludeFromRecents="true"
|
||||
android:finishOnTaskLaunch="true"/>
|
||||
android:finishOnTaskLaunch="true"
|
||||
android:launchMode="singleInstance"
|
||||
android:process=":error_report" />
|
||||
|
||||
<activity android:name=".views.ScreenShotsActivity" />
|
||||
<!-- Note: AppThemeTransparent, this activity shows dialogs only -->
|
||||
<activity android:name=".data.ObbUrlActivity"
|
||||
|
||||
<activity
|
||||
android:name=".data.ObbUrlActivity"
|
||||
android:theme="@android:style/Theme.NoDisplay" />
|
||||
<!-- Note: AppThemeTransparent, this activity shows dialogs only -->
|
||||
|
||||
<activity
|
||||
android:name=".installer.DefaultInstallerActivity"
|
||||
android:theme="@style/AppThemeTransparent" />
|
||||
<!-- Note: AppThemeTransparent, this activity shows dialogs only -->
|
||||
<activity
|
||||
android:name=".installer.ErrorDialogActivity"
|
||||
android:theme="@style/AppThemeTransparent" />
|
||||
|
||||
<receiver android:name=".receiver.StartupReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
||||
|
||||
<category android:name="android.intent.category.HOME"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".receiver.PackageManagerReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.PACKAGE_ADDED"/>
|
||||
<action android:name="android.intent.action.PACKAGE_CHANGED"/>
|
||||
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
|
||||
|
||||
<data android:scheme="package"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".NotificationBroadcastReceiver" android:exported="false">
|
||||
<!-- Doesn't require an intent-filter because it is explicitly invoked via Intent.setClass() -->
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".receiver.DeviceStorageReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.DEVICE_STORAGE_LOW"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service
|
||||
android:name=".UpdateService"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".UpdateJobService"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"/>
|
||||
<service
|
||||
android:name=".net.DownloaderService"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".installer.InstallerService"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".DeleteCacheService"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".net.ConnectivityMonitorService"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".installer.InstallManagerService"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".installer.InstallHistoryService"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".installer.ObfInstallerService"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".data.InstalledAppProviderService"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"
|
||||
android:exported="false"/>
|
||||
<service
|
||||
android:name=".AddRepoIntentService"
|
||||
android:exported="false"/>
|
||||
|
||||
<provider
|
||||
android:name="androidx.work.impl.WorkManagerInitializer"
|
||||
android:authorities="${applicationId}.workmanager-init"
|
||||
android:exported="false"
|
||||
tools:node="remove" />
|
||||
|
||||
<activity
|
||||
android:name=".views.main.MainActivity"
|
||||
android:launchMode="singleTop"
|
||||
@ -333,7 +202,9 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
|
||||
<data android:scheme="market" android:host="details"/>
|
||||
<data
|
||||
android:host="details"
|
||||
android:scheme="market" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter android:autoVerify="false">
|
||||
@ -354,7 +225,10 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
|
||||
<data android:scheme="amzn" android:host="apps" android:path="/android"/>
|
||||
<data
|
||||
android:host="apps"
|
||||
android:path="/android"
|
||||
android:scheme="amzn" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter android:autoVerify="false">
|
||||
@ -388,7 +262,9 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
|
||||
<data android:scheme="market" android:host="search"/>
|
||||
<data
|
||||
android:host="search"
|
||||
android:scheme="market" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter android:autoVerify="false">
|
||||
@ -407,28 +283,6 @@
|
||||
<action android:name="android.intent.action.SEARCH" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.app.searchable"
|
||||
android:resource="@xml/searchable"/>
|
||||
|
||||
|
||||
<!-- Repo URLs -->
|
||||
|
||||
<!--
|
||||
This intent serves two purposes: Swapping apps between devices and adding a
|
||||
repo from a website (e.g. https://guardianproject.info/fdroid/repo).
|
||||
We intercept both of these situations in the FDroid activity, and then redirect
|
||||
to the appropriate handler (swap handling, manage repos respectively) from there.
|
||||
|
||||
The reason for this is that the only differentiating factor is the presence
|
||||
of a "swap=1" in the query string, and intent-filter is unable to deal with
|
||||
query parameters. An alternative would be to do something like fdroidswap:// as
|
||||
a scheme, but then we need to copy/paste all of this intent-filter stuff and
|
||||
keep it up to date when it changes or a bug is found.
|
||||
|
||||
This filter supports HTTP and HTTPS schemes. There is an additional filter for
|
||||
fdroidrepo:// and fdroidrepos://
|
||||
-->
|
||||
<intent-filter android:autoVerify="false">
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
|
||||
@ -442,9 +296,13 @@
|
||||
character set, making for more compact QR Codes.
|
||||
-->
|
||||
<data android:scheme="http" />
|
||||
<data android:scheme="HTTP" tools:ignore="AppLinkUrlError"/>
|
||||
<data
|
||||
android:scheme="HTTP"
|
||||
tools:ignore="AppLinkUrlError" />
|
||||
<data android:scheme="https" />
|
||||
<data android:scheme="HTTPS" tools:ignore="AppLinkUrlError"/>
|
||||
<data
|
||||
android:scheme="HTTPS"
|
||||
tools:ignore="AppLinkUrlError" />
|
||||
|
||||
<data android:host="*" />
|
||||
|
||||
@ -488,9 +346,23 @@
|
||||
<data android:pathPattern="/.*/.*/.*/FDROID/REPO" />
|
||||
</intent-filter>
|
||||
|
||||
|
||||
<!-- Repo URLs -->
|
||||
|
||||
<!--
|
||||
Same as the intent filter listening for repositories via https://*/fdroid/repo, except this
|
||||
looks for fdroidrepos://* and doesn't care what the path is.
|
||||
This intent serves two purposes: Swapping apps between devices and adding a
|
||||
repo from a website (e.g. https://guardianproject.info/fdroid/repo).
|
||||
We intercept both of these situations in the FDroid activity, and then redirect
|
||||
to the appropriate handler (swap handling, manage repos respectively) from there.
|
||||
|
||||
The reason for this is that the only differentiating factor is the presence
|
||||
of a "swap=1" in the query string, and intent-filter is unable to deal with
|
||||
query parameters. An alternative would be to do something like fdroidswap:// as
|
||||
a scheme, but then we need to copy/paste all of this intent-filter stuff and
|
||||
keep it up to date when it changes or a bug is found.
|
||||
|
||||
This filter supports HTTP and HTTPS schemes. There is an additional filter for
|
||||
fdroidrepo:// and fdroidrepos://
|
||||
-->
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
@ -505,14 +377,19 @@
|
||||
character set, making for more compact QR Codes.
|
||||
-->
|
||||
<data android:scheme="fdroidrepo" />
|
||||
<data android:scheme="FDROIDREPO" tools:ignore="AppLinkUrlError"/>
|
||||
<data
|
||||
android:scheme="FDROIDREPO"
|
||||
tools:ignore="AppLinkUrlError" />
|
||||
<data android:scheme="fdroidrepos" />
|
||||
<data android:scheme="FDROIDREPOS" tools:ignore="AppLinkUrlError"/>
|
||||
<data
|
||||
android:scheme="FDROIDREPOS"
|
||||
tools:ignore="AppLinkUrlError" />
|
||||
</intent-filter>
|
||||
|
||||
|
||||
<!-- Handle NFC tags detected from outside our application -->
|
||||
|
||||
<!--
|
||||
Same as the intent filter listening for repositories via https://*/fdroid/repo, except this
|
||||
looks for fdroidrepos://* and doesn't care what the path is.
|
||||
-->
|
||||
<intent-filter>
|
||||
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
|
||||
|
||||
@ -526,25 +403,174 @@
|
||||
<data android:scheme="fdroidrepos" />
|
||||
</intent-filter>
|
||||
|
||||
</activity>
|
||||
|
||||
<!-- Handle NFC tags detected from outside our application -->
|
||||
|
||||
<meta-data
|
||||
android:name="android.app.searchable"
|
||||
android:resource="@xml/searchable" />
|
||||
|
||||
</activity>
|
||||
<activity android:name=".views.apps.AppListActivity" />
|
||||
|
||||
<activity android:name=".views.installed.InstalledAppsActivity"
|
||||
<activity
|
||||
android:name=".views.installed.InstalledAppsActivity"
|
||||
android:parentActivityName=".views.main.MainActivity">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".views.main.MainActivity" />
|
||||
</activity>
|
||||
<activity android:name=".views.InstallHistoryActivity"
|
||||
<activity
|
||||
android:name=".views.InstallHistoryActivity"
|
||||
android:parentActivityName=".views.main.MainActivity">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".views.main.MainActivity" />
|
||||
</activity>
|
||||
|
||||
<activity android:name=".AboutActivity" />
|
||||
<activity android:name=".installer.FileInstallerActivity" android:theme="@style/AppThemeTransparent"/>
|
||||
|
||||
<activity
|
||||
android:name=".installer.FileInstallerActivity"
|
||||
android:theme="@style/AppThemeTransparent" />
|
||||
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.data.AppProvider"
|
||||
android:authorities="${applicationId}.data.AppProvider"
|
||||
android:exported="false" />
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.data.RepoProvider"
|
||||
android:authorities="${applicationId}.data.RepoProvider"
|
||||
android:exported="false" />
|
||||
<!-- Note: AppThemeTransparent, this activity shows dialogs only -->
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.data.ApkProvider"
|
||||
android:authorities="${applicationId}.data.ApkProvider"
|
||||
android:exported="false" />
|
||||
<!-- Note: AppThemeTransparent, this activity shows dialogs only -->
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.data.TempApkProvider"
|
||||
android:authorities="${applicationId}.data.TempApkProvider"
|
||||
android:exported="false" />
|
||||
<!-- Note: AppThemeTransparent, this activity shows dialogs only -->
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.data.TempAppProvider"
|
||||
android:authorities="${applicationId}.data.TempAppProvider"
|
||||
android:exported="false" />
|
||||
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.data.InstalledAppProvider"
|
||||
android:authorities="${applicationId}.data.InstalledAppProvider"
|
||||
android:exported="false" />
|
||||
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.data.AppPrefsProvider"
|
||||
android:authorities="${applicationId}.data.AppPrefsProvider"
|
||||
android:exported="false" />
|
||||
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.data.PackageIdProvider"
|
||||
android:authorities="${applicationId}.data.PackageIdProvider"
|
||||
android:exported="false" />
|
||||
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.data.CategoryProvider"
|
||||
android:authorities="${applicationId}.data.CategoryProvider"
|
||||
android:exported="false" />
|
||||
|
||||
<provider
|
||||
android:name="org.fdroid.fdroid.installer.ApkFileProvider"
|
||||
android:authorities="${applicationId}.installer.ApkFileProvider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/apk_file_provider" />
|
||||
</provider>
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${applicationId}.installer"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/installer_file_provider" />
|
||||
</provider>
|
||||
<provider
|
||||
android:name="androidx.work.impl.WorkManagerInitializer"
|
||||
android:authorities="${applicationId}.workmanager-init"
|
||||
android:exported="false"
|
||||
tools:node="remove" />
|
||||
|
||||
<receiver android:name=".receiver.StartupReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
|
||||
<category android:name="android.intent.category.HOME" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver android:name=".receiver.PackageManagerReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.PACKAGE_ADDED" />
|
||||
<action android:name="android.intent.action.PACKAGE_CHANGED" />
|
||||
<action android:name="android.intent.action.PACKAGE_REMOVED" />
|
||||
|
||||
<data android:scheme="package" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name=".NotificationBroadcastReceiver"
|
||||
android:exported="false">
|
||||
<!-- Doesn't require an intent-filter because it is explicitly invoked via Intent.setClass() -->
|
||||
</receiver>
|
||||
<receiver android:name=".receiver.DeviceStorageReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service
|
||||
android:name=".UpdateService"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE" />
|
||||
<service
|
||||
android:name=".UpdateJobService"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE" />
|
||||
<service
|
||||
android:name=".net.DownloaderService"
|
||||
android:exported="false" />
|
||||
<service
|
||||
android:name=".installer.InstallerService"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE" />
|
||||
|
||||
<service
|
||||
android:name=".DeleteCacheService"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE" />
|
||||
|
||||
<service
|
||||
android:name=".net.ConnectivityMonitorService"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE" />
|
||||
|
||||
<service
|
||||
android:name=".installer.InstallManagerService"
|
||||
android:exported="false" />
|
||||
|
||||
<service
|
||||
android:name=".installer.InstallHistoryService"
|
||||
android:exported="false" />
|
||||
<service
|
||||
android:name=".installer.ObfInstallerService"
|
||||
android:exported="false" />
|
||||
|
||||
<service
|
||||
android:name=".data.InstalledAppProviderService"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE" />
|
||||
<service
|
||||
android:name=".AddRepoIntentService"
|
||||
android:exported="false" />
|
||||
|
||||
</application>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user