1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (C) 2014 The Android Open Source Project
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *      http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18-->
19<manifest xmlns:android="http://schemas.android.com/apk/res/android"
20    package="com.android.captiveportallogin"
21    android:versionCode="300000000"
22    android:versionName="2019-09">
23
24    <uses-permission android:name="android.permission.INTERNET" />
25    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
26    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
27    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
28    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
29    <uses-permission android:name="android.permission.MAINLINE_NETWORK_STACK" />
30    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
31
32    <!-- The login activity can start downloads, and in cases where the download is an APK,
33    tapping on the notification to open the downloaded file will cause the package installer to
34    start and verify this permission.
35    If this permission is requested, the package installer will prompt the user to grant the
36    permission in Settings. If the user has granted the permission, they will be able to install the
37    package.
38    Not requesting this permission would cause the package manager to silently ignore the
39    notification tap.
40    Applications may be offered on portals such as airline wifi, in which case installing the app
41    from the portal can be useful. -->
42    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
43
44    <application android:label="@string/app_name"
45                 android:icon="@drawable/app_icon"
46                 android:usesCleartextTraffic="true"
47                 android:supportsRtl="true" >
48        <activity
49            android:name="com.android.captiveportallogin.CaptivePortalLoginActivity"
50            android:label="@string/action_bar_label"
51            android:theme="@style/AppTheme"
52            android:configChanges="keyboardHidden|orientation|screenSize" >
53            <intent-filter>
54                <action android:name="android.net.conn.CAPTIVE_PORTAL"/>
55                <category android:name="android.intent.category.DEFAULT"/>
56            </intent-filter>
57        </activity>
58        <service android:name=".DownloadService" android:exported="false" />
59    </application>
60</manifest>
61