1 /* 2 * Copyright (C) 2023 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 com.android.wm.shell.dagger.back; 18 19 import com.android.wm.shell.back.CrossTaskBackAnimation; 20 import com.android.wm.shell.back.CustomCrossActivityBackAnimation; 21 import com.android.wm.shell.back.DefaultCrossActivityBackAnimation; 22 import com.android.wm.shell.back.ShellBackAnimation; 23 import com.android.wm.shell.back.ShellBackAnimationRegistry; 24 25 import dagger.Binds; 26 import dagger.Module; 27 import dagger.Provides; 28 29 /** Default animation definitions for predictive back. */ 30 @Module 31 public interface ShellBackAnimationModule { 32 /** Default animation registry */ 33 @Provides provideBackAnimationRegistry( @hellBackAnimation.CrossActivity ShellBackAnimation crossActivity, @ShellBackAnimation.CrossTask ShellBackAnimation crossTask, @ShellBackAnimation.CustomizeActivity ShellBackAnimation customizeActivity)34 static ShellBackAnimationRegistry provideBackAnimationRegistry( 35 @ShellBackAnimation.CrossActivity ShellBackAnimation crossActivity, 36 @ShellBackAnimation.CrossTask ShellBackAnimation crossTask, 37 @ShellBackAnimation.CustomizeActivity ShellBackAnimation customizeActivity) { 38 return new ShellBackAnimationRegistry( 39 crossActivity, 40 crossTask, 41 /* dialogCloseAnimation */ null, 42 customizeActivity, 43 /* defaultBackToHomeAnimation= */ null); 44 } 45 46 /** Default cross activity back animation */ 47 @Binds 48 @ShellBackAnimation.CrossActivity bindCrossActivityShellBackAnimation( DefaultCrossActivityBackAnimation defaultCrossActivityBackAnimation)49 ShellBackAnimation bindCrossActivityShellBackAnimation( 50 DefaultCrossActivityBackAnimation defaultCrossActivityBackAnimation); 51 52 /** Default cross task back animation */ 53 @Binds 54 @ShellBackAnimation.CrossTask provideCrossTaskShellBackAnimation( CrossTaskBackAnimation crossTaskBackAnimation)55 ShellBackAnimation provideCrossTaskShellBackAnimation( 56 CrossTaskBackAnimation crossTaskBackAnimation); 57 58 /** Default customized activity back animation */ 59 @Binds 60 @ShellBackAnimation.CustomizeActivity provideCustomizeActivityShellBackAnimation( CustomCrossActivityBackAnimation customCrossActivityBackAnimation)61 ShellBackAnimation provideCustomizeActivityShellBackAnimation( 62 CustomCrossActivityBackAnimation customCrossActivityBackAnimation); 63 } 64