Remove nullable utility methods in Bundleable

PiperOrigin-RevId: 357845774
This commit is contained in:
gyumin 2021-02-17 02:01:05 +00:00 committed by kim-vde
parent 2e5e1e7c0f
commit dea6a67ce9

View File

@ -16,7 +16,6 @@
package com.google.android.exoplayer2; package com.google.android.exoplayer2;
import android.os.Bundle; import android.os.Bundle;
import androidx.annotation.Nullable;
/** /**
* Interface for classes whose instance can be stored in a {@link Bundle} by {@link #toBundle()} and * Interface for classes whose instance can be stored in a {@link Bundle} by {@link #toBundle()} and
@ -37,24 +36,6 @@ public interface Bundleable {
/** Returns a {@link Bundle} representing the information stored in this object. */ /** Returns a {@link Bundle} representing the information stored in this object. */
Bundle toBundle(); Bundle toBundle();
/**
* Converts a {@link Bundleable} to a {@link Bundle}. It's a convenient wrapper of {@link
* Bundleable#toBundle} that can take nullable values.
*/
@Nullable
static Bundle toNullableBundle(@Nullable Bundleable bundleable) {
return bundleable == null ? null : bundleable.toBundle();
}
/**
* Converts a {@link Bundle} to a {@link Bundleable}. It's a convenient wrapper of {@link
* Creator#fromBundle} that can take nullable values.
*/
@Nullable
static <T extends Bundleable> T fromNullableBundle(Creator<T> creator, @Nullable Bundle bundle) {
return bundle == null ? null : creator.fromBundle(bundle);
}
/** Interface for the static {@code CREATOR} field of {@link Bundleable} classes. */ /** Interface for the static {@code CREATOR} field of {@link Bundleable} classes. */
interface Creator<T extends Bundleable> { interface Creator<T extends Bundleable> {