summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/BiometricDisplayListener.kt19
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/data/repository/DisplayStateRepository.kt18
-rw-r--r--packages/SystemUI/src/com/android/systemui/settings/DisplayTrackerImpl.kt33
-rw-r--r--packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java13
-rw-r--r--packages/SystemUI/unfold/src/com/android/systemui/unfold/updates/RotationChangeProvider.kt20
5 files changed, 70 insertions, 33 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDisplayListener.kt b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDisplayListener.kt
index e9b637230ede..ca479f5e6b5f 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDisplayListener.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDisplayListener.kt
@@ -21,6 +21,7 @@ import android.hardware.display.DisplayManager
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
import android.os.Handler
import android.view.DisplayInfo
+import com.android.app.tracing.traceSection
import com.android.systemui.biometrics.BiometricDisplayListener.SensorType.Generic
/**
@@ -42,13 +43,15 @@ class BiometricDisplayListener(
override fun onDisplayAdded(displayId: Int) {}
override fun onDisplayRemoved(displayId: Int) {}
override fun onDisplayChanged(displayId: Int) {
- val rotationChanged = didRotationChange()
+ traceSection({ "BiometricDisplayListener($sensorType)#onDisplayChanged" }) {
+ val rotationChanged = didRotationChange()
- when (sensorType) {
- is SensorType.SideFingerprint -> onChanged()
- else -> {
- if (rotationChanged) {
- onChanged()
+ when (sensorType) {
+ is SensorType.SideFingerprint -> onChanged()
+ else -> {
+ if (rotationChanged) {
+ onChanged()
+ }
}
}
}
@@ -82,8 +85,8 @@ class BiometricDisplayListener(
* biometric prompt (and this object will likely change as multi-mode auth is added).
*/
sealed class SensorType {
- object Generic : SensorType()
- object UnderDisplayFingerprint : SensorType()
+ data object Generic : SensorType()
+ data object UnderDisplayFingerprint : SensorType()
data class SideFingerprint(
val properties: FingerprintSensorPropertiesInternal
) : SensorType()
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/DisplayStateRepository.kt b/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/DisplayStateRepository.kt
index aaccbc1d2f9e..792a7efeb109 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/DisplayStateRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/DisplayStateRepository.kt
@@ -24,6 +24,7 @@ import android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_CHANGED
import android.os.Handler
import android.util.Size
import android.view.DisplayInfo
+import com.android.app.tracing.traceSection
import com.android.internal.util.ArrayUtils
import com.android.systemui.biometrics.shared.model.DisplayRotation
import com.android.systemui.biometrics.shared.model.toDisplayRotation
@@ -130,12 +131,17 @@ constructor(
override fun onDisplayAdded(displayId: Int) {}
override fun onDisplayChanged(displayId: Int) {
- val displayInfo = getDisplayInfo()
- trySendWithFailureLogging(
- displayInfo,
- TAG,
- "Error sending displayInfo to $displayInfo"
- )
+ traceSection(
+ "DisplayStateRepository" +
+ ".currentRotationDisplayListener#onDisplayChanged"
+ ) {
+ val displayInfo = getDisplayInfo()
+ trySendWithFailureLogging(
+ displayInfo,
+ TAG,
+ "Error sending displayInfo to $displayInfo"
+ )
+ }
}
}
displayManager.registerDisplayListener(
diff --git a/packages/SystemUI/src/com/android/systemui/settings/DisplayTrackerImpl.kt b/packages/SystemUI/src/com/android/systemui/settings/DisplayTrackerImpl.kt
index 68cc483fbe80..2ef27a8df117 100644
--- a/packages/SystemUI/src/com/android/systemui/settings/DisplayTrackerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/settings/DisplayTrackerImpl.kt
@@ -23,6 +23,7 @@ import android.view.Display
import androidx.annotation.GuardedBy
import androidx.annotation.VisibleForTesting
import androidx.annotation.WorkerThread
+import com.android.app.tracing.traceSection
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.util.Assert
import java.lang.ref.WeakReference
@@ -46,18 +47,30 @@ internal constructor(
val displayChangedListener: DisplayManager.DisplayListener =
object : DisplayManager.DisplayListener {
override fun onDisplayAdded(displayId: Int) {
- val list = synchronized(displayCallbacks) { displayCallbacks.toList() }
- onDisplayAdded(displayId, list)
+ traceSection(
+ "DisplayTrackerImpl.displayChangedDisplayListener#onDisplayAdded",
+ ) {
+ val list = synchronized(displayCallbacks) { displayCallbacks.toList() }
+ onDisplayAdded(displayId, list)
+ }
}
override fun onDisplayRemoved(displayId: Int) {
- val list = synchronized(displayCallbacks) { displayCallbacks.toList() }
- onDisplayRemoved(displayId, list)
+ traceSection(
+ "DisplayTrackerImpl.displayChangedDisplayListener#onDisplayRemoved",
+ ) {
+ val list = synchronized(displayCallbacks) { displayCallbacks.toList() }
+ onDisplayRemoved(displayId, list)
+ }
}
override fun onDisplayChanged(displayId: Int) {
- val list = synchronized(displayCallbacks) { displayCallbacks.toList() }
- onDisplayChanged(displayId, list)
+ traceSection(
+ "DisplayTrackerImpl.displayChangedDisplayListener#onDisplayChanged",
+ ) {
+ val list = synchronized(displayCallbacks) { displayCallbacks.toList() }
+ onDisplayChanged(displayId, list)
+ }
}
}
@@ -69,8 +82,12 @@ internal constructor(
override fun onDisplayRemoved(displayId: Int) {}
override fun onDisplayChanged(displayId: Int) {
- val list = synchronized(brightnessCallbacks) { brightnessCallbacks.toList() }
- onDisplayChanged(displayId, list)
+ traceSection(
+ "DisplayTrackerImpl.displayBrightnessChangedDisplayListener#onDisplayChanged",
+ ) {
+ val list = synchronized(brightnessCallbacks) { brightnessCallbacks.toList() }
+ onDisplayChanged(displayId, list)
+ }
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java
index e57c0e7f1044..9bfc4ce49cc7 100644
--- a/packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java
@@ -476,10 +476,15 @@ public class ImageWallpaper extends WallpaperService {
@Override
public void onDisplayChanged(int displayId) {
- // changes the display in the color extractor
- // the new display dimensions will be used in the next color computation
- if (displayId == getDisplayContext().getDisplayId()) {
- getDisplaySizeAndUpdateColorExtractor();
+ Trace.beginSection("ImageWallpaper.CanvasEngine#onDisplayChanged");
+ try {
+ // changes the display in the color extractor
+ // the new display dimensions will be used in the next color computation
+ if (displayId == getDisplayContext().getDisplayId()) {
+ getDisplaySizeAndUpdateColorExtractor();
+ }
+ } finally {
+ Trace.endSection();
}
}
diff --git a/packages/SystemUI/unfold/src/com/android/systemui/unfold/updates/RotationChangeProvider.kt b/packages/SystemUI/unfold/src/com/android/systemui/unfold/updates/RotationChangeProvider.kt
index 82ea362e8049..bb91f9b8cf0b 100644
--- a/packages/SystemUI/unfold/src/com/android/systemui/unfold/updates/RotationChangeProvider.kt
+++ b/packages/SystemUI/unfold/src/com/android/systemui/unfold/updates/RotationChangeProvider.kt
@@ -20,6 +20,7 @@ import android.content.Context
import android.hardware.display.DisplayManager
import android.os.Handler
import android.os.RemoteException
+import android.os.Trace
import com.android.systemui.unfold.util.CallbackController
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
@@ -86,14 +87,19 @@ constructor(
private inner class RotationDisplayListener : DisplayManager.DisplayListener {
override fun onDisplayChanged(displayId: Int) {
- val display = context.display ?: return
-
- if (displayId == display.displayId) {
- val currentRotation = display.rotation
- if (lastRotation == null || lastRotation != currentRotation) {
- listeners.forEach { it.onRotationChanged(currentRotation) }
- lastRotation = currentRotation
+ Trace.beginSection("RotationChangeProvider.RotationDisplayListener#onDisplayChanged")
+ try {
+ val display = context.display ?: return
+
+ if (displayId == display.displayId) {
+ val currentRotation = display.rotation
+ if (lastRotation == null || lastRotation != currentRotation) {
+ listeners.forEach { it.onRotationChanged(currentRotation) }
+ lastRotation = currentRotation
+ }
}
+ } finally {
+ Trace.endSection()
}
}