oeffi/oeffi/AndroidManifest.xml
Andreas Schildbach 05d3623c34 13.0
2024-06-12 23:13:42 +02:00

267 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright the original author or authors.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="de.schildbach.oeffi"
android:versionCode="130000"
android:versionName="13.0">
<uses-sdk
android:minSdkVersion="24"
android:targetSdkVersion="34" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.hardware.location.gps"
android:required="false" />
<uses-feature
android:name="android.hardware.location.network"
android:required="false" />
<uses-feature
android:name="android.software.app_widgets"
android:required="false" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<application
android:name=".Application"
android:allowBackup="true"
android:icon="@mipmap/ic_oeffi_stations_color_48dp"
android:label="@string/app_name"
android:localeConfig="@xml/locale_config"
android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/My.Theme">
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="de.schildbach.oeffi"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider" />
</provider>
<activity
android:name=".preference.PreferenceActivity"
android:theme="@style/My.Theme.Preference"
android:label="@string/global_options_preferences_title" />
<activity
android:name=".network.NetworkPickerActivity"
android:configChanges="keyboard|keyboardHidden"
android:label="@string/network_picker_activity_title" />
<activity
android:name=".stations.StationsActivity"
android:exported="true"
android:configChanges="keyboard|keyboardHidden"
android:label="@string/stations_icon_label"
android:launchMode="singleTop"
android:taskAffinity="de.schildbach.oeffi.stations">
<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.SEARCH" />
</intent-filter>
<!-- thrown by google now gesture -->
<intent-filter android:label="@string/stations_intentfilter_title">
<action android:name="android.intent.action.ASSIST" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.app.default_searchable"
android:value=".stations.StationsActivity" />
<meta-data
android:name="android.app.searchable"
android:resource="@xml/stations_searchable" />
</activity>
<activity
android:name=".stations.StationDetailsActivity"
android:exported="true"
android:configChanges="keyboard|keyboardHidden"
android:label="@string/station_details_activity_title"
android:taskAffinity="de.schildbach.oeffi.stations">
</activity>
<activity
android:name=".stations.FavoriteStationsActivity"
android:label="@string/stations_favorite_stations_title"
android:taskAffinity="de.schildbach.oeffi.stations" />
<provider
android:name=".stations.FavoriteStationsProvider"
android:authorities="de.schildbach.oeffi.stations.favorites"
android:exported="false" />
<activity
android:name=".stations.NearestFavoriteStationsWidgetPermissionActivity"
android:theme="@style/My.Theme.Translucent" />
<receiver
android:name=".stations.NearestFavoriteStationWidgetProvider"
android:exported="false"
android:label="@string/nearest_favorite_station_widget_label">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_UNSUSPENDED" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/nearest_favorite_station_widget" />
</receiver>
<service
android:name=".stations.NearestFavoriteStationWidgetService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="false" />
<service
android:name=".stations.NearestFavoriteStationWidgetListService"
android:exported="false"
android:permission="android.permission.BIND_REMOTEVIEWS" />
<activity
android:name=".directions.DirectionsActivity"
android:exported="true"
android:configChanges="keyboard|keyboardHidden"
android:icon="@mipmap/ic_oeffi_directions_color_48dp"
android:label="@string/directions_icon_label"
android:taskAffinity="de.schildbach.oeffi.directions"
android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- thrown by google calendar for contacts, and qype radar -->
<intent-filter android:label="@string/directions_intentfilter_title">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="geo" />
</intent-filter>
</activity>
<activity
android:name=".directions.TripsOverviewActivity"
android:configChanges="keyboard|keyboardHidden"
android:taskAffinity="de.schildbach.oeffi.directions"
android:theme="@style/My.Theme.DarkDefault" />
<activity
android:name=".directions.TripDetailsActivity"
android:configChanges="keyboard|keyboardHidden"
android:label="@string/trip_details_title"
android:taskAffinity="de.schildbach.oeffi.directions" />
<activity
android:name=".directions.DirectionsShortcutActivity"
android:exported="true"
android:launchMode="singleInstance"
android:taskAffinity="de.schildbach.oeffi.directions"
android:theme="@style/My.Theme.Translucent">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<provider
android:name=".directions.QueryHistoryProvider"
android:authorities="de.schildbach.oeffi.directions.query_history"
android:exported="false" />
<activity
android:name=".plans.PlansPickerActivity"
android:exported="true"
android:configChanges="keyboard|keyboardHidden"
android:icon="@mipmap/ic_oeffi_plans_color_48dp"
android:label="@string/plans_icon_label"
android:launchMode="singleTop"
android:taskAffinity="de.schildbach.oeffi.plans">
<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.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.default_searchable"
android:value=".plans.PlansPickerActivity" />
<meta-data
android:name="android.app.searchable"
android:resource="@xml/plans_searchable" />
</activity>
<activity
android:name=".plans.PlanActivity"
android:exported="true"
android:configChanges="keyboard|keyboardHidden"
android:launchMode="singleTop"
android:taskAffinity="de.schildbach.oeffi.plans"
android:theme="@style/My.Theme.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.default_searchable"
android:value=".plans.PlanActivity" />
<meta-data
android:name="android.app.searchable"
android:resource="@xml/plan_searchable" />
</activity>
<provider
android:name=".plans.PlanContentProvider"
android:authorities="de.schildbach.oeffi.plans"
android:exported="false" />
</application>
<!-- remove unnecessary merged nodes -->
<permission android:name="${applicationId}.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" tools:node="remove" />
<uses-permission android:name="${applicationId}.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" tools:node="remove" />
</manifest>