Loading cmds/servicemanager/ServiceManager.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ static bool isVintfDeclared(const std::string& name) { if (!found) { // Although it is tested, explicitly rebuilding qualified name, in case it // becomes something unexpected. LOG(ERROR) << "Could not find " << aname.package << "." << aname.iface << "/" LOG(INFO) << "Could not find " << aname.package << "." << aname.iface << "/" << aname.instance << " in the VINTF manifest."; } Loading data/etc/Android.bp +6 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,12 @@ prebuilt_etc { defaults: ["frameworks_native_data_etc_defaults"], } prebuilt_etc { name: "android.hardware.wifi.direct.prebuilt.xml", src: "android.hardware.wifi.direct.xml", defaults: ["frameworks_native_data_etc_defaults"], } prebuilt_etc { name: "android.hardware.wifi.passpoint.prebuilt.xml", src: "android.hardware.wifi.passpoint.xml", Loading libs/gui/ISurfaceComposer.cpp +26 −0 Original line number Diff line number Diff line Loading @@ -1346,6 +1346,21 @@ public: SAFE_PARCEL(data.writeStrongBinder, IInterface::asBinder(windowInfosListener)); return remote()->transact(BnSurfaceComposer::REMOVE_WINDOW_INFOS_LISTENER, data, &reply); } status_t setOverrideFrameRate(uid_t uid, float frameRate) override { Parcel data, reply; SAFE_PARCEL(data.writeInterfaceToken, ISurfaceComposer::getInterfaceDescriptor()); SAFE_PARCEL(data.writeUint32, uid); SAFE_PARCEL(data.writeFloat, frameRate); status_t err = remote()->transact(BnSurfaceComposer::SET_OVERRIDE_FRAME_RATE, data, &reply); if (err != NO_ERROR) { ALOGE("setOverrideFrameRate: failed to transact %s (%d)", strerror(-err), err); return err; } return NO_ERROR; } }; // Out-of-line virtual method definition to trigger vtable emission in this Loading Loading @@ -2306,6 +2321,17 @@ status_t BnSurfaceComposer::onTransact( return removeWindowInfosListener(listener); } case SET_OVERRIDE_FRAME_RATE: { CHECK_INTERFACE(ISurfaceComposer, data, reply); uid_t uid; SAFE_PARCEL(data.readUint32, &uid); float frameRate; SAFE_PARCEL(data.readFloat, &frameRate); return setOverrideFrameRate(uid, frameRate); } default: { return BBinder::onTransact(code, data, reply, flags); } Loading libs/gui/SurfaceComposerClient.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -2094,6 +2094,10 @@ status_t SurfaceComposerClient::getPreferredBootDisplayMode(const sp<IBinder>& d displayModeId); } status_t SurfaceComposerClient::setOverrideFrameRate(uid_t uid, float frameRate) { return ComposerService::getComposerService()->setOverrideFrameRate(uid, frameRate); } void SurfaceComposerClient::setAutoLowLatencyMode(const sp<IBinder>& display, bool on) { ComposerService::getComposerService()->setAutoLowLatencyMode(display, on); } Loading libs/gui/include/gui/ISurfaceComposer.h +8 −0 Original line number Diff line number Diff line Loading @@ -558,6 +558,13 @@ public: virtual status_t setFrameRate(const sp<IGraphicBufferProducer>& surface, float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) = 0; /* * Set the override frame rate for a specified uid by GameManagerService. * Passing the frame rate and uid to SurfaceFlinger to update the override mapping * in the scheduler. */ virtual status_t setOverrideFrameRate(uid_t uid, float frameRate) = 0; /* * Sets the frame timeline vsync info received from choreographer that corresponds to next * buffer submitted on that surface. Loading Loading @@ -678,6 +685,7 @@ public: SET_BOOT_DISPLAY_MODE, CLEAR_BOOT_DISPLAY_MODE, GET_PREFERRED_BOOT_DISPLAY_MODE, SET_OVERRIDE_FRAME_RATE, // Always append new enum to the end. }; Loading Loading
cmds/servicemanager/ServiceManager.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ static bool isVintfDeclared(const std::string& name) { if (!found) { // Although it is tested, explicitly rebuilding qualified name, in case it // becomes something unexpected. LOG(ERROR) << "Could not find " << aname.package << "." << aname.iface << "/" LOG(INFO) << "Could not find " << aname.package << "." << aname.iface << "/" << aname.instance << " in the VINTF manifest."; } Loading
data/etc/Android.bp +6 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,12 @@ prebuilt_etc { defaults: ["frameworks_native_data_etc_defaults"], } prebuilt_etc { name: "android.hardware.wifi.direct.prebuilt.xml", src: "android.hardware.wifi.direct.xml", defaults: ["frameworks_native_data_etc_defaults"], } prebuilt_etc { name: "android.hardware.wifi.passpoint.prebuilt.xml", src: "android.hardware.wifi.passpoint.xml", Loading
libs/gui/ISurfaceComposer.cpp +26 −0 Original line number Diff line number Diff line Loading @@ -1346,6 +1346,21 @@ public: SAFE_PARCEL(data.writeStrongBinder, IInterface::asBinder(windowInfosListener)); return remote()->transact(BnSurfaceComposer::REMOVE_WINDOW_INFOS_LISTENER, data, &reply); } status_t setOverrideFrameRate(uid_t uid, float frameRate) override { Parcel data, reply; SAFE_PARCEL(data.writeInterfaceToken, ISurfaceComposer::getInterfaceDescriptor()); SAFE_PARCEL(data.writeUint32, uid); SAFE_PARCEL(data.writeFloat, frameRate); status_t err = remote()->transact(BnSurfaceComposer::SET_OVERRIDE_FRAME_RATE, data, &reply); if (err != NO_ERROR) { ALOGE("setOverrideFrameRate: failed to transact %s (%d)", strerror(-err), err); return err; } return NO_ERROR; } }; // Out-of-line virtual method definition to trigger vtable emission in this Loading Loading @@ -2306,6 +2321,17 @@ status_t BnSurfaceComposer::onTransact( return removeWindowInfosListener(listener); } case SET_OVERRIDE_FRAME_RATE: { CHECK_INTERFACE(ISurfaceComposer, data, reply); uid_t uid; SAFE_PARCEL(data.readUint32, &uid); float frameRate; SAFE_PARCEL(data.readFloat, &frameRate); return setOverrideFrameRate(uid, frameRate); } default: { return BBinder::onTransact(code, data, reply, flags); } Loading
libs/gui/SurfaceComposerClient.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -2094,6 +2094,10 @@ status_t SurfaceComposerClient::getPreferredBootDisplayMode(const sp<IBinder>& d displayModeId); } status_t SurfaceComposerClient::setOverrideFrameRate(uid_t uid, float frameRate) { return ComposerService::getComposerService()->setOverrideFrameRate(uid, frameRate); } void SurfaceComposerClient::setAutoLowLatencyMode(const sp<IBinder>& display, bool on) { ComposerService::getComposerService()->setAutoLowLatencyMode(display, on); } Loading
libs/gui/include/gui/ISurfaceComposer.h +8 −0 Original line number Diff line number Diff line Loading @@ -558,6 +558,13 @@ public: virtual status_t setFrameRate(const sp<IGraphicBufferProducer>& surface, float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) = 0; /* * Set the override frame rate for a specified uid by GameManagerService. * Passing the frame rate and uid to SurfaceFlinger to update the override mapping * in the scheduler. */ virtual status_t setOverrideFrameRate(uid_t uid, float frameRate) = 0; /* * Sets the frame timeline vsync info received from choreographer that corresponds to next * buffer submitted on that surface. Loading Loading @@ -678,6 +685,7 @@ public: SET_BOOT_DISPLAY_MODE, CLEAR_BOOT_DISPLAY_MODE, GET_PREFERRED_BOOT_DISPLAY_MODE, SET_OVERRIDE_FRAME_RATE, // Always append new enum to the end. }; Loading