]> git.ipfire.org Git - thirdparty/strongswan.git/blob - src/frontends/android/app/src/main/AndroidManifest.xml
android: Add Quick Settings tile to toggle VPN state
[thirdparty/strongswan.git] / src / frontends / android / app / src / main / AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 Copyright (C) 2012-2018 Tobias Brunner
4 Copyright (C) 2012 Giuliano Grassi
5 Copyright (C) 2012 Ralf Sager
6 HSR Hochschule fuer Technik Rapperswil
7
8 This program is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published by the
10 Free Software Foundation; either version 2 of the License, or (at your
11 option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
12
13 This program is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17 -->
18 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
19 package="org.strongswan.android">
20
21 <uses-permission android:name="android.permission.INTERNET" />
22 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
23 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
24
25 <application
26 android:name=".logic.StrongSwanApplication"
27 android:icon="@drawable/ic_launcher"
28 android:label="@string/app_name"
29 android:theme="@style/ApplicationTheme"
30 android:allowBackup="false" >
31 <activity
32 android:name=".ui.MainActivity"
33 android:label="@string/main_activity_name"
34 android:launchMode="singleTop" >
35 <intent-filter>
36 <action android:name="android.intent.action.MAIN" />
37 <category android:name="android.intent.category.LAUNCHER" />
38 </intent-filter>
39 <intent-filter>
40 <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
41 </intent-filter>
42 </activity>
43 <activity
44 android:name=".ui.VpnProfileControlActivity"
45 android:theme="@style/TransparentActivity"
46 android:taskAffinity=""
47 android:excludeFromRecents="true"
48 android:launchMode="singleTask" >
49 <intent-filter>
50 <action android:name="org.strongswan.android.action.START_PROFILE" />
51 <category android:name="android.intent.category.DEFAULT" />
52 </intent-filter>
53 <intent-filter>
54 <action android:name="org.strongswan.android.action.DISCONNECT" />
55 <category android:name="android.intent.category.DEFAULT" />
56 </intent-filter>
57 </activity>
58 <activity
59 android:name=".ui.VpnProfileDetailActivity" >
60 </activity>
61 <activity
62 android:name=".ui.TrustedCertificatesActivity"
63 android:label="@string/trusted_certs_title" >
64 </activity>
65 <activity
66 android:name=".ui.SelectedApplicationsActivity"
67 android:label="@string/profile_select_apps" >
68 </activity>
69 <activity
70 android:name=".ui.LogActivity"
71 android:label="@string/log_title" >
72 </activity>
73 <activity
74 android:name=".ui.SettingsActivity"
75 android:label="@string/pref_title">
76 </activity>
77 <activity
78 android:name=".ui.RemediationInstructionsActivity"
79 android:label="@string/remediation_instructions_title" >
80 </activity>
81 <activity
82 android:name=".ui.VpnProfileSelectActivity"
83 android:label="@string/strongswan_shortcut" >
84 <intent-filter>
85 <action android:name="android.intent.action.CREATE_SHORTCUT" />
86 <category android:name="android.intent.category.DEFAULT" />
87 </intent-filter>
88 </activity>
89 <activity
90 android:name=".ui.VpnProfileImportActivity"
91 android:label="@string/profile_import"
92 android:taskAffinity=""
93 android:excludeFromRecents="true" >
94 <intent-filter>
95 <action android:name="android.intent.action.VIEW" />
96 <category android:name="android.intent.category.DEFAULT" />
97 <category android:name="android.intent.category.BROWSABLE" />
98 <data android:scheme="http" />
99 <data android:scheme="https" />
100 <data android:scheme="file" />
101 <data android:scheme="content" />
102 <data android:mimeType="application/vnd.strongswan.profile" />
103 </intent-filter>
104 <!-- this matches by file extension if no MIME type is provided -->
105 <intent-filter>
106 <action android:name="android.intent.action.VIEW" />
107 <category android:name="android.intent.category.DEFAULT" />
108 <category android:name="android.intent.category.BROWSABLE" />
109 <data android:scheme="http" />
110 <data android:scheme="https" />
111 <data android:scheme="file" />
112 <data android:scheme="content" />
113 <data android:host="*" />
114 <data android:pathPattern=".*\\..*\\..*\\..*\\.sswan" />
115 <data android:pathPattern=".*\\..*\\..*\\.sswan" />
116 <data android:pathPattern=".*\\..*\\.sswan" />
117 <data android:pathPattern=".*\\.sswan" />
118 </intent-filter>
119 <!-- this matches by file extension if any MIME type (but not ours) is provided -->
120 <intent-filter>
121 <action android:name="android.intent.action.VIEW" />
122 <category android:name="android.intent.category.DEFAULT" />
123 <category android:name="android.intent.category.BROWSABLE" />
124 <data android:scheme="http" />
125 <data android:scheme="https" />
126 <data android:scheme="file" />
127 <data android:scheme="content" />
128 <data android:host="*" />
129 <data android:mimeType="*/*" />
130 <data android:pathPattern=".*\\..*\\..*\\..*\\.sswan" />
131 <data android:pathPattern=".*\\..*\\..*\\.sswan" />
132 <data android:pathPattern=".*\\..*\\.sswan" />
133 <data android:pathPattern=".*\\.sswan" />
134 </intent-filter>
135 </activity>
136 <activity
137 android:name=".ui.TrustedCertificateImportActivity"
138 android:label="@string/import_certificate"
139 android:theme="@style/TransparentActivity" >
140 <intent-filter>
141 <action android:name="android.intent.action.VIEW" />
142 <category android:name="android.intent.category.DEFAULT" />
143 <data android:mimeType="application/x-x509-ca-cert" />
144 <data android:mimeType="application/x-x509-server-cert" />
145 <data android:mimeType="application/x-pem-file" />
146 <data android:mimeType="application/pkix-cert" />
147 </intent-filter>
148 </activity>
149
150 <service
151 android:name=".logic.VpnStateService"
152 android:exported="false" >
153 </service>
154 <service
155 android:name=".logic.CharonVpnService"
156 android:exported="false"
157 android:permission="android.permission.BIND_VPN_SERVICE" >
158 <intent-filter>
159 <action android:name="android.net.VpnService" />
160 </intent-filter>
161 </service>
162 <service
163 android:name=".ui.VpnTileService"
164 android:label="@string/tile_default"
165 android:icon="@drawable/ic_notification"
166 android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
167 <intent-filter>
168 <action android:name="android.service.quicksettings.action.QS_TILE" />
169 </intent-filter>
170 </service>
171
172 <provider
173 android:name=".data.LogContentProvider"
174 android:authorities="org.strongswan.android.content.log"
175 android:exported="true" >
176 <!-- android:grantUriPermissions="true" combined with a custom permission does
177 not work (probably too many indirections with ACTION_SEND) so we secure
178 this provider with a custom ticketing system -->
179 </provider>
180 </application>
181
182 </manifest>