[Media TTT] Add the background back to the receiver chip.
Fixes: 245979191 Test: manual: See video commented on bug Test: media.taptotransfer tests Change-Id: I13c60b3b950ac5081766664582490e5b46283c5e
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
|
||||
<com.android.internal.widget.CachingIconView
|
||||
android:id="@+id/app_icon"
|
||||
android:background="@drawable/media_ttt_chip_background_receiver"
|
||||
android:layout_width="@dimen/media_ttt_icon_size_receiver"
|
||||
android:layout_height="@dimen/media_ttt_icon_size_receiver"
|
||||
android:layout_gravity="center|bottom"
|
||||
|
||||
@@ -1056,9 +1056,8 @@
|
||||
<!-- Media tap-to-transfer chip for receiver device -->
|
||||
<dimen name="media_ttt_chip_size_receiver">100dp</dimen>
|
||||
<dimen name="media_ttt_icon_size_receiver">95dp</dimen>
|
||||
<!-- Since the generic icon isn't circular, we need to scale it down so it still fits within
|
||||
the circular chip. -->
|
||||
<dimen name="media_ttt_generic_icon_size_receiver">70dp</dimen>
|
||||
<!-- Add some padding for the generic icon so it doesn't go all the way to the border. -->
|
||||
<dimen name="media_ttt_generic_icon_padding">12dp</dimen>
|
||||
<dimen name="media_ttt_receiver_vert_translation">20dp</dimen>
|
||||
|
||||
<!-- Window magnification -->
|
||||
|
||||
@@ -19,7 +19,6 @@ package com.android.systemui.media.taptotransfer.common
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.drawable.Drawable
|
||||
import com.android.internal.widget.CachingIconView
|
||||
import com.android.settingslib.Utils
|
||||
import com.android.systemui.R
|
||||
|
||||
@@ -76,29 +75,6 @@ class MediaTttUtils {
|
||||
isAppIcon = false
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets an icon to be displayed by the given view.
|
||||
*
|
||||
* @param iconSize the size in pixels that the icon should be. If null, the size of
|
||||
* [appIconView] will not be adjusted.
|
||||
*/
|
||||
fun setIcon(
|
||||
appIconView: CachingIconView,
|
||||
icon: Drawable,
|
||||
iconContentDescription: CharSequence,
|
||||
iconSize: Int? = null,
|
||||
) {
|
||||
iconSize?.let { size ->
|
||||
val lp = appIconView.layoutParams
|
||||
lp.width = size
|
||||
lp.height = size
|
||||
appIconView.layoutParams = lp
|
||||
}
|
||||
|
||||
appIconView.contentDescription = iconContentDescription
|
||||
appIconView.setImageDrawable(icon)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.WindowManager
|
||||
import android.view.accessibility.AccessibilityManager
|
||||
import com.android.internal.widget.CachingIconView
|
||||
import com.android.settingslib.Utils
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.dagger.SysUISingleton
|
||||
@@ -146,20 +147,17 @@ class MediaTttChipControllerReceiver @Inject constructor(
|
||||
)
|
||||
val iconDrawable = newInfo.appIconDrawableOverride ?: iconInfo.drawable
|
||||
val iconContentDescription = newInfo.appNameOverride ?: iconInfo.contentDescription
|
||||
val iconSize = context.resources.getDimensionPixelSize(
|
||||
val iconPadding =
|
||||
if (iconInfo.isAppIcon) {
|
||||
R.dimen.media_ttt_icon_size_receiver
|
||||
0
|
||||
} else {
|
||||
R.dimen.media_ttt_generic_icon_size_receiver
|
||||
context.resources.getDimensionPixelSize(R.dimen.media_ttt_generic_icon_padding)
|
||||
}
|
||||
)
|
||||
|
||||
MediaTttUtils.setIcon(
|
||||
currentView.requireViewById(R.id.app_icon),
|
||||
iconDrawable,
|
||||
iconContentDescription,
|
||||
iconSize,
|
||||
)
|
||||
val iconView = currentView.requireViewById<CachingIconView>(R.id.app_icon)
|
||||
iconView.setPadding(iconPadding, iconPadding, iconPadding, iconPadding)
|
||||
iconView.setImageDrawable(iconDrawable)
|
||||
iconView.contentDescription = iconContentDescription
|
||||
}
|
||||
|
||||
override fun animateViewIn(view: ViewGroup) {
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.view.WindowManager
|
||||
import android.view.accessibility.AccessibilityManager
|
||||
import android.widget.TextView
|
||||
import com.android.internal.statusbar.IUndoMediaTransferCallback
|
||||
import com.android.internal.widget.CachingIconView
|
||||
import com.android.systemui.Gefingerpoken
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.animation.Interpolators
|
||||
@@ -145,11 +146,9 @@ class MediaTttChipControllerSender @Inject constructor(
|
||||
val iconInfo = MediaTttUtils.getIconInfoFromPackageName(
|
||||
context, newInfo.routeInfo.clientPackageName, logger
|
||||
)
|
||||
MediaTttUtils.setIcon(
|
||||
currentView.requireViewById(R.id.app_icon),
|
||||
iconInfo.drawable,
|
||||
iconInfo.contentDescription
|
||||
)
|
||||
val iconView = currentView.requireViewById<CachingIconView>(R.id.app_icon)
|
||||
iconView.setImageDrawable(iconInfo.drawable)
|
||||
iconView.contentDescription = iconInfo.contentDescription
|
||||
|
||||
// Text
|
||||
val otherDeviceName = newInfo.routeInfo.name.toString()
|
||||
|
||||
@@ -19,9 +19,7 @@ package com.android.systemui.media.taptotransfer.common
|
||||
import android.content.pm.ApplicationInfo
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.widget.FrameLayout
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.internal.widget.CachingIconView
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.util.mockito.any
|
||||
@@ -90,48 +88,6 @@ class MediaTttUtilsTest : SysuiTestCase() {
|
||||
assertThat(iconInfo.drawable).isEqualTo(appIconFromPackageName)
|
||||
assertThat(iconInfo.contentDescription).isEqualTo(APP_NAME)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun setIcon_viewHasIconAndContentDescription() {
|
||||
val view = CachingIconView(context)
|
||||
val icon = context.getDrawable(R.drawable.ic_celebration)!!
|
||||
val contentDescription = "Happy birthday!"
|
||||
|
||||
MediaTttUtils.setIcon(view, icon, contentDescription)
|
||||
|
||||
assertThat(view.drawable).isEqualTo(icon)
|
||||
assertThat(view.contentDescription).isEqualTo(contentDescription)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun setIcon_iconSizeNull_viewSizeDoesNotChange() {
|
||||
val view = CachingIconView(context)
|
||||
val size = 456
|
||||
view.layoutParams = FrameLayout.LayoutParams(size, size)
|
||||
|
||||
MediaTttUtils.setIcon(view, context.getDrawable(R.drawable.ic_cake)!!, "desc")
|
||||
|
||||
assertThat(view.layoutParams.width).isEqualTo(size)
|
||||
assertThat(view.layoutParams.height).isEqualTo(size)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun setIcon_iconSizeProvided_viewSizeUpdates() {
|
||||
val view = CachingIconView(context)
|
||||
val size = 456
|
||||
view.layoutParams = FrameLayout.LayoutParams(size, size)
|
||||
|
||||
val newSize = 40
|
||||
MediaTttUtils.setIcon(
|
||||
view,
|
||||
context.getDrawable(R.drawable.ic_cake)!!,
|
||||
"desc",
|
||||
iconSize = newSize
|
||||
)
|
||||
|
||||
assertThat(view.layoutParams.width).isEqualTo(newSize)
|
||||
assertThat(view.layoutParams.height).isEqualTo(newSize)
|
||||
}
|
||||
}
|
||||
|
||||
private const val PACKAGE_NAME = "com.android.systemui"
|
||||
|
||||
@@ -212,35 +212,27 @@ class MediaTttChipControllerReceiverTest : SysuiTestCase() {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun updateView_isAppIcon_usesAppIconSize() {
|
||||
fun updateView_isAppIcon_usesAppIconPadding() {
|
||||
controllerReceiver.displayView(getChipReceiverInfo(packageName = PACKAGE_NAME))
|
||||
|
||||
val chipView = getChipView()
|
||||
|
||||
chipView.measure(
|
||||
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
|
||||
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
|
||||
)
|
||||
|
||||
val expectedSize =
|
||||
context.resources.getDimensionPixelSize(R.dimen.media_ttt_icon_size_receiver)
|
||||
assertThat(chipView.getAppIconView().measuredWidth).isEqualTo(expectedSize)
|
||||
assertThat(chipView.getAppIconView().measuredHeight).isEqualTo(expectedSize)
|
||||
assertThat(chipView.getAppIconView().paddingLeft).isEqualTo(0)
|
||||
assertThat(chipView.getAppIconView().paddingRight).isEqualTo(0)
|
||||
assertThat(chipView.getAppIconView().paddingTop).isEqualTo(0)
|
||||
assertThat(chipView.getAppIconView().paddingBottom).isEqualTo(0)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun updateView_notAppIcon_usesGenericIconSize() {
|
||||
fun updateView_notAppIcon_usesGenericIconPadding() {
|
||||
controllerReceiver.displayView(getChipReceiverInfo(packageName = null))
|
||||
|
||||
val chipView = getChipView()
|
||||
|
||||
chipView.measure(
|
||||
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
|
||||
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
|
||||
)
|
||||
|
||||
val expectedSize =
|
||||
context.resources.getDimensionPixelSize(R.dimen.media_ttt_generic_icon_size_receiver)
|
||||
assertThat(chipView.getAppIconView().measuredWidth).isEqualTo(expectedSize)
|
||||
assertThat(chipView.getAppIconView().measuredHeight).isEqualTo(expectedSize)
|
||||
val expectedPadding =
|
||||
context.resources.getDimensionPixelSize(R.dimen.media_ttt_generic_icon_padding)
|
||||
assertThat(chipView.getAppIconView().paddingLeft).isEqualTo(expectedPadding)
|
||||
assertThat(chipView.getAppIconView().paddingRight).isEqualTo(expectedPadding)
|
||||
assertThat(chipView.getAppIconView().paddingTop).isEqualTo(expectedPadding)
|
||||
assertThat(chipView.getAppIconView().paddingBottom).isEqualTo(expectedPadding)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user