summaryrefslogtreecommitdiff
path: root/libs/gui/ISurfaceComposer.cpp
diff options
context:
space:
mode:
author Galia Peycheva <galinap@google.com> 2021-05-25 13:25:06 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-05-25 13:25:06 +0000
commitaa11e58c63a745b42d3d565ff4e9e35ecd32099f (patch)
tree3e9ad02b3f750ec296c049c5bc8353be2aae924c /libs/gui/ISurfaceComposer.cpp
parent45916263e09d63771c7cc9748f134b45de563c05 (diff)
parentc238fa8420d69ff1f8b1353116b5b1c9f2220c9a (diff)
Add SF side tunnel mode listener am: 8f04b30c59 am: 2833f90b06 am: c238fa8420
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/14340746 Change-Id: Ib98149545d6feb82c5e720710d4adbe233a6e46f
Diffstat (limited to 'libs/gui/ISurfaceComposer.cpp')
-rw-r--r--libs/gui/ISurfaceComposer.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/libs/gui/ISurfaceComposer.cpp b/libs/gui/ISurfaceComposer.cpp
index 0436758e72..f6a48d7abd 100644
--- a/libs/gui/ISurfaceComposer.cpp
+++ b/libs/gui/ISurfaceComposer.cpp
@@ -829,6 +829,36 @@ public:
return error;
}
+ virtual status_t addTunnelModeEnabledListener(
+ const sp<gui::ITunnelModeEnabledListener>& listener) {
+ Parcel data, reply;
+ SAFE_PARCEL(data.writeInterfaceToken, ISurfaceComposer::getInterfaceDescriptor());
+ SAFE_PARCEL(data.writeStrongBinder, IInterface::asBinder(listener));
+
+ const status_t error =
+ remote()->transact(BnSurfaceComposer::ADD_TUNNEL_MODE_ENABLED_LISTENER, data,
+ &reply);
+ if (error != NO_ERROR) {
+ ALOGE("addTunnelModeEnabledListener: Failed to transact");
+ }
+ return error;
+ }
+
+ virtual status_t removeTunnelModeEnabledListener(
+ const sp<gui::ITunnelModeEnabledListener>& listener) {
+ Parcel data, reply;
+ SAFE_PARCEL(data.writeInterfaceToken, ISurfaceComposer::getInterfaceDescriptor());
+ SAFE_PARCEL(data.writeStrongBinder, IInterface::asBinder(listener));
+
+ const status_t error =
+ remote()->transact(BnSurfaceComposer::REMOVE_TUNNEL_MODE_ENABLED_LISTENER, data,
+ &reply);
+ if (error != NO_ERROR) {
+ ALOGE("removeTunnelModeEnabledListener: Failed to transact");
+ }
+ return error;
+ }
+
status_t setDesiredDisplayModeSpecs(const sp<IBinder>& displayToken,
ui::DisplayModeId defaultMode, bool allowGroupSwitching,
float primaryRefreshRateMin, float primaryRefreshRateMax,
@@ -1748,6 +1778,26 @@ status_t BnSurfaceComposer::onTransact(
}
return removeFpsListener(listener);
}
+ case ADD_TUNNEL_MODE_ENABLED_LISTENER: {
+ CHECK_INTERFACE(ISurfaceComposer, data, reply);
+ sp<gui::ITunnelModeEnabledListener> listener;
+ status_t result = data.readNullableStrongBinder(&listener);
+ if (result != NO_ERROR) {
+ ALOGE("addTunnelModeEnabledListener: Failed to read listener");
+ return result;
+ }
+ return addTunnelModeEnabledListener(listener);
+ }
+ case REMOVE_TUNNEL_MODE_ENABLED_LISTENER: {
+ CHECK_INTERFACE(ISurfaceComposer, data, reply);
+ sp<gui::ITunnelModeEnabledListener> listener;
+ status_t result = data.readNullableStrongBinder(&listener);
+ if (result != NO_ERROR) {
+ ALOGE("removeTunnelModeEnabledListener: Failed to read listener");
+ return result;
+ }
+ return removeTunnelModeEnabledListener(listener);
+ }
case SET_DESIRED_DISPLAY_MODE_SPECS: {
CHECK_INTERFACE(ISurfaceComposer, data, reply);
sp<IBinder> displayToken = data.readStrongBinder();