summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Hyundo Moon <hdmoon@google.com> 2018-03-09 08:28:08 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-03-09 08:28:08 +0000
commit5cef8984baeb483de3cc7ca7bf93f5a366cd68b6 (patch)
tree34f366deeba33c6bf5f584137069a64269fa8360
parent3ce208c1e9015aa61e1250d0896306ff0624b1ca (diff)
parentc896d9d7e60468ed49f1d27ee60873620525a08b (diff)
Merge "MediaSession2: Ensure NonNull/Nullable for parameters of public methods" into pi-dev
-rw-r--r--media/java/android/media/MediaLibraryService2.java8
-rw-r--r--media/java/android/media/MediaMetadata2.java12
-rw-r--r--media/java/android/media/MediaSession2.java79
-rw-r--r--media/java/android/media/MediaSessionService2.java6
-rw-r--r--media/java/android/media/Rating2.java6
-rw-r--r--media/java/android/media/update/ApiLoader.java6
-rw-r--r--media/java/android/media/update/MediaSession2Provider.java3
7 files changed, 65 insertions, 55 deletions
diff --git a/media/java/android/media/MediaLibraryService2.java b/media/java/android/media/MediaLibraryService2.java
index a956bb344003..6cab43017034 100644
--- a/media/java/android/media/MediaLibraryService2.java
+++ b/media/java/android/media/MediaLibraryService2.java
@@ -73,7 +73,7 @@ public abstract class MediaLibraryService2 extends MediaSessionService2 {
* Callback for the {@link MediaLibrarySession}.
*/
public static class MediaLibrarySessionCallback extends MediaSession2.SessionCallback {
- public MediaLibrarySessionCallback(Context context) {
+ public MediaLibrarySessionCallback(@NonNull Context context) {
super(context);
}
@@ -226,7 +226,7 @@ public abstract class MediaLibraryService2 extends MediaSessionService2 {
}
@Override
- public Builder setVolumeProvider(@NonNull VolumeProvider2 volumeProvider) {
+ public Builder setVolumeProvider(@Nullable VolumeProvider2 volumeProvider) {
return super.setVolumeProvider(volumeProvider);
}
@@ -236,12 +236,12 @@ public abstract class MediaLibraryService2 extends MediaSessionService2 {
}
@Override
- public Builder setId(String id) {
+ public Builder setId(@NonNull String id) {
return super.setId(id);
}
@Override
- public Builder setSessionCallback(@NonNull Executor executor,
+ public Builder setSessionCallback(@NonNull @CallbackExecutor Executor executor,
@NonNull MediaLibrarySessionCallback callback) {
return super.setSessionCallback(executor, callback);
}
diff --git a/media/java/android/media/MediaMetadata2.java b/media/java/android/media/MediaMetadata2.java
index 502f92927d0d..fb1206515ef5 100644
--- a/media/java/android/media/MediaMetadata2.java
+++ b/media/java/android/media/MediaMetadata2.java
@@ -562,7 +562,7 @@ public final class MediaMetadata2 {
* @param key The key the value is stored under
* @return a CharSequence value, or null
*/
- public @Nullable CharSequence getText(@TextKey String key) {
+ public @Nullable CharSequence getText(@NonNull @TextKey String key) {
return mProvider.getText_impl(key);
}
@@ -611,7 +611,7 @@ public final class MediaMetadata2 {
* @param key The key the value is stored under
* @return A {@link Rating2} or {@code null}
*/
- public @Nullable Rating2 getRating(@RatingKey String key) {
+ public @Nullable Rating2 getRating(@NonNull @RatingKey String key) {
return mProvider.getRating_impl(key);
}
@@ -622,7 +622,7 @@ public final class MediaMetadata2 {
* @param key The key the value is stored under
* @return A {@link Bitmap} or null
*/
- public Bitmap getBitmap(@BitmapKey String key) {
+ public @Nullable Bitmap getBitmap(@NonNull @BitmapKey String key) {
return mProvider.getBitmap_impl(key);
}
@@ -749,7 +749,8 @@ public final class MediaMetadata2 {
* @param value The CharSequence value to store
* @return The Builder to allow chaining
*/
- public @NonNull Builder putText(@TextKey String key, @Nullable CharSequence value) {
+ public @NonNull Builder putText(@NonNull @TextKey String key,
+ @Nullable CharSequence value) {
return mProvider.putText_impl(key, value);
}
@@ -780,7 +781,8 @@ public final class MediaMetadata2 {
* @param value The String value to store
* @return The Builder to allow chaining
*/
- public @NonNull Builder putString(@TextKey String key, @Nullable String value) {
+ public @NonNull Builder putString(@NonNull @TextKey String key,
+ @Nullable String value) {
return mProvider.putString_impl(key, value);
}
diff --git a/media/java/android/media/MediaSession2.java b/media/java/android/media/MediaSession2.java
index 9efedfa022f7..65378b4658a3 100644
--- a/media/java/android/media/MediaSession2.java
+++ b/media/java/android/media/MediaSession2.java
@@ -490,7 +490,7 @@ public class MediaSession2 implements AutoCloseable {
* @return a new Command instance from the Bundle
* @hide
*/
- public static Command fromBundle(@NonNull Context context, Bundle command) {
+ public static Command fromBundle(@NonNull Context context, @NonNull Bundle command) {
return ApiLoader.getProvider(context).fromBundle_MediaSession2Command(context, command);
}
}
@@ -501,17 +501,17 @@ public class MediaSession2 implements AutoCloseable {
public static final class CommandGroup {
private final CommandGroupProvider mProvider;
- public CommandGroup(Context context) {
+ public CommandGroup(@NonNull Context context) {
mProvider = ApiLoader.getProvider(context)
.createMediaSession2CommandGroup(context, this, null);
}
- public CommandGroup(Context context, CommandGroup others) {
+ public CommandGroup(@NonNull Context context, @Nullable CommandGroup others) {
mProvider = ApiLoader.getProvider(context)
.createMediaSession2CommandGroup(context, this, others);
}
- public void addCommand(Command command) {
+ public void addCommand(@NonNull Command command) {
mProvider.addCommand_impl(command);
}
@@ -519,11 +519,11 @@ public class MediaSession2 implements AutoCloseable {
mProvider.addAllPredefinedCommands_impl();
}
- public void removeCommand(Command command) {
+ public void removeCommand(@NonNull Command command) {
mProvider.removeCommand_impl(command);
}
- public boolean hasCommand(Command command) {
+ public boolean hasCommand(@NonNull Command command) {
return mProvider.hasCommand_impl(command);
}
@@ -531,14 +531,14 @@ public class MediaSession2 implements AutoCloseable {
return mProvider.hasCommand_impl(code);
}
- public List<Command> getCommands() {
+ public @NonNull List<Command> getCommands() {
return mProvider.getCommands_impl();
}
/**
* @hide
*/
- public CommandGroupProvider getProvider() {
+ public @NonNull CommandGroupProvider getProvider() {
return mProvider;
}
@@ -546,7 +546,7 @@ public class MediaSession2 implements AutoCloseable {
* @return new bundle from the CommandGroup
* @hide
*/
- public Bundle toBundle() {
+ public @NonNull Bundle toBundle() {
return mProvider.toBundle_impl();
}
@@ -570,7 +570,10 @@ public class MediaSession2 implements AutoCloseable {
public static abstract class SessionCallback {
private final Context mContext;
- public SessionCallback(Context context) {
+ public SessionCallback(@NonNull Context context) {
+ if (context == null) {
+ throw new IllegalArgumentException("context shouldn't be null");
+ }
mContext = context;
}
@@ -584,7 +587,7 @@ public class MediaSession2 implements AutoCloseable {
*
* @param session the session for this event
* @param controller controller information.
- * @return allowed commands. Can be {@code null} to reject coonnection.
+ * @return allowed commands. Can be {@code null} to reject connection.
*/
public @Nullable CommandGroup onConnect(@NonNull MediaSession2 session,
@NonNull ControllerInfo controller) {
@@ -906,7 +909,7 @@ public class MediaSession2 implements AutoCloseable {
*
* @param player a {@link MediaPlayerBase} that handles actual media playback in your app.
*/
- U setPlayer(@NonNull MediaPlayerBase player) {
+ @NonNull U setPlayer(@NonNull MediaPlayerBase player) {
mProvider.setPlayer_impl(player);
return (U) this;
}
@@ -933,7 +936,7 @@ public class MediaSession2 implements AutoCloseable {
*
* @param volumeProvider The provider that will receive volume button events.
*/
- U setVolumeProvider(@NonNull VolumeProvider2 volumeProvider) {
+ @NonNull U setVolumeProvider(@Nullable VolumeProvider2 volumeProvider) {
mProvider.setVolumeProvider_impl(volumeProvider);
return (U) this;
}
@@ -945,7 +948,7 @@ public class MediaSession2 implements AutoCloseable {
*
* @param pi The intent to launch to show UI for this session.
*/
- U setSessionActivity(@Nullable PendingIntent pi) {
+ @NonNull U setSessionActivity(@Nullable PendingIntent pi) {
mProvider.setSessionActivity_impl(pi);
return (U) this;
}
@@ -960,7 +963,7 @@ public class MediaSession2 implements AutoCloseable {
* @throws IllegalArgumentException if id is {@code null}
* @return
*/
- U setId(@NonNull String id) {
+ @NonNull U setId(@NonNull String id) {
mProvider.setId_impl(id);
return (U) this;
}
@@ -972,7 +975,7 @@ public class MediaSession2 implements AutoCloseable {
* @param callback session callback.
* @return
*/
- U setSessionCallback(@NonNull @CallbackExecutor Executor executor,
+ @NonNull U setSessionCallback(@NonNull @CallbackExecutor Executor executor,
@NonNull C callback) {
mProvider.setSessionCallback_impl(executor, callback);
return (U) this;
@@ -985,7 +988,7 @@ public class MediaSession2 implements AutoCloseable {
* @throws IllegalStateException if the session with the same id is already exists for the
* package.
*/
- T build() {
+ @NonNull T build() {
return mProvider.build_impl();
}
}
@@ -1005,7 +1008,7 @@ public class MediaSession2 implements AutoCloseable {
}
@Override
- public Builder setPlayer(@NonNull MediaPlayerBase player) {
+ public @NonNull Builder setPlayer(@NonNull MediaPlayerBase player) {
return super.setPlayer(player);
}
@@ -1015,28 +1018,28 @@ public class MediaSession2 implements AutoCloseable {
}
@Override
- public Builder setVolumeProvider(@NonNull VolumeProvider2 volumeProvider) {
+ public @NonNull Builder setVolumeProvider(@Nullable VolumeProvider2 volumeProvider) {
return super.setVolumeProvider(volumeProvider);
}
@Override
- public Builder setSessionActivity(@Nullable PendingIntent pi) {
+ public @NonNull Builder setSessionActivity(@Nullable PendingIntent pi) {
return super.setSessionActivity(pi);
}
@Override
- public Builder setId(@NonNull String id) {
+ public @NonNull Builder setId(@NonNull String id) {
return super.setId(id);
}
@Override
- public Builder setSessionCallback(@NonNull Executor executor,
+ public @NonNull Builder setSessionCallback(@NonNull Executor executor,
@Nullable SessionCallback callback) {
return super.setSessionCallback(executor, callback);
}
@Override
- public MediaSession2 build() {
+ public @NonNull MediaSession2 build() {
return super.build();
}
}
@@ -1050,8 +1053,8 @@ public class MediaSession2 implements AutoCloseable {
/**
* @hide
*/
- public ControllerInfo(Context context, int uid, int pid, String packageName,
- IInterface callback) {
+ public ControllerInfo(@NonNull Context context, int uid, int pid,
+ @NonNull String packageName, @NonNull IInterface callback) {
mProvider = ApiLoader.getProvider(context)
.createMediaSession2ControllerInfo(
context, this, uid, pid, packageName, callback);
@@ -1060,7 +1063,7 @@ public class MediaSession2 implements AutoCloseable {
/**
* @return package name of the controller
*/
- public String getPackageName() {
+ public @NonNull String getPackageName() {
return mProvider.getPackageName_impl();
}
@@ -1085,7 +1088,7 @@ public class MediaSession2 implements AutoCloseable {
/**
* @hide
*/
- public ControllerInfoProvider getProvider() {
+ public @NonNull ControllerInfoProvider getProvider() {
return mProvider;
}
@@ -1171,7 +1174,7 @@ public class MediaSession2 implements AutoCloseable {
/**
* @hide
*/
- public CommandButtonProvider getProvider() {
+ public @NonNull CommandButtonProvider getProvider() {
return mProvider;
}
@@ -1186,27 +1189,27 @@ public class MediaSession2 implements AutoCloseable {
.createMediaSession2CommandButtonBuilder(context, this);
}
- public Builder setCommand(Command command) {
+ public @NonNull Builder setCommand(@Nullable Command command) {
return mProvider.setCommand_impl(command);
}
- public Builder setIconResId(int resId) {
+ public @NonNull Builder setIconResId(int resId) {
return mProvider.setIconResId_impl(resId);
}
- public Builder setDisplayName(String displayName) {
+ public @NonNull Builder setDisplayName(@Nullable String displayName) {
return mProvider.setDisplayName_impl(displayName);
}
- public Builder setEnabled(boolean enabled) {
+ public @NonNull Builder setEnabled(boolean enabled) {
return mProvider.setEnabled_impl(enabled);
}
- public Builder setExtras(Bundle extras) {
+ public @NonNull Builder setExtras(@Nullable Bundle extras) {
return mProvider.setExtras_impl(extras);
}
- public CommandButton build() {
+ public @NonNull CommandButton build() {
return mProvider.build_impl();
}
}
@@ -1365,7 +1368,7 @@ public class MediaSession2 implements AutoCloseable {
/**
* @hide
*/
- public MediaSession2Provider getProvider() {
+ public @NonNull MediaSession2Provider getProvider() {
return mProvider;
}
@@ -1432,7 +1435,7 @@ public class MediaSession2 implements AutoCloseable {
*
* @param afr the full request parameters
*/
- public void setAudioFocusRequest(AudioFocusRequest afr) {
+ public void setAudioFocusRequest(@Nullable AudioFocusRequest afr) {
// TODO(jaewan): implement this (b/72529899)
// mProvider.setAudioFocusRequest_impl(focusGain);
}
@@ -1745,7 +1748,7 @@ public class MediaSession2 implements AutoCloseable {
* @throws IllegalArgumentException if the play list is null
* @throws NullPointerException if index is outside play list range
*/
- public void skipToPlaylistItem(MediaItem2 item) {
+ public void skipToPlaylistItem(@NonNull MediaItem2 item) {
mProvider.skipToPlaylistItem_impl(item);
}
@@ -1785,7 +1788,7 @@ public class MediaSession2 implements AutoCloseable {
*
* @throws IllegalArgumentException if the play list is null
*/
- public void removePlaylistItem(MediaItem2 item) {
+ public void removePlaylistItem(@NonNull MediaItem2 item) {
mProvider.removePlaylistItem_impl(item);
}
diff --git a/media/java/android/media/MediaSessionService2.java b/media/java/android/media/MediaSessionService2.java
index d352a86d6719..32caf4b5a0e7 100644
--- a/media/java/android/media/MediaSessionService2.java
+++ b/media/java/android/media/MediaSessionService2.java
@@ -166,7 +166,7 @@ public abstract class MediaSessionService2 extends Service {
*
* @return a {@link MediaNotification}. If it's {@code null}, notification wouldn't be shown.
*/
- public MediaNotification onUpdateNotification() {
+ public @Nullable MediaNotification onUpdateNotification() {
return mProvider.onUpdateNotification_impl();
}
@@ -202,7 +202,7 @@ public abstract class MediaSessionService2 extends Service {
}
/**
- * Returned by {@link #onUpdateNotification()} for making session service forground service
+ * Returned by {@link #onUpdateNotification()} for making session service foreground service
* to keep playback running in the background. It's highly recommended to show media style
* notification here.
*/
@@ -229,7 +229,7 @@ public abstract class MediaSessionService2 extends Service {
return mProvider.getNotificationId_impl();
}
- public Notification getNotification() {
+ public @NonNull Notification getNotification() {
return mProvider.getNotification_impl();
}
}
diff --git a/media/java/android/media/Rating2.java b/media/java/android/media/Rating2.java
index e5b05fb9c6b0..29bd9220bdc1 100644
--- a/media/java/android/media/Rating2.java
+++ b/media/java/android/media/Rating2.java
@@ -152,7 +152,8 @@ public final class Rating2 {
* or {@link #RATING_PERCENTAGE}.
* @return null if an invalid rating style is passed, a new Rating2 instance otherwise.
*/
- public static @Nullable Rating2 newUnratedRating(@NonNull Context context, @Style int ratingStyle) {
+ public static @Nullable Rating2 newUnratedRating(@NonNull Context context,
+ @Style int ratingStyle) {
return ApiLoader.getProvider(context).newUnratedRating_Rating2(context, ratingStyle);
}
@@ -225,8 +226,7 @@ public final class Rating2 {
* {@link #RATING_3_STARS}, {@link #RATING_4_STARS}, {@link #RATING_5_STARS},
* or {@link #RATING_PERCENTAGE}.
*/
- @Style
- public int getRatingStyle() {
+ public @Style int getRatingStyle() {
return mProvider.getRatingStyle_impl();
}
diff --git a/media/java/android/media/update/ApiLoader.java b/media/java/android/media/update/ApiLoader.java
index b928e9319b18..0d190a7c4ebc 100644
--- a/media/java/android/media/update/ApiLoader.java
+++ b/media/java/android/media/update/ApiLoader.java
@@ -16,6 +16,7 @@
package android.media.update;
+import android.annotation.NonNull;
import android.content.res.Resources;
import android.content.Context;
import android.content.pm.PackageManager;
@@ -33,7 +34,10 @@ public final class ApiLoader {
private ApiLoader() { }
- public static StaticProvider getProvider(Context context) {
+ public static StaticProvider getProvider(@NonNull Context context) {
+ if (context == null) {
+ throw new IllegalArgumentException("context shouldn't be null");
+ }
try {
return (StaticProvider) getMediaLibraryImpl(context);
} catch (PackageManager.NameNotFoundException | ReflectiveOperationException e) {
diff --git a/media/java/android/media/update/MediaSession2Provider.java b/media/java/android/media/update/MediaSession2Provider.java
index 3c5d0c6ea41f..142650a70d4f 100644
--- a/media/java/android/media/update/MediaSession2Provider.java
+++ b/media/java/android/media/update/MediaSession2Provider.java
@@ -17,6 +17,7 @@
package android.media.update;
import android.app.PendingIntent;
+import android.media.AudioFocusRequest;
import android.media.MediaItem2;
import android.media.MediaMetadata2;
import android.media.MediaPlayerBase;
@@ -51,7 +52,7 @@ public interface MediaSession2Provider extends TransportControlProvider {
SessionToken2 getToken_impl();
List<ControllerInfo> getConnectedControllers_impl();
void setCustomLayout_impl(ControllerInfo controller, List<CommandButton> layout);
- void setAudioFocusRequest_impl(int focusGain);
+ void setAudioFocusRequest_impl(AudioFocusRequest afr);
void setAllowedCommands_impl(ControllerInfo controller, CommandGroup commands);
void sendCustomCommand_impl(ControllerInfo controller, Command command, Bundle args,
ResultReceiver receiver);