Merge "Change getStaticDisplayInfo and getDynamicDisplayInfo function signature."

This commit is contained in:
Alec Mouri
2022-12-08 18:36:59 +00:00
committed by Android (Google) Code Review
6 changed files with 24 additions and 34 deletions

View File

@@ -187,8 +187,8 @@ public final class SurfaceControl implements Parcelable {
int L, int T, int R, int B);
private static native void nativeSetDisplaySize(long transactionObj, IBinder displayToken,
int width, int height);
private static native StaticDisplayInfo nativeGetStaticDisplayInfo(IBinder displayToken);
private static native DynamicDisplayInfo nativeGetDynamicDisplayInfo(IBinder displayToken);
private static native StaticDisplayInfo nativeGetStaticDisplayInfo(long displayId);
private static native DynamicDisplayInfo nativeGetDynamicDisplayInfo(long displayId);
private static native DisplayedContentSamplingAttributes
nativeGetDisplayedContentSamplingAttributes(IBinder displayToken);
private static native boolean nativeSetDisplayedContentSamplingEnabled(IBinder displayToken,
@@ -1627,21 +1627,15 @@ public final class SurfaceControl implements Parcelable {
/**
* @hide
*/
public static StaticDisplayInfo getStaticDisplayInfo(IBinder displayToken) {
if (displayToken == null) {
throw new IllegalArgumentException("displayToken must not be null");
}
return nativeGetStaticDisplayInfo(displayToken);
public static StaticDisplayInfo getStaticDisplayInfo(long displayId) {
return nativeGetStaticDisplayInfo(displayId);
}
/**
* @hide
*/
public static DynamicDisplayInfo getDynamicDisplayInfo(IBinder displayToken) {
if (displayToken == null) {
throw new IllegalArgumentException("displayToken must not be null");
}
return nativeGetDynamicDisplayInfo(displayToken);
public static DynamicDisplayInfo getDynamicDisplayInfo(long displayId) {
return nativeGetDynamicDisplayInfo(displayId);
}
/**

View File

@@ -1099,10 +1099,9 @@ static jobject convertDeviceProductInfoToJavaObject(
connectionToSinkType);
}
static jobject nativeGetStaticDisplayInfo(JNIEnv* env, jclass clazz, jobject tokenObj) {
static jobject nativeGetStaticDisplayInfo(JNIEnv* env, jclass clazz, jlong id) {
ui::StaticDisplayInfo info;
if (const auto token = ibinderForJavaObject(env, tokenObj);
!token || SurfaceComposerClient::getStaticDisplayInfo(token, &info) != NO_ERROR) {
if (SurfaceComposerClient::getStaticDisplayInfo(id, &info) != NO_ERROR) {
return nullptr;
}
@@ -1160,10 +1159,9 @@ jobject convertHdrCapabilitiesToJavaObject(JNIEnv* env, const HdrCapabilities& c
capabilities.getDesiredMinLuminance());
}
static jobject nativeGetDynamicDisplayInfo(JNIEnv* env, jclass clazz, jobject tokenObj) {
static jobject nativeGetDynamicDisplayInfo(JNIEnv* env, jclass clazz, jlong displayId) {
ui::DynamicDisplayInfo info;
if (const auto token = ibinderForJavaObject(env, tokenObj);
!token || SurfaceComposerClient::getDynamicDisplayInfo(token, &info) != NO_ERROR) {
if (SurfaceComposerClient::getDynamicDisplayInfoFromId(displayId, &info) != NO_ERROR) {
return nullptr;
}
@@ -2020,10 +2018,10 @@ static const JNINativeMethod sSurfaceControlMethods[] = {
{"nativeSetDisplaySize", "(JLandroid/os/IBinder;II)V",
(void*)nativeSetDisplaySize },
{"nativeGetStaticDisplayInfo",
"(Landroid/os/IBinder;)Landroid/view/SurfaceControl$StaticDisplayInfo;",
"(J)Landroid/view/SurfaceControl$StaticDisplayInfo;",
(void*)nativeGetStaticDisplayInfo },
{"nativeGetDynamicDisplayInfo",
"(Landroid/os/IBinder;)Landroid/view/SurfaceControl$DynamicDisplayInfo;",
"(J)Landroid/view/SurfaceControl$DynamicDisplayInfo;",
(void*)nativeGetDynamicDisplayInfo },
{"nativeSetDesiredDisplayModeSpecs",
"(Landroid/os/IBinder;Landroid/view/SurfaceControl$DesiredDisplayModeSpecs;)Z",

View File

@@ -31,10 +31,8 @@ const ui::StaticDisplayInfo& getDisplayInfo() {
const std::vector<PhysicalDisplayId> ids = SurfaceComposerClient::getPhysicalDisplayIds();
LOG_ALWAYS_FATAL_IF(ids.empty(), "%s: No displays", __FUNCTION__);
const sp<IBinder> token = SurfaceComposerClient::getPhysicalDisplayToken(ids.front());
LOG_ALWAYS_FATAL_IF(!token, "%s: No internal display", __FUNCTION__);
const status_t status = SurfaceComposerClient::getStaticDisplayInfo(token, &info);
const status_t status =
SurfaceComposerClient::getStaticDisplayInfo(ids.front().value, &info);
LOG_ALWAYS_FATAL_IF(status, "%s: Failed to get display info", __FUNCTION__);
#endif
return info;

View File

@@ -112,13 +112,13 @@ final class LocalDisplayAdapter extends DisplayAdapter {
mSurfaceControlProxy.getPhysicalDisplayToken(physicalDisplayId);
if (displayToken != null) {
SurfaceControl.StaticDisplayInfo staticInfo =
mSurfaceControlProxy.getStaticDisplayInfo(displayToken);
mSurfaceControlProxy.getStaticDisplayInfo(physicalDisplayId);
if (staticInfo == null) {
Slog.w(TAG, "No valid static info found for display device " + physicalDisplayId);
return;
}
SurfaceControl.DynamicDisplayInfo dynamicInfo =
mSurfaceControlProxy.getDynamicDisplayInfo(displayToken);
mSurfaceControlProxy.getDynamicDisplayInfo(physicalDisplayId);
if (dynamicInfo == null) {
Slog.w(TAG, "No valid dynamic info found for display device " + physicalDisplayId);
return;
@@ -1402,8 +1402,8 @@ final class LocalDisplayAdapter extends DisplayAdapter {
@VisibleForTesting
public static class SurfaceControlProxy {
public SurfaceControl.DynamicDisplayInfo getDynamicDisplayInfo(IBinder token) {
return SurfaceControl.getDynamicDisplayInfo(token);
public SurfaceControl.DynamicDisplayInfo getDynamicDisplayInfo(long displayId) {
return SurfaceControl.getDynamicDisplayInfo(displayId);
}
public long[] getPhysicalDisplayIds() {
@@ -1414,8 +1414,8 @@ final class LocalDisplayAdapter extends DisplayAdapter {
return DisplayControl.getPhysicalDisplayToken(physicalDisplayId);
}
public SurfaceControl.StaticDisplayInfo getStaticDisplayInfo(IBinder displayToken) {
return SurfaceControl.getStaticDisplayInfo(displayToken);
public SurfaceControl.StaticDisplayInfo getStaticDisplayInfo(long displayId) {
return SurfaceControl.getStaticDisplayInfo(displayId);
}
public SurfaceControl.DesiredDisplayModeSpecs getDesiredDisplayModeSpecs(

View File

@@ -1046,9 +1046,9 @@ public class LocalDisplayAdapterTest {
mAddresses.add(display.address);
when(mSurfaceControlProxy.getPhysicalDisplayToken(display.address.getPhysicalDisplayId()))
.thenReturn(display.token);
when(mSurfaceControlProxy.getStaticDisplayInfo(display.token))
when(mSurfaceControlProxy.getStaticDisplayInfo(display.address.getPhysicalDisplayId()))
.thenReturn(display.info);
when(mSurfaceControlProxy.getDynamicDisplayInfo(display.token))
when(mSurfaceControlProxy.getDynamicDisplayInfo(display.address.getPhysicalDisplayId()))
.thenReturn(display.dynamicInfo);
when(mSurfaceControlProxy.getDesiredDisplayModeSpecs(display.token))
.thenReturn(display.desiredDisplayModeSpecs);

View File

@@ -214,7 +214,7 @@ public class DisplayManagerServiceTest {
.thenReturn(mMockDisplayToken);
SurfaceControl.StaticDisplayInfo staticDisplayInfo = new SurfaceControl.StaticDisplayInfo();
staticDisplayInfo.isInternal = true;
when(mSurfaceControlProxy.getStaticDisplayInfo(mMockDisplayToken))
when(mSurfaceControlProxy.getStaticDisplayInfo(anyLong()))
.thenReturn(staticDisplayInfo);
SurfaceControl.DynamicDisplayInfo dynamicDisplayMode =
new SurfaceControl.DynamicDisplayInfo();
@@ -223,7 +223,7 @@ public class DisplayManagerServiceTest {
displayMode.height = 200;
displayMode.supportedHdrTypes = new int[]{1, 2};
dynamicDisplayMode.supportedDisplayModes = new SurfaceControl.DisplayMode[] {displayMode};
when(mSurfaceControlProxy.getDynamicDisplayInfo(mMockDisplayToken))
when(mSurfaceControlProxy.getDynamicDisplayInfo(anyLong()))
.thenReturn(dynamicDisplayMode);
when(mSurfaceControlProxy.getDesiredDisplayModeSpecs(mMockDisplayToken))
.thenReturn(new SurfaceControl.DesiredDisplayModeSpecs());