1 /* 2 * Copyright (C) 2017 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.dialer.precall.impl; 18 19 import com.android.dialer.inject.DialerVariant; 20 import com.android.dialer.inject.InstallIn; 21 import com.android.dialer.precall.PreCall; 22 import com.android.dialer.precall.PreCallAction; 23 import com.google.common.collect.ImmutableList; 24 import dagger.Binds; 25 import dagger.Module; 26 import dagger.Provides; 27 import javax.inject.Singleton; 28 29 /** Dagger module for {@link PreCall}. */ 30 @InstallIn(variants = {DialerVariant.DIALER_TEST}) 31 @Module 32 public abstract class PreCallModule { 33 PreCallModule()34 private PreCallModule() {} 35 36 @Binds 37 @Singleton to(PreCallImpl impl)38 public abstract PreCall to(PreCallImpl impl); 39 40 @Provides provideActions( DuoAction duoAction, CallingAccountSelector callingAccountSelector)41 public static ImmutableList<PreCallAction> provideActions( 42 DuoAction duoAction, CallingAccountSelector callingAccountSelector) { 43 return ImmutableList.of( 44 new PermissionCheckAction(), 45 new MalformedNumberRectifier( 46 ImmutableList.of(new UkRegionPrefixInInternationalFormatHandler())), 47 callingAccountSelector, 48 duoAction, 49 new AssistedDialAction()); 50 } 51 } 52