1<?xml version="1.0" encoding="utf-8"?>
2
3<!-- The package name here must match the Studio namespace given in
4     WallpaperPickerGoogle gradle config for Studio builds to succeed.
5     `package_name` in Android.bp overrides this with the actual package name.
6 -->
7<manifest xmlns:android="http://schemas.android.com/apk/res/android"
8     xmlns:tools="http://schemas.android.com/tools"
9     package="com.google.android.apps.wallpaper">
10
11  <!-- Custom permission to enforce that only this app can notify the running live wallpaper that
12             the rotating wallpaper image data changed. -->
13  <permission android:name="com.android.wallpaper.NOTIFY_ROTATING_WALLPAPER_CHANGED"
14       android:protectionLevel="signature"/>
15
16  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
17  <uses-permission android:name="android.permission.CUSTOMIZE_SYSTEM_UI" />
18  <uses-permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK" />
19  <uses-permission android:name="android.permission.INTERNET"/>
20  <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
21  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
22  <uses-permission android:name="android.permission.READ_WALLPAPER_INTERNAL" />
23  <uses-permission android:name="android.permission.SET_WALLPAPER"/>
24  <uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT" />
25  <uses-permission android:name="android.permission.BIND_WALLPAPER" />
26  <uses-permission android:name="android.permission.WAKE_LOCK"/>
27  <uses-permission android:name="com.android.wallpaper.NOTIFY_ROTATING_WALLPAPER_CHANGED"/>
28  <uses-permission android:name="android.permission.SET_WALLPAPER_DIM_AMOUNT" />
29
30  <queries>
31      <!-- Specific intents Wallpaper picker query for -->
32      <!-- Intent filter with action SET_WALLPAPER -->
33      <intent>
34          <action android:name="android.intent.action.SET_WALLPAPER" />
35      </intent>
36      <!-- Intent filter with action GET_CONTENT and data's mimeType as "image/*" -->
37      <intent>
38          <action android:name="android.intent.action.GET_CONTENT" />
39          <data android:mimeType="image/*" />
40      </intent>
41      <!-- Intent filter with action VIEW -->
42      <intent>
43          <action android:name="android.intent.action.VIEW" />
44      </intent>
45      <!-- Intent filter with action WallpaperService (live wallpaper interface) -->
46      <intent>
47          <action android:name="android.service.wallpaper.WallpaperService" />
48      </intent>
49      <!-- Intent filter with action used to discover partner -->
50      <intent>
51          <action android:name="com.android.launcher3.action.PARTNER_CUSTOMIZATION" />
52      </intent>
53      <!-- Intent filter used to query the launcher Activity for grid preview metadata -->
54        <intent>
55            <action android:name="android.intent.action.MAIN" />
56            <category android:name="android.intent.category.HOME" />
57        </intent>
58  </queries>
59
60  <application
61      tools:replace="android:icon,android:name,android:appComponentFactory"
62      android:appComponentFactory="androidx.core.app.CoreComponentFactory"
63      android:allowBackup="true"
64      android:icon="@mipmap/product_logo_wallpapers_launcher_color_48"
65      android:label="@string/app_name"
66      android:name="com.android.wallpaper.picker.WallpapersApplication"
67      android:requiredForAllUsers="true"
68      android:restoreAnyVersion="true"
69      android:supportsRtl="true">
70
71    <meta-data android:name="com.android.wallpaper.asset.WallpaperGlideModule"
72         android:value="GlideModule"/>
73
74    <activity android:name="com.android.wallpaper.picker.CustomizationPickerActivity"
75        android:label="@string/app_name"
76        android:relinquishTaskIdentity="true"
77        android:resizeableActivity="false"
78        android:theme="@style/WallpaperTheme.NoBackground"
79        android:exported="true">
80    </activity>
81
82    <activity android:name="com.android.wallpaper.picker.customization.ui.CustomizationPickerActivity2"
83        android:label="@string/app_name"
84        android:relinquishTaskIdentity="true"
85        android:resizeableActivity="false"
86        android:theme="@style/WallpaperTheme.NoBackground"
87        android:configChanges="assetsPaths"
88        android:exported="true">
89    </activity>
90
91    <activity android:name="com.android.wallpaper.picker.PassThroughCustomizationPickerActivity"
92        android:label="@string/app_name"
93        android:resizeableActivity="false"
94        android:theme="@style/WallpaperTheme.NoBackground"
95        android:exported="true">
96    </activity>
97
98    <activity android:name="com.android.wallpaper.picker.TrampolinePickerActivity"
99        android:label="@string/app_name"
100        android:relinquishTaskIdentity="true"
101        android:resizeableActivity="false"
102        android:theme="@style/WallpaperTheme.NoBackground"
103        android:exported="true">
104        <intent-filter>
105            <action android:name="android.intent.action.SET_WALLPAPER"/>
106            <category android:name="android.intent.category.DEFAULT"/>
107        </intent-filter>
108    </activity>
109
110    <activity android:name="com.android.wallpaper.picker.DeepLinkActivity"
111        android:theme="@style/WallpaperTheme.NoBackground"
112        android:exported="true">
113        <intent-filter android:autoVerify="true">
114            <action android:name="android.intent.action.VIEW" />
115            <category android:name="android.intent.category.DEFAULT" />
116            <category android:name="android.intent.category.BROWSABLE" />
117            <data
118                android:host="g.co"
119                android:pathPrefix="/wallpaper"
120                android:scheme="https" />
121        </intent-filter>
122    </activity>
123
124    <activity-alias
125        android:name="com.android.wallpaper.picker.CategoryPickerActivity"
126        android:targetActivity="com.android.wallpaper.picker.TrampolinePickerActivity"
127        android:label="@string/app_name"
128        android:exported="true">
129      <intent-filter>
130        <action android:name="android.intent.action.MAIN"/>
131      </intent-filter>
132    </activity-alias>
133
134    <activity android:name="com.android.wallpaper.picker.PreviewActivity"
135         android:resizeableActivity="false"
136         android:theme="@style/WallpaperTheme.Preview">
137    </activity>
138
139    <activity
140         android:name="com.android.wallpaper.picker.FullPreviewActivity"
141         android:taskAffinity="@string/full_screen_task_affinity"
142         android:resizeableActivity="false"
143         android:theme="@style/WallpaperTheme.Preview">
144    </activity>
145
146      <activity
147          android:name="com.android.wallpaper.picker.preview.ui.WallpaperPreviewActivity"
148          android:excludeFromRecents="true"
149          android:taskAffinity="@string/multi_crop_task_affinity"
150          android:resizeableActivity="true"
151          android:screenOrientation="locked"
152          android:theme="@style/WallpaperTheme.Preview">
153      </activity>
154
155    <activity android:name="com.android.wallpaper.picker.StandalonePreviewActivity"
156         android:resizeableActivity="false"
157         android:relinquishTaskIdentity="true"
158         android:theme="@style/WallpaperTheme.Preview"
159         android:exported="true">
160      <intent-filter>
161        <action android:name="android.service.wallpaper.CROP_AND_SET_WALLPAPER"/>
162        <category android:name="android.intent.category.DEFAULT"/>
163        <data android:mimeType="image/*"/>
164      </intent-filter>
165    </activity>
166
167    <activity android:name="com.android.wallpaper.picker.ViewOnlyPreviewActivity"
168         android:resizeableActivity="false"
169         android:theme="@style/WallpaperTheme.Preview">
170    </activity>
171  </application>
172
173</manifest>
174