Merge "Register Dumpables for Region Sampler" into tm-qpr-dev am: 78f1af0bf3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20697806 Change-Id: I427cbc9009116b59fc9c1e30ad27c0b91882df29 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -114,7 +114,25 @@ constructor(
|
|||||||
|
|
||||||
/** Dump region sampler */
|
/** Dump region sampler */
|
||||||
fun dump(pw: PrintWriter) {
|
fun dump(pw: PrintWriter) {
|
||||||
regionSampler?.dump(pw)
|
pw.println("[RegionSampler]")
|
||||||
|
pw.println("regionSamplingEnabled: $regionSamplingEnabled")
|
||||||
|
pw.println("regionDarkness: $regionDarkness")
|
||||||
|
pw.println("lightForegroundColor: ${Integer.toHexString(lightForegroundColor)}")
|
||||||
|
pw.println("darkForegroundColor:${Integer.toHexString(darkForegroundColor)}")
|
||||||
|
pw.println("passed-in sampledView: $sampledView")
|
||||||
|
pw.println("calculated samplingBounds: $samplingBounds")
|
||||||
|
pw.println(
|
||||||
|
"sampledView width: ${sampledView?.width}, sampledView height: ${sampledView?.height}"
|
||||||
|
)
|
||||||
|
pw.println("screen width: ${displaySize.x}, screen height: ${displaySize.y}")
|
||||||
|
pw.println(
|
||||||
|
"sampledRegionWithOffset: ${convertBounds(calculateSampledRegion(sampledView!!))}"
|
||||||
|
)
|
||||||
|
pw.println(
|
||||||
|
"initialSampling for lockscreen: " +
|
||||||
|
"${wallpaperManager?.getWallpaperColors(WallpaperManager.FLAG_LOCK)}"
|
||||||
|
)
|
||||||
|
// TODO(b/265969235): add initialSampling dump for HS smartspace
|
||||||
}
|
}
|
||||||
|
|
||||||
fun calculateSampledRegion(sampledView: View): RectF {
|
fun calculateSampledRegion(sampledView: View): RectF {
|
||||||
|
|||||||
@@ -28,10 +28,12 @@ import android.widget.FrameLayout
|
|||||||
import androidx.annotation.VisibleForTesting
|
import androidx.annotation.VisibleForTesting
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
|
import com.android.systemui.Dumpable
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher
|
import com.android.systemui.broadcast.BroadcastDispatcher
|
||||||
import com.android.systemui.dagger.qualifiers.Background
|
import com.android.systemui.dagger.qualifiers.Background
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
|
import com.android.systemui.dump.DumpManager
|
||||||
import com.android.systemui.flags.FeatureFlags
|
import com.android.systemui.flags.FeatureFlags
|
||||||
import com.android.systemui.flags.Flags.DOZING_MIGRATION_1
|
import com.android.systemui.flags.Flags.DOZING_MIGRATION_1
|
||||||
import com.android.systemui.flags.Flags.REGION_SAMPLING
|
import com.android.systemui.flags.Flags.REGION_SAMPLING
|
||||||
@@ -77,8 +79,9 @@ open class ClockEventController @Inject constructor(
|
|||||||
@Background private val bgExecutor: Executor,
|
@Background private val bgExecutor: Executor,
|
||||||
@KeyguardSmallClockLog private val smallLogBuffer: LogBuffer?,
|
@KeyguardSmallClockLog private val smallLogBuffer: LogBuffer?,
|
||||||
@KeyguardLargeClockLog private val largeLogBuffer: LogBuffer?,
|
@KeyguardLargeClockLog private val largeLogBuffer: LogBuffer?,
|
||||||
private val featureFlags: FeatureFlags
|
private val featureFlags: FeatureFlags,
|
||||||
) {
|
private val dumpManager: DumpManager
|
||||||
|
) : Dumpable {
|
||||||
var clock: ClockController? = null
|
var clock: ClockController? = null
|
||||||
set(value) {
|
set(value) {
|
||||||
field = value
|
field = value
|
||||||
@@ -275,6 +278,7 @@ open class ClockEventController @Inject constructor(
|
|||||||
configurationController.addCallback(configListener)
|
configurationController.addCallback(configListener)
|
||||||
batteryController.addCallback(batteryCallback)
|
batteryController.addCallback(batteryCallback)
|
||||||
keyguardUpdateMonitor.registerCallback(keyguardUpdateMonitorCallback)
|
keyguardUpdateMonitor.registerCallback(keyguardUpdateMonitorCallback)
|
||||||
|
dumpManager.registerDumpable(this)
|
||||||
disposableHandle = parent.repeatWhenAttached {
|
disposableHandle = parent.repeatWhenAttached {
|
||||||
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||||
listenForDozing(this)
|
listenForDozing(this)
|
||||||
@@ -300,6 +304,7 @@ open class ClockEventController @Inject constructor(
|
|||||||
batteryController.removeCallback(batteryCallback)
|
batteryController.removeCallback(batteryCallback)
|
||||||
keyguardUpdateMonitor.removeCallback(keyguardUpdateMonitorCallback)
|
keyguardUpdateMonitor.removeCallback(keyguardUpdateMonitorCallback)
|
||||||
regionSampler?.stopRegionSampler()
|
regionSampler?.stopRegionSampler()
|
||||||
|
dumpManager.unregisterDumpable(javaClass.simpleName)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateFontSizes() {
|
private fun updateFontSizes() {
|
||||||
@@ -312,7 +317,7 @@ open class ClockEventController @Inject constructor(
|
|||||||
/**
|
/**
|
||||||
* Dump information for debugging
|
* Dump information for debugging
|
||||||
*/
|
*/
|
||||||
fun dump(pw: PrintWriter) {
|
override fun dump(pw: PrintWriter, args: Array<out String>) {
|
||||||
pw.println(this)
|
pw.println(this)
|
||||||
clock?.dump(pw)
|
clock?.dump(pw)
|
||||||
regionSampler?.dump(pw)
|
regionSampler?.dump(pw)
|
||||||
|
|||||||
@@ -36,10 +36,12 @@ import android.view.ContextThemeWrapper
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.android.settingslib.Utils
|
import com.android.settingslib.Utils
|
||||||
|
import com.android.systemui.Dumpable
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.dagger.qualifiers.Background
|
import com.android.systemui.dagger.qualifiers.Background
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
|
import com.android.systemui.dump.DumpManager
|
||||||
import com.android.systemui.flags.FeatureFlags
|
import com.android.systemui.flags.FeatureFlags
|
||||||
import com.android.systemui.flags.Flags
|
import com.android.systemui.flags.Flags
|
||||||
import com.android.systemui.plugins.ActivityStarter
|
import com.android.systemui.plugins.ActivityStarter
|
||||||
@@ -57,15 +59,14 @@ import com.android.systemui.statusbar.policy.ConfigurationController
|
|||||||
import com.android.systemui.statusbar.policy.DeviceProvisionedController
|
import com.android.systemui.statusbar.policy.DeviceProvisionedController
|
||||||
import com.android.systemui.util.concurrency.Execution
|
import com.android.systemui.util.concurrency.Execution
|
||||||
import com.android.systemui.util.settings.SecureSettings
|
import com.android.systemui.util.settings.SecureSettings
|
||||||
|
import java.io.PrintWriter
|
||||||
import java.util.Optional
|
import java.util.Optional
|
||||||
import java.util.concurrent.Executor
|
import java.util.concurrent.Executor
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
/** Controller for managing the smartspace view on the lockscreen */
|
/** Controller for managing the smartspace view on the lockscreen */
|
||||||
@SysUISingleton
|
@SysUISingleton
|
||||||
class LockscreenSmartspaceController
|
class LockscreenSmartspaceController @Inject constructor(
|
||||||
@Inject
|
|
||||||
constructor(
|
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val featureFlags: FeatureFlags,
|
private val featureFlags: FeatureFlags,
|
||||||
private val smartspaceManager: SmartspaceManager,
|
private val smartspaceManager: SmartspaceManager,
|
||||||
@@ -78,13 +79,14 @@ constructor(
|
|||||||
private val statusBarStateController: StatusBarStateController,
|
private val statusBarStateController: StatusBarStateController,
|
||||||
private val deviceProvisionedController: DeviceProvisionedController,
|
private val deviceProvisionedController: DeviceProvisionedController,
|
||||||
private val bypassController: KeyguardBypassController,
|
private val bypassController: KeyguardBypassController,
|
||||||
|
private val dumpManager: DumpManager,
|
||||||
private val execution: Execution,
|
private val execution: Execution,
|
||||||
@Main private val uiExecutor: Executor,
|
@Main private val uiExecutor: Executor,
|
||||||
@Background private val bgExecutor: Executor,
|
@Background private val bgExecutor: Executor,
|
||||||
@Main private val handler: Handler,
|
@Main private val handler: Handler,
|
||||||
optionalPlugin: Optional<BcSmartspaceDataPlugin>,
|
optionalPlugin: Optional<BcSmartspaceDataPlugin>,
|
||||||
optionalConfigPlugin: Optional<BcSmartspaceConfigPlugin>,
|
optionalConfigPlugin: Optional<BcSmartspaceConfigPlugin>,
|
||||||
) {
|
) : Dumpable {
|
||||||
companion object {
|
companion object {
|
||||||
private const val TAG = "LockscreenSmartspaceController"
|
private const val TAG = "LockscreenSmartspaceController"
|
||||||
}
|
}
|
||||||
@@ -201,6 +203,7 @@ constructor(
|
|||||||
|
|
||||||
init {
|
init {
|
||||||
deviceProvisionedController.addCallback(deviceProvisionedListener)
|
deviceProvisionedController.addCallback(deviceProvisionedListener)
|
||||||
|
dumpManager.registerDumpable(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isEnabled(): Boolean {
|
fun isEnabled(): Boolean {
|
||||||
@@ -441,4 +444,11 @@ constructor(
|
|||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun dump(pw: PrintWriter, args: Array<out String>) {
|
||||||
|
pw.println("Region Samplers: ${regionSamplers.size}")
|
||||||
|
regionSamplers.map { (_, sampler) ->
|
||||||
|
sampler.dump(pw)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import android.widget.TextView
|
|||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher
|
import com.android.systemui.broadcast.BroadcastDispatcher
|
||||||
|
import com.android.systemui.dump.DumpManager
|
||||||
import com.android.systemui.flags.FeatureFlags
|
import com.android.systemui.flags.FeatureFlags
|
||||||
import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository
|
import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository
|
||||||
import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepository
|
import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepository
|
||||||
@@ -86,6 +87,7 @@ class ClockEventControllerTest : SysuiTestCase() {
|
|||||||
@Mock private lateinit var smallLogBuffer: LogBuffer
|
@Mock private lateinit var smallLogBuffer: LogBuffer
|
||||||
@Mock private lateinit var largeLogBuffer: LogBuffer
|
@Mock private lateinit var largeLogBuffer: LogBuffer
|
||||||
private lateinit var underTest: ClockEventController
|
private lateinit var underTest: ClockEventController
|
||||||
|
@Mock private lateinit var dumpManager: DumpManager
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
fun setUp() {
|
fun setUp() {
|
||||||
@@ -113,7 +115,8 @@ class ClockEventControllerTest : SysuiTestCase() {
|
|||||||
bgExecutor,
|
bgExecutor,
|
||||||
smallLogBuffer,
|
smallLogBuffer,
|
||||||
largeLogBuffer,
|
largeLogBuffer,
|
||||||
featureFlags
|
featureFlags,
|
||||||
|
dumpManager
|
||||||
)
|
)
|
||||||
underTest.clock = clock
|
underTest.clock = clock
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import android.view.View
|
|||||||
import android.widget.FrameLayout
|
import android.widget.FrameLayout
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
|
import com.android.systemui.dump.DumpManager
|
||||||
import com.android.systemui.flags.FeatureFlags
|
import com.android.systemui.flags.FeatureFlags
|
||||||
import com.android.systemui.plugins.ActivityStarter
|
import com.android.systemui.plugins.ActivityStarter
|
||||||
import com.android.systemui.plugins.BcSmartspaceConfigPlugin
|
import com.android.systemui.plugins.BcSmartspaceConfigPlugin
|
||||||
@@ -117,6 +118,9 @@ class LockscreenSmartspaceControllerTest : SysuiTestCase() {
|
|||||||
@Mock
|
@Mock
|
||||||
private lateinit var configPlugin: BcSmartspaceConfigPlugin
|
private lateinit var configPlugin: BcSmartspaceConfigPlugin
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private lateinit var dumpManager: DumpManager
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private lateinit var controllerListener: SmartspaceTargetListener
|
private lateinit var controllerListener: SmartspaceTargetListener
|
||||||
|
|
||||||
@@ -206,6 +210,7 @@ class LockscreenSmartspaceControllerTest : SysuiTestCase() {
|
|||||||
statusBarStateController,
|
statusBarStateController,
|
||||||
deviceProvisionedController,
|
deviceProvisionedController,
|
||||||
keyguardBypassController,
|
keyguardBypassController,
|
||||||
|
dumpManager,
|
||||||
execution,
|
execution,
|
||||||
executor,
|
executor,
|
||||||
bgExecutor,
|
bgExecutor,
|
||||||
|
|||||||
Reference in New Issue
Block a user