17b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska/* 27b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * Copyright (C) 2017 The Android Open Source Project 37b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * 47b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * Licensed under the Apache License, Version 2.0 (the "License"); 57b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * you may not use this file except in compliance with the License. 67b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * You may obtain a copy of the License at 77b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * 87b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * http://www.apache.org/licenses/LICENSE-2.0 97b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * 107b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * Unless required by applicable law or agreed to in writing, software 117b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * distributed under the License is distributed on an "AS IS" BASIS, 127b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * See the License for the specific language governing permissions and 147b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska * limitations under the License. 157b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska */ 167b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 17ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikaspackage androidx.wear.ambient; 187b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 19fa39e2bca1b284ad7c931d9194287770b7b507faAurimas Liutikasimport static org.junit.Assert.assertFalse; 20fa39e2bca1b284ad7c931d9194287770b7b507faAurimas Liutikasimport static org.junit.Assert.assertTrue; 217b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 227b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurskaimport android.support.test.filters.MediumTest; 237b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurskaimport android.support.test.rule.ActivityTestRule; 247b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurskaimport android.support.test.runner.AndroidJUnit4; 25d75a466859fee504b717c529094e318d1278f831Aurimas Liutikas 26ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.wear.widget.util.WakeLockRule; 277b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 287b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurskaimport com.google.android.wearable.compat.WearableActivityController; 297b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 307b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurskaimport org.junit.Rule; 317b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurskaimport org.junit.Test; 327b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurskaimport org.junit.runner.RunWith; 337b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 347b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska@MediumTest 357b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska@RunWith(AndroidJUnit4.class) 367b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurskapublic class AmbientModeTest { 377b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska @Rule 387b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska public final WakeLockRule mWakeLock = new WakeLockRule(); 397b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 407b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska @Rule 417b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska public final ActivityTestRule<AmbientModeTestActivity> mActivityRule = new ActivityTestRule<>( 427b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska AmbientModeTestActivity.class); 437b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 447b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska @Test 457b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska public void testEnterAmbientCallback() throws Throwable { 467b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska AmbientModeTestActivity activity = mActivityRule.getActivity(); 477b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 487b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska WearableActivityController.getLastInstance().enterAmbient(); 497b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertTrue(activity.mEnterAmbientCalled); 507b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertFalse(activity.mUpdateAmbientCalled); 517b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertFalse(activity.mExitAmbientCalled); 527b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska } 537b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 547b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska @Test 557b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska public void testUpdateAmbientCallback() throws Throwable { 567b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska AmbientModeTestActivity activity = mActivityRule.getActivity(); 577b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 587b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska WearableActivityController.getLastInstance().updateAmbient(); 597b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertFalse(activity.mEnterAmbientCalled); 607b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertTrue(activity.mUpdateAmbientCalled); 617b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertFalse(activity.mExitAmbientCalled); 627b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska } 637b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 647b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska @Test 657b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska public void testExitAmbientCallback() throws Throwable { 667b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska AmbientModeTestActivity activity = mActivityRule.getActivity(); 677b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 687b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska WearableActivityController.getLastInstance().exitAmbient(); 697b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertFalse(activity.mEnterAmbientCalled); 707b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertFalse(activity.mUpdateAmbientCalled); 717b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertTrue(activity.mExitAmbientCalled); 727b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska } 737b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 747b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska @Test 757b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska public void testIsAmbientEnabled() { 767b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertTrue(WearableActivityController.getLastInstance().isAmbientEnabled()); 777b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska } 787b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 797b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska @Test 807b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska public void testCallsControllerIsAmbient() { 817b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska AmbientModeTestActivity activity = mActivityRule.getActivity(); 827b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 837b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska WearableActivityController.getLastInstance().setAmbient(true); 847b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertTrue(activity.getAmbientController().isAmbient()); 857b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska 867b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska WearableActivityController.getLastInstance().setAmbient(false); 877b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska assertFalse(activity.getAmbientController().isAmbient()); 887b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska } 897b42d7d9e6927902ce10e51f09036ea43354efc2Aga Madurska} 90