Controls UI - Marquee + transient status == no good

Temporary text was not given enough time to be visible, and could
cause confusion. Remove all temporary text in favor of leaving it
until the app decides to update, or the user takes another action.

Fixes: 159163559
Test: manual, controls mock + large font, touch on TYPE_TV
Change-Id: I6093c450e286cd1aac489847180877d78faa7ed3
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt
index d2501fa..c073642 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt
@@ -35,7 +35,6 @@
 import com.android.systemui.plugins.ActivityStarter
 import com.android.systemui.statusbar.policy.KeyguardStateController
 import com.android.systemui.util.concurrency.DelayableExecutor
-import com.android.systemui.R
 
 import javax.inject.Inject
 import javax.inject.Singleton
@@ -164,8 +163,7 @@
                         it.show()
                     }
                 } else {
-                    cvh.setTransientStatus(
-                        cvh.context.resources.getString(R.string.controls_error_failed))
+                    cvh.setErrorStatus()
                 }
             }
         }
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
index 4eb7527..865a38a 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
@@ -67,7 +67,6 @@
 
     companion object {
         const val STATE_ANIMATION_DURATION = 700L
-        private const val UPDATE_DELAY_IN_MILLIS = 3000L
         private const val ALPHA_ENABLED = 255
         private const val ALPHA_DISABLED = 0
         private const val STATUS_ALPHA_ENABLED = 1f
@@ -113,7 +112,6 @@
     val context: Context = layout.getContext()
     val clipLayer: ClipDrawable
     lateinit var cws: ControlWithState
-    var cancelUpdate: Runnable? = null
     var behavior: Behavior? = null
     var lastAction: ControlAction? = null
     var isLoading = false
@@ -148,8 +146,6 @@
 
         this.cws = cws
 
-        cancelUpdate?.run()
-
         // For the following statuses only, assume the title/subtitle could not be set properly
         // by the app and instead use the last known information from favorites
         if (controlStatus == Control.STATUS_UNKNOWN || controlStatus == Control.STATUS_NOT_FOUND) {
@@ -188,11 +184,11 @@
                 lastChallengeDialog = null
             ControlAction.RESPONSE_UNKNOWN -> {
                 lastChallengeDialog = null
-                setTransientStatus(context.resources.getString(R.string.controls_error_failed))
+                setErrorStatus()
             }
             ControlAction.RESPONSE_FAIL -> {
                 lastChallengeDialog = null
-                setTransientStatus(context.resources.getString(R.string.controls_error_failed))
+                setErrorStatus()
             }
             ControlAction.RESPONSE_CHALLENGE_PIN -> {
                 lastChallengeDialog = ChallengeDialogs.createPinDialog(
@@ -219,17 +215,10 @@
         visibleDialog = null
     }
 
-    fun setTransientStatus(tempStatus: String) {
-        val previousText = status.getText()
-
-        cancelUpdate = uiExecutor.executeDelayed({
-            animateStatusChange(/* animated */ true, {
-                setStatusText(previousText, /* immediately */ true)
-            })
-        }, UPDATE_DELAY_IN_MILLIS)
-
+    fun setErrorStatus() {
+        val text = context.resources.getString(R.string.controls_error_failed)
         animateStatusChange(/* animated */ true, {
-            setStatusText(tempStatus, /* immediately */ true)
+            setStatusText(text, /* immediately */ true)
         })
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/StatusBehavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/StatusBehavior.kt
index dac5537..116f3ca 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/StatusBehavior.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/StatusBehavior.kt
@@ -77,8 +77,7 @@
                         cws.control?.getAppIntent()?.send()
                         context.sendBroadcast(Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS))
                     } catch (e: PendingIntent.CanceledException) {
-                        cvh.setTransientStatus(
-                            cvh.context.resources.getString(R.string.controls_error_failed))
+                        cvh.setErrorStatus()
                     }
                     dialog.dismiss()
             })