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

Commit 04ce6dba authored by Archie Pusaka's avatar Archie Pusaka Committed by Automerger Merge Worker
Browse files

Merge "avrcp: fix responding to rejected volume notification registration"...

Merge "avrcp: fix responding to rejected volume notification registration" into main am: c1830883 am: f93cbf90

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/3204655



Change-Id: I83773f51d7795bdaccb872684ac619ea383bc67c
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents dbfb58f0 f93cbf90
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -44,8 +44,11 @@ bool RegisterNotificationResponse::IsValid() const {
  if (size() < kMinSize()) {
    return false;
  }
  if (GetCType() != CType::INTERIM && GetCType() != CType::CHANGED &&
      GetCType() != CType::REJECTED) {
  // Rejected type packets is not followed by event, but by error code instead.
  if (GetCType() == CType::REJECTED) {
    return true;
  }
  if (GetCType() != CType::INTERIM && GetCType() != CType::CHANGED) {
    return false;
  }

+6 −3
Original line number Diff line number Diff line
@@ -135,12 +135,15 @@ void Device::VendorPacketHandler(uint8_t label, std::shared_ptr<VendorPacket> pk
          return;
        }

        if (register_notification->GetEvent() != Event::VOLUME_CHANGED) {
        // The rejected packet doesn't have an event field, so we just have to assume it is indeed
        // for the volume changed event since that's the only one we possibly register.
        if (pkt->GetCType() == CType::REJECTED ||
            register_notification->GetEvent() == Event::VOLUME_CHANGED) {
          HandleVolumeChanged(label, register_notification);
        } else {
          log::warn("{}: Unhandled register notification received: {}", address_,
                    register_notification->GetEvent());
          return;
        }
        HandleVolumeChanged(label, register_notification);
        break;
      }
      case CommandPdu::SET_ABSOLUTE_VOLUME: