diff options
author | 2023-03-17 22:06:58 +0000 | |
---|---|---|
committer | 2023-03-20 19:37:05 +0000 | |
commit | 7b90598f5faa068b504846010ac722a79f10a5a9 (patch) | |
tree | 213438873e01464ac3edafbf9abe46cf7228016c /packages/CompanionDeviceManager/src | |
parent | 2ecdb0e0b307a3e2f3fd2891a1dac87ef037c651 (diff) |
Fix color ration for dark mode for device icon
Demo: https://screenshot.googleplex.com/7NHxQzcSYma6aiA
Bug: 272417217
Test: CTS
Change-Id: I87c8853c5bdcaa0d521fdb0956a324c02f49aee0
Diffstat (limited to 'packages/CompanionDeviceManager/src')
3 files changed, 22 insertions, 5 deletions
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java index 8316f9df323f..8e96990bd1e2 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java @@ -39,6 +39,7 @@ import static com.android.companiondevicemanager.CompanionDeviceResources.TITLES import static com.android.companiondevicemanager.Utils.getApplicationLabel; import static com.android.companiondevicemanager.Utils.getHtmlFromResources; import static com.android.companiondevicemanager.Utils.getIcon; +import static com.android.companiondevicemanager.Utils.getImageColor; import static com.android.companiondevicemanager.Utils.getVendorHeaderIcon; import static com.android.companiondevicemanager.Utils.getVendorHeaderName; import static com.android.companiondevicemanager.Utils.hasVendorIcon; @@ -56,7 +57,6 @@ import android.companion.CompanionDeviceManager; import android.companion.IAssociationRequestCallback; import android.content.Intent; import android.content.pm.PackageManager; -import android.content.res.Configuration; import android.graphics.BlendMode; import android.graphics.BlendModeColorFilter; import android.graphics.Color; @@ -459,8 +459,6 @@ public class CompanionDeviceActivity extends FragmentActivity implements final Drawable vendorIcon; final CharSequence vendorName; final Spanned title; - int nightModeFlags = getResources().getConfiguration().uiMode - & Configuration.UI_MODE_NIGHT_MASK; if (!SUPPORTED_SELF_MANAGED_PROFILES.contains(deviceProfile)) { throw new RuntimeException("Unsupported profile " + deviceProfile); @@ -473,8 +471,7 @@ public class CompanionDeviceActivity extends FragmentActivity implements vendorName = getVendorHeaderName(this, packageName, userId); mVendorHeaderImage.setImageDrawable(vendorIcon); if (hasVendorIcon(this, packageName, userId)) { - int color = nightModeFlags == Configuration.UI_MODE_NIGHT_YES - ? android.R.color.system_accent1_200 : android.R.color.system_accent1_600; + int color = getImageColor(this); mVendorHeaderImage.setColorFilter(getResources().getColor(color, /* Theme= */null)); } } catch (PackageManager.NameNotFoundException e) { diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java index 328c67ebb216..d8348d1c9218 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java @@ -17,6 +17,7 @@ package com.android.companiondevicemanager; import static com.android.companiondevicemanager.Utils.getIcon; +import static com.android.companiondevicemanager.Utils.getImageColor; import android.content.Context; import android.view.LayoutInflater; @@ -65,6 +66,10 @@ class DeviceListAdapter extends RecyclerView.Adapter<DeviceListAdapter.ViewHolde viewHolder.mImageView.setImageDrawable( getIcon(mContext, android.R.drawable.stat_sys_data_bluetooth)); } + + viewHolder.mImageView.setColorFilter( + mContext.getResources().getColor(getImageColor(mContext), /* Theme= */null)); + return viewHolder; } diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java index fceca91ce617..8c14f8037e64 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java @@ -22,6 +22,7 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.ApplicationInfoFlags; +import android.content.res.Configuration; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; @@ -120,6 +121,20 @@ class Utils { } } + private static boolean isDarkTheme(@NonNull Context context) { + int nightModeFlags = context.getResources().getConfiguration().uiMode + & Configuration.UI_MODE_NIGHT_MASK; + return nightModeFlags == Configuration.UI_MODE_NIGHT_YES; + } + + // Get image color for the corresponding theme. + static int getImageColor(@NonNull Context context) { + if (isDarkTheme(context)) { + return android.R.color.system_accent1_200; + } else { + return android.R.color.system_accent1_600; + } + } /** * Getting ApplicationInfo from meta-data. */ |