
The local repo generation code will take the description from the manifest and include it in the repo meta data. So FDroid itself should also include this description. Indeed every app should... perhaps this should also be an `fdroid lint` item.
351 lines
14 KiB
XML
351 lines
14 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
package="org.fdroid.fdroid"
|
|
android:installLocation="auto"
|
|
android:versionCode="680"
|
|
android:versionName="0.68-test" >
|
|
|
|
<uses-sdk
|
|
android:minSdkVersion="5"
|
|
android:targetSdkVersion="19" />
|
|
|
|
<supports-screens
|
|
android:anyDensity="true"
|
|
android:largeScreens="true"
|
|
android:normalScreens="true"
|
|
android:resizeable="true"
|
|
android:smallScreens="true"
|
|
android:xlargeScreens="true" />
|
|
|
|
<uses-feature
|
|
android:name="android.hardware.wifi"
|
|
android:required="false" />
|
|
<uses-feature
|
|
android:name="android.hardware.touchscreen"
|
|
android:required="false" />
|
|
<uses-feature
|
|
android:name="android.hardware.nfc"
|
|
android:required="false" />
|
|
<uses-feature
|
|
android:name="android.hardware.bluetooth"
|
|
android:required="false" />
|
|
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
|
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.NFC" />
|
|
|
|
<!-- These permissions are only granted when F-Droid is installed as a system-app! -->
|
|
<uses-permission android:name="android.permission.INSTALL_PACKAGES"
|
|
tools:ignore="ProtectedPermissions"/>
|
|
<uses-permission android:name="android.permission.DELETE_PACKAGES"
|
|
tools:ignore="ProtectedPermissions"/>
|
|
|
|
<!-- Indicate that F-Droid may request root access (introduced by Koush's Superuser app) -->
|
|
<uses-permission android:name="android.permission.ACCESS_SUPERUSER"/>
|
|
|
|
<application
|
|
android:name="FDroidApp"
|
|
android:icon="@drawable/ic_launcher"
|
|
android:label="@string/app_name"
|
|
android:description="@string/app_description"
|
|
android:allowBackup="true"
|
|
android:theme="@style/AppThemeDark"
|
|
android:supportsRtl="true" >
|
|
|
|
<provider
|
|
android:authorities="org.fdroid.fdroid.data.AppProvider"
|
|
android:name="org.fdroid.fdroid.data.AppProvider"
|
|
android:exported="false"/>
|
|
|
|
<provider
|
|
android:authorities="org.fdroid.fdroid.data.RepoProvider"
|
|
android:name="org.fdroid.fdroid.data.RepoProvider"
|
|
android:exported="false"/>
|
|
|
|
<provider
|
|
android:authorities="org.fdroid.fdroid.data.ApkProvider"
|
|
android:name="org.fdroid.fdroid.data.ApkProvider"
|
|
android:exported="false"/>
|
|
|
|
<provider
|
|
android:authorities="org.fdroid.fdroid.data.InstalledAppProvider"
|
|
android:name="org.fdroid.fdroid.data.InstalledAppProvider"
|
|
android:exported="false"/>
|
|
|
|
<activity
|
|
android:name=".FDroid"
|
|
android:launchMode="singleTop"
|
|
android:configChanges="keyboardHidden|orientation|screenSize" >
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="http" />
|
|
<data android:scheme="https" />
|
|
<data android:host="f-droid.org" />
|
|
<data android:host="www.f-droid.org" />
|
|
<data android:pathPrefix="/repository/browse" />
|
|
</intent-filter>
|
|
|
|
<meta-data
|
|
android:name="android.app.default_searchable"
|
|
android:value=".SearchResults" />
|
|
</activity>
|
|
<activity
|
|
android:name=".ManageRepo"
|
|
android:label="@string/menu_manage"
|
|
android:launchMode="singleTask"
|
|
android:parentActivityName=".FDroid" >
|
|
<meta-data
|
|
android:name="android.support.PARENT_ACTIVITY"
|
|
android:value=".FDroid" />
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="http" />
|
|
<data android:scheme="https" />
|
|
<data android:host="*" />
|
|
<!--
|
|
The pattern matcher here is poorly implemented, in particular the * is
|
|
non-greedy, so you have to do stupid tricks to match patterns that have
|
|
repeat characters in them. http://stackoverflow.com/a/8599921/306864
|
|
-->
|
|
<data android:path="/fdroid/repo" />
|
|
<data android:pathPattern="/fdroid/repo/*" />
|
|
<data android:pathPattern="/.*/fdroid/repo" />
|
|
<data android:pathPattern="/.*/fdroid/repo/*" />
|
|
<data android:pathPattern="/.*/.*/fdroid/repo" />
|
|
<data android:pathPattern="/.*/.*/fdroid/repo/*" />
|
|
<data android:pathPattern="/.*/.*/.*/fdroid/repo" />
|
|
<data android:pathPattern="/.*/.*/.*/fdroid/repo/*" />
|
|
<data android:path="/fdroid/archive" />
|
|
<data android:pathPattern="/fdroid/archive/*" />
|
|
<data android:pathPattern="/.*/fdroid/archive" />
|
|
<data android:pathPattern="/.*/fdroid/archive/*" />
|
|
<data android:pathPattern="/.*/.*/fdroid/archive" />
|
|
<data android:pathPattern="/.*/.*/fdroid/archive/*" />
|
|
<data android:pathPattern="/.*/.*/.*/fdroid/archive" />
|
|
<data android:pathPattern="/.*/.*/.*/fdroid/archive/*" />
|
|
<!--
|
|
Some QR Code scanners don't respect custom schemes like fdroidrepo://,
|
|
so this is a workaround, since the local repo URL is all uppercase in
|
|
the QR Code for sending the local repo to another device.
|
|
-->
|
|
<data android:path="/FDROID/REPO" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<!--
|
|
Android's scheme matcher is case-sensitive, so include
|
|
ALL CAPS versions to support ALL CAPS URLs in QR Codes.
|
|
QR Codes have a special ALL CAPS mode that uses a reduced
|
|
character set, making for more compact QR Codes.
|
|
-->
|
|
<data android:scheme="fdroidrepo" />
|
|
<data android:scheme="FDROIDREPO" />
|
|
<data android:scheme="fdroidrepos" />
|
|
<data android:scheme="FDROIDREPOS" />
|
|
</intent-filter>
|
|
<!-- Handle NFC tags detected from outside our application -->
|
|
<intent-filter>
|
|
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<!--
|
|
URIs that come in via NFC have scheme/host normalized to all lower case
|
|
https://developer.android.com/reference/android/nfc/NfcAdapter.html#ACTION_NDEF_DISCOVERED
|
|
-->
|
|
<data android:scheme="fdroidrepo" />
|
|
<data android:scheme="fdroidrepos" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:mimeType="application/vnd.org.fdroid.fdroid.repo" />
|
|
</intent-filter>
|
|
</activity>
|
|
<activity
|
|
android:name=".NfcNotEnabledActivity"
|
|
android:noHistory="true" />
|
|
<activity android:name=".views.QrWizardDownloadActivity" />
|
|
<activity android:name=".views.QrWizardWifiNetworkActivity" />
|
|
<activity
|
|
android:name=".views.LocalRepoActivity"
|
|
android:configChanges="orientation|keyboardHidden|screenSize"
|
|
android:label="@string/local_repo"
|
|
android:launchMode="singleTop"
|
|
android:parentActivityName=".FDroid"
|
|
android:screenOrientation="portrait" >
|
|
</activity>
|
|
<activity
|
|
android:name=".views.SelectLocalAppsActivity"
|
|
android:label="@string/setup_repo"
|
|
android:parentActivityName=".views.LocalRepoActivity" >
|
|
<meta-data
|
|
android:name="android.support.PARENT_ACTIVITY"
|
|
android:value=".views.LocalRepoActivity" />
|
|
</activity>
|
|
<activity
|
|
android:name=".views.RepoDetailsActivity"
|
|
android:label="@string/menu_manage"
|
|
android:parentActivityName=".ManageRepo"
|
|
android:windowSoftInputMode="stateHidden" />
|
|
|
|
<activity
|
|
android:name=".AppDetails"
|
|
android:label="@string/app_details"
|
|
android:exported="true"
|
|
android:parentActivityName=".FDroid" >
|
|
<meta-data
|
|
android:name="android.support.PARENT_ACTIVITY"
|
|
android:value=".FDroid" />
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="fdroid.app" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="market" android:host="details" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="http" />
|
|
<data android:scheme="https" />
|
|
<data android:host="f-droid.org" />
|
|
<data android:host="www.f-droid.org" />
|
|
<data android:pathPrefix="/app/" />
|
|
</intent-filter>
|
|
</activity>
|
|
<activity
|
|
android:label="@string/menu_preferences"
|
|
android:name=".PreferencesActivity"
|
|
android:parentActivityName=".FDroid" >
|
|
<meta-data
|
|
android:name="android.support.PARENT_ACTIVITY"
|
|
android:value=".FDroid" />
|
|
</activity>
|
|
<activity
|
|
android:name=".SearchResults"
|
|
android:label="@string/search_results"
|
|
android:exported="true"
|
|
android:launchMode="singleTop"
|
|
android:parentActivityName=".FDroid" >
|
|
<meta-data
|
|
android:name="android.support.PARENT_ACTIVITY"
|
|
android:value=".FDroid" />
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEARCH" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="fdroid.search" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="market" android:host="search" />
|
|
</intent-filter>
|
|
|
|
<meta-data
|
|
android:name="android.app.searchable"
|
|
android:resource="@xml/searchable" />
|
|
</activity>
|
|
|
|
<!--Used for SSL TOFU, supported by extern/MemorizingTrustManager lib -->
|
|
<activity
|
|
android:name="de.duenndns.ssl.MemorizingActivity"
|
|
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
|
|
|
|
<receiver android:name=".StartupReceiver" >
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
|
|
<category android:name="android.intent.category.HOME" />
|
|
</intent-filter>
|
|
</receiver>
|
|
<receiver android:name=".PackageAddedReceiver" >
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.PACKAGE_ADDED" />
|
|
|
|
<data android:scheme="package" />
|
|
</intent-filter>
|
|
</receiver>
|
|
<receiver android:name=".PackageUpgradedReceiver" >
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.PACKAGE_REPLACED" />
|
|
|
|
<data android:scheme="package" />
|
|
</intent-filter>
|
|
</receiver>
|
|
<receiver android:name=".PackageRemovedReceiver" >
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.PACKAGE_REMOVED" />
|
|
|
|
<data android:scheme="package" />
|
|
</intent-filter>
|
|
</receiver>
|
|
<receiver android:name=".WifiStateChangeReceiver" >
|
|
<intent-filter>
|
|
<action android:name="android.net.wifi.STATE_CHANGE" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<service android:name=".UpdateService" />
|
|
<service android:name=".net.WifiStateChangeService" />
|
|
<service android:name=".localrepo.LocalRepoService" />
|
|
</application>
|
|
|
|
</manifest>
|