1bf7c3b4fa6d971201ab3fce162611639b857b810George Mount/* 2bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * Copyright (C) 2016 The Android Open Source Project 3bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * 4bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * Licensed under the Apache License, Version 2.0 (the "License"); 5bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * you may not use this file except in compliance with the License. 6bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * You may obtain a copy of the License at 7bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * 8bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * http://www.apache.org/licenses/LICENSE-2.0 9bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * 10bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * Unless required by applicable law or agreed to in writing, software 11bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * distributed under the License is distributed on an "AS IS" BASIS, 12bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * See the License for the specific language governing permissions and 14bf7c3b4fa6d971201ab3fce162611639b857b810George Mount * limitations under the License. 15bf7c3b4fa6d971201ab3fce162611639b857b810George Mount */ 16bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 17bf7c3b4fa6d971201ab3fce162611639b857b810George Mountpackage android.transition; 18bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 19bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport android.animation.AnimatorSetActivity; 20bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport android.app.Activity; 21bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport android.graphics.Rect; 22bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport android.test.ActivityInstrumentationTestCase2; 23bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport android.transition.Transition.EpicenterCallback; 24bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport android.util.ArrayMap; 25bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport android.view.View; 26bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport android.view.animation.AccelerateInterpolator; 27bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport android.widget.TextView; 28bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 29bf7c3b4fa6d971201ab3fce162611639b857b810George Mountimport com.android.frameworks.coretests.R; 30bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 31bf7c3b4fa6d971201ab3fce162611639b857b810George Mountpublic class TransitionTest extends ActivityInstrumentationTestCase2<AnimatorSetActivity> { 32bf7c3b4fa6d971201ab3fce162611639b857b810George Mount Activity mActivity; 33bf7c3b4fa6d971201ab3fce162611639b857b810George Mount public TransitionTest() { 34bf7c3b4fa6d971201ab3fce162611639b857b810George Mount super(AnimatorSetActivity.class); 35bf7c3b4fa6d971201ab3fce162611639b857b810George Mount } 36bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 37bf7c3b4fa6d971201ab3fce162611639b857b810George Mount @Override 38bf7c3b4fa6d971201ab3fce162611639b857b810George Mount protected void setUp() throws Exception { 39bf7c3b4fa6d971201ab3fce162611639b857b810George Mount mActivity = getActivity(); 40bf7c3b4fa6d971201ab3fce162611639b857b810George Mount } 41bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 42bf7c3b4fa6d971201ab3fce162611639b857b810George Mount public void testClone() throws Throwable { 43bf7c3b4fa6d971201ab3fce162611639b857b810George Mount View square1 = mActivity.findViewById(R.id.square1); 44bf7c3b4fa6d971201ab3fce162611639b857b810George Mount View square2 = mActivity.findViewById(R.id.square2); 45bf7c3b4fa6d971201ab3fce162611639b857b810George Mount View square3 = mActivity.findViewById(R.id.square3); 46bf7c3b4fa6d971201ab3fce162611639b857b810George Mount Fade fade = new Fade(); 47bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.setStartDelay(1000); 48bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.setDuration(1001); 49bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 50bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.addTarget(square1); 51bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.excludeTarget(square2, true); 52bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.excludeChildren(square3, true); 53bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 54bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.addTarget(R.id.square4); 55bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.excludeTarget(R.id.square3, true); 56bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.excludeChildren(R.id.square2, true); 57bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 58bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.addTarget("hello"); 59bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.excludeTarget("world", true); 60bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 61bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.addTarget(View.class); 62bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.excludeTarget(TextView.class, true); 63bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 64bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.setMatchOrder(Transition.MATCH_ID); 65bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.setPropagation(new CircularPropagation()); 66bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.setPathMotion(new ArcMotion()); 67bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.setInterpolator(new AccelerateInterpolator()); 68bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.setNameOverrides(new ArrayMap<>()); 69bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 70bf7c3b4fa6d971201ab3fce162611639b857b810George Mount EpicenterCallback epicenterCallback = new EpicenterCallback() { 71bf7c3b4fa6d971201ab3fce162611639b857b810George Mount @Override 72bf7c3b4fa6d971201ab3fce162611639b857b810George Mount public Rect onGetEpicenter(Transition transition) { 73bf7c3b4fa6d971201ab3fce162611639b857b810George Mount return null; 74bf7c3b4fa6d971201ab3fce162611639b857b810George Mount } 75bf7c3b4fa6d971201ab3fce162611639b857b810George Mount }; 76bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 77bf7c3b4fa6d971201ab3fce162611639b857b810George Mount fade.setEpicenterCallback(epicenterCallback); 78bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 79bf7c3b4fa6d971201ab3fce162611639b857b810George Mount Fade clone = (Fade) fade.clone(); 80bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mStartDelay, clone.mStartDelay); 81bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mDuration, clone.mDuration); 82bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mInterpolator, clone.mInterpolator); 83bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mPropagation, clone.mPropagation); 84bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.getPathMotion(), clone.getPathMotion()); 85bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.getEpicenterCallback(), clone.getEpicenterCallback()); 86bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mNameOverrides, clone.mNameOverrides); 87bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mMatchOrder, clone.mMatchOrder); 88bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 89bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargets, clone.mTargets); 90bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargetExcludes, clone.mTargetExcludes); 91bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargetChildExcludes, clone.mTargetChildExcludes); 92bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 93bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargetIds, clone.mTargetIds); 94bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargetIdExcludes, clone.mTargetIdExcludes); 95bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargetIdChildExcludes, clone.mTargetIdChildExcludes); 96bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 97bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargetNames, clone.mTargetNames); 98bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargetNameExcludes, clone.mTargetNameExcludes); 99bf7c3b4fa6d971201ab3fce162611639b857b810George Mount 100bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargetTypes, clone.mTargetTypes); 101bf7c3b4fa6d971201ab3fce162611639b857b810George Mount assertEquals(fade.mTargetTypeExcludes, clone.mTargetTypeExcludes); 102bf7c3b4fa6d971201ab3fce162611639b857b810George Mount } 103bf7c3b4fa6d971201ab3fce162611639b857b810George Mount} 104