Show HD icon in call logs.

This change removes restriction of showing HD icon only for some Motorola
devices.
After this change, any devices writing
android.provider.CallLog.Calls.FEATURES_HD_CALL into call logs' feature will
be able to show HD icon.

To be able to write HD features into call logs, both CarrierConfigManager#KEY_DISPLAY_HD_AUDIO_PROPERTY_BOOL and CarrierConfigManager#KEY_IDENTIFY_HIGH_DEFINITION_CALLS_IN_CALL_LOG_BOOL must be enabled.

It's part of upstream change to enable HD icon in call logs:
https://android-review.googlesource.com/#/q/topic:hd_icon_call_log

Bug: 68108125
Test: none
PiperOrigin-RevId: 174091763
Change-Id: I17c62153ebbc866c91acdaa7a7fcbd124594772b
diff --git a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java
index 189279e..a09bfd4 100644
--- a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java
+++ b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java
@@ -89,7 +89,7 @@
     views.callTypeIcons.setShowVideo(
         (details.features & Calls.FEATURES_VIDEO) == Calls.FEATURES_VIDEO);
     views.callTypeIcons.setShowHd(
-        MotorolaUtils.shouldShowHdIconInCallLog(mContext, details.features));
+        (details.features & Calls.FEATURES_HD_CALL) == Calls.FEATURES_HD_CALL);
     views.callTypeIcons.setShowWifi(
         MotorolaUtils.shouldShowWifiIconInCallLog(mContext, details.features));
     views.callTypeIcons.requestLayout();
diff --git a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
index b98dce7..c65bb91 100644
--- a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
+++ b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
@@ -98,7 +98,8 @@
     callTypeIcon.clear();
     callTypeIcon.add(callType);
     callTypeIcon.setShowVideo(isVideoCall);
-    callTypeIcon.setShowHd(MotorolaUtils.shouldShowHdIconInCallLog(context, entry.getFeatures()));
+    callTypeIcon.setShowHd(
+        (entry.getFeatures() & Calls.FEATURES_HD_CALL) == Calls.FEATURES_HD_CALL);
     callTypeIcon.setShowWifi(
         MotorolaUtils.shouldShowWifiIconInCallLog(context, entry.getFeatures()));
 
diff --git a/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java
index 4e59301..9ddb65d 100644
--- a/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java
+++ b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java
@@ -115,7 +115,7 @@
   private void setPrimaryCallTypes(CoalescedRow row) {
     // Only HD and Wifi icons are shown following the primary text.
     primaryCallTypeIconsView.setShowHd(
-        MotorolaUtils.shouldShowHdIconInCallLog(context, row.features()));
+        (row.features() & Calls.FEATURES_HD_CALL) == Calls.FEATURES_HD_CALL);
     primaryCallTypeIconsView.setShowWifi(
         MotorolaUtils.shouldShowWifiIconInCallLog(context, row.features()));
   }
diff --git a/java/com/android/dialer/calllogutils/CallTypeIconsView.java b/java/com/android/dialer/calllogutils/CallTypeIconsView.java
index 58e4acf..bf33faa 100644
--- a/java/com/android/dialer/calllogutils/CallTypeIconsView.java
+++ b/java/com/android/dialer/calllogutils/CallTypeIconsView.java
@@ -24,6 +24,7 @@
 import android.graphics.PorterDuff;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
+import android.support.annotation.VisibleForTesting;
 import android.util.AttributeSet;
 import android.view.View;
 import com.android.dialer.compat.AppCompatConstants;
@@ -117,6 +118,11 @@
     }
   }
 
+  @VisibleForTesting
+  public boolean isHdShown() {
+    return mShowHd;
+  }
+
   public void setShowWifi(boolean showWifi) {
     mShowWifi = showWifi;
     if (showWifi) {
diff --git a/java/com/android/dialer/oem/MotorolaUtils.java b/java/com/android/dialer/oem/MotorolaUtils.java
index a2757d3..5a0800e 100644
--- a/java/com/android/dialer/oem/MotorolaUtils.java
+++ b/java/com/android/dialer/oem/MotorolaUtils.java
@@ -32,8 +32,6 @@
       "hd_codec_blinking_icon_when_connecting_enabled";
   private static final String CONFIG_HD_CODEC_SHOW_ICON_IN_NOTIFICATION_ENABLED =
       "hd_codec_show_icon_in_notification_enabled";
-  private static final String CONFIG_HD_CODEC_SHOW_ICON_IN_CALL_LOG_ENABLED =
-      "hd_codec_show_icon_in_call_log_enabled";
   private static final String CONFIG_WIFI_CALL_SHOW_ICON_IN_CALL_LOG_ENABLED =
       "wifi_call_show_icon_in_call_log_enabled";
 
@@ -80,13 +78,6 @@
         && isSupportingSprintHdCodec(context);
   }
 
-  public static boolean shouldShowHdIconInCallLog(Context context, int features) {
-    return ConfigProviderBindings.get(context)
-            .getBoolean(CONFIG_HD_CODEC_SHOW_ICON_IN_CALL_LOG_ENABLED, true)
-        && (features & Calls.FEATURES_HD_CALL) == Calls.FEATURES_HD_CALL
-        && isSupportingSprintHdCodec(context);
-  }
-
   public static boolean shouldShowWifiIconInCallLog(Context context, int features) {
     return ConfigProviderBindings.get(context)
             .getBoolean(CONFIG_WIFI_CALL_SHOW_ICON_IN_CALL_LOG_ENABLED, true)