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

Commit 90b3b93d authored by Andy Hung's avatar Andy Hung Committed by Android (Google) Code Review
Browse files

Merge "AudioTrack.Builder should throw exception on failure." into mnc-dev

parents a56eadb2 2d2d8936
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -661,9 +661,10 @@ public class AudioTrack
        /**
         * Builds an {@link AudioTrack} instance initialized with all the parameters set
         * on this <code>Builder</code>.
         * @return a new {@link AudioTrack} instance.
         * @return a new successfully initialized {@link AudioTrack} instance.
         * @throws UnsupportedOperationException if the parameters set on the <code>Builder</code>
         *     were incompatible, or if they are not supported by the device.
         *     were incompatible, or if they are not supported by the device,
         *     or if the device was not available.
         */
        public @NonNull AudioTrack build() throws UnsupportedOperationException {
            if (mAttributes == null) {
@@ -686,7 +687,13 @@ public class AudioTrack
                    mBufferSizeInBytes = mFormat.getChannelCount()
                            * mFormat.getBytesPerSample(mFormat.getEncoding());
                }
                return new AudioTrack(mAttributes, mFormat, mBufferSizeInBytes, mMode, mSessionId);
                final AudioTrack track = new AudioTrack(
                        mAttributes, mFormat, mBufferSizeInBytes, mMode, mSessionId);
                if (track.getState() == STATE_UNINITIALIZED) {
                    // release is not necessary
                    throw new UnsupportedOperationException("Cannot create AudioTrack");
                }
                return track;
            } catch (IllegalArgumentException e) {
                throw new UnsupportedOperationException(e.getMessage());
            }