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