1/* 2 * Copyright (C) 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 * in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the License 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11 * or implied. See the License for the specific language governing permissions and limitations under 12 * the License. 13 */ 14package android.support.v17.leanback.transition; 15 16import android.R; 17import android.app.Fragment; 18import android.content.Context; 19import android.transition.ChangeTransform; 20import android.transition.Transition; 21import android.transition.TransitionManager; 22import android.view.View; 23import android.view.ViewGroup; 24import android.view.Window; 25import android.view.animation.AnimationUtils; 26 27final class TransitionHelperApi21 { 28 29 TransitionHelperApi21() { 30 } 31 32 public static void setEnterTransition(android.app.Fragment fragment, Object transition) { 33 fragment.setEnterTransition((Transition)transition); 34 } 35 36 public static void setExitTransition(android.app.Fragment fragment, Object transition) { 37 fragment.setExitTransition((Transition)transition); 38 } 39 40 public static void setSharedElementEnterTransition(android.app.Fragment fragment, 41 Object transition) { 42 fragment.setSharedElementEnterTransition((Transition)transition); 43 } 44 45 public static void addSharedElement(android.app.FragmentTransaction ft, 46 View view, String transitionName) { 47 ft.addSharedElement(view, transitionName); 48 } 49 50 public static Object getSharedElementEnterTransition(Window window) { 51 return window.getSharedElementEnterTransition(); 52 } 53 54 public static Object getSharedElementReturnTransition(Window window) { 55 return window.getSharedElementReturnTransition(); 56 } 57 58 public static Object getSharedElementExitTransition(Window window) { 59 return window.getSharedElementExitTransition(); 60 } 61 62 public static Object getSharedElementReenterTransition(Window window) { 63 return window.getSharedElementReenterTransition(); 64 } 65 66 public static Object getEnterTransition(Window window) { 67 return window.getEnterTransition(); 68 } 69 70 public static Object getReturnTransition(Window window) { 71 return window.getReturnTransition(); 72 } 73 74 public static Object getExitTransition(Window window) { 75 return window.getExitTransition(); 76 } 77 78 public static Object getReenterTransition(Window window) { 79 return window.getReenterTransition(); 80 } 81 82 public static Object createScale() { 83 return new ChangeTransform(); 84 } 85 86 public static Object createDefaultInterpolator(Context context) { 87 return AnimationUtils.loadInterpolator(context, R.interpolator.fast_out_linear_in); 88 } 89 90 public static Object createChangeTransform() { 91 return new ChangeTransform(); 92 } 93 94 public static Object createFadeAndShortSlide(int edge) { 95 return new FadeAndShortSlide(edge); 96 } 97 98 public static Object createFadeAndShortSlide(int edge, float distance) { 99 FadeAndShortSlide slide = new FadeAndShortSlide(edge); 100 slide.setDistance(distance); 101 return slide; 102 } 103 104 public static void beginDelayedTransition(ViewGroup sceneRoot, Object transitionObject) { 105 Transition transition = (Transition) transitionObject; 106 TransitionManager.beginDelayedTransition(sceneRoot, transition); 107 } 108 109 public static void setTransitionGroup(ViewGroup viewGroup, boolean transitionGroup) { 110 viewGroup.setTransitionGroup(transitionGroup); 111 } 112} 113