Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 137bcc32 authored by Bharat Singh's avatar Bharat Singh
Browse files

[SysUI][Floaty] Add support for dumping invocation effect related info

Bug: 407970510
Flag: com.android.systemui.shared.enable_lpp_assist_invocation_effect

Test: Manual

Dumped info by running "adb shell dumpsys activity
com.android.systemui/.SystemUIService TopLevelWindowEffects", sample
output:

SERVICE com.android.systemui/.SystemUIService 3a0f734 pid=8853 user=0
  Client:
    Dump starting: 05-18 15:48:06.835

    com.android.systemui.topwindoweffects.TopLevelWindowEffects:
    ----------------------------------------------------------------------------
    TopLevelWindowEffects:
      isAnimationInterruptible=true
      squeezeProgress=0.0
    SqueezeEffectRepository:
      isPowerButtonLongPressed=false
      isPowerButtonDownAndPowerKeySingleGestureActive=false
      isSqueezeEffectHapticEnabled=true
      isInvocationEffectEnabledByAssistant=true
      longPressPowerDurationFromSettings=500
      invocationEffectInitialDelayMillis=150
      invocationEffectInAnimationDurationMillis=800
      invocationEffectOutAnimationDurationMillis=333
    InvocationEffectPreferences:
      activeUser=0
      activeAssistant=com.google.android.googlequicksearchbox
      savedUser=0
      savedAssistant=com.google.android.apps.myvoiceinteractionservice
      isCurrentUserAndAssistantPersisted=false
      isInvocationEffectEnabledByAssistant=true
      inwardAnimationDurationPaddingDurationMillis=450
      outwardAnimationDurationMillis=333

    CRITICAL dump took 1ms -- com.android.systemui.topwindoweffects.TopLevelWindowEffects

    Dump took 5ms

Change-Id: I62060749d6781a4788ade74a5da9cc2ec3f4b999
parent 08971cc0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -168,6 +168,7 @@ constructor(
        pw.println("$TAG:")
        pw.println("  isAnimationInterruptible=$isAnimationInterruptible")
        pw.println("  squeezeProgress=$squeezeProgress")
        squeezeEffectInteractor.dump(pw, args)
    }

    companion object {
+19 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.user.data.repository.UserRepository
import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow
import com.android.systemui.utils.coroutines.flow.mapLatestConflated
import java.io.PrintWriter
import java.util.concurrent.Executor
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext
@@ -67,6 +68,8 @@ interface InvocationEffectPreferences {
    fun registerOnChangeListener(listener: SharedPreferences.OnSharedPreferenceChangeListener)

    fun unregisterOnChangeListener(listener: SharedPreferences.OnSharedPreferenceChangeListener)

    fun dump(pw: PrintWriter, args: Array<out String>)
}

@SysUISingleton
@@ -275,6 +278,22 @@ constructor(
        sharedPreferences.unregisterOnSharedPreferenceChangeListener(listener)
    }

    override fun dump(pw: PrintWriter, args: Array<out String>) {
        pw.println("$TAG:")
        pw.println("  activeUser=$activeUser")
        pw.println("  activeAssistant=$activeAssistant")
        pw.println("  savedUser=${getSavedUserId()}")
        pw.println("  savedAssistant=${getSavedAssistant()}")
        pw.println("  isCurrentUserAndAssistantPersisted=${isCurrentUserAndAssistantPersisted()}")
        pw.println(
            "  isInvocationEffectEnabledByAssistant=${isInvocationEffectEnabledByAssistant.value}"
        )
        pw.println(
            "  inwardAnimationPaddingDurationMillis=${getInwardAnimationPaddingDurationMillis()}"
        )
        pw.println("  outwardAnimationDurationMillis=${getOutwardAnimationDurationMillis()}")
    }

    companion object {
        private const val TAG = "InvocationEffectPreferences"
        private const val SHARED_PREFERENCES_FILE_NAME = "assistant_invocation_effect_preferences"
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.topwindoweffects.data.repository

import java.io.PrintWriter
import kotlinx.coroutines.flow.Flow

interface SqueezeEffectRepository {
@@ -31,4 +32,6 @@ interface SqueezeEffectRepository {
    fun getInvocationEffectInAnimationDurationMillis(): Long

    fun getInvocationEffectOutAnimationDurationMillis(): Long

    fun dump(pw: PrintWriter, args: Array<out String>)
}
+23 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import com.android.systemui.topwindoweffects.data.repository.InvocationEffectPre
import com.android.systemui.topwindoweffects.data.repository.InvocationEffectPreferencesImpl.Companion.IS_INVOCATION_EFFECT_ENABLED_BY_ASSISTANT_PREFERENCE
import com.android.systemui.util.settings.GlobalSettings
import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow
import java.io.PrintWriter
import java.util.concurrent.Executor
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext
@@ -177,6 +178,28 @@ constructor(
            }
    }

    override fun dump(pw: PrintWriter, args: Array<out String>) {
        pw.println("$TAG:")
        pw.println("  isPowerButtonLongPressed=${_isPowerButtonLongPressed.value}")
        pw.println(
            "  isPowerButtonDownAndPowerKeySingleGestureActive=$isPowerButtonDownAndPowerKeySingleGestureActive"
        )
        pw.println("  isSqueezeEffectHapticEnabled=$isSqueezeEffectHapticEnabled")
        pw.println(
            "  longPressPowerDurationFromSettings=${getLongPressPowerDurationFromSettings()}"
        )
        pw.println(
            "  invocationEffectInitialDelayMillis=${getInvocationEffectInitialDelayMillis()}"
        )
        pw.println(
            "  invocationEffectInAnimationDurationMillis=${getInvocationEffectInAnimationDurationMillis()}"
        )
        pw.println(
            "  invocationEffectOutAnimationDurationMillis=${getInvocationEffectOutAnimationDurationMillis()}"
        )
        preferences.dump(pw, args)
    }

    companion object {
        private const val TAG = "SqueezeEffectRepository"

+5 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.topwindoweffects.domain.interactor

import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.topwindoweffects.data.repository.SqueezeEffectRepository
import java.io.PrintWriter
import javax.inject.Inject

@SysUISingleton
@@ -42,4 +43,8 @@ constructor(private val squeezeEffectRepository: SqueezeEffectRepository) {
    fun getInvocationEffectOutAnimationDurationMillis(): Long {
        return squeezeEffectRepository.getInvocationEffectOutAnimationDurationMillis()
    }

    fun dump(pw: PrintWriter, args: Array<out String>) {
        squeezeEffectRepository.dump(pw, args)
    }
}
Loading