• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2019 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 package android.app;
17 
18 import android.annotation.FloatRange;
19 import android.annotation.NonNull;
20 import android.annotation.Nullable;
21 import android.compat.annotation.UnsupportedAppUsage;
22 import android.content.ComponentName;
23 import android.content.Intent;
24 import android.graphics.Bitmap;
25 import android.graphics.Point;
26 import android.graphics.Rect;
27 import android.graphics.RectF;
28 import android.graphics.drawable.Drawable;
29 import android.net.Uri;
30 import android.os.Bundle;
31 import android.os.Handler;
32 import android.os.IBinder;
33 import android.os.ParcelFileDescriptor;
34 import android.util.Log;
35 import android.util.SparseArray;
36 
37 import java.io.IOException;
38 import java.io.InputStream;
39 import java.util.List;
40 import java.util.Map;
41 
42 /**
43  * A no-op implementation of {@link WallpaperManager}.
44  */
45 final class DisabledWallpaperManager extends WallpaperManager {
46 
47     private static final String TAG = DisabledWallpaperManager.class.getSimpleName();
48 
49     // Don't need to worry about synchronization
50     private static DisabledWallpaperManager sInstance;
51 
52     private static final boolean DEBUG = false;
53 
54     @NonNull
getInstance()55     static DisabledWallpaperManager getInstance() {
56         if (sInstance == null) {
57             sInstance = new DisabledWallpaperManager();
58         }
59         return sInstance;
60     }
61 
DisabledWallpaperManager()62     private DisabledWallpaperManager() {
63     }
64 
65     @UnsupportedAppUsage
getIWallpaperManager()66     public IWallpaperManager getIWallpaperManager() {
67         return unsupported();
68     }
69 
70     @Override
isLockscreenLiveWallpaperEnabled()71     public boolean isLockscreenLiveWallpaperEnabled() {
72         return unsupportedBoolean();
73     }
74 
75     @Override
shouldEnableWideColorGamut()76     public boolean shouldEnableWideColorGamut() {
77         return unsupportedBoolean();
78     }
79 
80     @Override
getDrawable()81     public Drawable getDrawable() {
82         return unsupported();
83     }
84 
85     @Override
getBuiltInDrawable()86     public Drawable getBuiltInDrawable() {
87         return unsupported();
88     }
89 
90     @Override
getBuiltInDrawable(int which)91     public Drawable getBuiltInDrawable(int which) {
92         return unsupported();
93     }
94 
95     @Override
getBuiltInDrawable(int outWidth, int outHeight, boolean scaleToFit, float horizontalAlignment, float verticalAlignment)96     public Drawable getBuiltInDrawable(int outWidth, int outHeight, boolean scaleToFit,
97             float horizontalAlignment, float verticalAlignment) {
98         return unsupported();
99     }
100 
101     @Override
getBuiltInDrawable(int outWidth, int outHeight, boolean scaleToFit, float horizontalAlignment, float verticalAlignment, int which)102     public Drawable getBuiltInDrawable(int outWidth, int outHeight, boolean scaleToFit,
103             float horizontalAlignment, float verticalAlignment, int which) {
104         return unsupported();
105     }
106 
107     @Override
peekDrawable()108     public Drawable peekDrawable() {
109         return unsupported();
110     }
111 
112     @Override
getFastDrawable()113     public Drawable getFastDrawable() {
114         return unsupported();
115     }
116 
117     @Override
peekFastDrawable()118     public Drawable peekFastDrawable() {
119         return unsupported();
120     }
121 
122     @Override
wallpaperSupportsWcg(int which)123     public boolean wallpaperSupportsWcg(int which) {
124         return unsupportedBoolean();
125     }
126 
127     @Override
getBitmap()128     public Bitmap getBitmap() {
129         return unsupported();
130     }
131 
132     @Override
getBitmap(boolean hardware)133     public Bitmap getBitmap(boolean hardware) {
134         return unsupported();
135     }
136 
137     @Nullable
getBitmap(boolean hardware, @SetWallpaperFlags int which)138     public Bitmap getBitmap(boolean hardware, @SetWallpaperFlags int which) {
139         return unsupported();
140     }
141 
142     @Override
getBitmapAsUser(int userId, boolean hardware)143     public Bitmap getBitmapAsUser(int userId, boolean hardware) {
144         return unsupported();
145     }
146 
147     @Override
getBitmapAsUser(int userId, boolean hardware, @SetWallpaperFlags int which)148     public Bitmap getBitmapAsUser(int userId, boolean hardware, @SetWallpaperFlags int which) {
149         return unsupported();
150     }
151 
152     @Override
getBitmapAsUser(int userId, boolean hardware, @SetWallpaperFlags int which, boolean returnDefault)153     public Bitmap getBitmapAsUser(int userId, boolean hardware,
154             @SetWallpaperFlags int which, boolean returnDefault) {
155         return unsupported();
156     }
157 
158     @Override
peekBitmapDimensions()159     public Rect peekBitmapDimensions() {
160         return unsupported();
161     }
162 
163     @Override
peekBitmapDimensions(@etWallpaperFlags int which)164     public Rect peekBitmapDimensions(@SetWallpaperFlags int which) {
165         return unsupported();
166     }
167 
168     @Nullable
peekBitmapDimensions(@etWallpaperFlags int which, boolean returnDefault)169     public Rect peekBitmapDimensions(@SetWallpaperFlags int which, boolean returnDefault) {
170         return unsupported();
171     }
172 
173     @Override
getBitmapCrops(@onNull List<Point> displaySizes, @SetWallpaperFlags int which, boolean originalBitmap)174     public List<Rect> getBitmapCrops(@NonNull List<Point> displaySizes,
175             @SetWallpaperFlags int which, boolean originalBitmap) {
176         return unsupported();
177     }
178 
179     @Override
getBitmapCrops(@onNull Point bitmapSize, @NonNull List<Point> displaySizes, @Nullable Map<Point, Rect> cropHints)180     public List<Rect> getBitmapCrops(@NonNull Point bitmapSize, @NonNull List<Point> displaySizes,
181             @Nullable Map<Point, Rect> cropHints) {
182         return unsupported();
183     }
184 
185     @Override
getWallpaperColors(@onNull Bitmap bitmap, @Nullable Map<Point, Rect> cropHints)186     public WallpaperColors getWallpaperColors(@NonNull Bitmap bitmap,
187             @Nullable Map<Point, Rect> cropHints) {
188         return unsupported();
189     }
190 
191     @Override
getWallpaperFile(int which)192     public ParcelFileDescriptor getWallpaperFile(int which) {
193         return unsupported();
194     }
195 
196     @Override
addOnColorsChangedListener(OnColorsChangedListener listener, Handler handler)197     public void addOnColorsChangedListener(OnColorsChangedListener listener, Handler handler) {
198         unsupported();
199     }
200 
201     @Override
addOnColorsChangedListener(OnColorsChangedListener listener, Handler handler, int userId)202     public void addOnColorsChangedListener(OnColorsChangedListener listener, Handler handler,
203             int userId) {
204         unsupported();
205     }
206 
207     @Override
removeOnColorsChangedListener(OnColorsChangedListener callback)208     public void removeOnColorsChangedListener(OnColorsChangedListener callback) {
209         unsupported();
210     }
211 
212     @Override
removeOnColorsChangedListener(OnColorsChangedListener callback, int userId)213     public void removeOnColorsChangedListener(OnColorsChangedListener callback, int userId) {
214         unsupported();
215     }
216 
217     @Override
getWallpaperColors(int which)218     public WallpaperColors getWallpaperColors(int which) {
219         return unsupported();
220     }
221 
222     @Override
getWallpaperColors(int which, int userId)223     public WallpaperColors getWallpaperColors(int which, int userId) {
224         return unsupported();
225     }
226 
227     @Override
addOnColorsChangedListener(@onNull LocalWallpaperColorConsumer callback, List<RectF> regions, int which)228     public void addOnColorsChangedListener(@NonNull LocalWallpaperColorConsumer callback,
229             List<RectF> regions, int which) throws IllegalArgumentException {
230         unsupported();
231     }
232 
233     @Override
removeOnColorsChangedListener(@onNull LocalWallpaperColorConsumer callback)234     public void removeOnColorsChangedListener(@NonNull LocalWallpaperColorConsumer callback) {
235         unsupported();
236     }
237 
238     @Override
getWallpaperFile(int which, int userId)239     public ParcelFileDescriptor getWallpaperFile(int which, int userId) {
240         return unsupported();
241     }
242 
243     @Override
getWallpaperFile(int which, boolean getCropped)244     public ParcelFileDescriptor getWallpaperFile(int which, boolean getCropped) {
245         return unsupported();
246     }
247 
248     @Override
forgetLoadedWallpaper()249     public void forgetLoadedWallpaper() {
250         unsupported();
251     }
252 
253     @Override
getWallpaperInfo()254     public WallpaperInfo getWallpaperInfo() {
255         return unsupported();
256     }
257 
getWallpaperInfoForUser(int userId)258     public WallpaperInfo getWallpaperInfoForUser(int userId) {
259         return unsupported();
260     }
261 
262     @Override
getWallpaperInfo(@etWallpaperFlags int which)263     public WallpaperInfo getWallpaperInfo(@SetWallpaperFlags int which) {
264         return unsupported();
265     }
266 
267     @Override
getWallpaperInfo(@etWallpaperFlags int which, int userId)268     public WallpaperInfo getWallpaperInfo(@SetWallpaperFlags int which, int userId) {
269         return unsupported();
270     }
271 
272     @Override
getWallpaperInfoFile()273     public ParcelFileDescriptor getWallpaperInfoFile() {
274         return unsupported();
275     }
276 
277     @Override
getWallpaperId(int which)278     public int getWallpaperId(int which) {
279         return unsupportedInt();
280     }
281 
282     @Override
getWallpaperIdForUser(int which, int userId)283     public int getWallpaperIdForUser(int which, int userId) {
284         return unsupportedInt();
285     }
286 
287     @Override
getCropAndSetWallpaperIntent(Uri imageUri)288     public Intent getCropAndSetWallpaperIntent(Uri imageUri) {
289         return unsupported();
290     }
291 
292     @Override
setResource(int resid)293     public void setResource(int resid) throws IOException {
294         unsupported();
295     }
296 
297     @Override
setResource(int resid, int which)298     public int setResource(int resid, int which) throws IOException {
299         unsupported();
300         return 0;
301     }
302 
303     @Override
setBitmap(Bitmap bitmap)304     public void setBitmap(Bitmap bitmap) throws IOException {
305         unsupported();
306     }
307 
308     @Override
setBitmap(Bitmap fullImage, Rect visibleCropHint, boolean allowBackup)309     public int setBitmap(Bitmap fullImage, Rect visibleCropHint, boolean allowBackup)
310             throws IOException {
311         unsupported();
312         return 0;
313     }
314 
315     @Override
setBitmap(Bitmap fullImage, Rect visibleCropHint, boolean allowBackup, int which)316     public int setBitmap(Bitmap fullImage, Rect visibleCropHint, boolean allowBackup, int which)
317             throws IOException {
318         unsupported();
319         return 0;
320     }
321 
322     @Override
setBitmap(Bitmap fullImage, Rect visibleCropHint, boolean allowBackup, int which, int userId)323     public int setBitmap(Bitmap fullImage, Rect visibleCropHint, boolean allowBackup, int which,
324             int userId) throws IOException {
325         unsupported();
326         return 0;
327     }
328 
setBitmapWithCrops(@ullable Bitmap fullImage, @NonNull Map<Point, Rect> cropHints, boolean allowBackup, @SetWallpaperFlags int which)329     public int setBitmapWithCrops(@Nullable Bitmap fullImage, @NonNull Map<Point, Rect> cropHints,
330             boolean allowBackup, @SetWallpaperFlags int which) throws IOException {
331         return unsupportedInt();
332     }
333 
334     @Override
setStream(InputStream bitmapData)335     public void setStream(InputStream bitmapData) throws IOException {
336         unsupported();
337     }
338 
339     @Override
setStream(InputStream bitmapData, Rect visibleCropHint, boolean allowBackup)340     public int setStream(InputStream bitmapData, Rect visibleCropHint, boolean allowBackup)
341             throws IOException {
342         unsupported();
343         return 0;
344     }
345 
346     @Override
setStream(InputStream bitmapData, Rect visibleCropHint, boolean allowBackup, int which)347     public int setStream(InputStream bitmapData, Rect visibleCropHint, boolean allowBackup,
348             int which) throws IOException {
349         unsupported();
350         return 0;
351     }
352 
353     @Override
setStreamWithCrops(InputStream bitmapData, @NonNull Map<Point, Rect> cropHints, boolean allowBackup, @SetWallpaperFlags int which)354     public int setStreamWithCrops(InputStream bitmapData, @NonNull Map<Point, Rect> cropHints,
355             boolean allowBackup, @SetWallpaperFlags int which) throws IOException {
356         return unsupportedInt();
357     }
358 
359 
360     @Override
setStreamWithCrops(@onNull InputStream bitmapData, @NonNull SparseArray<Rect> cropHints, boolean allowBackup, @SetWallpaperFlags int which )361     public int setStreamWithCrops(@NonNull InputStream bitmapData,
362             @NonNull SparseArray<Rect> cropHints, boolean allowBackup, @SetWallpaperFlags int which
363     ) throws IOException {
364         return unsupportedInt();
365     }
366 
367     @Override
hasResourceWallpaper(int resid)368     public boolean hasResourceWallpaper(int resid) {
369         return unsupportedBoolean();
370     }
371 
372     @Override
getDesiredMinimumWidth()373     public int getDesiredMinimumWidth() {
374         return unsupportedInt();
375     }
376 
377     @Override
getDesiredMinimumHeight()378     public int getDesiredMinimumHeight() {
379         return unsupportedInt();
380     }
381 
382     @Override
suggestDesiredDimensions(int minimumWidth, int minimumHeight)383     public void suggestDesiredDimensions(int minimumWidth, int minimumHeight) {
384         unsupported();
385     }
386 
387     @Override
setDisplayPadding(Rect padding)388     public void setDisplayPadding(Rect padding) {
389         unsupported();
390     }
391 
392     @Override
setDisplayOffset(IBinder windowToken, int x, int y)393     public void setDisplayOffset(IBinder windowToken, int x, int y) {
394         unsupported();
395     }
396 
397     @Override
clearWallpaper()398     public void clearWallpaper() {
399         unsupported();
400     }
401 
402     @Override
clearWallpaper(int which, int userId)403     public void clearWallpaper(int which, int userId) {
404         unsupported();
405     }
406 
407     @Override
setWallpaperComponent(ComponentName name)408     public boolean setWallpaperComponent(ComponentName name) {
409         return unsupportedBoolean();
410     }
411 
412 
413     @Override
setWallpaperDimAmount(@loatRangefrom = 0f, to = 1f) float dimAmount)414     public void setWallpaperDimAmount(@FloatRange(from = 0f, to = 1f) float dimAmount) {
415         unsupported();
416     }
417 
418     @Override
getWallpaperDimAmount()419     public @FloatRange(from = 0f, to = 1f) float getWallpaperDimAmount() {
420         return unsupportedInt();
421     }
422 
423     @Override
lockScreenWallpaperExists()424     public boolean lockScreenWallpaperExists() {
425         return unsupportedBoolean();
426     }
427 
428     @Override
setWallpaperComponent(ComponentName name, int userId)429     public boolean setWallpaperComponent(ComponentName name, int userId) {
430         return unsupportedBoolean();
431     }
432 
433     @Override
setWallpaperComponentWithFlags(@onNull ComponentName name, @SetWallpaperFlags int which)434     public boolean setWallpaperComponentWithFlags(@NonNull ComponentName name,
435             @SetWallpaperFlags int which) {
436         return unsupportedBoolean();
437     }
438 
439     @Override
setWallpaperComponentWithFlags(@onNull ComponentName name, @SetWallpaperFlags int which, int userId)440     public boolean setWallpaperComponentWithFlags(@NonNull ComponentName name,
441             @SetWallpaperFlags int which, int userId) {
442         return unsupportedBoolean();
443     }
444 
445     @Override
setWallpaperOffsets(IBinder windowToken, float xOffset, float yOffset)446     public void setWallpaperOffsets(IBinder windowToken, float xOffset, float yOffset) {
447         unsupported();
448     }
449 
450     @Override
setWallpaperOffsetSteps(float xStep, float yStep)451     public void setWallpaperOffsetSteps(float xStep, float yStep) {
452         unsupported();
453     }
454 
455     @Override
sendWallpaperCommand(IBinder windowToken, String action, int x, int y, int z, Bundle extras)456     public void sendWallpaperCommand(IBinder windowToken, String action, int x, int y, int z,
457             Bundle extras) {
458         unsupported();
459     }
460 
461     @Override
setWallpaperZoomOut(@onNull IBinder windowToken, float zoom)462     public void setWallpaperZoomOut(@NonNull IBinder windowToken, float zoom) {
463         unsupported();
464     }
465 
466     @Override
isWallpaperSupported()467     public boolean isWallpaperSupported() {
468         return false;
469     }
470 
471     @Override
isSetWallpaperAllowed()472     public boolean isSetWallpaperAllowed() {
473         return false;
474     }
475 
476     @Override
clearWallpaperOffsets(IBinder windowToken)477     public void clearWallpaperOffsets(IBinder windowToken) {
478         unsupported();
479     }
480 
481     @Override
clear()482     public void clear() throws IOException {
483         unsupported();
484     }
485 
486     @Override
clear(int which)487     public void clear(int which) throws IOException {
488         unsupported();
489     }
490 
491     @Override
isWallpaperBackupEligible(int which)492     public boolean isWallpaperBackupEligible(int which) {
493         return unsupportedBoolean();
494     }
495 
unsupported()496     private static <T> T unsupported() {
497         if (DEBUG) Log.w(TAG, "unsupported method called; returning null", new Exception());
498         return null;
499     }
500 
unsupportedBoolean()501     private static boolean unsupportedBoolean() {
502         if (DEBUG) Log.w(TAG, "unsupported method called; returning false", new Exception());
503         return false;
504     }
505 
unsupportedInt()506     private static int unsupportedInt() {
507         if (DEBUG) Log.w(TAG, "unsupported method called; returning -1", new Exception());
508         return -1;
509     }
510 }
511