13cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount/* 23cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * Copyright (C) 2016 The Android Open Source Project 33cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * 43cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * Licensed under the Apache License, Version 2.0 (the "License"); 53cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * you may not use this file except in compliance with the License. 63cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * You may obtain a copy of the License at 73cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * 83cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * http://www.apache.org/licenses/LICENSE-2.0 93cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * 103cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * Unless required by applicable law or agreed to in writing, software 113cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * distributed under the License is distributed on an "AS IS" BASIS, 123cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * See the License for the specific language governing permissions and 143cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount * limitations under the License. 153cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount */ 163cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 173cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountpackage android.transition; 183cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 193cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport android.animation.AnimatorSetActivity; 203cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport android.app.Activity; 213cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport android.test.ActivityInstrumentationTestCase2; 223cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport android.test.suitebuilder.annotation.SmallTest; 233cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport android.transition.Transition.TransitionListener; 24e0c37bdea37f78778f6c4f23f03604e59dfb0d55Ben Weissimport android.transition.TransitionListenerAdapter; 253cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport android.view.View; 263cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport android.view.ViewGroup; 273cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 283cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport com.android.frameworks.coretests.R; 293cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 303cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport java.util.concurrent.CountDownLatch; 313cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport java.util.concurrent.TimeUnit; 323cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 333cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountimport static android.support.test.espresso.Espresso.onView; 343cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 353cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mountpublic class FadeTransitionTest extends ActivityInstrumentationTestCase2<AnimatorSetActivity> { 363cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount Activity mActivity; 373cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public FadeTransitionTest() { 383cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount super(AnimatorSetActivity.class); 393cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 403cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 413cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 423cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount protected void setUp() throws Exception { 433cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount mActivity = getActivity(); 443cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 453cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 463cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @SmallTest 473cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void testFadeOutAndIn() throws Throwable { 483cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount View square1 = mActivity.findViewById(R.id.square1); 493cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount Fade fadeOut = new Fade(Fade.MODE_OUT); 503cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount TransitionLatch latch = setVisibilityInTransition(fadeOut, R.id.square1, View.INVISIBLE); 513cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(latch.startLatch.await(200, TimeUnit.MILLISECONDS)); 523cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(View.VISIBLE, square1.getVisibility()); 532d2d51adcfeda7bb644e30f9518331da3727cb94George Mount waitForAnimation(); 543cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertFalse(square1.getTransitionAlpha() == 0 || square1.getTransitionAlpha() == 1); 553cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(latch.endLatch.await(400, TimeUnit.MILLISECONDS)); 563cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(1.0f, square1.getTransitionAlpha()); 573cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(View.INVISIBLE, square1.getVisibility()); 583cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 593cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount Fade fadeIn = new Fade(Fade.MODE_IN); 603cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount latch = setVisibilityInTransition(fadeIn, R.id.square1, View.VISIBLE); 613cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(latch.startLatch.await(200, TimeUnit.MILLISECONDS)); 623cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(View.VISIBLE, square1.getVisibility()); 632d2d51adcfeda7bb644e30f9518331da3727cb94George Mount waitForAnimation(); 643cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount final float transitionAlpha = square1.getTransitionAlpha(); 653cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue("expecting transitionAlpha to be between 0 and 1. Was " + transitionAlpha, 663cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount transitionAlpha > 0 && transitionAlpha < 1); 673cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(latch.endLatch.await(400, TimeUnit.MILLISECONDS)); 683cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(1.0f, square1.getTransitionAlpha()); 693cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(View.VISIBLE, square1.getVisibility()); 703cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 713cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 723cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @SmallTest 733cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void testFadeOutInterrupt() throws Throwable { 743cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount View square1 = mActivity.findViewById(R.id.square1); 753cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount Fade fadeOut = new Fade(Fade.MODE_OUT); 763cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount FadeValueCheck fadeOutValueCheck = new FadeValueCheck(square1); 773cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeOut.addListener(fadeOutValueCheck); 783cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount TransitionLatch outLatch = setVisibilityInTransition(fadeOut, R.id.square1, View.INVISIBLE); 793cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(outLatch.startLatch.await(200, TimeUnit.MILLISECONDS)); 802d2d51adcfeda7bb644e30f9518331da3727cb94George Mount waitForAnimation(); 813cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 823cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount Fade fadeIn = new Fade(Fade.MODE_IN); 833cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount FadeValueCheck fadeInValueCheck = new FadeValueCheck(square1); 843cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeIn.addListener(fadeInValueCheck); 853cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount TransitionLatch inLatch = setVisibilityInTransition(fadeIn, R.id.square1, View.VISIBLE); 863cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(inLatch.startLatch.await(200, TimeUnit.MILLISECONDS)); 873cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 883cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(fadeOutValueCheck.pauseTransitionAlpha, fadeInValueCheck.startTransitionAlpha); 893cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue("expecting transitionAlpha to be between 0 and 1. Was " + 903cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeOutValueCheck.pauseTransitionAlpha, 913cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeOutValueCheck.pauseTransitionAlpha > 0 && 923cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeOutValueCheck.pauseTransitionAlpha < 1); 933cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 943cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(inLatch.endLatch.await(400, TimeUnit.MILLISECONDS)); 953cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(1.0f, square1.getTransitionAlpha()); 963cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(View.VISIBLE, square1.getVisibility()); 973cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 983cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 993cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @SmallTest 1003cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void testFadeInInterrupt() throws Throwable { 1013cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount final View square1 = mActivity.findViewById(R.id.square1); 1023cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount runTestOnUiThread(new Runnable() { 1033cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 1043cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void run() { 1053cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount square1.setVisibility(View.INVISIBLE); 1063cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1073cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount }); 1083cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount Fade fadeIn = new Fade(Fade.MODE_IN); 1093cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount FadeValueCheck fadeInValueCheck = new FadeValueCheck(square1); 1103cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeIn.addListener(fadeInValueCheck); 1113cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount TransitionLatch inLatch = setVisibilityInTransition(fadeIn, R.id.square1, View.VISIBLE); 1123cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(inLatch.startLatch.await(200, TimeUnit.MILLISECONDS)); 1132d2d51adcfeda7bb644e30f9518331da3727cb94George Mount waitForAnimation(); 1143cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1153cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount Fade fadeOut = new Fade(Fade.MODE_OUT); 1163cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount FadeValueCheck fadeOutValueCheck = new FadeValueCheck(square1); 1173cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeOut.addListener(fadeOutValueCheck); 1183cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount TransitionLatch outLatch = setVisibilityInTransition(fadeOut, R.id.square1, View.INVISIBLE); 1193cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(outLatch.startLatch.await(200, TimeUnit.MILLISECONDS)); 1203cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1213cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(fadeOutValueCheck.pauseTransitionAlpha, fadeInValueCheck.startTransitionAlpha); 1223cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue("expecting transitionAlpha to be between 0 and 1. Was " + 1233cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeInValueCheck.pauseTransitionAlpha, 1243cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeInValueCheck.pauseTransitionAlpha > 0 && 1253cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount fadeInValueCheck.pauseTransitionAlpha < 1); 1263cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1273cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertTrue(outLatch.endLatch.await(400, TimeUnit.MILLISECONDS)); 1283cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(1.0f, square1.getTransitionAlpha()); 1293cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount assertEquals(View.INVISIBLE, square1.getVisibility()); 1303cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1313cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1323cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public TransitionLatch setVisibilityInTransition(final Transition transition, int viewId, 1333cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount final int visibility) throws Throwable { 1343cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount final ViewGroup sceneRoot = (ViewGroup) mActivity.findViewById(R.id.container); 1353cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount final View view = sceneRoot.findViewById(viewId); 1363cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount TransitionLatch latch = new TransitionLatch(); 1373cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount transition.addListener(latch); 1383cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount runTestOnUiThread(new Runnable() { 1393cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 1403cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void run() { 1413cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount TransitionManager.beginDelayedTransition(sceneRoot, transition); 1423cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount view.setVisibility(visibility); 1433cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1443cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount }); 1453cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount return latch; 1463cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1473cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1482d2d51adcfeda7bb644e30f9518331da3727cb94George Mount /** 1492d2d51adcfeda7bb644e30f9518331da3727cb94George Mount * Waits for two animation frames to ensure animation values change. 1502d2d51adcfeda7bb644e30f9518331da3727cb94George Mount */ 1512d2d51adcfeda7bb644e30f9518331da3727cb94George Mount private void waitForAnimation() throws InterruptedException { 1522d2d51adcfeda7bb644e30f9518331da3727cb94George Mount final CountDownLatch latch = new CountDownLatch(2); 1532d2d51adcfeda7bb644e30f9518331da3727cb94George Mount mActivity.getWindow().getDecorView().postOnAnimation(new Runnable() { 1542d2d51adcfeda7bb644e30f9518331da3727cb94George Mount @Override 1552d2d51adcfeda7bb644e30f9518331da3727cb94George Mount public void run() { 1562d2d51adcfeda7bb644e30f9518331da3727cb94George Mount latch.countDown(); 1572d2d51adcfeda7bb644e30f9518331da3727cb94George Mount if (latch.getCount() > 0) { 1582d2d51adcfeda7bb644e30f9518331da3727cb94George Mount mActivity.getWindow().getDecorView().postOnAnimation(this); 1592d2d51adcfeda7bb644e30f9518331da3727cb94George Mount } 1602d2d51adcfeda7bb644e30f9518331da3727cb94George Mount } 1612d2d51adcfeda7bb644e30f9518331da3727cb94George Mount }); 1622d2d51adcfeda7bb644e30f9518331da3727cb94George Mount assertTrue(latch.await(1, TimeUnit.SECONDS)); 1632d2d51adcfeda7bb644e30f9518331da3727cb94George Mount } 1642d2d51adcfeda7bb644e30f9518331da3727cb94George Mount 1653cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public static class TransitionLatch implements TransitionListener { 1663cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public CountDownLatch startLatch = new CountDownLatch(1); 1673cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public CountDownLatch endLatch = new CountDownLatch(1); 1683cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public CountDownLatch cancelLatch = new CountDownLatch(1); 1693cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public CountDownLatch pauseLatch = new CountDownLatch(1); 1703cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public CountDownLatch resumeLatch = new CountDownLatch(1); 1713cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1723cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 1733cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void onTransitionStart(Transition transition) { 1743cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount startLatch.countDown(); 1753cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1763cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1773cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 1783cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void onTransitionEnd(Transition transition) { 1793cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount endLatch.countDown(); 1803cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount transition.removeListener(this); 1813cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1823cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1833cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 1843cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void onTransitionCancel(Transition transition) { 1853cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount cancelLatch.countDown(); 1863cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1873cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1883cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 1893cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void onTransitionPause(Transition transition) { 1903cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount pauseLatch.countDown(); 1913cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1923cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1933cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 1943cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void onTransitionResume(Transition transition) { 1953cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount resumeLatch.countDown(); 1963cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1973cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 1983cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 1993cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount private static class FadeValueCheck extends TransitionListenerAdapter { 2003cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public float startTransitionAlpha; 2013cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public float pauseTransitionAlpha; 2023cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount private final View mView; 2033cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 2043cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public FadeValueCheck(View view) { 2053cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount mView = view; 2063cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 2073cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 2083cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void onTransitionStart(Transition transition) { 2093cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount startTransitionAlpha = mView.getTransitionAlpha(); 2103cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 2113cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount 2123cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount @Override 2133cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount public void onTransitionPause(Transition transition) { 2143cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount pauseTransitionAlpha = mView.getTransitionAlpha(); 2153cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 2163cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount } 2173cf9fa3db0231d035142c27992818d8f7827ac3eGeorge Mount} 218