From a93df43762f1539593da5f90bec16be2be01d281 Mon Sep 17 00:00:00 2001 From: calderwoodra Date: Wed, 23 May 2018 12:59:03 -0700 Subject: Converted ThemeUtil into a DaggerModule. This enables us to have Google-Sans font in GoogleDialer and Roboto in AOSP. Bug: 79883035 Test: tap PiperOrigin-RevId: 197774497 Change-Id: I1d490ab196a444c62e439444627d659fc42973ea --- java/com/android/incallui/ExternalCallNotifier.java | 5 +++-- java/com/android/incallui/InCallPresenter.java | 3 +-- .../incallui/InCallUIMaterialColorMapUtils.java | 18 +++++++++++------- java/com/android/incallui/ReturnToCallController.java | 5 +++-- java/com/android/incallui/StatusBarNotifier.java | 3 ++- .../audioroute/AudioRouteSelectorDialogFragment.java | 5 +++-- .../android/incallui/spam/SpamCallListListener.java | 3 ++- 7 files changed, 25 insertions(+), 17 deletions(-) (limited to 'java/com/android/incallui') diff --git a/java/com/android/incallui/ExternalCallNotifier.java b/java/com/android/incallui/ExternalCallNotifier.java index 8c882d2a3..10c4a6490 100644 --- a/java/com/android/incallui/ExternalCallNotifier.java +++ b/java/com/android/incallui/ExternalCallNotifier.java @@ -45,6 +45,7 @@ import com.android.dialer.contactphoto.BitmapUtil; import com.android.dialer.notification.DialerNotificationManager; import com.android.dialer.notification.NotificationChannelId; import com.android.dialer.telecom.TelecomCallUtil; +import com.android.dialer.theme.base.ThemeComponent; import com.android.incallui.call.DialerCall; import com.android.incallui.call.DialerCallDelegate; import com.android.incallui.call.ExternalCallList; @@ -239,7 +240,7 @@ public class ExternalCallNotifier implements ExternalCallList.ExternalCallListen builder.setSmallIcon(R.drawable.quantum_ic_call_white_24); builder.setContentTitle(info.getContentTitle()); builder.setLargeIcon(info.getLargeIcon()); - builder.setColor(context.getResources().getColor(R.color.dialer_theme_color)); + builder.setColor(ThemeComponent.get(context).theme().getColorPrimary()); builder.addPerson(info.getPersonReference()); if (BuildCompat.isAtLeastO()) { builder.setChannelId(NotificationChannelId.DEFAULT); @@ -275,7 +276,7 @@ public class ExternalCallNotifier implements ExternalCallList.ExternalCallListen */ Notification.Builder publicBuilder = new Notification.Builder(context); publicBuilder.setSmallIcon(R.drawable.quantum_ic_call_white_24); - publicBuilder.setColor(context.getResources().getColor(R.color.dialer_theme_color)); + publicBuilder.setColor(ThemeComponent.get(context).theme().getColorPrimary()); if (BuildCompat.isAtLeastO()) { publicBuilder.setChannelId(NotificationChannelId.DEFAULT); } diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java index da5d20fa3..5aabf0694 100644 --- a/java/com/android/incallui/InCallPresenter.java +++ b/java/com/android/incallui/InCallPresenter.java @@ -365,8 +365,7 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.Aud addListener(this.proximitySensor); if (themeColorManager == null) { - themeColorManager = - new ThemeColorManager(new InCallUIMaterialColorMapUtils(this.context.getResources())); + themeColorManager = new ThemeColorManager(new InCallUIMaterialColorMapUtils(this.context)); } this.callList = callList; diff --git a/java/com/android/incallui/InCallUIMaterialColorMapUtils.java b/java/com/android/incallui/InCallUIMaterialColorMapUtils.java index 945e9fb5a..c566f7987 100644 --- a/java/com/android/incallui/InCallUIMaterialColorMapUtils.java +++ b/java/com/android/incallui/InCallUIMaterialColorMapUtils.java @@ -16,31 +16,35 @@ package com.android.incallui; +import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; import android.telecom.PhoneAccount; import com.android.contacts.common.util.MaterialColorMapUtils; +import com.android.dialer.theme.base.ThemeComponent; public class InCallUIMaterialColorMapUtils extends MaterialColorMapUtils { private final TypedArray primaryColors; private final TypedArray secondaryColors; private final Resources resources; + private final Context context; - public InCallUIMaterialColorMapUtils(Resources resources) { - super(resources); + public InCallUIMaterialColorMapUtils(Context context) { + super(context.getResources()); + this.resources = context.getResources(); + this.context = context; primaryColors = resources.obtainTypedArray(R.array.background_colors); secondaryColors = resources.obtainTypedArray(R.array.background_colors_dark); - this.resources = resources; } /** * {@link Resources#getColor(int) used for compatibility */ @SuppressWarnings("deprecation") - public static MaterialPalette getDefaultPrimaryAndSecondaryColors(Resources resources) { - final int primaryColor = resources.getColor(R.color.dialer_theme_color); - final int secondaryColor = resources.getColor(R.color.dialer_theme_color_dark); + public static MaterialPalette getDefaultPrimaryAndSecondaryColors(Context context) { + final int primaryColor = ThemeComponent.get(context).theme().getColorPrimary(); + final int secondaryColor = ThemeComponent.get(context).theme().getColorPrimaryDark(); return new MaterialPalette(primaryColor, secondaryColor); } @@ -52,7 +56,7 @@ public class InCallUIMaterialColorMapUtils extends MaterialColorMapUtils { @Override public MaterialPalette calculatePrimaryAndSecondaryColor(int color) { if (color == PhoneAccount.NO_HIGHLIGHT_COLOR) { - return getDefaultPrimaryAndSecondaryColors(resources); + return getDefaultPrimaryAndSecondaryColors(context); } for (int i = 0; i < primaryColors.length(); i++) { diff --git a/java/com/android/incallui/ReturnToCallController.java b/java/com/android/incallui/ReturnToCallController.java index 7c4585ca1..09e1845aa 100644 --- a/java/com/android/incallui/ReturnToCallController.java +++ b/java/com/android/incallui/ReturnToCallController.java @@ -35,6 +35,7 @@ import com.android.dialer.common.LogUtil; import com.android.dialer.configprovider.ConfigProviderBindings; import com.android.dialer.lettertile.LetterTileDrawable; import com.android.dialer.telecom.TelecomUtil; +import com.android.dialer.theme.base.ThemeComponent; import com.android.incallui.ContactInfoCache.ContactCacheEntry; import com.android.incallui.ContactInfoCache.ContactInfoCacheCallback; import com.android.incallui.InCallPresenter.InCallState; @@ -288,7 +289,7 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio private BubbleInfo generateBubbleInfo() { return BubbleInfo.builder() - .setPrimaryColor(context.getResources().getColor(R.color.dialer_theme_color, null)) + .setPrimaryColor(ThemeComponent.get(context).theme().getColorPrimary()) .setPrimaryIcon(Icon.createWithResource(context, R.drawable.on_going_call)) .setStartingYPosition( InCallPresenter.getInstance().shouldStartInBubbleMode() @@ -302,7 +303,7 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio private BubbleInfo generateBubbleInfoForBackgroundCalling() { return BubbleInfo.builder() - .setPrimaryColor(context.getResources().getColor(R.color.dialer_theme_color, null)) + .setPrimaryColor(ThemeComponent.get(context).theme().getColorPrimary()) .setPrimaryIcon(Icon.createWithResource(context, R.drawable.on_going_call)) .setStartingYPosition(context.getResources().getDisplayMetrics().heightPixels / 2) .setActions(generateActions()) diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java index 32d202595..27d23c4ae 100644 --- a/java/com/android/incallui/StatusBarNotifier.java +++ b/java/com/android/incallui/StatusBarNotifier.java @@ -75,6 +75,7 @@ import com.android.dialer.lettertile.LetterTileDrawable.ContactType; import com.android.dialer.multimedia.MultimediaData; import com.android.dialer.notification.NotificationChannelId; import com.android.dialer.oem.MotorolaUtils; +import com.android.dialer.theme.base.ThemeComponent; import com.android.dialer.util.DrawableConverter; import com.android.incallui.ContactInfoCache.ContactCacheEntry; import com.android.incallui.ContactInfoCache.ContactInfoCacheCallback; @@ -333,7 +334,7 @@ public class StatusBarNotifier Notification.Builder publicBuilder = new Notification.Builder(context); publicBuilder .setSmallIcon(iconResId) - .setColor(context.getResources().getColor(R.color.dialer_theme_color, context.getTheme())) + .setColor(ThemeComponent.get(context).theme().getColorPrimary()) // Hide work call state for the lock screen notification .setContentTitle(getContentString(call, ContactsUtils.USER_TYPE_CURRENT)); setNotificationWhen(call, callState, publicBuilder); diff --git a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java index a561b5ee5..846834f63 100644 --- a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java +++ b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java @@ -39,6 +39,7 @@ import com.android.dialer.common.FragmentUtils; import com.android.dialer.common.LogUtil; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; +import com.android.dialer.theme.base.ThemeComponent; import com.android.incallui.call.CallList; import com.android.incallui.call.DialerCall; import com.android.incallui.call.TelecomAdapter; @@ -154,7 +155,7 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment final int itemRoute, CallAudioState audioState, DialerImpression.Type impressionType) { - int selectedColor = getResources().getColor(R.color.dialer_theme_color); + int selectedColor = ThemeComponent.get(getContext()).theme().getColorPrimary(); if ((audioState.getSupportedRouteMask() & itemRoute) == 0) { item.setVisibility(View.GONE); } else if (audioState.getRoute() == itemRoute) { @@ -174,7 +175,7 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment } private TextView createBluetoothItem(BluetoothDevice bluetoothDevice, boolean selected) { - int selectedColor = getResources().getColor(R.color.dialer_theme_color); + int selectedColor = ThemeComponent.get(getContext()).theme().getColorPrimary(); TextView textView = (TextView) getLayoutInflater().inflate(R.layout.audioroute_item, null, false); textView.setText(getAliasName(bluetoothDevice)); diff --git a/java/com/android/incallui/spam/SpamCallListListener.java b/java/com/android/incallui/spam/SpamCallListListener.java index d03055568..3b2f1c519 100644 --- a/java/com/android/incallui/spam/SpamCallListListener.java +++ b/java/com/android/incallui/spam/SpamCallListListener.java @@ -49,6 +49,7 @@ import com.android.dialer.notification.NotificationChannelId; import com.android.dialer.phonenumberutil.PhoneNumberHelper; import com.android.dialer.spam.SpamComponent; import com.android.dialer.telecom.TelecomUtil; +import com.android.dialer.theme.base.ThemeComponent; import com.android.dialer.util.PermissionsUtil; import com.android.incallui.call.CallList; import com.android.incallui.call.DialerCall; @@ -256,7 +257,7 @@ public class SpamCallListListener implements CallList.Listener { createActivityPendingIntent(call, SpamNotificationActivity.ACTION_SHOW_DIALOG)) .setCategory(Notification.CATEGORY_STATUS) .setPriority(Notification.PRIORITY_DEFAULT) - .setColor(context.getColor(R.color.dialer_theme_color)) + .setColor(ThemeComponent.get(context).theme().getColorPrimary()) .setSmallIcon(R.drawable.quantum_ic_call_end_vd_theme_24) .setGroup(GROUP_KEY); if (BuildCompat.isAtLeastO()) { -- cgit v1.2.3