Fix some deprecation warnings in WM Shell.

Also, it seems like the vibrate call was always broken by conflating
effect IDs with durations. Fixed that, which should hopefully provide a
better haptics experience.

Move things to use more Kotlin idioms along the way as well.

Bug: 177652618
Test: manual
Change-Id: I057989eab8f6728953c2c4f0d7489a5aa0e9bf2d
This commit is contained in:
Michael Wright
2021-01-15 15:32:29 +00:00
parent dd319c4a2a
commit 64dcb6e4b6
3 changed files with 13 additions and 12 deletions

View File

@@ -86,7 +86,7 @@ class BubbleOverflow(
bitmapSize = positioner.bubbleBitmapSize
iconBitmapSize = (bitmapSize * 0.46f).toInt()
val bubbleSize = positioner.bubbleSize
overflowBtn?.setLayoutParams(FrameLayout.LayoutParams(bubbleSize, bubbleSize))
overflowBtn?.layoutParams = FrameLayout.LayoutParams(bubbleSize, bubbleSize)
expandedView?.updateDimensions()
}
@@ -96,7 +96,7 @@ class BubbleOverflow(
// Set overflow button accent color, dot color
val typedValue = TypedValue()
context.theme.resolveAttribute(android.R.attr.colorAccent, typedValue, true)
val colorAccent = res.getColor(typedValue.resourceId)
val colorAccent = res.getColor(typedValue.resourceId, null)
overflowBtn?.drawable?.setTint(colorAccent)
dotColor = colorAccent
@@ -106,7 +106,7 @@ class BubbleOverflow(
val nightMode = (res.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
== Configuration.UI_MODE_NIGHT_YES)
val bg = ColorDrawable(res.getColor(
if (nightMode) R.color.bubbles_dark else R.color.bubbles_light))
if (nightMode) R.color.bubbles_dark else R.color.bubbles_light, null))
val fg = InsetDrawable(overflowBtn?.drawable,
bitmapSize - iconBitmapSize /* inset */)
@@ -116,7 +116,7 @@ class BubbleOverflow(
// Update dot path
dotPath = PathParser.createPathFromPathData(
res.getString(com.android.internal.R.string.config_icon_mask))
val scale = iconFactory.normalizer.getScale(getIconView()!!.getDrawable(),
val scale = iconFactory.normalizer.getScale(iconView!!.drawable,
null /* outBounds */, null /* path */, null /* outMaskShape */)
val radius = BadgedImageView.DEFAULT_PATH_SIZE / 2f
val matrix = Matrix()
@@ -177,10 +177,10 @@ class BubbleOverflow(
overflowBtn = inflater.inflate(R.layout.bubble_overflow_button,
null /* root */, false /* attachToRoot */) as BadgedImageView
overflowBtn?.initialize(positioner)
overflowBtn?.setContentDescription(context.resources.getString(
R.string.bubble_overflow_button_content_description))
overflowBtn?.contentDescription = context.resources.getString(
R.string.bubble_overflow_button_content_description)
val bubbleSize = positioner.bubbleSize
overflowBtn?.setLayoutParams(FrameLayout.LayoutParams(bubbleSize, bubbleSize))
overflowBtn?.layoutParams = FrameLayout.LayoutParams(bubbleSize, bubbleSize)
updateBtnTheme()
}
return overflowBtn
@@ -191,10 +191,10 @@ class BubbleOverflow(
}
override fun getTaskId(): Int {
return if (expandedView != null) expandedView!!.getTaskId() else INVALID_TASK_ID
return if (expandedView != null) expandedView!!.taskId else INVALID_TASK_ID
}
companion object {
@JvmField val KEY = "Overflow"
const val KEY = "Overflow"
}
}

View File

@@ -18,6 +18,7 @@ package com.android.wm.shell.bubbles
import android.graphics.PointF
import android.os.Handler
import android.os.Looper
import android.view.MotionEvent
import android.view.VelocityTracker
import android.view.View
@@ -90,7 +91,7 @@ abstract class RelativeTouchListener : View.OnTouchListener {
private var touchSlop: Int = -1
private var movedEnough = false
private val handler = Handler()
private val handler = Handler(Looper.myLooper()!!)
private var performedLongClick = false
@Suppress("UNCHECKED_CAST")

View File

@@ -460,9 +460,9 @@ abstract class MagnetizedObject<T : Any>(
/** Plays the given vibration effect if haptics are enabled. */
@SuppressLint("MissingPermission")
private fun vibrateIfEnabled(effect: Int) {
private fun vibrateIfEnabled(effectId: Int) {
if (hapticsEnabled && systemHapticsEnabled) {
vibrator.vibrate(effect.toLong())
vibrator.vibrate(VibrationEffect.createPredefined(effectId))
}
}