|
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
|
<!--
|
|
|
|
|
~ Copyright (c) 2013 – 2015 Ricki Hirner (bitfire web engineering).
|
|
|
|
|
~ All rights reserved. This program and the accompanying materials
|
|
|
|
|
~ are made available under the terms of the GNU Public License v3.0
|
|
|
|
|
~ which accompanies this distribution, and is available at
|
|
|
|
|
~ http://www.gnu.org/licenses/gpl.html
|
|
|
|
|
-->
|
|
|
|
|
<manifest package="at.bitfire.davdroid"
|
|
|
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
|
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
|
|
|
android:installLocation="internalOnly">
|
|
|
|
|
|
|
|
|
|
<!-- normal permissions -->
|
|
|
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
|
|
|
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
|
|
|
|
<uses-permission android:name="android.permission.INTERNET"/>
|
|
|
|
|
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
|
|
|
|
|
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
|
|
|
|
|
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
|
|
|
|
|
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
|
|
|
|
|
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
|
|
|
|
|
|
|
|
|
|
<!-- legacy permissions -->
|
|
|
|
|
<uses-permission
|
|
|
|
|
android:name="android.permission.AUTHENTICATE_ACCOUNTS"
|
|
|
|
|
android:maxSdkVersion="22"
|
|
|
|
|
tools:ignore="UnusedAttribute"/>
|
|
|
|
|
<!--
|
|
|
|
|
for writing external log files; permission only required for SDK <= 18 because since then,
|
|
|
|
|
writing to app-private directory doesn't require extra permissions
|
|
|
|
|
-->
|
|
|
|
|
<uses-permission
|
|
|
|
|
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
|
|
|
|
android:maxSdkVersion="18"
|
|
|
|
|
tools:ignore="UnusedAttribute"/>
|
|
|
|
|
<uses-permission
|
|
|
|
|
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
|
|
|
android:maxSdkVersion="18"
|
|
|
|
|
tools:ignore="UnusedAttribute"/>
|
|
|
|
|
|
|
|
|
|
<!-- other permissions -->
|
|
|
|
|
<!-- android.permission-group.CONTACTS -->
|
|
|
|
|
<uses-permission android:name="android.permission.READ_CONTACTS"/>
|
|
|
|
|
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
|
|
|
|
|
<!-- android.permission-group.CALENDAR -->
|
|
|
|
|
<uses-permission android:name="android.permission.READ_CALENDAR"/>
|
|
|
|
|
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
|
|
|
|
|
|
|
|
|
|
<!-- ical4android declares task access permissions -->
|
|
|
|
|
|
|
|
|
|
<application
|
|
|
|
|
android:name=".App"
|
|
|
|
|
android:allowBackup="true"
|
|
|
|
|
android:fullBackupContent="false"
|
|
|
|
|
android:networkSecurityConfig="@xml/network_security_config"
|
|
|
|
|
android:icon="@mipmap/ic_launcher"
|
|
|
|
|
android:label="@string/app_name"
|
|
|
|
|
android:theme="@style/AppTheme"
|
|
|
|
|
tools:ignore="UnusedAttribute">
|
|
|
|
|
|
|
|
|
|
<receiver
|
|
|
|
|
android:name=".App$ReinitLoggingReceiver"
|
|
|
|
|
android:exported="false"
|
|
|
|
|
android:process=":sync">
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="at.bitfire.davdroid.REINIT_LOGGER"/>
|
|
|
|
|
</intent-filter>
|
|
|
|
|
</receiver>
|
|
|
|
|
<receiver
|
|
|
|
|
android:name=".AccountSettings$AppUpdatedReceiver"
|
|
|
|
|
android:exported="true">
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.intent.action.PACKAGE_REPLACED" />
|
|
|
|
|
<data android:scheme="package" android:path="at.bitfire.davdroid" />
|
|
|
|
|
</intent-filter>
|
|
|
|
|
</receiver>
|
|
|
|
|
|
|
|
|
|
<service
|
|
|
|
|
android:name=".syncadapter.AccountAuthenticatorService"
|
|
|
|
|
android:exported="false">
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.accounts.AccountAuthenticator"/>
|
|
|
|
|
</intent-filter>
|
|
|
|
|
|
|
|
|
|
<meta-data
|
|
|
|
|
android:name="android.accounts.AccountAuthenticator"
|
|
|
|
|
android:resource="@xml/account_authenticator"/>
|
|
|
|
|
</service>
|
|
|
|
|
<service
|
|
|
|
|
android:name=".syncadapter.ContactsSyncAdapterService"
|
|
|
|
|
android:exported="true"
|
|
|
|
|
android:process=":sync"
|
|
|
|
|
tools:ignore="ExportedService">
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.content.SyncAdapter"/>
|
|
|
|
|
</intent-filter>
|
|
|
|
|
|
|
|
|
|
<meta-data
|
|
|
|
|
android:name="android.content.SyncAdapter"
|
|
|
|
|
android:resource="@xml/sync_contacts"/>
|
|
|
|
|
<meta-data
|
|
|
|
|
android:name="android.provider.CONTACTS_STRUCTURE"
|
|
|
|
|
android:resource="@xml/contacts"/>
|
|
|
|
|
</service>
|
|
|
|
|
<service
|
|
|
|
|
android:name=".syncadapter.CalendarsSyncAdapterService"
|
|
|
|
|
android:exported="true"
|
|
|
|
|
android:process=":sync"
|
|
|
|
|
tools:ignore="ExportedService">
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.content.SyncAdapter"/>
|
|
|
|
|
</intent-filter>
|
|
|
|
|
|
|
|
|
|
<meta-data
|
|
|
|
|
android:name="android.content.SyncAdapter"
|
|
|
|
|
android:resource="@xml/sync_calendars"/>
|
|
|
|
|
</service>
|
|
|
|
|
<service
|
|
|
|
|
android:name=".syncadapter.TasksSyncAdapterService"
|
|
|
|
|
android:exported="true"
|
|
|
|
|
android:process=":sync"
|
|
|
|
|
tools:ignore="ExportedService">
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.content.SyncAdapter"/>
|
|
|
|
|
</intent-filter>
|
|
|
|
|
|
|
|
|
|
<meta-data
|
|
|
|
|
android:name="android.content.SyncAdapter"
|
|
|
|
|
android:resource="@xml/sync_tasks"/>
|
|
|
|
|
</service>
|
|
|
|
|
|
|
|
|
|
<service
|
|
|
|
|
android:name=".DavService"
|
|
|
|
|
android:enabled="true">
|
|
|
|
|
</service>
|
|
|
|
|
<receiver
|
|
|
|
|
android:name=".AccountsChangedReceiver"
|
|
|
|
|
android:enabled="true"
|
|
|
|
|
android:exported="true">
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED"/>
|
|
|
|
|
</intent-filter>
|
|
|
|
|
</receiver>
|
|
|
|
|
|
|
|
|
|
<activity
|
|
|
|
|
android:name=".ui.AccountsActivity"
|
|
|
|
|
android:label="@string/app_name"
|
|
|
|
|
android:theme="@style/AppTheme.NoActionBar">
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.intent.action.MAIN"/>
|
|
|
|
|
<category android:name="android.intent.category.LAUNCHER"/>
|
|
|
|
|
</intent-filter>
|
|
|
|
|
</activity>
|
|
|
|
|
|
|
|
|
|
<activity
|
|
|
|
|
android:name=".ui.AboutActivity"
|
|
|
|
|
android:label="@string/app_name"
|
|
|
|
|
android:theme="@style/AppTheme.NoActionBar"
|
|
|
|
|
android:parentActivityName=".ui.AccountsActivity"/>
|
|
|
|
|
|
|
|
|
|
<activity
|
|
|
|
|
android:name=".ui.AppSettingsActivity"
|
|
|
|
|
android:label="@string/app_settings"
|
|
|
|
|
android:parentActivityName=".ui.AccountsActivity"/>
|
|
|
|
|
|
|
|
|
|
<activity android:name=".ui.PermissionsActivity"
|
|
|
|
|
android:label="@string/permissions_title"
|
|
|
|
|
android:parentActivityName=".ui.AccountsActivity"/>
|
|
|
|
|
|
|
|
|
|
<activity
|
|
|
|
|
android:name=".ui.setup.LoginActivity"
|
|
|
|
|
android:label="@string/login_title"
|
|
|
|
|
android:parentActivityName=".ui.AccountsActivity">
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.intent.action.MAIN"/>
|
|
|
|
|
</intent-filter>
|
|
|
|
|
</activity>
|
|
|
|
|
|
|
|
|
|
<activity
|
|
|
|
|
android:name=".ui.AccountActivity"
|
|
|
|
|
android:parentActivityName=".ui.AccountsActivity">
|
|
|
|
|
</activity>
|
|
|
|
|
<activity android:name=".ui.AccountSettingsActivity"/>
|
|
|
|
|
<activity android:name=".ui.CreateAddressBookActivity"
|
|
|
|
|
android:label="@string/create_addressbook"/>
|
|
|
|
|
<activity android:name=".ui.CreateCalendarActivity"
|
|
|
|
|
android:label="@string/create_calendar"/>
|
|
|
|
|
|
|
|
|
|
<activity
|
|
|
|
|
android:name=".ui.DebugInfoActivity"
|
|
|
|
|
android:exported="true"
|
|
|
|
|
android:label="@string/debug_info_title">
|
|
|
|
|
</activity>
|
|
|
|
|
|
|
|
|
|
</application>
|
|
|
|
|
|
|
|
|
|
</manifest>
|