1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (C) 2016 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.carrierdefaultapp">
21
22    <uses-permission android:name="android.permission.INTERNET" />
23    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
24    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
25    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
26    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
27    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS" />
28    <uses-permission android:name="android.permission.NETWORK_BYPASS_PRIVATE_DNS" />
29    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
30
31    <application
32        android:label="@string/app_name"
33        android:directBootAware="true"
34        android:usesCleartextTraffic="true"
35        android:icon="@mipmap/ic_launcher_android">
36        <receiver android:name="com.android.carrierdefaultapp.CarrierDefaultBroadcastReceiver"
37            android:exported="true">
38            <intent-filter>
39                <action android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
40                <action android:name="com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
41                <action android:name="com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
42                <action android:name="android.intent.action.LOCALE_CHANGED" />
43            </intent-filter>
44        </receiver>
45        <service android:name="com.android.carrierdefaultapp.ProvisionObserver"
46                 android:permission="android.permission.BIND_JOB_SERVICE"/>
47        <activity
48            android:name="com.android.carrierdefaultapp.CaptivePortalLoginActivity"
49            android:label="@string/action_bar_label"
50            android:exported="true"
51            android:permission="android.permission.MODIFY_PHONE_STATE"
52            android:theme="@style/AppTheme"
53            android:configChanges="keyboardHidden|orientation|screenSize">
54            <intent-filter>
55                <category android:name="android.intent.category.DEFAULT"/>
56            </intent-filter>
57        </activity>
58
59        <activity-alias
60            android:name="com.android.carrierdefaultapp.URLHandlerActivity"
61            android:targetActivity="com.android.carrierdefaultapp.CaptivePortalLoginActivity"
62            android:enabled="false"
63            android:exported="true">
64            <intent-filter>
65                <action android:name="android.intent.action.VIEW" />
66                <category android:name="android.intent.category.DEFAULT"/>
67                <category android:name="android.intent.category.BROWSABLE" />
68                <data android:scheme="http" />
69                <data android:scheme="https" />
70                <data android:host="*" />
71            </intent-filter>
72        </activity-alias>
73    </application>
74</manifest>
75