Loading services/core/jni/com_android_server_VibratorService.cpp +11 −2 Original line number Diff line number Diff line Loading @@ -67,8 +67,12 @@ class VibratorShim : public V1_4::IVibrator { Return<bool> supportsAmplitudeControl() override { int32_t cap = 0; if (!mVib->getCapabilities(&cap).isOk()) return false; if (mUnderExternalControl) { return (cap & aidl::IVibrator::CAP_EXTERNAL_AMPLITUDE_CONTROL) > 0; } else { return (cap & aidl::IVibrator::CAP_AMPLITUDE_CONTROL) > 0; } } Return<V1_0::Status> setAmplitude(uint8_t amplitude) override { return toHidlStatus(mVib->setAmplitude(amplitude)); Loading Loading @@ -96,7 +100,11 @@ class VibratorShim : public V1_4::IVibrator { } Return<V1_0::Status> setExternalControl(bool enabled) override { return toHidlStatus(mVib->setExternalControl(enabled)); Return<V1_0::Status> status = toHidlStatus(mVib->setExternalControl(enabled)); if (status.isOk() && status == V1_0::Status::OK) { mUnderExternalControl = enabled; } return status; } Return<void> perform_1_3(V1_3::Effect effect, V1_0::EffectStrength strength, Loading Loading @@ -167,6 +175,7 @@ class VibratorShim : public V1_4::IVibrator { } private: sp<aidl::IVibrator> mVib; bool mUnderExternalControl = false; Return<V1_0::Status> toHidlStatus(const android::binder::Status& status) { switch(status.exceptionCode()) { Loading Loading
services/core/jni/com_android_server_VibratorService.cpp +11 −2 Original line number Diff line number Diff line Loading @@ -67,8 +67,12 @@ class VibratorShim : public V1_4::IVibrator { Return<bool> supportsAmplitudeControl() override { int32_t cap = 0; if (!mVib->getCapabilities(&cap).isOk()) return false; if (mUnderExternalControl) { return (cap & aidl::IVibrator::CAP_EXTERNAL_AMPLITUDE_CONTROL) > 0; } else { return (cap & aidl::IVibrator::CAP_AMPLITUDE_CONTROL) > 0; } } Return<V1_0::Status> setAmplitude(uint8_t amplitude) override { return toHidlStatus(mVib->setAmplitude(amplitude)); Loading Loading @@ -96,7 +100,11 @@ class VibratorShim : public V1_4::IVibrator { } Return<V1_0::Status> setExternalControl(bool enabled) override { return toHidlStatus(mVib->setExternalControl(enabled)); Return<V1_0::Status> status = toHidlStatus(mVib->setExternalControl(enabled)); if (status.isOk() && status == V1_0::Status::OK) { mUnderExternalControl = enabled; } return status; } Return<void> perform_1_3(V1_3::Effect effect, V1_0::EffectStrength strength, Loading Loading @@ -167,6 +175,7 @@ class VibratorShim : public V1_4::IVibrator { } private: sp<aidl::IVibrator> mVib; bool mUnderExternalControl = false; Return<V1_0::Status> toHidlStatus(const android::binder::Status& status) { switch(status.exceptionCode()) { Loading