diff options
Diffstat (limited to 'java/com/android/dialer/binary/aosp/AospDialerApplication.java')
-rw-r--r-- | java/com/android/dialer/binary/aosp/AospDialerApplication.java | 60 |
1 files changed, 59 insertions, 1 deletions
diff --git a/java/com/android/dialer/binary/aosp/AospDialerApplication.java b/java/com/android/dialer/binary/aosp/AospDialerApplication.java index 4ca94e277..8d94bb92b 100644 --- a/java/com/android/dialer/binary/aosp/AospDialerApplication.java +++ b/java/com/android/dialer/binary/aosp/AospDialerApplication.java @@ -16,15 +16,34 @@ package com.android.dialer.binary.aosp; +import android.content.Context; +import android.net.Uri; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import com.android.contacts.common.extensions.PhoneDirectoryExtender; +import com.android.contacts.common.extensions.PhoneDirectoryExtenderFactory; import com.android.dialer.binary.common.DialerApplication; import com.android.dialer.inject.ContextModule; +import com.android.dialer.lookup.LookupCacheService; +import com.android.dialer.lookup.LookupProvider; +import com.android.dialer.lookup.LookupSettings; +import com.android.dialer.lookup.ReverseLookupService; +import com.android.dialer.phonenumbercache.CachedNumberLookupService; +import com.android.dialer.phonenumbercache.PhoneNumberCacheBindings; +import com.android.dialer.phonenumbercache.PhoneNumberCacheBindingsFactory; +import com.android.incallui.bindings.InCallUiBindings; +import com.android.incallui.bindings.InCallUiBindingsFactory; +import com.android.incallui.bindings.InCallUiBindingsStub; +import com.android.incallui.bindings.PhoneNumberService; + +import java.util.List; /** * The application class for the AOSP Dialer. This is a version of the Dialer app that has no * dependency on Google Play Services. */ -public class AospDialerApplication extends DialerApplication { +public class AospDialerApplication extends DialerApplication implements + PhoneNumberCacheBindingsFactory, PhoneDirectoryExtenderFactory, InCallUiBindingsFactory { /** Returns a new instance of the root component for the AOSP Dialer. */ @Override @@ -32,4 +51,43 @@ public class AospDialerApplication extends DialerApplication { protected Object buildRootComponent() { return DaggerAospDialerRootComponent.builder().contextModule(new ContextModule(this)).build(); } + + @Override + public PhoneDirectoryExtender newPhoneDirectoryExtender() { + return new PhoneDirectoryExtender() { + @Override + public boolean isEnabled(Context context) { + return LookupSettings.isForwardLookupEnabled(AospDialerApplication.this) + || LookupSettings.isPeopleLookupEnabled(AospDialerApplication.this); + } + + @Override + @Nullable + public Uri getContentUri() { + return LookupProvider.NEARBY_AND_PEOPLE_LOOKUP_URI; + } + }; + } + + @Override + public InCallUiBindings newInCallUiBindings() { + return new InCallUiBindingsStub() { + @Override + @Nullable + public PhoneNumberService newPhoneNumberService(Context context) { + return new ReverseLookupService(context); + } + }; + } + + @Override + public PhoneNumberCacheBindings newPhoneNumberCacheBindings() { + return new PhoneNumberCacheBindings() { + @Override + @Nullable + public CachedNumberLookupService getCachedNumberLookupService() { + return new LookupCacheService(); + } + }; + } } |