1<?xml version="1.0" encoding="utf-8"?><!--
2    Copyright (C) 2023 The Android Open Source Project
3
4    Licensed under the Apache License, Version 2.0 (the "License");
5    you may not use this file except in compliance with the License.
6    You may obtain a copy of the License at
7
8         http://www.apache.org/licenses/LICENSE-2.0
9
10    Unless required by applicable law or agreed to in writing, software
11    distributed under the License is distributed on an "AS IS" BASIS,
12    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13    See the License for the specific language governing permissions and
14    limitations under the License.
15-->
16
17<manifest xmlns:android="http://schemas.android.com/apk/res/android"
18    package="com.android.egg"
19    android:versionCode="12"
20    android:versionName="1.0">
21
22    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
23
24    <!-- used for cat notifications -->
25    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
26
27    <!-- used to save cat images -->
28    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
29
30    <!-- controls -->
31    <uses-permission android:name="android.permission.BIND_CONTROLS" />
32
33    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
34
35    <application
36        android:icon="@drawable/android14_patch_adaptive"
37        android:label="@string/app_name">
38
39        <!-- Android U easter egg -->
40
41        <activity
42            android:name=".landroid.MainActivity"
43            android:exported="true"
44            android:label="@string/u_egg_name"
45            android:icon="@drawable/android14_patch_adaptive"
46            android:configChanges="orientation|screenLayout|screenSize|density"
47            android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen">
48            <intent-filter>
49                <action android:name="android.intent.action.MAIN" />
50                <category android:name="android.intent.category.DEFAULT" />
51                <category android:name="com.android.internal.category.PLATLOGO" />
52            </intent-filter>
53        </activity>
54
55
56        <!-- Android Q easter egg -->
57        <activity
58            android:name=".quares.QuaresActivity"
59            android:exported="true"
60            android:icon="@drawable/q_icon"
61            android:label="@string/q_egg_name"
62            android:theme="@style/QuaresTheme">
63            <intent-filter>
64                <action android:name="android.intent.action.MAIN" />
65            </intent-filter>
66        </activity>
67        <activity
68            android:name=".paint.PaintActivity"
69            android:configChanges="orientation|keyboardHidden|screenSize|uiMode"
70            android:exported="true"
71            android:icon="@drawable/p_icon"
72            android:label="@string/p_egg_name"
73            android:theme="@style/AppTheme">
74            <intent-filter>
75                <action android:name="android.intent.action.MAIN" />
76            </intent-filter>
77        </activity>
78
79        <!-- Android N easter egg bits -->
80        <activity
81            android:name=".neko.NekoLand"
82            android:exported="true"
83            android:label="@string/app_name"
84            android:theme="@android:style/Theme.Material.NoActionBar">
85            <intent-filter>
86                <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
87                <action android:name="android.intent.action.MAIN" />
88
89                <category android:name="android.intent.category.DEFAULT" />
90            </intent-filter>
91        </activity>
92
93        <!-- This is where the magic happens -->
94        <service
95            android:name=".neko.NekoService"
96            android:enabled="true"
97            android:exported="true"
98            android:permission="android.permission.BIND_JOB_SERVICE" />
99        <!-- Used to show over lock screen -->
100        <activity
101            android:name=".neko.NekoLockedActivity"
102            android:excludeFromRecents="true"
103            android:exported="true"
104            android:showOnLockScreen="true"
105            android:theme="@android:style/Theme.Material.Light.Dialog.NoActionBar" />
106        <!-- Used to enable easter egg components for earlier easter eggs. -->
107        <activity
108            android:name=".ComponentActivationActivity"
109            android:excludeFromRecents="true"
110            android:exported="true"
111            android:theme="@android:style/Theme.NoDisplay">
112            <intent-filter>
113                <action android:name="android.intent.action.MAIN" />
114
115                <category android:name="android.intent.category.DEFAULT" />
116            </intent-filter>
117        </activity>
118
119        <!-- The quick settings tile, disabled by default -->
120        <service
121            android:name=".neko.NekoTile"
122            android:enabled="false"
123            android:exported="true"
124            android:icon="@drawable/stat_icon"
125            android:label="@string/default_tile_name"
126            android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
127            <intent-filter>
128                <action android:name="android.service.quicksettings.action.QS_TILE" />
129            </intent-filter>
130        </service>
131        <service
132            android:name=".neko.NekoControlsService"
133            android:enabled="false"
134            android:exported="true"
135            android:icon="@drawable/ic_fullcat_icon"
136            android:label="@string/r_egg_name"
137            android:permission="android.permission.BIND_CONTROLS">
138            <intent-filter>
139                <action android:name="android.service.controls.ControlsProviderService" />
140            </intent-filter>
141        </service> <!-- FileProvider for sending pictures -->
142        <provider
143            android:name="androidx.core.content.FileProvider"
144            android:authorities="com.android.egg.fileprovider"
145            android:exported="false"
146            android:grantUriPermissions="true">
147            <meta-data
148                android:name="android.support.FILE_PROVIDER_PATHS"
149                android:resource="@xml/filepaths" />
150        </provider>
151
152        <!-- Android S easter egg bits -->
153
154        <!-- List of all system theme colors on the device. -->
155        <activity
156            android:name=".widget.PaintChipsActivity"
157            android:theme="@android:style/Theme.Material.Wallpaper.NoTitleBar"
158            android:configChanges="orientation|keyboardHidden|screenSize|uiMode"
159            android:label="@string/s_egg_name"
160            android:enabled="false"
161            android:exported="true">
162            <intent-filter>
163                <action android:name="android.intent.action.MAIN" />
164            </intent-filter>
165        </activity>
166
167        <!-- Homescreen widget also showing paint chips (may be affected by the exact position in
168             the workspace) -->
169        <receiver
170            android:name=".widget.PaintChipsWidget"
171            android:label="@string/s_egg_name"
172            android:exported="true"
173            android:enabled="false">
174            <intent-filter>
175                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
176            </intent-filter>
177
178            <meta-data
179                android:name="android.appwidget.provider"
180                android:resource="@xml/paint_chips_widget_info" />
181        </receiver>
182    </application>
183
184</manifest>
185