summaryrefslogtreecommitdiff
path: root/packages/CompanionDeviceManager/src
diff options
context:
space:
mode:
author Evan Chen <evanxinchen@google.com> 2024-07-31 16:59:48 +0000
committer Evan Chen <evanxinchen@google.com> 2024-10-08 19:46:23 +0000
commit6f5a0ad1921813d5df1b17795b738cb556be2f12 (patch)
treef0595915e500530c318f103129debb08fc454d24 /packages/CompanionDeviceManager/src
parentbeb79048744267afcb24be8a26017e2d9a74d24a (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.java11
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,