• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2017 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 package android.service.wallpaper;
18 
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertFalse;
21 import static org.junit.Assert.assertTrue;
22 
23 import androidx.test.filters.SmallTest;
24 
25 import org.junit.Test;
26 import org.junit.runner.RunWith;
27 import org.junit.runners.JUnit4;
28 
29 @SmallTest
30 @RunWith(JUnit4.class)
31 public class WallpaperServiceTest {
32 
33     @Test
testDeliversAmbientModeChanged()34     public void testDeliversAmbientModeChanged() {
35         int[] ambientModeChangedCount = {0};
36         WallpaperService service = new WallpaperService() {
37             @Override
38             public Engine onCreateEngine() {
39                 return new Engine() {
40                     @Override
41                     public void onAmbientModeChanged(boolean inAmbientMode, long duration) {
42                         ambientModeChangedCount[0]++;
43                     }
44                 };
45             }
46         };
47         WallpaperService.Engine engine = service.onCreateEngine();
48         engine.setCreated(true);
49 
50         engine.doAmbientModeChanged(false, 0);
51         assertFalse("ambient mode should be false", engine.isInAmbientMode());
52         assertEquals("onAmbientModeChanged should have been called",
53                 ambientModeChangedCount[0], 1);
54 
55         engine.doAmbientModeChanged(true, 0);
56         assertTrue("ambient mode should be false", engine.isInAmbientMode());
57         assertEquals("onAmbientModeChanged should have been called",
58                 ambientModeChangedCount[0], 2);
59     }
60 
61     @Test
testDeliversZoomChanged()62     public void testDeliversZoomChanged() {
63         int[] zoomChangedCount = {0};
64         WallpaperService service = new WallpaperService() {
65             @Override
66             public Engine onCreateEngine() {
67                 return new Engine() {
68                     @Override
69                     public void onZoomChanged(float zoom) {
70                         super.onZoomChanged(zoom);
71                         zoomChangedCount[0]++;
72                     }
73                 };
74             }
75         };
76         WallpaperService.Engine engine = service.onCreateEngine();
77         engine.setCreated(true);
78 
79         engine.setZoom(.5f);
80         assertEquals("engine scale was not updated", .5f, engine.getZoom(), .001f);
81         assertEquals("onZoomChanged should have been called", 1, zoomChangedCount[0]);
82 
83         engine.setZoom(0);
84         assertEquals("engine scale was not updated", 0, engine.getZoom(), .001f);
85         assertEquals("onAmbientModeChanged should have been called", 2, zoomChangedCount[0]);
86     }
87 
88 }
89