From 94e9af1d25d7c5d2867f46b01d227fa453e1b820 Mon Sep 17 00:00:00 2001
From: lizixian <386707112@qq.com>
Date: Mon, 28 Jan 2019 11:05:04 +0800
Subject: [PATCH] update readme
---
README.md | 21 +++++++--
app/build.gradle | 2 +-
.../java/com/lzx/musiclib/MainActivity.java | 2 +-
build.gradle | 25 +++++-----
gradle.properties | 2 -
starrysky/build.gradle | 24 ++++++++--
.../java/com/lzx/starrysky/MusicService.java | 7 +--
.../manager/MediaSessionConnection.java | 2 +-
.../lzx/starrysky/manager/MusicManager.java | 47 +++++++------------
.../lzx/starrysky/model/MusicProvider.java | 36 ++++++++++++--
.../com/lzx/starrysky/model/SongInfo.java | 2 +-
.../notification/CustomNotification.java | 2 +-
.../notification/SystemNotification.java | 4 +-
.../utils/NotificationColorUtils.java | 2 +-
.../notification/utils/NotificationUtils.java | 2 +-
.../lzx/starrysky/playback/ExoPlayback.java | 3 +-
.../starrysky/playback/PlaybackManager.java | 2 +-
.../lzx/starrysky/playback/QueueHelper.java | 3 +-
.../lzx/starrysky/playback/QueueManager.java | 2 +-
19 files changed, 114 insertions(+), 76 deletions(-)
diff --git a/README.md b/README.md
index 34a8de72..b4232f56 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
# A Powerful and Streamline MusicLibrary
-
-
-
+[ ![](https://img.shields.io/badge/platform-android-green.svg) ](http://developer.android.com/index.html)
+[ ![Download](https://api.bintray.com/packages/lizixian/StarrySky/StarrySkyJava/images/download.svg) ](https://bintray.com/lizixian/StarrySky/StarrySkyJava/_latestVersion)
+[ ![](https://img.shields.io/badge/license-MIT-green.svg) ](http://choosealicense.com/licenses/mit/)
@@ -33,6 +33,21 @@ StarrySky 是一个全新的版本,基于媒体浏览器服务(MediaBrowserSer
若在使用中发现 Bug 或者有什么建议问题的可以在 issues 中提出或者添加 QQ 群交流,欢迎反馈。
+## 集成
+```groovy
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ implementation 'com.lzx:StarrySkyJava:2.0.0'
+}
+```
+
+StarrySky 里面依赖的第三方库除了 ExoPlayer 之外还有 glide:4.8.0,用于封面的下载,如果版本跟你项目中的版本有冲突,建议通过导入源码的
+方式自己修改。
+
+请使用 Java8。
+
+
+
## 使用文档
- [集成StarrySky](https://github.com/lizixian18/MusicLibrary/blob/StarrySkyJava/readme/%E9%9B%86%E6%88%90StarrySky.md)
diff --git a/app/build.gradle b/app/build.gradle
index c4a481cd..70aaba81 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -28,7 +28,7 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
- implementation 'androidx.appcompat:appcompat:1.0.2'
+ implementation 'com.android.support:appcompat-v7:28.0.0'
implementation project(':starrysky')
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/lzx/musiclib/MainActivity.java b/app/src/main/java/com/lzx/musiclib/MainActivity.java
index 427bcc63..eb41516d 100644
--- a/app/src/main/java/com/lzx/musiclib/MainActivity.java
+++ b/app/src/main/java/com/lzx/musiclib/MainActivity.java
@@ -2,6 +2,7 @@
import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
@@ -15,7 +16,6 @@
import java.util.ArrayList;
import java.util.List;
-import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
diff --git a/build.gradle b/build.gradle
index 3db23457..9019695f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,17 +2,16 @@
buildscript {
repositories {
- google()
jcenter()
- maven { url "https://jitpack.io" }
- maven {
- url 'https://maven.google.com/'
- name 'Google'
- }
+ google()
+// maven {
+// url 'https://maven.google.com/'
+// name 'Google'
+// }
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.3.0'
- classpath 'com.novoda:bintray-release:0.8.1'
+ classpath 'com.android.tools.build:gradle:3.0.1'
+ classpath 'com.novoda:bintray-release:0.9'
}
}
@@ -20,11 +19,11 @@ allprojects {
repositories {
google()
jcenter()
- maven { url "https://jitpack.io" }
- maven {
- url 'https://maven.google.com/'
- name 'Google'
- }
+// maven { url "https://jitpack.io" }
+// maven {
+// url 'https://maven.google.com/'
+// name 'Google'
+// }
}
tasks.withType(JavaCompile) { //设置全局编码
options.encoding = "UTF-8"
diff --git a/gradle.properties b/gradle.properties
index 9e6fce10..aac7c9b4 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -9,8 +9,6 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
-android.enableJetifier=true
-android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
diff --git a/starrysky/build.gradle b/starrysky/build.gradle
index 6538d025..3e5c7a16 100644
--- a/starrysky/build.gradle
+++ b/starrysky/build.gradle
@@ -1,4 +1,5 @@
apply plugin: 'com.android.library'
+apply plugin: 'com.novoda.bintray-release'
android {
compileSdkVersion 28
@@ -6,8 +7,8 @@ android {
defaultConfig {
minSdkVersion 19
targetSdkVersion 28
- versionCode 1
- versionName "1.0"
+ versionCode 200
+ versionName "2.0.0"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
@@ -22,12 +23,27 @@ android {
}
}
+ lintOptions {
+ abortOnError false
+ }
+
+ publish {
+ repoName = 'StarrySky'
+ userOrg = 'lizixian'
+ groupId = 'com.lzx'
+ artifactId = 'StarrySkyJava'
+ publishVersion = '2.0.0'
+ desc = 'A Powerful and Streamline MusicLibrary'
+ website = "https://github.com/lizixian18/StarrySky"
+ }
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation 'androidx.appcompat:appcompat:1.0.2'
- implementation "androidx.media:media:1.0.0"
+// implementation 'androidx.appcompat:appcompat:1.0.2'
+// implementation "androidx.media:media:1.0.0"
+ //noinspection GradleCompatible
+ implementation 'com.android.support:appcompat-v7:28.0.0'
if (findProject(':exoplayer-library-core') != null) {
api project(':exoplayer-library-core')
diff --git a/starrysky/src/main/java/com/lzx/starrysky/MusicService.java b/starrysky/src/main/java/com/lzx/starrysky/MusicService.java
index 13aff645..cc8cb508 100644
--- a/starrysky/src/main/java/com/lzx/starrysky/MusicService.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/MusicService.java
@@ -10,7 +10,10 @@
import android.os.Handler;
import android.os.Message;
import android.os.RemoteException;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.support.v4.media.MediaBrowserCompat;
+import android.support.v4.media.MediaBrowserServiceCompat;
import android.support.v4.media.MediaMetadataCompat;
import android.support.v4.media.session.MediaControllerCompat;
import android.support.v4.media.session.MediaSessionCompat;
@@ -28,9 +31,7 @@
import java.util.ArrayList;
import java.util.List;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.media.MediaBrowserServiceCompat;
+
public class MusicService extends MediaBrowserServiceCompat implements QueueManager.MetadataUpdateListener, PlaybackManager.PlaybackServiceCallback {
diff --git a/starrysky/src/main/java/com/lzx/starrysky/manager/MediaSessionConnection.java b/starrysky/src/main/java/com/lzx/starrysky/manager/MediaSessionConnection.java
index bb803ca0..001291c3 100644
--- a/starrysky/src/main/java/com/lzx/starrysky/manager/MediaSessionConnection.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/manager/MediaSessionConnection.java
@@ -3,6 +3,7 @@
import android.content.ComponentName;
import android.content.Context;
import android.os.RemoteException;
+import android.support.annotation.NonNull;
import android.support.v4.media.MediaBrowserCompat;
import android.support.v4.media.MediaMetadataCompat;
import android.support.v4.media.session.MediaControllerCompat;
@@ -16,7 +17,6 @@
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
-import androidx.annotation.NonNull;
/**
* 与服务端连接的管理类
diff --git a/starrysky/src/main/java/com/lzx/starrysky/manager/MusicManager.java b/starrysky/src/main/java/com/lzx/starrysky/manager/MusicManager.java
index 76517b14..d1aa6248 100644
--- a/starrysky/src/main/java/com/lzx/starrysky/manager/MusicManager.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/manager/MusicManager.java
@@ -6,12 +6,10 @@
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
-import android.support.v4.media.MediaBrowserCompat;
import android.support.v4.media.MediaMetadataCompat;
import android.support.v4.media.session.PlaybackStateCompat;
import android.text.TextUtils;
-import com.lzx.starrysky.MusicService;
import com.lzx.starrysky.model.MusicProvider;
import com.lzx.starrysky.model.SongInfo;
import com.lzx.starrysky.notification.NotificationConstructor;
@@ -22,8 +20,6 @@
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
-import androidx.annotation.NonNull;
-
/**
* 用户操作管理类
*/
@@ -90,13 +86,14 @@ public void playMusicById(String songId) {
* 根据 SongInfo 播放,实际也是根据 songId 播放
*/
public void playMusicByInfo(SongInfo info) {
- List songInfos = MusicProvider.getInstance().getSongInfos();
- if (!songInfos.contains(info)) {
- songInfos.add(info);
- int index = songInfos.indexOf(info);
- playMusic(songInfos, index, true);
- } else {
- playMusicById(info.getSongId());
+ MediaSessionConnection connection = MediaSessionConnection.getInstance(sContext);
+ if (connection.isConnected()) {
+ boolean isAdd = MusicProvider.getInstance().addSongInfo(info);
+ if (isAdd) {
+ MusicProvider.getInstance().updateMediadata(connection, info.getSongId());
+ } else {
+ connection.getTransportControls().playFromMediaId(info.getSongId(), null);
+ }
}
}
@@ -106,13 +103,10 @@ public void playMusicByInfo(SongInfo info) {
public void playMusicByIndex(int index) {
MediaSessionConnection connection = MediaSessionConnection.getInstance(sContext);
if (connection.isConnected()) {
- connection.subscribe(MusicService.UPDATE_PARENT_ID, new MediaBrowserCompat.SubscriptionCallback() {
- @Override
- public void onChildrenLoaded(@NonNull String parentId, @NonNull List children) {
- super.onChildrenLoaded(parentId, children);
- connection.getTransportControls().playFromMediaId(children.get(index).getMediaId(), null);
- }
- });
+ List list = MusicProvider.getInstance().getSongInfos();
+ if (list != null && index >= 0 && index < list.size()) {
+ connection.getTransportControls().playFromMediaId(list.get(index).getSongId(), null);
+ }
}
}
@@ -132,13 +126,9 @@ public void playMusic(List songInfos, int index, boolean isResetPlayLi
MusicProvider.getInstance().nonInitialized();
MusicProvider.getInstance().setSongInfos(songInfos);
}
- connection.subscribe(MusicService.UPDATE_PARENT_ID, new MediaBrowserCompat.SubscriptionCallback() {
- @Override
- public void onChildrenLoaded(@NonNull String parentId, @NonNull List children) {
- super.onChildrenLoaded(parentId, children);
- connection.getTransportControls().playFromMediaId(songInfos.get(index).getSongId(), null);
- }
- });
+ if (songInfos != null && index >= 0 && index < songInfos.size()) {
+ MusicProvider.getInstance().updateMediadata(connection, songInfos.get(index).getSongId());
+ }
}
}
@@ -313,12 +303,7 @@ public void updatePlayList(List songInfos) {
if (connection.isConnected()) {
MusicProvider.getInstance().nonInitialized();
MusicProvider.getInstance().setSongInfos(songInfos);
- connection.subscribe(MusicService.UPDATE_PARENT_ID, new MediaBrowserCompat.SubscriptionCallback() {
- @Override
- public void onChildrenLoaded(@NonNull String parentId, @NonNull List children) {
- super.onChildrenLoaded(parentId, children);
- }
- });
+ MusicProvider.getInstance().updateMediadata(connection, null);
}
}
diff --git a/starrysky/src/main/java/com/lzx/starrysky/model/MusicProvider.java b/starrysky/src/main/java/com/lzx/starrysky/model/MusicProvider.java
index 1bba3ccd..4f930441 100644
--- a/starrysky/src/main/java/com/lzx/starrysky/model/MusicProvider.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/model/MusicProvider.java
@@ -6,6 +6,7 @@
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.support.annotation.NonNull;
import android.support.v4.media.MediaBrowserCompat;
import android.support.v4.media.MediaMetadataCompat;
import android.text.TextUtils;
@@ -17,7 +18,9 @@
import com.google.android.exoplayer2.source.ExtractorMediaSource;
import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.upstream.DataSource;
+import com.lzx.starrysky.MusicService;
import com.lzx.starrysky.R;
+import com.lzx.starrysky.manager.MediaSessionConnection;
import java.util.ArrayList;
import java.util.Collections;
@@ -26,10 +29,11 @@
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
+
/**
* 媒体信息提供类
*/
-public class MusicProvider {
+public class MusicProvider {
private List mSongInfos;
private List metadatas;
@@ -54,7 +58,7 @@ private MusicProvider() {
}
/**
- * 获取原始的List
+ * 获取原始的List#SongInfo
*/
public List getSongInfos() {
return mSongInfos;
@@ -67,12 +71,21 @@ public void setSongInfos(List songInfos) {
mSongInfos = songInfos;
}
+ public boolean addSongInfo(SongInfo songInfo) {
+ if (!mSongInfos.contains(songInfo)) {
+ mSongInfos.add(songInfo);
+ return true;
+ } else {
+ return false;
+ }
+ }
+
public List getMetadatas() {
return metadatas;
}
/**
- * 获取 List 用于 onLoadChildren 回调
+ * 获取 List#MediaBrowserCompat.MediaItem 用于 onLoadChildren 回调
*/
public List getChildrenResult(String mediaId) {
List mediaItems = new ArrayList<>();
@@ -112,6 +125,19 @@ public MediaMetadataCompat getMusic(String songId) {
return music;
}
+ public void updateMediadata(MediaSessionConnection connection, String songId) {
+ nonInitialized();
+ connection.subscribe(MusicService.UPDATE_PARENT_ID, new MediaBrowserCompat.SubscriptionCallback() {
+ @Override
+ public void onChildrenLoaded(@NonNull String parentId, @NonNull List children) {
+ super.onChildrenLoaded(parentId, children);
+ if (!TextUtils.isEmpty(songId)) {
+ connection.getTransportControls().playFromMediaId(songId, null);
+ }
+ }
+ });
+ }
+
/**
* 异步加载给metadatasById和metadatas赋值
*/
@@ -140,7 +166,7 @@ public void nonInitialized() {
}
/**
- * 加载List的异步任务类
+ * 加载 List#MediaMetadataCompat 的异步任务类
*/
public static class UpdateCatalogTask extends AsyncTask> {
@@ -243,7 +269,7 @@ private synchronized static List toMediaMetadata(Context co
}
/**
- * List 转 ConcatenatingMediaSource
+ * List#MediaMetadataCompat 转 ConcatenatingMediaSource
*/
public ConcatenatingMediaSource toMediaSource(DataSource.Factory dataSourceFactory) {
ConcatenatingMediaSource concatenatingMediaSource = new ConcatenatingMediaSource();
diff --git a/starrysky/src/main/java/com/lzx/starrysky/model/SongInfo.java b/starrysky/src/main/java/com/lzx/starrysky/model/SongInfo.java
index e3b7f3f3..61f7e062 100644
--- a/starrysky/src/main/java/com/lzx/starrysky/model/SongInfo.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/model/SongInfo.java
@@ -3,10 +3,10 @@
import android.graphics.Bitmap;
import android.os.Parcel;
import android.os.Parcelable;
+import android.support.annotation.Nullable;
import java.util.Objects;
-import androidx.annotation.Nullable;
/**
* 面向用户的音频信息
diff --git a/starrysky/src/main/java/com/lzx/starrysky/notification/CustomNotification.java b/starrysky/src/main/java/com/lzx/starrysky/notification/CustomNotification.java
index fe25b082..4bf285ad 100644
--- a/starrysky/src/main/java/com/lzx/starrysky/notification/CustomNotification.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/notification/CustomNotification.java
@@ -12,6 +12,7 @@
import android.graphics.Bitmap;
import android.os.Build;
import android.os.RemoteException;
+import android.support.v4.app.NotificationCompat;
import android.support.v4.media.MediaDescriptionCompat;
import android.support.v4.media.MediaMetadataCompat;
import android.support.v4.media.session.MediaControllerCompat;
@@ -31,7 +32,6 @@
import java.util.List;
-import androidx.core.app.NotificationCompat;
/**
* 自定义通知栏
diff --git a/starrysky/src/main/java/com/lzx/starrysky/notification/SystemNotification.java b/starrysky/src/main/java/com/lzx/starrysky/notification/SystemNotification.java
index 7f4b2de4..85080a41 100644
--- a/starrysky/src/main/java/com/lzx/starrysky/notification/SystemNotification.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/notification/SystemNotification.java
@@ -11,6 +11,7 @@
import android.graphics.Bitmap;
import android.os.Build;
import android.os.RemoteException;
+import android.support.v4.app.NotificationCompat;
import android.support.v4.media.MediaDescriptionCompat;
import android.support.v4.media.MediaMetadataCompat;
import android.support.v4.media.session.MediaControllerCompat;
@@ -23,7 +24,6 @@
import com.lzx.starrysky.notification.factory.INotification;
import com.lzx.starrysky.notification.utils.NotificationUtils;
-import androidx.core.app.NotificationCompat;
/**
* 系统通知栏
@@ -206,7 +206,7 @@ private Notification createNotification() {
final int playPauseButtonPosition = addActions(notificationBuilder);
notificationBuilder
- .setStyle(new androidx.media.app.NotificationCompat.MediaStyle()
+ .setStyle(new android.support.v4.media.app.NotificationCompat.MediaStyle()
// show only play/pause in compact view
.setShowActionsInCompactView(playPauseButtonPosition)
.setShowCancelButton(true)
diff --git a/starrysky/src/main/java/com/lzx/starrysky/notification/utils/NotificationColorUtils.java b/starrysky/src/main/java/com/lzx/starrysky/notification/utils/NotificationColorUtils.java
index 1ac49021..efc81fb0 100644
--- a/starrysky/src/main/java/com/lzx/starrysky/notification/utils/NotificationColorUtils.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/notification/utils/NotificationColorUtils.java
@@ -6,6 +6,7 @@
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
+import android.support.v4.graphics.ColorUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
@@ -14,7 +15,6 @@
import java.util.concurrent.CountDownLatch;
-import androidx.core.graphics.ColorUtils;
/**
* 通知栏颜色工具类,主要是判断通知栏主题是白色还是黑色
diff --git a/starrysky/src/main/java/com/lzx/starrysky/notification/utils/NotificationUtils.java b/starrysky/src/main/java/com/lzx/starrysky/notification/utils/NotificationUtils.java
index 0239e79f..08da857b 100644
--- a/starrysky/src/main/java/com/lzx/starrysky/notification/utils/NotificationUtils.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/notification/utils/NotificationUtils.java
@@ -7,6 +7,7 @@
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
+import android.support.annotation.RequiresApi;
import android.text.TextUtils;
import com.lzx.starrysky.MusicService;
@@ -18,7 +19,6 @@
import java.util.List;
-import androidx.annotation.RequiresApi;
/**
* 通知栏工具类,主要提供一些公共的方法
diff --git a/starrysky/src/main/java/com/lzx/starrysky/playback/ExoPlayback.java b/starrysky/src/main/java/com/lzx/starrysky/playback/ExoPlayback.java
index 6e0a0b98..f0b4fb7b 100755
--- a/starrysky/src/main/java/com/lzx/starrysky/playback/ExoPlayback.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/playback/ExoPlayback.java
@@ -17,6 +17,7 @@
import android.content.Context;
import android.net.Uri;
+import android.support.annotation.Nullable;
import android.support.v4.media.MediaMetadataCompat;
import android.support.v4.media.session.PlaybackStateCompat;
import android.text.TextUtils;
@@ -57,8 +58,6 @@
import java.util.List;
-import androidx.annotation.Nullable;
-
import static android.support.v4.media.session.MediaSessionCompat.QueueItem;
import static com.google.android.exoplayer2.C.CONTENT_TYPE_MUSIC;
import static com.google.android.exoplayer2.C.USAGE_MEDIA;
diff --git a/starrysky/src/main/java/com/lzx/starrysky/playback/PlaybackManager.java b/starrysky/src/main/java/com/lzx/starrysky/playback/PlaybackManager.java
index 3f10f28d..a41ad99c 100755
--- a/starrysky/src/main/java/com/lzx/starrysky/playback/PlaybackManager.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/playback/PlaybackManager.java
@@ -20,13 +20,13 @@
import android.os.Bundle;
import android.os.ResultReceiver;
import android.os.SystemClock;
+import android.support.annotation.NonNull;
import android.support.v4.media.session.MediaSessionCompat;
import android.support.v4.media.session.PlaybackStateCompat;
import com.lzx.starrysky.notification.factory.INotification;
import com.lzx.starrysky.notification.factory.NotificationFactory;
-import androidx.annotation.NonNull;
/**
diff --git a/starrysky/src/main/java/com/lzx/starrysky/playback/QueueHelper.java b/starrysky/src/main/java/com/lzx/starrysky/playback/QueueHelper.java
index 75b2acce..bdaecefb 100755
--- a/starrysky/src/main/java/com/lzx/starrysky/playback/QueueHelper.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/playback/QueueHelper.java
@@ -22,7 +22,6 @@
import android.support.v4.media.session.MediaSessionCompat;
import android.text.TextUtils;
-
import com.lzx.starrysky.model.MusicProvider;
import java.util.ArrayList;
@@ -88,7 +87,7 @@ private static List convertToQueue(List
+ * 获取乱序的 List#MediaSessionCompat.QueueItem
*/
public static List getRandomQueue(MusicProvider musicProvider) {
List result = new ArrayList<>();
diff --git a/starrysky/src/main/java/com/lzx/starrysky/playback/QueueManager.java b/starrysky/src/main/java/com/lzx/starrysky/playback/QueueManager.java
index 647dda8c..3ca0e6ae 100755
--- a/starrysky/src/main/java/com/lzx/starrysky/playback/QueueManager.java
+++ b/starrysky/src/main/java/com/lzx/starrysky/playback/QueueManager.java
@@ -16,6 +16,7 @@
package com.lzx.starrysky.playback;
+import android.support.annotation.NonNull;
import android.support.v4.media.MediaMetadataCompat;
import android.support.v4.media.session.MediaSessionCompat;
@@ -25,7 +26,6 @@
import java.util.Collections;
import java.util.List;
-import androidx.annotation.NonNull;
public class QueueManager {