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

Commit b708d292 authored by Mikhail Naganov's avatar Mikhail Naganov Committed by Gerrit Code Review
Browse files

Merge "audio: Add offload reconfiguration event to IBluetoothLe"

parents 6b466603 b4f8e67e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -36,4 +36,6 @@ package android.hardware.audio.core;
interface IBluetoothLe {
  boolean isEnabled();
  void setEnabled(boolean enabled);
  boolean supportsOffloadReconfiguration();
  void reconfigureOffload(in android.hardware.audio.core.VendorParameter[] parameters);
}
+3 −3
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ interface IBluetoothA2dp {
    /**
     * Indicates whether the module supports reconfiguration of offloaded codecs.
     *
     * Offloaded coded implementations may need to be reconfigured when the
     * Offloaded codec implementations may need to be reconfigured when the
     * active A2DP device changes. This method indicates whether the HAL module
     * supports the reconfiguration event. The result returned from this method
     * must not change over time.
@@ -67,11 +67,11 @@ interface IBluetoothA2dp {
    /**
     * Instructs the HAL module to reconfigure offloaded codec.
     *
     * Offloaded coded implementations may need to be reconfigured when the
     * Offloaded codec implementations may need to be reconfigured when the
     * active A2DP device changes. This method is a notification for the HAL
     * module to commence reconfiguration.
     *
     * Note that 'EX_UNSUPPORTED_OPERATION' may only be thrown when
     * Note that 'EX_UNSUPPORTED_OPERATION' must be thrown if and only if
     * 'supportsOffloadReconfiguration' returns 'false'.
     *
     * @param parameter Optional vendor-specific parameters, can be left empty.
+31 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.hardware.audio.core;

import android.hardware.audio.core.VendorParameter;

/**
 * An instance of IBluetoothLe manages settings for the LE (Low Energy)
 * profiles. This interface is optional to implement by the vendor. It needs to
@@ -48,4 +50,33 @@ interface IBluetoothLe {
     * @throws EX_ILLEGAL_STATE If there was an error performing the operation.
     */
    void setEnabled(boolean enabled);

    /**
     * Indicates whether the module supports reconfiguration of offloaded codecs.
     *
     * Offloaded codec implementations may need to be reconfigured when the
     * active LE device changes. This method indicates whether the HAL module
     * supports the reconfiguration event. The result returned from this method
     * must not change over time.
     *
     * @return Whether reconfiguration offload of offloaded codecs is supported.
     */
    boolean supportsOffloadReconfiguration();

    /**
     * Instructs the HAL module to reconfigure offloaded codec.
     *
     * Offloaded codec implementations may need to be reconfigured when the
     * active LE device changes. This method is a notification for the HAL
     * module to commence reconfiguration.
     *
     * Note that 'EX_UNSUPPORTED_OPERATION' must be thrown if and only if
     * 'supportsOffloadReconfiguration' returns 'false'.
     *
     * @param parameter Optional vendor-specific parameters, can be left empty.
     * @throws EX_ILLEGAL_STATE If there was an error performing the operation,
     *                          or the operation can not be commenced in the current state.
     * @throws EX_UNSUPPORTED_OPERATION If the module does not support codec reconfiguration.
     */
    void reconfigureOffload(in VendorParameter[] parameters);
}
+13 −0
Original line number Diff line number Diff line
@@ -117,4 +117,17 @@ ndk::ScopedAStatus BluetoothLe::setEnabled(bool in_enabled) {
    return ndk::ScopedAStatus::ok();
}

ndk::ScopedAStatus BluetoothLe::supportsOffloadReconfiguration(bool* _aidl_return) {
    *_aidl_return = true;
    LOG(DEBUG) << __func__ << ": returning " << *_aidl_return;
    return ndk::ScopedAStatus::ok();
}

ndk::ScopedAStatus BluetoothLe::reconfigureOffload(
        const std::vector<::aidl::android::hardware::audio::core::VendorParameter>& in_parameters
                __unused) {
    LOG(DEBUG) << __func__ << ": " << ::android::internal::ToString(in_parameters);
    return ndk::ScopedAStatus::ok();
}

}  // namespace aidl::android::hardware::audio::core
+4 −0
Original line number Diff line number Diff line
@@ -56,6 +56,10 @@ class BluetoothLe : public BnBluetoothLe {
  private:
    ndk::ScopedAStatus isEnabled(bool* _aidl_return) override;
    ndk::ScopedAStatus setEnabled(bool in_enabled) override;
    ndk::ScopedAStatus supportsOffloadReconfiguration(bool* _aidl_return) override;
    ndk::ScopedAStatus reconfigureOffload(
            const std::vector<::aidl::android::hardware::audio::core::VendorParameter>&
                    in_parameters) override;

    bool mEnabled = false;
};
Loading