summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/audio/RotationHelper.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/audio/RotationHelper.java b/services/core/java/com/android/server/audio/RotationHelper.java
index d4f4245f19c5..eb8387fe85e5 100644
--- a/services/core/java/com/android/server/audio/RotationHelper.java
+++ b/services/core/java/com/android/server/audio/RotationHelper.java
@@ -20,12 +20,13 @@ import android.content.Context;
import android.hardware.devicestate.DeviceStateManager;
import android.hardware.devicestate.DeviceStateManager.FoldStateListener;
import android.hardware.display.DisplayManager;
+import android.hardware.display.DisplayManagerGlobal;
import android.media.AudioSystem;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.util.Log;
+import android.view.Display;
import android.view.Surface;
-import android.view.WindowManager;
/**
* Class to handle device rotation events for AudioService, and forward device rotation
@@ -48,6 +49,8 @@ class RotationHelper {
private static final String TAG = "AudioService.RotationHelper";
+ private static final boolean DEBUG_ROTATION = false;
+
private static AudioDisplayListener sDisplayListener;
private static FoldStateListener sFoldStateListener;
@@ -98,8 +101,8 @@ class RotationHelper {
// Even though we're responding to device orientation events,
// use display rotation so audio stays in sync with video/dialogs
// TODO(b/148458001): Support multi-display
- int newRotation = ((WindowManager) sContext.getSystemService(
- Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation();
+ int newRotation = DisplayManagerGlobal.getInstance()
+ .getDisplayInfo(Display.DEFAULT_DISPLAY).rotation;
synchronized(sRotationLock) {
if (newRotation != sDeviceRotation) {
sDeviceRotation = newRotation;
@@ -109,7 +112,9 @@ class RotationHelper {
}
private static void publishRotation(int rotation) {
- Log.v(TAG, "publishing device rotation =" + rotation + " (x90deg)");
+ if (DEBUG_ROTATION) {
+ Log.i(TAG, "publishing device rotation =" + rotation + " (x90deg)");
+ }
switch (rotation) {
case Surface.ROTATION_0:
AudioSystem.setParameters("rotation=0");
@@ -159,6 +164,9 @@ class RotationHelper {
@Override
public void onDisplayChanged(int displayId) {
+ if (DEBUG_ROTATION) {
+ Log.i(TAG, "onDisplayChanged diplayId:" + displayId);
+ }
updateOrientation();
}
}