| /* |
| * Copyright (C) 2011 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.app.cts; |
| |
| import android.app.WallpaperManager; |
| import android.content.Context; |
| import android.graphics.Point; |
| import android.test.AndroidTestCase; |
| import android.view.Display; |
| import android.view.WindowManager; |
| |
| public class WallpaperManagerTest extends AndroidTestCase { |
| |
| private WallpaperManager mWallpaperManager; |
| |
| @Override |
| protected void setUp() throws Exception { |
| super.setUp(); |
| mWallpaperManager = WallpaperManager.getInstance(mContext); |
| } |
| |
| /** |
| * Suggesting desired dimensions is only a hint to the system that can be ignored. |
| * |
| * Test if the desired minimum width or height the WallpaperManager returns |
| * is greater than 0. If so, then we check whether that the size is at least the |
| * as big as the screen. |
| */ |
| public void testSuggestDesiredDimensions() { |
| final Point min = getScreenSize(); |
| final int w = min.x * 3; |
| final int h = min.y * 2; |
| |
| assertDesiredMinimum(new Point(min.x / 2, min.y / 2), min); |
| |
| assertDesiredMinimum(new Point(w, h), |
| new Point(w, h)); |
| |
| assertDesiredMinimum(new Point(min.x / 2, h), |
| new Point(min.x, h)); |
| |
| assertDesiredMinimum(new Point(w, min.y / 2), |
| new Point(w, min.y)); |
| } |
| |
| private void assertDesiredMinimum(Point suggestedSize, Point expectedSize) { |
| mWallpaperManager.suggestDesiredDimensions(suggestedSize.x, suggestedSize.y); |
| Point actualSize = new Point(mWallpaperManager.getDesiredMinimumWidth(), |
| mWallpaperManager.getDesiredMinimumHeight()); |
| if (actualSize.x > 0 || actualSize.y > 0) { |
| assertEquals(expectedSize, actualSize); |
| } |
| } |
| |
| private Point getScreenSize() { |
| WindowManager wm = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE); |
| Display d = wm.getDefaultDisplay(); |
| Point p = new Point(); |
| d.getRealSize(p); |
| return p; |
| } |
| } |