From 47b5655933044cd7c48003bafea1dece1d6575d1 Mon Sep 17 00:00:00 2001 From: weijiaxu Date: Tue, 29 May 2018 11:41:57 -0700 Subject: Add inject method to generated component by RCG. Bug: 80270083 Test: tap presubmit. PiperOrigin-RevId: 198430675 Change-Id: Iaf0e5a22a8e496339b666b5906584de3acdde6ed --- .../RootComponentGeneratingStep.java | 49 +++++++++++++++++++++- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java b/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java index cb312083f..5321849ec 100644 --- a/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java +++ b/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java @@ -26,6 +26,7 @@ import com.android.dialer.inject.DialerVariant; import com.android.dialer.inject.IncludeInDialerRoot; import com.android.dialer.inject.InstallIn; import com.android.dialer.inject.RootComponentGeneratorMetadata; +import com.android.dialer.inject.testing.GenerateTestDaggerApp; import com.google.auto.common.BasicAnnotationProcessor.ProcessingStep; import com.google.auto.common.MoreElements; import com.google.common.base.Optional; @@ -35,6 +36,7 @@ import com.google.common.collect.ListMultimap; import com.google.common.collect.SetMultimap; import com.squareup.javapoet.AnnotationSpec; import com.squareup.javapoet.ClassName; +import com.squareup.javapoet.MethodSpec; import com.squareup.javapoet.TypeSpec; import dagger.Component; import java.lang.annotation.Annotation; @@ -51,23 +53,55 @@ import javax.lang.model.element.PackageElement; import javax.lang.model.element.TypeElement; import javax.lang.model.type.TypeMirror; -/** Generates root component for a java type annotated with {@link DialerRootComponent}. */ +/** + * Generates root component for a java type annotated with {@link DialerRootComponent}. + * + *

If users use {@link GenerateTestDaggerApp} along with RootComponentGenerator, there's an + * optional method that they can use to inject instance in the test. + * + *

Example: + * + *

+ * + *

+ * 
+ * @Inject SomeThing someThing;
+ * @Before
+ * public void setUp() {
+ * ...
+ * TestApplication application = (TestApplication) RuntimeEnvironment.application;
+ * TestComponent component = (TestComponent) application.component();
+ * component.inject(this);
+ * ...
+ * }
+ * 
+ * 
+ */ final class RootComponentGeneratingStep implements ProcessingStep { private final ProcessingEnvironment processingEnv; + private TypeElement annotatedTest; + public RootComponentGeneratingStep(ProcessingEnvironment processingEnv) { this.processingEnv = processingEnv; } @Override public Set> annotations() { - return ImmutableSet.of(DialerRootComponent.class, InstallIn.class, IncludeInDialerRoot.class); + return ImmutableSet.of( + DialerRootComponent.class, + InstallIn.class, + IncludeInDialerRoot.class, + GenerateTestDaggerApp.class); } @Override public Set process( SetMultimap, Element> elementsByAnnotation) { + for (Element element : elementsByAnnotation.get(GenerateTestDaggerApp.class)) { + annotatedTest = MoreElements.asType(element); + } for (Element element : elementsByAnnotation.get(DialerRootComponent.class)) { // defer root components to the next round in case where the current build target contains // elements annotated with @InstallIn. Annotation processor cannot detect metadata files @@ -110,6 +144,9 @@ final class RootComponentGeneratingStep implements ProcessingStep { componentAnnotation.addMember("modules", "$T.class", annotatedElement.asType()); } rootComponentClassBuilder.addAnnotation(componentAnnotation.build()); + if (annotatedTest != null) { + rootComponentClassBuilder.addMethod(generateInjectMethod()); + } TypeSpec rootComponentClass = rootComponentClassBuilder.build(); RootComponentUtils.writeJavaFile( processingEnv, ClassName.get(rootElement).packageName(), rootComponentClass); @@ -163,6 +200,14 @@ final class RootComponentGeneratingStep implements ProcessingStep { } } + private MethodSpec generateInjectMethod() { + return MethodSpec.methodBuilder("inject") + .addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT) + .returns(void.class) + .addParameter(ClassName.get(annotatedTest), "test") + .build(); + } + private interface MetadataProcessor { void process(TypeElement typeElement); } -- cgit v1.2.3 From 7982723ff5c03ec71c2dc3cc740af239fc327a47 Mon Sep 17 00:00:00 2001 From: twyen Date: Tue, 29 May 2018 14:12:58 -0700 Subject: Use geocode as label for businesses. Business number from PhoneNumberService does not always have a sensible label. Previously it would be "Main", but geocode are a bit more useful. TEST=manual, old UI has no tests. Bug: 80251984 Test: manual, old UI has no tests. PiperOrigin-RevId: 198455846 Change-Id: I5efbc66aa295f8039eecfbcb119f18afc735b15c --- .../android/dialer/app/calllog/PhoneCallDetailsHelper.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java index 2632fb380..9d04cb2c8 100644 --- a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java +++ b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java @@ -48,6 +48,8 @@ import com.android.dialer.compat.android.provider.VoicemailCompat; import com.android.dialer.compat.telephony.TelephonyManagerCompat; import com.android.dialer.logging.ContactSource; import com.android.dialer.oem.MotorolaUtils; +import com.android.dialer.phonenumbercache.CachedNumberLookupService; +import com.android.dialer.phonenumbercache.PhoneNumberCache; import com.android.dialer.phonenumberutil.PhoneNumberHelper; import com.android.dialer.spannable.ContentWithLearnMoreSpanner; import com.android.dialer.storage.StorageComponent; @@ -76,6 +78,8 @@ public class PhoneCallDetailsHelper private final CallLogCache callLogCache; /** Calendar used to construct dates */ private final Calendar calendar; + + private final CachedNumberLookupService cachedNumberLookupService; /** The injected current time in milliseconds since the epoch. Used only by tests. */ private Long currentTimeMillisForTest; @@ -95,6 +99,7 @@ public class PhoneCallDetailsHelper this.resources = resources; this.callLogCache = callLogCache; calendar = Calendar.getInstance(); + cachedNumberLookupService = PhoneNumberCache.get(context).getCachedNumberLookupService(); } static boolean shouldShowVoicemailDonationPromo( @@ -125,7 +130,7 @@ public class PhoneCallDetailsHelper } /** Returns true if primary name is empty or the data is from Cequint Caller ID. */ - private static boolean shouldShowLocation(PhoneCallDetails details) { + private boolean shouldShowLocation(PhoneCallDetails details) { if (TextUtils.isEmpty(details.geocode)) { return false; } @@ -133,6 +138,11 @@ public class PhoneCallDetailsHelper if (details.sourceType == ContactSource.Type.SOURCE_TYPE_CEQUINT_CALLER_ID) { return true; } + if (cachedNumberLookupService != null + && cachedNumberLookupService.isBusiness(details.sourceType)) { + return true; + } + // Don't bother showing geo location for contacts. if (!TextUtils.isEmpty(details.namePrimary)) { return false; @@ -482,7 +492,6 @@ public class PhoneCallDetailsHelper : Phone.getTypeLabel(resources, details.numberType, details.numberLabel); } } - if (!TextUtils.isEmpty(details.namePrimary) && TextUtils.isEmpty(numberFormattedLabel)) { numberFormattedLabel = details.displayNumber; } -- cgit v1.2.3 From ff9fe0b02324dab3ac2c602aaade1b67ea60d867 Mon Sep 17 00:00:00 2001 From: wangqi Date: Tue, 29 May 2018 16:41:56 -0700 Subject: Fix color of checked button on incall screen. Bug: 80232219 Test: manual PiperOrigin-RevId: 198478103 Change-Id: Ic36bf831eef81754f5697e32c4e8813d7e41adf1 --- java/com/android/dialer/theme/base/impl/AospThemeImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/com/android/dialer/theme/base/impl/AospThemeImpl.java b/java/com/android/dialer/theme/base/impl/AospThemeImpl.java index b8c7e528f..c8f20c731 100644 --- a/java/com/android/dialer/theme/base/impl/AospThemeImpl.java +++ b/java/com/android/dialer/theme/base/impl/AospThemeImpl.java @@ -139,8 +139,8 @@ public class AospThemeImpl implements Theme { @Override public int getColorPrimaryDark() { - Assert.checkArgument(colorPrimary != -1); - return 0; + Assert.checkArgument(colorPrimaryDark != -1); + return colorPrimaryDark; } @Override -- cgit v1.2.3 From d1a123acf2b123671e745bf4419e3a826b2ea58d Mon Sep 17 00:00:00 2001 From: linyuh Date: Tue, 29 May 2018 17:42:14 -0700 Subject: Accommodate long call time text in call details. Bug: 80408178 Test: Manual PiperOrigin-RevId: 198485864 Change-Id: I72fa8bdbf9e600daad9be8c6466e2ae6bf2f42f6 --- java/com/android/dialer/calldetails/res/layout/call_details_entry.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/com/android/dialer/calldetails/res/layout/call_details_entry.xml b/java/com/android/dialer/calldetails/res/layout/call_details_entry.xml index cb2faa762..bfbb4f8a9 100644 --- a/java/com/android/dialer/calldetails/res/layout/call_details_entry.xml +++ b/java/com/android/dialer/calldetails/res/layout/call_details_entry.xml @@ -40,11 +40,12 @@ Date: Tue, 29 May 2018 18:08:16 -0700 Subject: Fix dialpad theme on incall screen. Test: manual PiperOrigin-RevId: 198488607 Change-Id: I54e2d7ac4320fd67e1670bb2e888cfe833dfb243 --- java/com/android/dialer/dialpadview/theme/res/values/styles.xml | 2 +- java/com/android/dialer/main/impl/res/values/styles.xml | 4 ++-- java/com/android/incallui/DialpadFragment.java | 5 ++++- java/com/android/incallui/theme/res/values/styles.xml | 4 +--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/java/com/android/dialer/dialpadview/theme/res/values/styles.xml b/java/com/android/dialer/dialpadview/theme/res/values/styles.xml index 04ebb1b13..8705a17a4 100644 --- a/java/com/android/dialer/dialpadview/theme/res/values/styles.xml +++ b/java/com/android/dialer/dialpadview/theme/res/values/styles.xml @@ -32,7 +32,7 @@ 0dp - diff --git a/java/com/android/incallui/DialpadFragment.java b/java/com/android/incallui/DialpadFragment.java index 343cb34fd..2ae2aca94 100644 --- a/java/com/android/incallui/DialpadFragment.java +++ b/java/com/android/incallui/DialpadFragment.java @@ -21,6 +21,7 @@ import android.os.Bundle; import android.telephony.PhoneNumberUtils; import android.util.ArrayMap; import android.util.AttributeSet; +import android.view.ContextThemeWrapper; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; @@ -136,7 +137,9 @@ public class DialpadFragment extends BaseFragment @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - final View parent = inflater.inflate(R.layout.incall_dialpad_fragment, container, false); + Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), R.style.Dialer_ThemeBase); + LayoutInflater layoutInflater = inflater.cloneInContext(contextThemeWrapper); + final View parent = layoutInflater.inflate(R.layout.incall_dialpad_fragment, container, false); dialpadView = (DialpadView) parent.findViewById(R.id.dialpad_view); dialpadView.setCanDigitsBeEdited(false); dialpadView.setBackgroundResource(R.color.incall_dialpad_background); diff --git a/java/com/android/incallui/theme/res/values/styles.xml b/java/com/android/incallui/theme/res/values/styles.xml index 3475e3548..58608aca3 100644 --- a/java/com/android/incallui/theme/res/values/styles.xml +++ b/java/com/android/incallui/theme/res/values/styles.xml @@ -49,7 +49,7 @@ - diff --git a/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml b/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml index e01a3a282..142bb897b 100644 --- a/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml +++ b/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml @@ -33,24 +33,24 @@ \ No newline at end of file diff --git a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml index 667b9726d..c9d4d48f4 100644 --- a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml +++ b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml @@ -21,6 +21,12 @@ @style/DialerActionBarBaseStyle @dimen/action_bar_height + + + @style/ThemeOverlay.AppCompat.Light + @null + @style/ThemeOverlay.AppCompat.Dark.ActionBar + @drawable/abc_list_selector_holo_dark diff --git a/java/com/android/dialer/theme/common/res/values/colors.xml b/java/com/android/dialer/theme/common/res/values/colors.xml index 8f5976703..1831862b1 100644 --- a/java/com/android/dialer/theme/common/res/values/colors.xml +++ b/java/com/android/dialer/theme/common/res/values/colors.xml @@ -20,6 +20,7 @@ #BD2A2A #D8D8D8 #2A56C6 + #4285F4 #097138 diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml index 82e79c631..703e40bed 100644 --- a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml +++ b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml @@ -16,6 +16,6 @@ --> - - + + diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml index d057f9e65..486669f91 100644 --- a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml +++ b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml @@ -16,6 +16,6 @@ --> - - + + diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_primary_text_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_primary_text_color.xml index 6612b17ab..58aa2b0e1 100644 --- a/java/com/android/dialer/theme/hidden/res/color/dialer_primary_text_color.xml +++ b/java/com/android/dialer/theme/hidden/res/color/dialer_primary_text_color.xml @@ -16,6 +16,6 @@ --> - - + + \ No newline at end of file diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_secondary_text_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_secondary_text_color.xml index e1c000aef..20dfd3528 100644 --- a/java/com/android/dialer/theme/hidden/res/color/dialer_secondary_text_color.xml +++ b/java/com/android/dialer/theme/hidden/res/color/dialer_secondary_text_color.xml @@ -16,6 +16,6 @@ --> - - + + \ No newline at end of file diff --git a/java/com/android/dialer/theme/hidden/res/color/settings_text_color_primary.xml b/java/com/android/dialer/theme/hidden/res/color/settings_text_color_primary.xml index 7a14d22fa..b26c2c2f0 100644 --- a/java/com/android/dialer/theme/hidden/res/color/settings_text_color_primary.xml +++ b/java/com/android/dialer/theme/hidden/res/color/settings_text_color_primary.xml @@ -18,6 +18,6 @@ --> - - + + diff --git a/java/com/android/dialer/theme/hidden/res/color/settings_text_color_secondary.xml b/java/com/android/dialer/theme/hidden/res/color/settings_text_color_secondary.xml index c4baefd33..21e125a69 100644 --- a/java/com/android/dialer/theme/hidden/res/color/settings_text_color_secondary.xml +++ b/java/com/android/dialer/theme/hidden/res/color/settings_text_color_secondary.xml @@ -18,6 +18,6 @@ --> - - + + diff --git a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_dark.xml b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_dark.xml index 7dc894be9..e48474e9f 100644 --- a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_dark.xml +++ b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_dark.xml @@ -15,26 +15,8 @@ --> - #2A56C6 - #1C3AA9 - #F50057 - #332A56C6 - - - #FFFFFF - #DDFFFFFF - #333333 - #DE78909C - #212121 - #636363 - #4285F4 - - - #212121 - #000000 - - - #C4000000 - #E1E1E1 - #FFFFFF + #5195EA + #335195EA + #2374CE + #5195EA diff --git a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml index 1d5a1e7ee..0ed8e7566 100644 --- a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml +++ b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml @@ -14,38 +14,9 @@ ~ limitations under the License --> - #2A56C6 + #332A56C6 #1C3AA9 #F50057 - #332A56C6 - - - #212121 - #636363 - #9E9E9E - #DE78909C - #FFFFFF - #DDFFFFFF - #4285F4 - - - #FAFAFA - #FFFFFF - - - #89000000 - #E1E1E1 - #FFFFFF diff --git a/java/com/android/dialer/theme/hidden/res/values/colors_pallet.xml b/java/com/android/dialer/theme/hidden/res/values/colors_pallet.xml new file mode 100644 index 000000000..7a092b28f --- /dev/null +++ b/java/com/android/dialer/theme/hidden/res/values/colors_pallet.xml @@ -0,0 +1,35 @@ + + + #174EA6 + #185ABC + #1967D2 + #1A73E8 + #4285F4 + #D2E3FC + #E8F0FE + + #202124 + #3C4043 + #5F6368 + #80868B + #9AA0A6 + #BDC1C6 + #DADCE0 + #E8EAED + #F1F3F4 + #F8F9FA + diff --git a/java/com/android/dialer/theme/hidden/res/values/styles.xml b/java/com/android/dialer/theme/hidden/res/values/styles.xml index 90e452993..44a35f8a2 100644 --- a/java/com/android/dialer/theme/hidden/res/values/styles.xml +++ b/java/com/android/dialer/theme/hidden/res/values/styles.xml @@ -55,5 +55,7 @@ @color/dialer_theme_color @color/dialer_theme_color + @color/dialer_primary_text_color + @color/dialer_secondary_text_color diff --git a/java/com/android/incallui/answer/impl/res/drawable/shape_chip_drawable.xml b/java/com/android/incallui/answer/impl/res/drawable/shape_chip_drawable.xml index 3740f3d1b..0cf4897e7 100644 --- a/java/com/android/incallui/answer/impl/res/drawable/shape_chip_drawable.xml +++ b/java/com/android/incallui/answer/impl/res/drawable/shape_chip_drawable.xml @@ -18,7 +18,7 @@ android:color="#DADCE0"> - + - + diff --git a/java/com/android/incallui/theme/res/values/colors.xml b/java/com/android/incallui/theme/res/values/colors.xml index cb894bbb7..059fe59a9 100644 --- a/java/com/android/incallui/theme/res/values/colors.xml +++ b/java/com/android/incallui/theme/res/values/colors.xml @@ -25,9 +25,6 @@ ?android:attr/colorPrimary - - @color/dialer_theme_color_20pct - Continuing call using Wi\u2011Fi\u2026 + + RTT not available for this call + diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java index b2c8dcc67..56a88b156 100644 --- a/java/com/android/incallui/call/DialerCall.java +++ b/java/com/android/incallui/call/DialerCall.java @@ -315,6 +315,7 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa @Override public void onRttInitiationFailure(Call call, int reason) { LogUtil.v("TelecomCallCallback.onRttInitiationFailure", "reason=%d", reason); + Toast.makeText(context, R.string.rtt_call_not_available_toast, Toast.LENGTH_LONG).show(); update(); } -- cgit v1.2.3 From 743b5017f726616ecac2c5ba4a1638dcdfdfa1f0 Mon Sep 17 00:00:00 2001 From: yueg Date: Wed, 30 May 2018 13:26:14 -0700 Subject: Also check call configuration for disconnected call Test: manual PiperOrigin-RevId: 198609574 Change-Id: Ic5e599b65d81968bdacaf6a90cb1ad34647b8419 --- java/com/android/incallui/InCallPresenter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java index 5aabf0694..150499f73 100644 --- a/java/com/android/incallui/InCallPresenter.java +++ b/java/com/android/incallui/InCallPresenter.java @@ -423,6 +423,10 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.Aud if (dialerCall == null) { dialerCall = callList.getOutgoingCall(); } + // Outgoing call can be disconnected and reason will be shown in toast + if (dialerCall == null) { + dialerCall = callList.getDisconnectedCall(); + } if (dialerCall == null) { return false; } -- cgit v1.2.3 From 99c51dbe8772a1143ecf45cae472f2a68f9a7278 Mon Sep 17 00:00:00 2001 From: twyen Date: Wed, 30 May 2018 18:28:28 -0700 Subject: Fix missing background color Styles resource cannot process #COLOR TEST=manual Test: manual PiperOrigin-RevId: 198653265 Change-Id: Ic885cf384230a24ca8b8ec1e26941fd1c7e49975 --- java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml | 2 +- java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml index c9d4d48f4..e233f366e 100644 --- a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml +++ b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml @@ -39,7 +39,7 @@ -- cgit v1.2.3 From 598ab9a2d6a23a03fb0990411496276347bbc67a Mon Sep 17 00:00:00 2001 From: wangqi Date: Thu, 31 May 2018 14:49:28 -0700 Subject: Fix title and icon color of action bar. Test: manual PiperOrigin-RevId: 198783472 Change-Id: I7a825564fb42f406aea493cbaa819ab6bcefb9eb --- .../com/android/dialer/theme/base/res/values/theme_dialer_light.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml index d37c57f1c..db06df4bd 100644 --- a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml +++ b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml @@ -25,7 +25,7 @@ @style/ThemeOverlay.AppCompat.Light @null - @style/ThemeOverlay.AppCompat.Dark.ActionBar + @style/DialerActionBarBaseTheme @drawable/abc_list_selector_holo_dark @@ -89,4 +89,8 @@ ?android:attr/colorPrimary ?android:attr/colorPrimary + -- cgit v1.2.3 From ba2a369716543f954a33bd04c4af5bafbb127393 Mon Sep 17 00:00:00 2001 From: linyuh Date: Thu, 31 May 2018 14:50:56 -0700 Subject: UI fixes for emergency numbers in the old call log. Bug: 80426301,80426768 Test: Manual PiperOrigin-RevId: 198783744 Change-Id: Ib704a710680b3cf18e4c3c91cd48e7b8491671ff --- .../app/calllog/CallLogListItemViewHolder.java | 23 +++++++++++++++ .../calldetails/CallDetailsHeaderViewHolder.java | 33 +++++++++++++--------- 2 files changed, 43 insertions(+), 13 deletions(-) diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java index 9b7741df4..48e523db3 100644 --- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java +++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java @@ -599,6 +599,29 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder setUpVideoButtonView.setVisibility(View.GONE); inviteVideoButtonView.setVisibility(View.GONE); + // For an emergency number, show "Call details" only. + if (PhoneNumberHelper.isLocalEmergencyNumber(context, number)) { + createNewContactButtonView.setVisibility(View.GONE); + addToExistingContactButtonView.setVisibility(View.GONE); + sendMessageView.setVisibility(View.GONE); + callWithNoteButtonView.setVisibility(View.GONE); + callComposeButtonView.setVisibility(View.GONE); + blockReportView.setVisibility(View.GONE); + blockView.setVisibility(View.GONE); + unblockView.setVisibility(View.GONE); + reportNotSpamView.setVisibility(View.GONE); + voicemailPlaybackView.setVisibility(View.GONE); + + detailsButtonView.setVisibility(View.VISIBLE); + detailsButtonView.setTag( + IntentProvider.getCallDetailIntentProvider( + callDetailsEntries, + buildContact(), + /* canReportCallerId = */ false, + /* canSupportAssistedDialing = */ false)); + return; + } + if (isFullyUndialableVoicemail()) { // Sometimes the voicemail server will report the message is from some non phone number // source. If the number does not contains any dialable digit treat it as it is from a unknown diff --git a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java index 44b5a4319..4da7fa0dc 100644 --- a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java +++ b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java @@ -40,6 +40,7 @@ import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.glidephotomanager.GlidePhotoManagerComponent; import com.android.dialer.logging.InteractionEvent; import com.android.dialer.logging.Logger; +import com.android.dialer.phonenumberutil.PhoneNumberHelper; import com.android.dialer.widget.BidiTextView; /** @@ -157,20 +158,26 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder contact.getNameOrNumber(), contact.getContactType()); - nameView.setText(contact.getNameOrNumber()); - if (!TextUtils.isEmpty(contact.getDisplayNumber())) { - numberView.setVisibility(View.VISIBLE); - String secondaryInfo = - TextUtils.isEmpty(contact.getNumberLabel()) - ? contact.getDisplayNumber() - : context.getString( - com.android.contacts.common.R.string.call_subject_type_and_number, - contact.getNumberLabel(), - contact.getDisplayNumber()); - numberView.setText(secondaryInfo); + // Hide the secondary text of the header by default. + // We will show it if needed (see below). + numberView.setVisibility(View.GONE); + numberView.setText(null); + + if (PhoneNumberHelper.isLocalEmergencyNumber(context, contact.getNumber())) { + nameView.setText(context.getResources().getString(R.string.emergency_number)); } else { - numberView.setVisibility(View.GONE); - numberView.setText(null); + nameView.setText(contact.getNameOrNumber()); + if (!TextUtils.isEmpty(contact.getDisplayNumber())) { + numberView.setVisibility(View.VISIBLE); + String secondaryInfo = + TextUtils.isEmpty(contact.getNumberLabel()) + ? contact.getDisplayNumber() + : context.getString( + com.android.contacts.common.R.string.call_subject_type_and_number, + contact.getNumberLabel(), + contact.getDisplayNumber()); + numberView.setText(secondaryInfo); + } } if (!TextUtils.isEmpty(contact.getSimDetails().getNetwork())) { -- cgit v1.2.3 From 3fe4d2bda429e632713c37ef0c5bf71c3dc15c81 Mon Sep 17 00:00:00 2001 From: wangqi Date: Thu, 31 May 2018 15:14:03 -0700 Subject: Change RTT transcript screen to use toolbar. This also fixes crash bug under new theme. Test: manual PiperOrigin-RevId: 198787768 Change-Id: I0b26dcefd519d40987f7338c32d1a47759b237c0 --- java/com/android/dialer/rtt/RttTranscriptActivity.java | 11 ++++++----- .../dialer/rtt/res/layout/activity_rtt_transcript.xml | 12 +++++++++--- java/com/android/dialer/rtt/res/values/colors.xml | 1 + 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/java/com/android/dialer/rtt/RttTranscriptActivity.java b/java/com/android/dialer/rtt/RttTranscriptActivity.java index 18ae20c08..574cdb2e2 100644 --- a/java/com/android/dialer/rtt/RttTranscriptActivity.java +++ b/java/com/android/dialer/rtt/RttTranscriptActivity.java @@ -20,7 +20,6 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; -import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -30,6 +29,7 @@ import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.common.concurrent.UiListener; import com.android.dialer.glidephotomanager.PhotoInfo; import com.android.dialer.protos.ProtoParsers; +import com.android.dialer.widget.DialerToolbar; /** Activity holds RTT transcript. */ public class RttTranscriptActivity extends AppCompatActivity { @@ -40,6 +40,7 @@ public class RttTranscriptActivity extends AppCompatActivity { private RttTranscriptAdapter adapter; private UiListener rttTranscriptUiListener; + private DialerToolbar toolbar; public static Intent getIntent( Context context, String transcriptId, String primaryText, PhotoInfo photoInfo) { @@ -54,9 +55,9 @@ public class RttTranscriptActivity extends AppCompatActivity { protected void onCreate(@Nullable Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.activity_rtt_transcript); - ActionBar actionBar = getSupportActionBar(); - actionBar.setDisplayShowHomeEnabled(true); - actionBar.setDisplayHomeAsUpEnabled(true); + toolbar = findViewById(R.id.toolbar); + toolbar.setBackgroundColor(getColor(R.color.rtt_transcript_primary_color)); + getWindow().setStatusBarColor(getColor(R.color.rtt_transcript_primary_color_dark)); RecyclerView recyclerView = findViewById(R.id.rtt_recycler_view); LinearLayoutManager layoutManager = new LinearLayoutManager(this); @@ -86,7 +87,7 @@ public class RttTranscriptActivity extends AppCompatActivity { }); String primaryText = intent.getStringExtra(EXTRA_PRIMARY_TEXT); - getSupportActionBar().setTitle(primaryText); + toolbar.setTitle(primaryText); PhotoInfo photoInfo = ProtoParsers.getTrusted(intent, EXTRA_PHOTO_INFO, PhotoInfo.getDefaultInstance()); diff --git a/java/com/android/dialer/rtt/res/layout/activity_rtt_transcript.xml b/java/com/android/dialer/rtt/res/layout/activity_rtt_transcript.xml index 628a7932e..772fde1cd 100644 --- a/java/com/android/dialer/rtt/res/layout/activity_rtt_transcript.xml +++ b/java/com/android/dialer/rtt/res/layout/activity_rtt_transcript.xml @@ -14,10 +14,16 @@ limitations under the License. --> - + android:background="@color/rtt_transcript_background_color" + android:orientation="vertical"> + + - + diff --git a/java/com/android/dialer/rtt/res/values/colors.xml b/java/com/android/dialer/rtt/res/values/colors.xml index 5de06f9f2..3b27a5707 100644 --- a/java/com/android/dialer/rtt/res/values/colors.xml +++ b/java/com/android/dialer/rtt/res/values/colors.xml @@ -16,5 +16,6 @@ --> #37474F + #263238 #ECEFF1 \ No newline at end of file -- cgit v1.2.3 From b287a05cfe6c0364aca04abd6ef04bc6397e763f Mon Sep 17 00:00:00 2001 From: zachh Date: Thu, 31 May 2018 15:23:51 -0700 Subject: Removed static configProvider field in ConfigProviderBindings. Also removed setForTesting method as it was only used to reset static state which no longer exists. Bug: 80441695 Test: tap PiperOrigin-RevId: 198789280 Change-Id: If56aa3942bcb12c950c9250309b51e72f59c5bdc --- .../dialer/configprovider/ConfigProviderBindings.java | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/java/com/android/dialer/configprovider/ConfigProviderBindings.java b/java/com/android/dialer/configprovider/ConfigProviderBindings.java index 0bf0e758d..ca4523c55 100644 --- a/java/com/android/dialer/configprovider/ConfigProviderBindings.java +++ b/java/com/android/dialer/configprovider/ConfigProviderBindings.java @@ -18,35 +18,23 @@ package com.android.dialer.configprovider; import android.content.Context; import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.annotation.VisibleForTesting; import android.support.v4.os.UserManagerCompat; import com.android.dialer.common.Assert; /** Accessor for getting a {@link ConfigProvider}. */ public class ConfigProviderBindings { - private static ConfigProvider configProvider; private static ConfigProvider configProviderStub; public static ConfigProvider get(@NonNull Context context) { Assert.isNotNull(context); - if (configProvider != null) { - return configProvider; - } if (!UserManagerCompat.isUserUnlocked(context)) { if (configProviderStub == null) { configProviderStub = new ConfigProviderStub(); } return configProviderStub; } - configProvider = ConfigProviderComponent.get(context).getConfigProvider(); - return configProvider; - } - - @VisibleForTesting - public static void setForTesting(@Nullable ConfigProvider configProviderForTesting) { - configProvider = configProviderForTesting; + return ConfigProviderComponent.get(context).getConfigProvider(); } private static class ConfigProviderStub implements ConfigProvider { -- cgit v1.2.3 From 5af531ea64fcc77afa7d16c3e509cf2a2cb73903 Mon Sep 17 00:00:00 2001 From: wangqi Date: Thu, 31 May 2018 16:33:09 -0700 Subject: Fix color of name text in call log. Bug: 79883035 Test: manual PiperOrigin-RevId: 198799252 Change-Id: I0636351e5b9bca2c173487c8a53282ca66e61e84 --- java/com/android/dialer/app/res/layout/call_log_list_item.xml | 2 +- .../android/dialer/app/res/layout/empty_content_view_dialpad_search.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/com/android/dialer/app/res/layout/call_log_list_item.xml b/java/com/android/dialer/app/res/layout/call_log_list_item.xml index fd73e0bb4..c9c1a6739 100644 --- a/java/com/android/dialer/app/res/layout/call_log_list_item.xml +++ b/java/com/android/dialer/app/res/layout/call_log_list_item.xml @@ -97,7 +97,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="@dimen/call_log_name_margin_bottom" android:layout_marginEnd="@dimen/call_log_icon_margin" - style="Dialer.TextAppearance.Primary.Ellipsize"/> + style="@style/Dialer.TextAppearance.Primary.Ellipsize"/> + style="@style/Dialer.TextAppearance.Primary.Ellipsize"/> Date: Thu, 31 May 2018 16:50:35 -0700 Subject: Add new spam API which can query additional data. Bug: 80303132 Test: InAppSpamTest, verified using Blueline device PiperOrigin-RevId: 198801576 Change-Id: I30f8c0c7c850ac4bd7b6fcf2dad18c0d70f1b2d1 --- java/com/android/dialer/spam/Spam.java | 13 +++++++++++++ java/com/android/dialer/spam/stub/SpamStub.java | 6 ++++++ java/com/android/incallui/call/CallList.java | 4 +++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/java/com/android/dialer/spam/Spam.java b/java/com/android/dialer/spam/Spam.java index 028bda40a..b797ce3c4 100644 --- a/java/com/android/dialer/spam/Spam.java +++ b/java/com/android/dialer/spam/Spam.java @@ -60,6 +60,19 @@ public interface Spam { */ ListenableFuture checkSpamStatus(String number, @Nullable String defaultCountryIso); + /** + * Checks if the given number is suspected of being spam, checking additional information as + * needed for the in-call ui. + * + *

See {@link #checkSpamStatus(String, String)}. + * + * @param number the phone number. + * @param defaultCountryIso the default country to use if it's not part of the number. + * @return the {@link SpamStatus} for the given number. + */ + ListenableFuture checkSpamStatusForInCallUi( + String number, @Nullable String defaultCountryIso); + /** * Called as an indication that the Spam implementation should check whether downloading a spam * list needs to occur or not. diff --git a/java/com/android/dialer/spam/stub/SpamStub.java b/java/com/android/dialer/spam/stub/SpamStub.java index 5eeed4571..7d48ca6ef 100644 --- a/java/com/android/dialer/spam/stub/SpamStub.java +++ b/java/com/android/dialer/spam/stub/SpamStub.java @@ -67,6 +67,12 @@ public class SpamStub implements Spam { return Futures.immediateFuture(SimpleSpamStatus.notSpam()); } + @Override + public ListenableFuture checkSpamStatusForInCallUi( + String number, @Nullable String defaultCountryIso) { + return checkSpamStatus(number, defaultCountryIso); + } + @Override public ListenableFuture updateSpamListDownload(boolean isEnabledByUser) { // no-op diff --git a/java/com/android/incallui/call/CallList.java b/java/com/android/incallui/call/CallList.java index 634a302a2..31afe71db 100644 --- a/java/com/android/incallui/call/CallList.java +++ b/java/com/android/incallui/call/CallList.java @@ -150,7 +150,9 @@ public class CallList implements DialerCallDelegate { if (SpamComponent.get(context).spamSettings().isSpamEnabled()) { String number = TelecomCallUtil.getNumber(telecomCall); ListenableFuture futureSpamStatus = - SpamComponent.get(context).spam().checkSpamStatus(number, call.getCountryIso()); + SpamComponent.get(context) + .spam() + .checkSpamStatusForInCallUi(number, call.getCountryIso()); Futures.addCallback( futureSpamStatus, -- cgit v1.2.3 From b7321a9f80d6afd262e0ee8bbbbcc3a88c234f77 Mon Sep 17 00:00:00 2001 From: zachh Date: Thu, 31 May 2018 17:14:09 -0700 Subject: Removed isUserUnlocked checks from ConfigProvider. Bug: 80441695 Test: modified code to fetch a flag value while the user was locked and observed the default value to be returned by Phenotype, unlocked the device, and observed the non-default value to be returned PiperOrigin-RevId: 198804521 Change-Id: I096fc22b47357b4bc61e9e98896ccda8d8bb57d8 --- .../configprovider/ConfigProviderBindings.java | 26 ---------------------- 1 file changed, 26 deletions(-) diff --git a/java/com/android/dialer/configprovider/ConfigProviderBindings.java b/java/com/android/dialer/configprovider/ConfigProviderBindings.java index ca4523c55..b5b9020ac 100644 --- a/java/com/android/dialer/configprovider/ConfigProviderBindings.java +++ b/java/com/android/dialer/configprovider/ConfigProviderBindings.java @@ -18,39 +18,13 @@ package com.android.dialer.configprovider; import android.content.Context; import android.support.annotation.NonNull; -import android.support.v4.os.UserManagerCompat; import com.android.dialer.common.Assert; /** Accessor for getting a {@link ConfigProvider}. */ public class ConfigProviderBindings { - private static ConfigProvider configProviderStub; - public static ConfigProvider get(@NonNull Context context) { Assert.isNotNull(context); - if (!UserManagerCompat.isUserUnlocked(context)) { - if (configProviderStub == null) { - configProviderStub = new ConfigProviderStub(); - } - return configProviderStub; - } return ConfigProviderComponent.get(context).getConfigProvider(); } - - private static class ConfigProviderStub implements ConfigProvider { - @Override - public String getString(String key, String defaultValue) { - return defaultValue; - } - - @Override - public long getLong(String key, long defaultValue) { - return defaultValue; - } - - @Override - public boolean getBoolean(String key, boolean defaultValue) { - return defaultValue; - } - } } -- cgit v1.2.3 From 190343ac560de1ff550e436acb176f17fd228fdc Mon Sep 17 00:00:00 2001 From: zachh Date: Thu, 31 May 2018 17:30:46 -0700 Subject: Inlined ConfigProviderBindings.get() and removed ConfigProviderBindings. It no longer provides any value, so just use dagger directly. Bug: 80441695 Test: tap PiperOrigin-RevId: 198806461 Change-Id: Id607abb65b77633bce511ad0c943ac19453a85d5 --- java/com/android/dialer/app/DialtactsActivity.java | 9 ++++-- .../android/dialer/app/calllog/CallLogAdapter.java | 12 +++++--- .../dialer/app/calllog/CallLogFragment.java | 6 ++-- .../app/calllog/CallLogListItemViewHolder.java | 14 +++++---- .../calllog/CallLogNotificationsQueryHelper.java | 5 ++-- .../app/settings/DialerSettingsActivity.java | 4 +-- .../app/voicemail/VoicemailPlaybackPresenter.java | 6 ++-- .../dialer/assisteddialing/ConcreteCreator.java | 4 +-- .../ui/AssistedDialingSettingFragment.java | 5 ++-- .../dialer/blocking/FilteredNumberCompat.java | 6 ++-- .../dialer/callcomposer/CallComposerActivity.java | 14 ++++++--- .../configprovider/ConfigProviderBindings.java | 30 ------------------- .../configprovider/ConfigProviderComponent.java | 1 - .../dialer/database/DialerDatabaseHelper.java | 6 ++-- .../dialer/main/impl/OldMainActivityPeer.java | 11 +++++-- .../dialer/main/impl/bottomnav/BottomNavItem.java | 6 ++-- .../android/dialer/oem/CequintCallerIdManager.java | 6 ++-- java/com/android/dialer/oem/MotorolaUtils.java | 14 +++++---- java/com/android/dialer/postcall/PostCall.java | 13 +++++--- .../externalreceiver/LaunchPreCallActivity.java | 5 ++-- .../dialer/precall/impl/AssistedDialAction.java | 4 +-- .../precall/impl/CallingAccountSelector.java | 5 ++-- ...UkRegionPrefixInInternationalFormatHandler.java | 5 ++-- .../dialer/preferredsim/PreferredAccountUtil.java | 5 ++-- .../impl/PreferredAccountWorkerImpl.java | 6 ++-- java/com/android/dialer/shortcuts/Shortcuts.java | 6 ++-- .../dialer/spam/promo/SpamBlockingPromoHelper.java | 12 +++++--- .../error/VoicemailStatusCorruptionHandler.java | 6 ++-- .../listui/error/VoicemailTosMessageCreator.java | 5 ++-- java/com/android/incallui/CallCardPresenter.java | 8 +++-- java/com/android/incallui/InCallActivity.java | 5 ++-- .../android/incallui/ReturnToCallController.java | 6 ++-- java/com/android/incallui/StatusBarNotifier.java | 5 ++-- java/com/android/incallui/VideoCallPresenter.java | 6 ++-- .../classifier/HumanInteractionClassifier.java | 5 ++-- .../answer/impl/hint/AnswerHintFactory.java | 9 ++++-- .../answer/impl/hint/PawSecretCodeListener.java | 6 ++-- .../AnswerProximitySensor.java | 8 +++-- java/com/android/incallui/call/DialerCall.java | 5 ++-- .../incallui/contactgrid/ContactGridManager.java | 6 ++-- .../spam/SpamAlternativeExperimentUtil.java | 6 ++-- .../incallui/videotech/duo/DuoVideoTech.java | 5 ++-- .../voicemail/impl/DialerVvmConfigManager.java | 5 ++-- .../voicemail/impl/VoicemailClientImpl.java | 6 ++-- .../voicemail/impl/protocol/Vvm3Subscriber.java | 5 ++-- .../transcribe/TranscriptionConfigProvider.java | 35 ++++++++++++++-------- 46 files changed, 214 insertions(+), 148 deletions(-) delete mode 100644 java/com/android/dialer/configprovider/ConfigProviderBindings.java diff --git a/java/com/android/dialer/app/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java index 06f094d5e..25a69564d 100644 --- a/java/com/android/dialer/app/DialtactsActivity.java +++ b/java/com/android/dialer/app/DialtactsActivity.java @@ -93,7 +93,7 @@ import com.android.dialer.common.LogUtil; import com.android.dialer.common.UiUtil; import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.common.concurrent.ThreadUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.constants.ActivityRequestCodes; import com.android.dialer.contactsfragment.ContactsFragment; import com.android.dialer.contactsfragment.ContactsFragment.OnContactSelectedListener; @@ -367,7 +367,8 @@ public class DialtactsActivity extends TransactionSafeActivity super.onCreate(savedInstanceState); firstLaunch = true; - isLastTabEnabled = ConfigProviderBindings.get(this).getBoolean("last_tab_enabled", false); + isLastTabEnabled = + ConfigProviderComponent.get(this).getConfigProvider().getBoolean("last_tab_enabled", false); final Resources resources = getResources(); actionBarHeight = resources.getDimensionPixelSize(R.dimen.action_bar_height_large); @@ -1622,6 +1623,8 @@ public class DialtactsActivity extends TransactionSafeActivity } private boolean newFavoritesIsEnabled() { - return ConfigProviderBindings.get(this).getBoolean("enable_new_favorites_tab", false); + return ConfigProviderComponent.get(this) + .getConfigProvider() + .getBoolean("enable_new_favorites_tab", false); } } diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java index 143af367a..a4479da9e 100644 --- a/java/com/android/dialer/app/calllog/CallLogAdapter.java +++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java @@ -73,7 +73,7 @@ import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.AsyncTaskExecutor; import com.android.dialer.common.concurrent.AsyncTaskExecutors; import com.android.dialer.compat.android.provider.VoicemailCompat; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.duo.Duo; import com.android.dialer.duo.DuoComponent; import com.android.dialer.duo.DuoListener; @@ -287,7 +287,8 @@ public class CallLogAdapter extends GroupingListAdapter new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { - if (ConfigProviderBindings.get(v.getContext()) + if (ConfigProviderComponent.get(v.getContext()) + .getConfigProvider() .getBoolean(ENABLE_CALL_LOG_MULTI_SELECT, ENABLE_CALL_LOG_MULTI_SELECT_FLAG) && voicemailPlaybackPresenter != null) { if (v.getId() == R.id.primary_action_view || v.getId() == R.id.quick_contact_photo) { @@ -852,7 +853,9 @@ public class CallLogAdapter extends GroupingListAdapter } private boolean isHideableEmergencyNumberRow(@Nullable String number) { - if (!ConfigProviderBindings.get(activity).getBoolean(FILTER_EMERGENCY_CALLS_FLAG, false)) { + if (!ConfigProviderComponent.get(activity) + .getConfigProvider() + .getBoolean(FILTER_EMERGENCY_CALLS_FLAG, false)) { return false; } return number != null && PhoneNumberUtils.isEmergencyNumber(number); @@ -1058,7 +1061,8 @@ public class CallLogAdapter extends GroupingListAdapter details.countryIso, details.cachedContactInfo, position - < ConfigProviderBindings.get(activity) + < ConfigProviderComponent.get(activity) + .getConfigProvider() .getLong("number_of_call_to_do_remote_lookup", 5L)); logCp2Metrics(details, info); } diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java index 1e55c6358..771254ee8 100644 --- a/java/com/android/dialer/app/calllog/CallLogFragment.java +++ b/java/com/android/dialer/app/calllog/CallLogFragment.java @@ -58,7 +58,7 @@ import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler; import com.android.dialer.common.Assert; import com.android.dialer.common.FragmentUtils; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.database.CallLogQueryHandler; import com.android.dialer.database.CallLogQueryHandler.Listener; import com.android.dialer.location.GeoUtil; @@ -297,7 +297,9 @@ public class CallLogFragment extends Fragment protected void setupView(View view) { recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); - if (ConfigProviderBindings.get(getContext()).getBoolean("is_call_log_item_anim_null", false)) { + if (ConfigProviderComponent.get(getContext()) + .getConfigProvider() + .getBoolean("is_call_log_item_anim_null", false)) { recyclerView.setItemAnimator(null); } recyclerView.setHasFixedSize(true); diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java index 48e523db3..5b579f50f 100644 --- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java +++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java @@ -69,7 +69,7 @@ import com.android.dialer.clipboard.ClipboardUtils; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.AsyncTaskExecutors; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.constants.ActivityRequestCodes; import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.dialercontact.DialerContact; @@ -309,7 +309,8 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder primaryActionButtonView.setOnClickListener(this); primaryActionView.setOnClickListener(this.expandCollapseListener); if (this.voicemailPlaybackPresenter != null - && ConfigProviderBindings.get(this.context) + && ConfigProviderComponent.get(this.context) + .getConfigProvider() .getBoolean( CallLogAdapter.ENABLE_CALL_LOG_MULTI_SELECT, CallLogAdapter.ENABLE_CALL_LOG_MULTI_SELECT_FLAG)) { @@ -710,7 +711,8 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder videoCallButtonView.setVisibility(View.VISIBLE); CallIntentBuilder.increaseLightbringerCallButtonAppearInExpandedCallLogItemCount(); } else if (duo.isActivated(context) && !identifiedSpamCall) { - if (ConfigProviderBindings.get(context) + if (ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("enable_call_log_duo_invite_button", false)) { inviteVideoButtonView.setTag(IntentProvider.getDuoInviteIntentProvider(number)); inviteVideoButtonView.setVisibility(View.VISIBLE); @@ -719,7 +721,8 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder } } else if (duo.isEnabled(context) && !identifiedSpamCall) { if (!duo.isInstalled(context)) { - if (ConfigProviderBindings.get(context) + if (ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("enable_call_log_install_duo_button", false)) { setUpVideoButtonView.setTag(IntentProvider.getInstallDuoIntentProvider()); setUpVideoButtonView.setVisibility(View.VISIBLE); @@ -728,7 +731,8 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder CallIntentBuilder.increaseLightbringerCallButtonAppearInExpandedCallLogItemCount(); } } else { - if (ConfigProviderBindings.get(context) + if (ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("enable_call_log_activate_duo_button", false)) { setUpVideoButtonView.setTag(IntentProvider.getSetUpDuoIntentProvider()); setUpVideoButtonView.setVisibility(View.VISIBLE); diff --git a/java/com/android/dialer/app/calllog/CallLogNotificationsQueryHelper.java b/java/com/android/dialer/app/calllog/CallLogNotificationsQueryHelper.java index d13702931..b5ca0901b 100644 --- a/java/com/android/dialer/app/calllog/CallLogNotificationsQueryHelper.java +++ b/java/com/android/dialer/app/calllog/CallLogNotificationsQueryHelper.java @@ -39,7 +39,7 @@ import com.android.dialer.calllogutils.PhoneNumberDisplayUtil; import com.android.dialer.common.LogUtil; import com.android.dialer.common.database.Selection; import com.android.dialer.compat.android.provider.VoicemailCompat; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.location.GeoUtil; import com.android.dialer.phonenumbercache.ContactInfo; import com.android.dialer.phonenumbercache.ContactInfoHelper; @@ -167,7 +167,8 @@ public class CallLogNotificationsQueryHelper { return newCallsQuery.query( Calls.VOICEMAIL_TYPE, System.currentTimeMillis() - - ConfigProviderBindings.get(context) + - ConfigProviderComponent.get(context) + .getConfigProvider() .getLong( CONFIG_NEW_VOICEMAIL_NOTIFICATION_THRESHOLD_OFFSET, TimeUnit.DAYS.toMillis(7))); } diff --git a/java/com/android/dialer/app/settings/DialerSettingsActivity.java b/java/com/android/dialer/app/settings/DialerSettingsActivity.java index 6b763aeb3..9cd01b64b 100644 --- a/java/com/android/dialer/app/settings/DialerSettingsActivity.java +++ b/java/com/android/dialer/app/settings/DialerSettingsActivity.java @@ -38,7 +38,7 @@ import com.android.dialer.assisteddialing.ConcreteCreator; import com.android.dialer.blocking.FilteredNumberCompat; import com.android.dialer.common.LogUtil; import com.android.dialer.compat.telephony.TelephonyManagerCompat; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.proguard.UsedByReflection; import com.android.dialer.util.PermissionsUtil; import com.android.dialer.voicemail.settings.VoicemailSettingsFragment; @@ -160,7 +160,7 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity { boolean isAssistedDialingEnabled = ConcreteCreator.isAssistedDialingEnabled( - ConfigProviderBindings.get(getApplicationContext())); + ConfigProviderComponent.get(getApplicationContext()).getConfigProvider()); LogUtil.i( "DialerSettingsActivity.onBuildHeaders", "showing assisted dialing header: " + isAssistedDialingEnabled); diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java index 917870ec7..e4c075b7d 100644 --- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java +++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java @@ -52,7 +52,7 @@ import com.android.dialer.common.concurrent.AsyncTaskExecutor; import com.android.dialer.common.concurrent.AsyncTaskExecutors; import com.android.dialer.common.concurrent.DialerExecutor; import com.android.dialer.common.concurrent.DialerExecutorComponent; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.constants.Constants; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; @@ -870,7 +870,9 @@ public class VoicemailPlaybackPresenter } private static boolean isShareVoicemailAllowed(Context context) { - return ConfigProviderBindings.get(context).getBoolean(CONFIG_SHARE_VOICEMAIL_ALLOWED, true); + return ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean(CONFIG_SHARE_VOICEMAIL_ALLOWED, true); } private static class ShareVoicemailWorker diff --git a/java/com/android/dialer/assisteddialing/ConcreteCreator.java b/java/com/android/dialer/assisteddialing/ConcreteCreator.java index dfd28a661..050774340 100644 --- a/java/com/android/dialer/assisteddialing/ConcreteCreator.java +++ b/java/com/android/dialer/assisteddialing/ConcreteCreator.java @@ -27,7 +27,7 @@ import android.support.v4.os.UserManagerCompat; import android.telephony.TelephonyManager; import com.android.dialer.common.LogUtil; import com.android.dialer.configprovider.ConfigProvider; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.strictmode.StrictModeUtils; /** @@ -55,7 +55,7 @@ public final class ConcreteCreator { public static AssistedDialingMediator createNewAssistedDialingMediator( @NonNull TelephonyManager telephonyManager, @NonNull Context context) { - ConfigProvider configProvider = ConfigProviderBindings.get(context); + ConfigProvider configProvider = ConfigProviderComponent.get(context).getConfigProvider(); if (telephonyManager == null) { LogUtil.i( diff --git a/java/com/android/dialer/assisteddialing/ui/AssistedDialingSettingFragment.java b/java/com/android/dialer/assisteddialing/ui/AssistedDialingSettingFragment.java index f1ea4c9dc..965a16975 100644 --- a/java/com/android/dialer/assisteddialing/ui/AssistedDialingSettingFragment.java +++ b/java/com/android/dialer/assisteddialing/ui/AssistedDialingSettingFragment.java @@ -29,7 +29,7 @@ import com.android.dialer.assisteddialing.AssistedDialingMediator; import com.android.dialer.assisteddialing.ConcreteCreator; import com.android.dialer.assisteddialing.CountryCodeProvider; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; import com.google.auto.value.AutoValue; @@ -70,7 +70,8 @@ public class AssistedDialingSettingFragment extends PreferenceFragment { getContext().getSystemService(TelephonyManager.class), getContext()); countryCodeProvider = - ConcreteCreator.getCountryCodeProvider(ConfigProviderBindings.get(getContext())); + ConcreteCreator.getCountryCodeProvider( + ConfigProviderComponent.get(getContext()).getConfigProvider()); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.assisted_dialing_setting); diff --git a/java/com/android/dialer/blocking/FilteredNumberCompat.java b/java/com/android/dialer/blocking/FilteredNumberCompat.java index d263d212c..71af3408c 100644 --- a/java/com/android/dialer/blocking/FilteredNumberCompat.java +++ b/java/com/android/dialer/blocking/FilteredNumberCompat.java @@ -30,7 +30,7 @@ import android.support.annotation.VisibleForTesting; import android.telecom.TelecomManager; import android.telephony.PhoneNumberUtils; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.database.FilteredNumberContract.FilteredNumber; import com.android.dialer.database.FilteredNumberContract.FilteredNumberColumns; import com.android.dialer.database.FilteredNumberContract.FilteredNumberSources; @@ -115,7 +115,9 @@ public class FilteredNumberCompat { * migration has been performed, {@code false} otherwise. */ public static boolean useNewFiltering(Context context) { - return !ConfigProviderBindings.get(context).getBoolean("debug_force_dialer_filtering", false) + return !ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean("debug_force_dialer_filtering", false) && canUseNewFiltering() && hasMigratedToNewBlocking(context); } diff --git a/java/com/android/dialer/callcomposer/CallComposerActivity.java b/java/com/android/dialer/callcomposer/CallComposerActivity.java index ce3f7f270..49bc29c34 100644 --- a/java/com/android/dialer/callcomposer/CallComposerActivity.java +++ b/java/com/android/dialer/callcomposer/CallComposerActivity.java @@ -60,7 +60,7 @@ import com.android.dialer.common.UiUtil; import com.android.dialer.common.concurrent.DialerExecutor; import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.common.concurrent.ThreadUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.constants.Constants; import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.dialercontact.DialerContact; @@ -345,7 +345,9 @@ public class CallComposerActivity extends AppCompatActivity @VisibleForTesting public long getSessionStartedTimeoutMillis() { - return ConfigProviderBindings.get(this).getLong("ec_session_started_timeout", 10_000); + return ConfigProviderComponent.get(this) + .getConfigProvider() + .getLong("ec_session_started_timeout", 10_000); } @Override @@ -441,7 +443,9 @@ public class CallComposerActivity extends AppCompatActivity getEnrichedCallManager().sendCallComposerData(sessionId, data); maybeShowPrivacyToast(data); if (data.hasImageData() - && ConfigProviderBindings.get(this).getBoolean("enable_delayed_ec_images", true) + && ConfigProviderComponent.get(this) + .getConfigProvider() + .getBoolean("enable_delayed_ec_images", true) && !TelecomUtil.isInManagedCall(this)) { timeoutHandler.postDelayed(placeTelecomCallRunnable, getRCSTimeoutMillis()); startActivity( @@ -476,7 +480,9 @@ public class CallComposerActivity extends AppCompatActivity @VisibleForTesting public long getRCSTimeoutMillis() { - return ConfigProviderBindings.get(this).getLong("ec_image_upload_timeout", 15_000); + return ConfigProviderComponent.get(this) + .getConfigProvider() + .getLong("ec_image_upload_timeout", 15_000); } private void placeTelecomCall() { diff --git a/java/com/android/dialer/configprovider/ConfigProviderBindings.java b/java/com/android/dialer/configprovider/ConfigProviderBindings.java deleted file mode 100644 index b5b9020ac..000000000 --- a/java/com/android/dialer/configprovider/ConfigProviderBindings.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.dialer.configprovider; - -import android.content.Context; -import android.support.annotation.NonNull; -import com.android.dialer.common.Assert; - -/** Accessor for getting a {@link ConfigProvider}. */ -public class ConfigProviderBindings { - - public static ConfigProvider get(@NonNull Context context) { - Assert.isNotNull(context); - return ConfigProviderComponent.get(context).getConfigProvider(); - } -} diff --git a/java/com/android/dialer/configprovider/ConfigProviderComponent.java b/java/com/android/dialer/configprovider/ConfigProviderComponent.java index e974e30bf..5b5afd705 100644 --- a/java/com/android/dialer/configprovider/ConfigProviderComponent.java +++ b/java/com/android/dialer/configprovider/ConfigProviderComponent.java @@ -27,7 +27,6 @@ import dagger.Subcomponent; public abstract class ConfigProviderComponent { @NonNull - @Deprecated // Use ConfigProviderBindings instead public abstract ConfigProvider getConfigProvider(); public static ConfigProviderComponent get(Context context) { diff --git a/java/com/android/dialer/database/DialerDatabaseHelper.java b/java/com/android/dialer/database/DialerDatabaseHelper.java index b61cc3958..b1cd0906f 100644 --- a/java/com/android/dialer/database/DialerDatabaseHelper.java +++ b/java/com/android/dialer/database/DialerDatabaseHelper.java @@ -42,7 +42,7 @@ import com.android.dialer.common.concurrent.DefaultFutureCallback; import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.common.concurrent.DialerFutureSerializer; import com.android.dialer.common.database.Selection; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.database.FilteredNumberContract.FilteredNumberColumns; import com.android.dialer.smartdial.util.SmartDialNameMatcher; import com.android.dialer.smartdial.util.SmartDialPrefix; @@ -682,7 +682,9 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper { context.getSharedPreferences(DATABASE_LAST_CREATED_SHARED_PREF, Context.MODE_PRIVATE); long defaultLastUpdateMillis = - ConfigProviderBindings.get(context).getLong(DEFAULT_LAST_UPDATED_CONFIG_KEY, 0); + ConfigProviderComponent.get(context) + .getConfigProvider() + .getLong(DEFAULT_LAST_UPDATED_CONFIG_KEY, 0); long sharedPrefLastUpdateMillis = databaseLastUpdateSharedPref.getLong(LAST_UPDATED_MILLIS, defaultLastUpdateMillis); diff --git a/java/com/android/dialer/main/impl/OldMainActivityPeer.java b/java/com/android/dialer/main/impl/OldMainActivityPeer.java index e14c5b97f..9169dc323 100644 --- a/java/com/android/dialer/main/impl/OldMainActivityPeer.java +++ b/java/com/android/dialer/main/impl/OldMainActivityPeer.java @@ -81,7 +81,7 @@ import com.android.dialer.common.concurrent.DefaultFutureCallback; import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.common.concurrent.ThreadUtil; import com.android.dialer.common.concurrent.UiListener; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.constants.ActivityRequestCodes; import com.android.dialer.contactsfragment.ContactsFragment; import com.android.dialer.contactsfragment.ContactsFragment.Header; @@ -1313,7 +1313,9 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen Logger.get(activity).logScreenView(ScreenEvent.Type.MAIN_SPEED_DIAL, activity); selectedTab = TabIndex.SPEED_DIAL; - if (ConfigProviderBindings.get(activity).getBoolean("enable_new_favorites_tab", false)) { + if (ConfigProviderComponent.get(activity) + .getConfigProvider() + .getBoolean("enable_new_favorites_tab", false)) { android.support.v4.app.Fragment supportFragment = supportFragmentManager.findFragmentByTag(SPEED_DIAL_TAG); showSupportFragment( @@ -1618,7 +1620,10 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen LastTabController(Context context, BottomNavBar bottomNavBar, boolean canShowVoicemailTab) { this.context = context; this.bottomNavBar = bottomNavBar; - isEnabled = ConfigProviderBindings.get(context).getBoolean("last_tab_enabled", false); + isEnabled = + ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean("last_tab_enabled", false); this.canShowVoicemailTab = canShowVoicemailTab; } diff --git a/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java b/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java index 3a43f8460..4794b8823 100644 --- a/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java +++ b/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java @@ -29,7 +29,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.android.dialer.common.Assert; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.theme.base.ThemeComponent; /** Navigation item in a bottom nav. */ @@ -75,7 +75,9 @@ final class BottomNavItem extends LinearLayout { String countString = String.format(Integer.toString(count)); boolean use99PlusCount = - ConfigProviderBindings.get(getContext()).getBoolean("use_99_plus", false); + ConfigProviderComponent.get(getContext()) + .getConfigProvider() + .getBoolean("use_99_plus", false); boolean use9Plus = !use99PlusCount; if (use99PlusCount && count > 99) { diff --git a/java/com/android/dialer/oem/CequintCallerIdManager.java b/java/com/android/dialer/oem/CequintCallerIdManager.java index 53f5352b2..ea6cbb8cb 100644 --- a/java/com/android/dialer/oem/CequintCallerIdManager.java +++ b/java/com/android/dialer/oem/CequintCallerIdManager.java @@ -30,7 +30,7 @@ import android.telephony.PhoneNumberUtils; import android.text.TextUtils; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.google.auto.value.AutoValue; import java.util.concurrent.ConcurrentHashMap; @@ -113,7 +113,9 @@ public class CequintCallerIdManager { /** Check whether Cequint Caller ID provider package is available and enabled. */ @AnyThread public static synchronized boolean isCequintCallerIdEnabled(@NonNull Context context) { - if (!ConfigProviderBindings.get(context).getBoolean(CONFIG_CALLER_ID_ENABLED, true)) { + if (!ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean(CONFIG_CALLER_ID_ENABLED, true)) { return false; } if (!hasAlreadyCheckedCequintCallerIdPackage) { diff --git a/java/com/android/dialer/oem/MotorolaUtils.java b/java/com/android/dialer/oem/MotorolaUtils.java index 3879f915f..026893780 100644 --- a/java/com/android/dialer/oem/MotorolaUtils.java +++ b/java/com/android/dialer/oem/MotorolaUtils.java @@ -22,7 +22,7 @@ import android.support.annotation.VisibleForTesting; import android.telephony.TelephonyManager; import com.android.dialer.common.LogUtil; import com.android.dialer.common.PackageUtils; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -79,19 +79,22 @@ public class MotorolaUtils { } public static boolean shouldBlinkHdIconWhenConnectingCall(Context context) { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(CONFIG_HD_CODEC_BLINKING_ICON_WHEN_CONNECTING_CALL_ENABLED, true) && isSupportingSprintHdCodec(context); } public static boolean shouldShowHdIconInNotification(Context context) { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(CONFIG_HD_CODEC_SHOW_ICON_IN_NOTIFICATION_ENABLED, true) && isSupportingSprintHdCodec(context); } public static boolean shouldShowWifiIconInCallLog(Context context, int features) { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(CONFIG_WIFI_CALL_SHOW_ICON_IN_CALL_LOG_ENABLED, true) && (features & Calls.FEATURES_WIFI) == Calls.FEATURES_WIFI && isSupportingSprintWifiCall(context); @@ -102,7 +105,8 @@ public class MotorolaUtils { return disablePhoneNumberFormattingForTest; } - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(CONFIG_DISABLE_PHONE_NUMBER_FORMATTING, true) && context.getResources().getBoolean(R.bool.motorola_disable_phone_number_formatting); } diff --git a/java/com/android/dialer/postcall/PostCall.java b/java/com/android/dialer/postcall/PostCall.java index 341db3b09..542b8d09c 100644 --- a/java/com/android/dialer/postcall/PostCall.java +++ b/java/com/android/dialer/postcall/PostCall.java @@ -29,7 +29,7 @@ import android.view.View.OnClickListener; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.configprovider.ConfigProvider; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.enrichedcall.EnrichedCallCapabilities; import com.android.dialer.enrichedcall.EnrichedCallComponent; import com.android.dialer.enrichedcall.EnrichedCallManager; @@ -96,7 +96,10 @@ public class PostCall { }; int durationMs = - (int) ConfigProviderBindings.get(activity).getLong("post_call_prompt_duration_ms", 8_000); + (int) + ConfigProviderComponent.get(activity) + .getConfigProvider() + .getLong("post_call_prompt_duration_ms", 8_000); activeSnackbar = Snackbar.make(rootView, message, durationMs) .setAction(actionText, onClickListener) @@ -215,7 +218,7 @@ public class PostCall { boolean callDisconnectedByUser = manager.getBoolean(KEY_POST_CALL_DISCONNECT_PRESSED, false); - ConfigProvider binding = ConfigProviderBindings.get(context); + ConfigProvider binding = ConfigProviderComponent.get(context).getConfigProvider(); return disconnectTimeMillis != -1 && connectTimeMillis != -1 && isSimReady(context) @@ -240,7 +243,9 @@ public class PostCall { } private static boolean isEnabled(Context context) { - return ConfigProviderBindings.get(context).getBoolean("enable_post_call_prod", true); + return ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean("enable_post_call_prod", true); } private static boolean isSimReady(Context context) { diff --git a/java/com/android/dialer/precall/externalreceiver/LaunchPreCallActivity.java b/java/com/android/dialer/precall/externalreceiver/LaunchPreCallActivity.java index bf7995a0c..60245ee66 100644 --- a/java/com/android/dialer/precall/externalreceiver/LaunchPreCallActivity.java +++ b/java/com/android/dialer/precall/externalreceiver/LaunchPreCallActivity.java @@ -28,7 +28,7 @@ import com.android.dialer.callintent.CallInitiationType.Type; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.common.LogUtil; import com.android.dialer.configprovider.ConfigProvider; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; import com.android.dialer.precall.PreCall; @@ -69,7 +69,8 @@ public class LaunchPreCallActivity extends Activity { super.onCreate(savedInstanceState); Logger.get(this).logImpression(DialerImpression.Type.PRECALL_INITIATED_EXTERNAL); - ConfigProvider configProvider = ConfigProviderBindings.get(getApplicationContext()); + ConfigProvider configProvider = + ConfigProviderComponent.get(getApplicationContext()).getConfigProvider(); Intent intent = getIntent(); CallIntentBuilder builder = new CallIntentBuilder(intent.getData(), Type.EXTERNAL_INITIATION); diff --git a/java/com/android/dialer/precall/impl/AssistedDialAction.java b/java/com/android/dialer/precall/impl/AssistedDialAction.java index e4e525559..40a810b5b 100644 --- a/java/com/android/dialer/precall/impl/AssistedDialAction.java +++ b/java/com/android/dialer/precall/impl/AssistedDialAction.java @@ -31,7 +31,7 @@ import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.compat.telephony.TelephonyManagerCompat; import com.android.dialer.configprovider.ConfigProvider; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.precall.PreCallAction; import com.android.dialer.precall.PreCallCoordinator; import com.android.dialer.telecom.TelecomUtil; @@ -90,7 +90,7 @@ public class AssistedDialAction implements PreCallAction { private TelephonyManager getAssistedDialingTelephonyManager( Context context, CallIntentBuilder builder) { - ConfigProvider configProvider = ConfigProviderBindings.get(context); + ConfigProvider configProvider = ConfigProviderComponent.get(context).getConfigProvider(); TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class); // None of this will be required in the framework because the PhoneAccountHandle // is already mapped to the request in the TelecomConnection. diff --git a/java/com/android/dialer/precall/impl/CallingAccountSelector.java b/java/com/android/dialer/precall/impl/CallingAccountSelector.java index b2a659348..042f5858d 100644 --- a/java/com/android/dialer/precall/impl/CallingAccountSelector.java +++ b/java/com/android/dialer/precall/impl/CallingAccountSelector.java @@ -32,7 +32,7 @@ import com.android.contacts.common.widget.SelectPhoneAccountDialogOptions; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.logging.DialerImpression.Type; import com.android.dialer.logging.Logger; import com.android.dialer.precall.PreCallAction; @@ -64,7 +64,8 @@ public class CallingAccountSelector implements PreCallAction { @Override public boolean requiresUi(Context context, CallIntentBuilder builder) { - if (!ConfigProviderBindings.get(context) + if (!ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("precall_calling_account_selector_enabled", true)) { return false; } diff --git a/java/com/android/dialer/precall/impl/UkRegionPrefixInInternationalFormatHandler.java b/java/com/android/dialer/precall/impl/UkRegionPrefixInInternationalFormatHandler.java index b8f54d873..825375ded 100644 --- a/java/com/android/dialer/precall/impl/UkRegionPrefixInInternationalFormatHandler.java +++ b/java/com/android/dialer/precall/impl/UkRegionPrefixInInternationalFormatHandler.java @@ -19,7 +19,7 @@ package com.android.dialer.precall.impl; import android.content.Context; import android.telephony.PhoneNumberUtils; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.precall.impl.MalformedNumberRectifier.MalformedNumberHandler; import com.google.common.base.Optional; @@ -37,7 +37,8 @@ class UkRegionPrefixInInternationalFormatHandler implements MalformedNumberHandl @Override public Optional handle(Context context, String number) { - if (!ConfigProviderBindings.get(context) + if (!ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("uk_region_prefix_in_international_format_fix_enabled", true)) { return Optional.absent(); } diff --git a/java/com/android/dialer/preferredsim/PreferredAccountUtil.java b/java/com/android/dialer/preferredsim/PreferredAccountUtil.java index b546dc0b8..1cfdbb161 100644 --- a/java/com/android/dialer/preferredsim/PreferredAccountUtil.java +++ b/java/com/android/dialer/preferredsim/PreferredAccountUtil.java @@ -30,7 +30,7 @@ import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; @@ -102,7 +102,8 @@ public class PreferredAccountUtil { */ public static ImmutableSet getValidAccountTypes(Context context) { return ImmutableSet.copyOf( - ConfigProviderBindings.get(context) + ConfigProviderComponent.get(context) + .getConfigProvider() .getString( "preferred_sim_valid_account_types", "com.google;" diff --git a/java/com/android/dialer/preferredsim/impl/PreferredAccountWorkerImpl.java b/java/com/android/dialer/preferredsim/impl/PreferredAccountWorkerImpl.java index 086cd7a10..ffd98f431 100644 --- a/java/com/android/dialer/preferredsim/impl/PreferredAccountWorkerImpl.java +++ b/java/com/android/dialer/preferredsim/impl/PreferredAccountWorkerImpl.java @@ -44,7 +44,7 @@ import com.android.dialer.activecalls.ActiveCallsComponent; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.Annotations.BackgroundExecutor; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.inject.ApplicationContext; import com.android.dialer.logging.DialerImpression.Type; import com.android.dialer.logging.Logger; @@ -357,7 +357,9 @@ public class PreferredAccountWorkerImpl implements PreferredAccountWorker { @WorkerThread private static boolean isPreferredSimEnabled(Context context) { Assert.isWorkerThread(); - if (!ConfigProviderBindings.get(context).getBoolean("preferred_sim_enabled", true)) { + if (!ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean("preferred_sim_enabled", true)) { return false; } diff --git a/java/com/android/dialer/shortcuts/Shortcuts.java b/java/com/android/dialer/shortcuts/Shortcuts.java index c2bbb4dde..d08e344cc 100644 --- a/java/com/android/dialer/shortcuts/Shortcuts.java +++ b/java/com/android/dialer/shortcuts/Shortcuts.java @@ -18,7 +18,7 @@ package com.android.dialer.shortcuts; import android.content.Context; import android.support.annotation.NonNull; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; /** Checks if dynamic shortcuts should be enabled. */ public class Shortcuts { @@ -27,7 +27,9 @@ public class Shortcuts { private static final String DYNAMIC_SHORTCUTS_ENABLED = "dynamic_shortcuts_enabled"; static boolean areDynamicShortcutsEnabled(@NonNull Context context) { - return ConfigProviderBindings.get(context).getBoolean(DYNAMIC_SHORTCUTS_ENABLED, true); + return ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean(DYNAMIC_SHORTCUTS_ENABLED, true); } private Shortcuts() {} diff --git a/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java b/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java index 34209cc54..c270c5941 100644 --- a/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java +++ b/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java @@ -28,7 +28,7 @@ import android.support.v4.app.FragmentManager; import android.support.v4.os.BuildCompat; import android.view.View; import android.widget.Toast; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; import com.android.dialer.notification.DialerNotificationManager; @@ -65,7 +65,9 @@ public class SpamBlockingPromoHelper { * @return true if we should show a spam blocking promo. */ public boolean shouldShowSpamBlockingPromo() { - if (!ConfigProviderBindings.get(context).getBoolean(ENABLE_SPAM_BLOCKING_PROMO, false) + if (!ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean(ENABLE_SPAM_BLOCKING_PROMO, false) || !spamSettings.isSpamEnabled() || !spamSettings.isSpamBlockingEnabledByFlag() || spamSettings.isSpamBlockingEnabledByUser()) { @@ -77,7 +79,8 @@ public class SpamBlockingPromoHelper { .unencryptedSharedPrefs() .getLong(SPAM_BLOCKING_PROMO_LAST_SHOW_MILLIS, 0); long showPeriodMillis = - ConfigProviderBindings.get(context) + ConfigProviderComponent.get(context) + .getConfigProvider() .getLong(SPAM_BLOCKING_PROMO_PERIOD_MILLIS, Long.MAX_VALUE); return lastShowMillis == 0 || System.currentTimeMillis() - lastShowMillis > showPeriodMillis; } @@ -85,7 +88,8 @@ public class SpamBlockingPromoHelper { /* Returns true if we should show a spam blocking promo in after call notification scenario. */ public boolean shouldShowAfterCallSpamBlockingPromo() { return shouldShowSpamBlockingPromo() - && ConfigProviderBindings.get(context) + && ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(ENABLE_AFTER_CALL_SPAM_BLOCKING_PROMO, false); } diff --git a/java/com/android/dialer/voicemail/listui/error/VoicemailStatusCorruptionHandler.java b/java/com/android/dialer/voicemail/listui/error/VoicemailStatusCorruptionHandler.java index 630a17d8f..75b21e7e9 100644 --- a/java/com/android/dialer/voicemail/listui/error/VoicemailStatusCorruptionHandler.java +++ b/java/com/android/dialer/voicemail/listui/error/VoicemailStatusCorruptionHandler.java @@ -27,7 +27,7 @@ import android.telephony.TelephonyManager; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.compat.telephony.TelephonyManagerCompat; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; @@ -47,7 +47,9 @@ public class VoicemailStatusCorruptionHandler { public static void maybeFixVoicemailStatus(Context context, Cursor statusCursor, Source source) { - if (ConfigProviderBindings.get(context).getBoolean(CONFIG_VVM_STATUS_FIX_DISABLED, false)) { + if (ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean(CONFIG_VVM_STATUS_FIX_DISABLED, false)) { return; } diff --git a/java/com/android/dialer/voicemail/listui/error/VoicemailTosMessageCreator.java b/java/com/android/dialer/voicemail/listui/error/VoicemailTosMessageCreator.java index 62252121e..efc094c5c 100644 --- a/java/com/android/dialer/voicemail/listui/error/VoicemailTosMessageCreator.java +++ b/java/com/android/dialer/voicemail/listui/error/VoicemailTosMessageCreator.java @@ -37,7 +37,7 @@ import android.view.View; import android.view.View.OnClickListener; import com.android.dialer.common.LogUtil; import com.android.dialer.compat.telephony.TelephonyManagerCompat; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; import com.android.dialer.voicemail.listui.error.VoicemailErrorMessage.Action; @@ -552,7 +552,8 @@ public class VoicemailTosMessageCreator { } private String getLearnMoreUrl() { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getString( "voicemail_transcription_learn_more_url", context.getString(R.string.dialer_terms_and_conditions_learn_more_url)); diff --git a/java/com/android/incallui/CallCardPresenter.java b/java/com/android/incallui/CallCardPresenter.java index 6614e7c74..91255cc7e 100644 --- a/java/com/android/incallui/CallCardPresenter.java +++ b/java/com/android/incallui/CallCardPresenter.java @@ -48,7 +48,7 @@ import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.common.util.ContactDisplayUtils; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; import com.android.dialer.multimedia.MultimediaData; @@ -768,7 +768,8 @@ public class CallCardPresenter } private boolean shouldShowLocation() { - if (!ConfigProviderBindings.get(context) + if (!ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(CONFIG_ENABLE_EMERGENCY_LOCATION, CONFIG_ENABLE_EMERGENCY_LOCATION_DEFAULT)) { LogUtil.i("CallCardPresenter.getLocationFragment", "disabled by config."); return false; @@ -840,7 +841,8 @@ public class CallCardPresenter int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1); float batteryPercent = (100f * level) / scale; long threshold = - ConfigProviderBindings.get(context) + ConfigProviderComponent.get(context) + .getConfigProvider() .getLong( CONFIG_MIN_BATTERY_PERCENT_FOR_EMERGENCY_LOCATION, CONFIG_MIN_BATTERY_PERCENT_FOR_EMERGENCY_LOCATION_DEFAULT); diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java index 2ec17308f..7d9608a56 100644 --- a/java/com/android/incallui/InCallActivity.java +++ b/java/com/android/incallui/InCallActivity.java @@ -62,7 +62,7 @@ import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.common.concurrent.ThreadUtil; import com.android.dialer.common.concurrent.UiListener; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.logging.Logger; import com.android.dialer.logging.ScreenEvent; import com.android.dialer.metrics.Metrics; @@ -1506,7 +1506,8 @@ public class InCallActivity extends TransactionSafeFragmentActivity LogUtil.i("InCallActivity.shouldAllowAnswerAndRelease", "video call"); return false; } - if (!ConfigProviderBindings.get(this) + if (!ConfigProviderComponent.get(this) + .getConfigProvider() .getBoolean(ConfigNames.ANSWER_AND_RELEASE_ENABLED, true)) { LogUtil.i("InCallActivity.shouldAllowAnswerAndRelease", "disabled by config"); return false; diff --git a/java/com/android/incallui/ReturnToCallController.java b/java/com/android/incallui/ReturnToCallController.java index 09e1845aa..94ce8d7af 100644 --- a/java/com/android/incallui/ReturnToCallController.java +++ b/java/com/android/incallui/ReturnToCallController.java @@ -32,7 +32,7 @@ import com.android.bubble.BubbleInfo; import com.android.bubble.BubbleInfo.Action; import com.android.contacts.common.util.ContactDisplayUtils; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.lettertile.LetterTileDrawable; import com.android.dialer.telecom.TelecomUtil; import com.android.dialer.theme.base.ThemeComponent; @@ -82,7 +82,9 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio private InCallState inCallState; public static boolean isEnabled(Context context) { - return ConfigProviderBindings.get(context).getBoolean("enable_return_to_call_bubble_v2", false); + return ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean("enable_return_to_call_bubble_v2", false); } public ReturnToCallController(Context context, ContactInfoCache contactInfoCache) { diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java index 27d23c4ae..6519e00ac 100644 --- a/java/com/android/incallui/StatusBarNotifier.java +++ b/java/com/android/incallui/StatusBarNotifier.java @@ -66,7 +66,7 @@ import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.common.util.ContactDisplayUtils; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.contactphoto.BitmapUtil; import com.android.dialer.enrichedcall.EnrichedCallManager; import com.android.dialer.enrichedcall.Session; @@ -292,7 +292,8 @@ public class StatusBarNotifier if (callState == DialerCallState.INCOMING || callState == DialerCallState.CALL_WAITING || isVideoUpgradeRequest) { - if (ConfigProviderBindings.get(context) + if (ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("quiet_incoming_call_if_ui_showing", true)) { notificationType = InCallPresenter.getInstance().isShowingInCallUi() diff --git a/java/com/android/incallui/VideoCallPresenter.java b/java/com/android/incallui/VideoCallPresenter.java index 41c33543b..88713f48d 100644 --- a/java/com/android/incallui/VideoCallPresenter.java +++ b/java/com/android/incallui/VideoCallPresenter.java @@ -29,7 +29,7 @@ import android.view.Surface; import android.view.SurfaceView; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.util.PermissionsUtil; import com.android.incallui.InCallPresenter.InCallDetailsListener; import com.android.incallui.InCallPresenter.InCallOrientationListener; @@ -1081,7 +1081,9 @@ public class VideoCallPresenter "VideoCallPresenter.shouldShowCameraPermissionToast", "already shown for this call"); return false; } - if (!ConfigProviderBindings.get(context).getBoolean("camera_permission_dialog_allowed", true)) { + if (!ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean("camera_permission_dialog_allowed", true)) { LogUtil.i("VideoCallPresenter.shouldShowCameraPermissionToast", "disabled by config"); return false; } diff --git a/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java b/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java index b661579a3..494a6224d 100644 --- a/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java +++ b/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java @@ -20,7 +20,7 @@ import android.content.Context; import android.hardware.SensorEvent; import android.util.DisplayMetrics; import android.view.MotionEvent; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; /** An classifier trying to determine whether it is a human interacting with the phone or not. */ class HumanInteractionClassifier extends Classifier { @@ -44,7 +44,8 @@ class HumanInteractionClassifier extends Classifier { classifierData = new ClassifierData(dpi, displayMetrics.heightPixels); historyEvaluator = new HistoryEvaluator(); enabled = - ConfigProviderBindings.get(context) + ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(CONFIG_ANSWER_FALSE_TOUCH_DETECTION_ENABLED, true); strokeClassifiers = diff --git a/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java b/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java index 2ed434660..734fa96ad 100644 --- a/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java +++ b/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java @@ -24,7 +24,7 @@ import android.support.annotation.NonNull; import android.support.annotation.VisibleForTesting; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.storage.StorageComponent; import com.android.incallui.util.AccessibilityUtil; @@ -95,7 +95,9 @@ public class AnswerHintFactory { .unencryptedSharedPrefs() .getInt(ANSWERED_COUNT_PREFERENCE_KEY, 0); long threshold = - ConfigProviderBindings.get(context).getLong(CONFIG_ANSWER_HINT_ANSWERED_THRESHOLD_KEY, 3); + ConfigProviderComponent.get(context) + .getConfigProvider() + .getLong(CONFIG_ANSWER_HINT_ANSWERED_THRESHOLD_KEY, 3); LogUtil.i( "AnswerHintFactory.shouldShowAnswerHint", "answerCount: %d, threshold: %d", @@ -110,7 +112,8 @@ public class AnswerHintFactory { * string. */ private static boolean isDeviceWhitelisted(Context context, String device) { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getString(CONFIG_ANSWER_HINT_WHITELISTED_DEVICES_KEY, DEFAULT_WHITELISTED_DEVICES_CSV) .contains("/" + device + "/"); } diff --git a/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java b/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java index f6444e5b4..e9d2c6f0a 100644 --- a/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java +++ b/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java @@ -25,7 +25,7 @@ import android.support.annotation.VisibleForTesting; import android.text.TextUtils; import android.widget.Toast; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.logging.DialerImpression.Type; import com.android.dialer.logging.Logger; import com.android.dialer.storage.StorageComponent; @@ -62,7 +62,9 @@ public class PawSecretCodeListener extends BroadcastReceiver { return; } String secretCode = - ConfigProviderBindings.get(context).getString(CONFIG_PAW_SECRET_CODE, "729"); + ConfigProviderComponent.get(context) + .getConfigProvider() + .getString(CONFIG_PAW_SECRET_CODE, "729"); if (secretCode == null) { return; } diff --git a/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java b/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java index 939d12014..8aeb05fea 100644 --- a/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java +++ b/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java @@ -22,7 +22,7 @@ import android.os.PowerManager; import android.os.Trace; import android.view.Display; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.incallui.call.DialerCall; import com.android.incallui.call.DialerCallListener; import com.android.incallui.call.state.DialerCallState; @@ -53,7 +53,8 @@ public class AnswerProximitySensor return false; } - if (!ConfigProviderBindings.get(context) + if (!ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(CONFIG_ANSWER_PROXIMITY_SENSOR_ENABLED, true)) { LogUtil.i("AnswerProximitySensor.shouldUse", "disabled by config"); Trace.endSection(); @@ -84,7 +85,8 @@ public class AnswerProximitySensor this.call = call; LogUtil.i("AnswerProximitySensor.constructor", "acquiring lock"); - if (ConfigProviderBindings.get(context) + if (ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(CONFIG_ANSWER_PSEUDO_PROXIMITY_WAKE_LOCK_ENABLED, true)) { answerProximityWakeLock = new PseudoProximityWakeLock(context, pseudoScreenState); } else { diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java index 56a88b156..904a5a833 100644 --- a/java/com/android/incallui/call/DialerCall.java +++ b/java/com/android/incallui/call/DialerCall.java @@ -60,7 +60,7 @@ import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DefaultFutureCallback; import com.android.dialer.compat.telephony.TelephonyManagerCompat; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.duo.DuoComponent; import com.android.dialer.enrichedcall.EnrichedCallCapabilities; import com.android.dialer.enrichedcall.EnrichedCallComponent; @@ -842,7 +842,8 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa boolean isInEmergencyCallbackWindow(long timestampMillis) { long emergencyCallbackWindowMillis = - ConfigProviderBindings.get(context) + ConfigProviderComponent.get(context) + .getConfigProvider() .getLong(CONFIG_EMERGENCY_CALLBACK_WINDOW_MILLIS, TimeUnit.MINUTES.toMillis(5)); return System.currentTimeMillis() - timestampMillis < emergencyCallbackWindowMillis; } diff --git a/java/com/android/incallui/contactgrid/ContactGridManager.java b/java/com/android/incallui/contactgrid/ContactGridManager.java index 6d04a2735..86d71141c 100644 --- a/java/com/android/incallui/contactgrid/ContactGridManager.java +++ b/java/com/android/incallui/contactgrid/ContactGridManager.java @@ -35,7 +35,7 @@ import android.widget.TextView; import android.widget.ViewAnimator; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.glidephotomanager.GlidePhotoManagerComponent; import com.android.dialer.glidephotomanager.PhotoInfo; import com.android.dialer.lettertile.LetterTileDrawable; @@ -301,7 +301,9 @@ public class ContactGridManager { if (hideAvatar) { avatarImageView.setVisibility(View.GONE); } else if (avatarSize > 0 && updateAvatarVisibility()) { - if (ConfigProviderBindings.get(context).getBoolean("enable_glide_photo", false)) { + if (ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean("enable_glide_photo", false)) { loadPhotoWithGlide(); } else { loadPhotoWithLegacy(); diff --git a/java/com/android/incallui/spam/SpamAlternativeExperimentUtil.java b/java/com/android/incallui/spam/SpamAlternativeExperimentUtil.java index 52eadcff3..27942d8d2 100644 --- a/java/com/android/incallui/spam/SpamAlternativeExperimentUtil.java +++ b/java/com/android/incallui/spam/SpamAlternativeExperimentUtil.java @@ -18,7 +18,7 @@ package com.android.incallui.spam; import android.content.Context; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; /** Returns resource id based on experiment number. */ public final class SpamAlternativeExperimentUtil { @@ -29,7 +29,9 @@ public final class SpamAlternativeExperimentUtil { */ public static int getResourceIdByName(String resourceName, Context context) { long experiment = - ConfigProviderBindings.get(context).getLong("experiment_for_alternative_spam_word", 230150); + ConfigProviderComponent.get(context) + .getConfigProvider() + .getLong("experiment_for_alternative_spam_word", 230150); LogUtil.i( "SpamAlternativeExperimentUtil.getResourceIdByName", "using experiment %d", experiment); String modifiedResourceName = resourceName; diff --git a/java/com/android/incallui/videotech/duo/DuoVideoTech.java b/java/com/android/incallui/videotech/duo/DuoVideoTech.java index ac74e54df..47f075700 100644 --- a/java/com/android/incallui/videotech/duo/DuoVideoTech.java +++ b/java/com/android/incallui/videotech/duo/DuoVideoTech.java @@ -24,7 +24,7 @@ import android.telecom.PhoneAccountHandle; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DefaultFutureCallback; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.dialer.duo.Duo; import com.android.dialer.duo.DuoListener; import com.android.dialer.logging.DialerImpression; @@ -60,7 +60,8 @@ public class DuoVideoTech implements VideoTech, DuoListener { @Override public boolean isAvailable(Context context, PhoneAccountHandle phoneAccountHandle) { - if (!ConfigProviderBindings.get(context) + if (!ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("enable_lightbringer_video_upgrade", true)) { LogUtil.v("DuoVideoTech.isAvailable", "upgrade disabled by flag"); return false; diff --git a/java/com/android/voicemail/impl/DialerVvmConfigManager.java b/java/com/android/voicemail/impl/DialerVvmConfigManager.java index 7fa960e34..99c95ddce 100644 --- a/java/com/android/voicemail/impl/DialerVvmConfigManager.java +++ b/java/com/android/voicemail/impl/DialerVvmConfigManager.java @@ -23,7 +23,7 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.VisibleForTesting; import android.util.ArrayMap; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.voicemail.impl.utils.XmlUtils; import com.google.common.collect.ComparisonChain; import java.io.IOException; @@ -133,7 +133,8 @@ public class DialerVvmConfigManager { PersistableBundle bundle = (PersistableBundle) object; if (bundle.containsKey(KEY_FEATURE_FLAG_NAME) - && !ConfigProviderBindings.get(context) + && !ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean(bundle.getString(KEY_FEATURE_FLAG_NAME), false)) { continue; } diff --git a/java/com/android/voicemail/impl/VoicemailClientImpl.java b/java/com/android/voicemail/impl/VoicemailClientImpl.java index 187ded932..36e5a6c58 100644 --- a/java/com/android/voicemail/impl/VoicemailClientImpl.java +++ b/java/com/android/voicemail/impl/VoicemailClientImpl.java @@ -30,7 +30,7 @@ import android.telecom.PhoneAccountHandle; import android.telephony.TelephonyManager; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.voicemail.PinChanger; import com.android.voicemail.VisualVoicemailTypeExtensions; import com.android.voicemail.VoicemailClient; @@ -105,7 +105,9 @@ public class VoicemailClientImpl implements VoicemailClient { return false; } - if (!ConfigProviderBindings.get(context).getBoolean(ALLOW_VOICEMAIL_ARCHIVE, false)) { + if (!ConfigProviderComponent.get(context) + .getConfigProvider() + .getBoolean(ALLOW_VOICEMAIL_ARCHIVE, false)) { LogUtil.i( "VoicemailClientImpl.isVoicemailArchiveAllowed", "feature disabled by config: %s", diff --git a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java index ce5094f1a..6ac233729 100644 --- a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java +++ b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java @@ -31,7 +31,7 @@ import android.text.Html; import android.text.Spanned; import android.text.style.URLSpan; import android.util.ArrayMap; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import com.android.voicemail.impl.ActivationTask; import com.android.voicemail.impl.Assert; import com.android.voicemail.impl.OmtpEvents; @@ -312,7 +312,8 @@ public class Vvm3Subscriber { @VisibleForTesting static List getSubscribeLinkPatterns(Context context) { String patternsJsonString = - ConfigProviderBindings.get(context) + ConfigProviderComponent.get(context) + .getConfigProvider() .getString( VVM3_SUBSCRIBE_LINK_PATTERNS_JSON_ARRAY, VVM3_SUBSCRIBE_LINK_DEFAULT_PATTERNS); List patterns = new ArrayList<>(); diff --git a/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java b/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java index 54a1ae4d4..66bf16c24 100644 --- a/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java +++ b/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java @@ -17,7 +17,7 @@ package com.android.voicemail.impl.transcribe; import android.content.Context; import android.os.Build; -import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.configprovider.ConfigProviderComponent; import java.util.concurrent.TimeUnit; /** Provides configuration values needed to connect to the transcription server. */ @@ -30,20 +30,23 @@ public class TranscriptionConfigProvider { public boolean isVoicemailTranscriptionAvailable() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O - && ConfigProviderBindings.get(context) + && ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("voicemail_transcription_available", false); } public String getServerAddress() { // Private voicemail transcription service - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getString( "voicemail_transcription_server_address", "voicemailtranscription-pa.googleapis.com"); } public String getApiKey() { // Android API key restricted to com.google.android.dialer - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getString( "voicemail_transcription_client_api_key", "AIzaSyAXdDnif6B7sBYxU8hzw9qAp3pRPVHs060"); } @@ -53,47 +56,55 @@ public class TranscriptionConfigProvider { } public boolean shouldUsePlaintext() { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("voicemail_transcription_server_use_plaintext", false); } public boolean shouldUseSyncApi() { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("voicemail_transcription_server_use_sync_api", false); } public long getMaxTranscriptionRetries() { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getLong("voicemail_transcription_max_transcription_retries", 2L); } public int getMaxGetTranscriptPolls() { return (int) - ConfigProviderBindings.get(context) + ConfigProviderComponent.get(context) + .getConfigProvider() .getLong("voicemail_transcription_max_get_transcript_polls", 20L); } public long getInitialGetTranscriptPollDelayMillis() { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getLong( "voicemail_transcription_get_initial_transcript_poll_delay_millis", TimeUnit.SECONDS.toMillis(1)); } public long getMaxGetTranscriptPollTimeMillis() { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getLong( "voicemail_transcription_get_max_transcript_poll_time_millis", TimeUnit.MINUTES.toMillis(20)); } public boolean isVoicemailDonationAvailable() { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("voicemail_transcription_donation_available", false); } public boolean useClientGeneratedVoicemailIds() { - return ConfigProviderBindings.get(context) + return ConfigProviderComponent.get(context) + .getConfigProvider() .getBoolean("voicemail_transcription_client_generated_voicemail_ids", false); } -- cgit v1.2.3 From f0d515573aa65c265ccb104ca982a5ccfbd0fa24 Mon Sep 17 00:00:00 2001 From: wangqi Date: Thu, 31 May 2018 18:42:57 -0700 Subject: Fix color of primary text on incall screen. Bug: 79883035 Test: manual PiperOrigin-RevId: 198813765 Change-Id: If7dda82316946c7d1c07a3d7fb08e13c858807be --- java/com/android/incallui/theme/res/values/styles.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/java/com/android/incallui/theme/res/values/styles.xml b/java/com/android/incallui/theme/res/values/styles.xml index 0ea09588d..3746ce760 100644 --- a/java/com/android/incallui/theme/res/values/styles.xml +++ b/java/com/android/incallui/theme/res/values/styles.xml @@ -34,6 +34,7 @@