Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 34c56f79 authored by Steven Moreland's avatar Steven Moreland Committed by android-build-merger
Browse files

Merge "vibrator: reflect CAP_EXTERNAL_AMPLITUDE_CONTROL" am: fb953961 am: bc351579

am: 000677e9

Change-Id: Iaf8c13dab9426aa780bc49098e3f3e3b2e644c6c
parents c85d13af 000677e9
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -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));
@@ -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,
@@ -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()) {