diff options
author | 2024-07-31 16:59:48 +0000 | |
---|---|---|
committer | 2024-10-08 19:46:23 +0000 | |
commit | 6f5a0ad1921813d5df1b17795b738cb556be2f12 (patch) | |
tree | f0595915e500530c318f103129debb08fc454d24 /packages/CompanionDeviceManager/src | |
parent | beb79048744267afcb24be8a26017e2d9a74d24a (diff) |
[W]SelfManaged Association device icon
Introduce custom self managed associaiton device icon
API that allow a system app to set the device icon that
displayed in the self managed association dialog and
this device icon will be stored in AssociationInfo
Test: CTS
Bug: 359341630
Flag: android.companion.association_device_icon
Change-Id: Ifa8f3f4016ff748a827e500824c86b95af12b1df
Diffstat (limited to 'packages/CompanionDeviceManager/src')
-rw-r--r-- | packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java index 7974a37aea57..39bbc25c9384 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java @@ -61,6 +61,7 @@ import android.graphics.BlendMode; import android.graphics.BlendModeColorFilter; import android.graphics.Color; import android.graphics.drawable.Drawable; +import android.graphics.drawable.Icon; import android.net.MacAddress; import android.os.Bundle; import android.os.Handler; @@ -130,6 +131,8 @@ public class CompanionAssociationActivity extends FragmentActivity implements // Present for single device and multiple device only. private ImageView mProfileIcon; + // Present for self managed association only; + private ImageView mDeviceIcon; // Only present for selfManaged devices. private ImageView mVendorHeaderImage; @@ -306,6 +309,8 @@ public class CompanionAssociationActivity extends FragmentActivity implements mVendorHeaderName = findViewById(R.id.vendor_header_name); mVendorHeaderButton = findViewById(R.id.vendor_header_button); + mDeviceIcon = findViewById(R.id.device_icon); + mDeviceListRecyclerView = findViewById(R.id.device_list); mMultipleDeviceSpinner = findViewById(R.id.spinner_multiple_device); @@ -430,6 +435,7 @@ public class CompanionAssociationActivity extends FragmentActivity implements final Drawable vendorIcon; final CharSequence vendorName; final Spanned title; + final Icon deviceIcon = mRequest.getDeviceIcon(); if (!SUPPORTED_SELF_MANAGED_PROFILES.contains(deviceProfile)) { throw new RuntimeException("Unsupported profile " + deviceProfile); @@ -452,6 +458,11 @@ public class CompanionAssociationActivity extends FragmentActivity implements title = getHtmlFromResources(this, PROFILE_TITLES.get(deviceProfile), mAppLabel, getString(R.string.device_type), deviceName); + if (deviceIcon != null) { + mDeviceIcon.setImageIcon(deviceIcon); + mDeviceIcon.setVisibility(View.VISIBLE); + } + if (PROFILE_SUMMARIES.containsKey(deviceProfile)) { final int summaryResourceId = PROFILE_SUMMARIES.get(deviceProfile); final Spanned summary = getHtmlFromResources(this, summaryResourceId, |