diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Clock.java b/libraries/common/src/main/java/androidx/media3/common/util/Clock.java index 668eff9047..a397bead82 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Clock.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Clock.java @@ -18,6 +18,7 @@ package androidx.media3.common.util; import android.os.Handler; import android.os.Looper; import androidx.annotation.Nullable; +import org.checkerframework.checker.initialization.qual.UnknownInitialization; /** * An interface through which system clocks can be read and {@link HandlerWrapper}s created. The @@ -55,7 +56,8 @@ public interface Clock { * * @see Handler#Handler(Looper, Handler.Callback) */ - HandlerWrapper createHandler(Looper looper, @Nullable Handler.Callback callback); + HandlerWrapper createHandler( + Looper looper, @Nullable Handler.@UnknownInitialization Callback callback); /** * Notifies the clock that the current thread is about to be blocked and won't return until a diff --git a/libraries/common/src/main/java/androidx/media3/common/util/SystemClock.java b/libraries/common/src/main/java/androidx/media3/common/util/SystemClock.java index 07b009923d..3765f0f5e6 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/SystemClock.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/SystemClock.java @@ -19,6 +19,7 @@ import android.os.Handler; import android.os.Handler.Callback; import android.os.Looper; import androidx.annotation.Nullable; +import org.checkerframework.checker.initialization.qual.UnknownInitialization; /** * The standard implementation of {@link Clock}, an instance of which is available via {@link @@ -50,7 +51,9 @@ public class SystemClock implements Clock { } @Override - public HandlerWrapper createHandler(Looper looper, @Nullable Callback callback) { + @SuppressWarnings({"nullness:argument", "nullness:return"}) + public HandlerWrapper createHandler( + Looper looper, @Nullable @UnknownInitialization Callback callback) { return new SystemHandlerWrapper(new Handler(looper, callback)); } diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeClock.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeClock.java index c56fbbedd4..06ba3d15b0 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeClock.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeClock.java @@ -35,6 +35,7 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; +import org.checkerframework.checker.initialization.qual.UnknownInitialization; /** * Fake {@link Clock} implementation that allows to {@link #advanceTime(long) advance the time} @@ -171,7 +172,9 @@ public class FakeClock implements Clock { } @Override - public HandlerWrapper createHandler(Looper looper, @Nullable Callback callback) { + @SuppressWarnings({"nullness:argument", "nullness:return"}) + public HandlerWrapper createHandler( + Looper looper, @Nullable @UnknownInitialization Callback callback) { return new ClockHandler(looper, callback); }