Merge "Controls UI - Use custom icon for favoriting" into rvc-dev am: c472565de6 am: 313ff21f03

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11941803

Change-Id: Iaec962ae72dec1731cb16c4b04c31f12ef143779
This commit is contained in:
Matt Pietal
2020-06-22 15:25:46 +00:00
committed by Automerger Merge Worker
3 changed files with 20 additions and 7 deletions

View File

@@ -17,6 +17,7 @@
package com.android.systemui.controls
import android.content.ComponentName
import android.graphics.drawable.Icon
import android.service.controls.Control
import android.service.controls.DeviceTypes
@@ -28,6 +29,7 @@ interface ControlInterface {
val subtitle: CharSequence
val removed: Boolean
get() = false
val customIcon: Icon?
@DeviceTypes.DeviceType val deviceType: Int
}
@@ -46,6 +48,9 @@ data class ControlStatus(
override val subtitle: CharSequence
get() = control.subtitle
override val customIcon: Icon?
get() = control.customIcon
@DeviceTypes.DeviceType override val deviceType: Int
get() = control.deviceType
}

View File

@@ -238,7 +238,7 @@ internal class ControlHolder(
updateFavorite(!favorite.isChecked)
favoriteCallback(wrapper.controlId, favorite.isChecked)
}
applyRenderInfo(renderInfo, wrapper.deviceType)
applyRenderInfo(renderInfo, wrapper)
}
override fun updateFavorite(favorite: Boolean) {
@@ -254,15 +254,19 @@ internal class ControlHolder(
return RenderInfo.lookup(itemView.context, component, deviceType)
}
private fun applyRenderInfo(ri: RenderInfo, @DeviceTypes.DeviceType deviceType: Int) {
private fun applyRenderInfo(ri: RenderInfo, ci: ControlInterface) {
val context = itemView.context
val fg = context.getResources().getColorStateList(ri.foreground, context.getTheme())
icon.setImageDrawable(ri.icon)
ci.customIcon?.let {
icon.setImageIcon(it)
} ?: run {
icon.setImageDrawable(ri.icon)
// Do not color app icons
if (deviceType != DeviceTypes.TYPE_ROUTINE) {
icon.setImageTintList(fg)
// Do not color app icons
if (ci.deviceType != DeviceTypes.TYPE_ROUTINE) {
icon.setImageTintList(fg)
}
}
}
}

View File

@@ -17,6 +17,7 @@
package com.android.systemui.controls.management
import android.content.ComponentName
import android.graphics.drawable.Icon
import androidx.recyclerview.widget.RecyclerView
import com.android.systemui.controls.ControlInterface
import com.android.systemui.controls.ControlStatus
@@ -126,9 +127,12 @@ data class ControlInfoWrapper(
get() = controlInfo.controlSubtitle
override val deviceType: Int
get() = controlInfo.deviceType
override val customIcon: Icon?
// Will need to address to support for edit activity
get() = null
}
data class DividerWrapper(
var showNone: Boolean = false,
var showDivider: Boolean = false
) : ElementWrapper()
) : ElementWrapper()