A面合并
This commit is contained in:
parent
3aac60e3ca
commit
c62e38eb7e
BIN
app/OfflineMusicPlayer.jks
Normal file
BIN
app/OfflineMusicPlayer.jks
Normal file
Binary file not shown.
@ -13,19 +13,21 @@ plugins {
|
||||
val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date())
|
||||
|
||||
android {
|
||||
namespace = "com.hi.music.player"
|
||||
namespace = "com.offline.music.playermp3"
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
//com.hi.music.player
|
||||
applicationId = "com.hi.music.player.test1"
|
||||
applicationId = "com.offline.music.playermp3"
|
||||
minSdk = 23
|
||||
targetSdk = 34
|
||||
versionCode = 1
|
||||
versionName = "1.0.0"
|
||||
|
||||
setProperty("archivesBaseName", "MusicApp_V" + versionName + "(${versionCode})_$timestamp")
|
||||
|
||||
setProperty(
|
||||
"archivesBaseName",
|
||||
"Offline Music Player" + versionName + "(${versionCode})_$timestamp"
|
||||
)
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:550960818622:android:96fd4141e43410fb24f1ef",
|
||||
"android_client_info": {
|
||||
"package_name": "com.hi.music.player.test1"
|
||||
"package_name": "com.offline.music.playermp3"
|
||||
}
|
||||
},
|
||||
"oauth_client": [],
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
app_name=Music Player
|
||||
package_name=com.hi.music.player.test
|
||||
keystoreFile=app/MusicPlayer.jks
|
||||
key_alias=MusicPlayerkey0
|
||||
key_store_password=MusicPlayer
|
||||
key_password=MusicPlayer
|
||||
app_name=Offline Music Player
|
||||
package_name=com.offline.music.player
|
||||
keystoreFile=app/OfflineMusicPlayer.jks
|
||||
key_alias=OfflineMusicPlayerkey0
|
||||
key_store_password=OfflineMusicPlayer
|
||||
key_password=OfflineMusicPlayer
|
||||
2
app/proguard-rules.pro
vendored
2
app/proguard-rules.pro
vendored
@ -29,7 +29,7 @@
|
||||
-dontwarn retrofit2.**
|
||||
-dontwarn javax.annotation.Nullable
|
||||
|
||||
-keep class com.hi.music.player.javabean.A_data.AudioItem { *; }
|
||||
-keep class com.offline.music.playermp3.javabean.A_data.AudioItem { *; }
|
||||
|
||||
# 保持 Context、Intent 和权限相关的公共方法
|
||||
-keep class android.content.Context { *; }
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player;
|
||||
package com.offline.music.playermp3;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@ -17,9 +17,9 @@
|
||||
android:allowBackup="true"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:icon="@mipmap/im_logo"
|
||||
android:icon="@drawable/music_player_launch"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/im_logo"
|
||||
android:roundIcon="@drawable/music_player_launch"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.MusicApp"
|
||||
tools:targetApi="31">
|
||||
|
||||
BIN
app/src/main/ic_launcher-playstore.png
Normal file
BIN
app/src/main/ic_launcher-playstore.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
@ -1,7 +0,0 @@
|
||||
package com.hi.music.player.api;
|
||||
|
||||
import com.hi.music.player.javabean.CustomerDownload;
|
||||
|
||||
public interface onCheckDownload {
|
||||
void onHasDownload(CustomerDownload customerDownload);
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player;
|
||||
package com.offline.music.playermp3;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
@ -6,16 +6,14 @@ import android.content.Context;
|
||||
import androidx.annotation.OptIn;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.database.StandaloneDatabaseProvider;
|
||||
import androidx.media3.datasource.cache.LeastRecentlyUsedCacheEvictor;
|
||||
import androidx.media3.datasource.cache.SimpleCache;
|
||||
|
||||
import com.hi.music.player.api.MediaControllerStatusListener;
|
||||
import com.hi.music.player.firebase.RemoteConfigJava;
|
||||
import com.hi.music.player.firebase.Sp;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.media3.MyDownloadService;
|
||||
import com.hi.music.player.media3.MyMediaControllerManager;
|
||||
import com.hi.music.player.objectbox.ObjectBoxManager;
|
||||
import com.offline.music.playermp3.api.MediaControllerStatusListener;
|
||||
import com.offline.music.playermp3.firebase.RemoteConfigJava;
|
||||
import com.offline.music.playermp3.firebase.Sp;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.media3.MyDownloadService;
|
||||
import com.offline.music.playermp3.media3.MyMediaControllerManager;
|
||||
import com.offline.music.playermp3.objectbox.ObjectBoxManager;
|
||||
|
||||
public class MusicApplication extends Application {
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
|
||||
import com.hi.music.player.ui.fragmnt.A_HomeFragment;
|
||||
import com.hi.music.player.ui.fragmnt.A_ImportFragment;
|
||||
import com.offline.music.playermp3.ui.fragmnt.A_HomeFragment;
|
||||
import com.offline.music.playermp3.ui.fragmnt.A_ImportFragment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@ -12,23 +12,24 @@ import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.javabean.A_data.AudioItem;
|
||||
import com.hi.music.player.ui.activity.A_PlayActivity;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.javabean.A_data.AudioItem;
|
||||
import com.offline.music.playermp3.ui.activity.A_PlayActivity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class A_ImportFragmentAdapter extends RecyclerView.Adapter<A_ImportFragmentAdapter.ViewHolder> {
|
||||
|
||||
private Context context;
|
||||
private List<AudioItem> audioFiles = new ArrayList<>();
|
||||
private AudioItem audioItem;
|
||||
private OnOptionClickListener onOptionClickListener;;
|
||||
private OnOptionClickListener onOptionClickListener;
|
||||
private String newName;
|
||||
|
||||
public A_ImportFragmentAdapter(Context context) {
|
||||
public A_ImportFragmentAdapter(Context context, String newName) {
|
||||
this.context = context;
|
||||
this.newName = newName;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@ -39,21 +40,31 @@ public class A_ImportFragmentAdapter extends RecyclerView.Adapter<A_ImportFragme
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||
audioItem = audioFiles.get(position);
|
||||
AudioItem audioItem1 = audioFiles.get(position);
|
||||
|
||||
holder.title.setText(audioItem.getName());
|
||||
holder.time.setText(audioItem.getDuration());
|
||||
Log.d("Adapter", "onBindViewHolder: " + audioItem.getDuration());
|
||||
holder.title.setText(audioItem1.getName());
|
||||
holder.time.setText(audioItem1.getDuration());
|
||||
Log.d("Adapter", "onBindViewHolder: " + audioItem1.getDuration());
|
||||
|
||||
holder.itemView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent = new Intent(context, A_PlayActivity.class);
|
||||
intent.putExtra("Path", audioItem);
|
||||
intent.putExtra("Path", audioItem1);
|
||||
intent.putExtra("newName",newName);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
});holder.itemView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent = new Intent(context, A_PlayActivity.class);
|
||||
intent.putExtra("Path", audioItem1);
|
||||
intent.putExtra("newName",newName);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
});
|
||||
|
||||
holder.bind(audioItem1); // 通过 bind 方法将 audioItem1 传递到 ViewHolder
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -66,6 +77,11 @@ public class A_ImportFragmentAdapter extends RecyclerView.Adapter<A_ImportFragme
|
||||
notifyDataSetChanged(); // Update UI when the data changes
|
||||
}
|
||||
|
||||
// 假设你的 adapter 类中有这个方法来返回某个位置的 AudioItem 对象
|
||||
public AudioItem getAudioFile(int position) {
|
||||
return audioFiles.get(position); // 返回位置上的 AudioItem 对象
|
||||
}
|
||||
|
||||
public void updateTitle(int position, String newTitle) {
|
||||
if (position >= 0 && position < audioFiles.size()) {
|
||||
audioFiles.get(position).setName(newTitle); // 假设 AudioItem 有一个 setName 方法
|
||||
@ -86,12 +102,12 @@ public class A_ImportFragmentAdapter extends RecyclerView.Adapter<A_ImportFragme
|
||||
void onOptionClick(int position, String filePath, View anchorView);
|
||||
}
|
||||
|
||||
|
||||
class ViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
ImageView option;
|
||||
TextView title;
|
||||
TextView time;
|
||||
private AudioItem audioItem; // 定义一个 audioItem 字段
|
||||
|
||||
public ViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
@ -101,14 +117,16 @@ public class A_ImportFragmentAdapter extends RecyclerView.Adapter<A_ImportFragme
|
||||
time = itemView.findViewById(R.id.time);
|
||||
|
||||
option.setOnClickListener(v -> {
|
||||
int position = getBindingAdapterPosition();
|
||||
if (position != RecyclerView.NO_POSITION && onOptionClickListener != null) {
|
||||
int position = getAdapterPosition();
|
||||
if (position != RecyclerView.NO_POSITION && onOptionClickListener != null && audioItem != null) {
|
||||
onOptionClickListener.onOptionClick(position, audioItem.getFile(), option);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 添加 bind 方法,将 audioItem 传递给 ViewHolder
|
||||
public void bind(AudioItem audioItem) {
|
||||
this.audioItem = audioItem;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@ -14,10 +14,10 @@ import androidx.recyclerview.widget.DiffUtil;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.helper.AudioItemDiffCallback;
|
||||
import com.hi.music.player.javabean.A_data.AudioItem;
|
||||
import com.hi.music.player.ui.activity.A_PlayActivity;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.helper.AudioItemDiffCallback;
|
||||
import com.offline.music.playermp3.javabean.A_data.AudioItem;
|
||||
import com.offline.music.playermp3.ui.activity.A_PlayActivity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@ -13,10 +13,10 @@ import androidx.recyclerview.widget.DiffUtil;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.helper.AudioItemDiffCallback;
|
||||
import com.hi.music.player.javabean.A_data.AudioItem;
|
||||
import com.hi.music.player.ui.activity.A_PlayActivity;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.helper.AudioItemDiffCallback;
|
||||
import com.offline.music.playermp3.javabean.A_data.AudioItem;
|
||||
import com.offline.music.playermp3.ui.activity.A_PlayActivity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@ -14,10 +14,10 @@ import androidx.recyclerview.widget.DiffUtil;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.helper.AudioItemDiffCallback;
|
||||
import com.hi.music.player.javabean.A_data.AudioItem;
|
||||
import com.hi.music.player.ui.activity.A_PlayActivity;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.helper.AudioItemDiffCallback;
|
||||
import com.offline.music.playermp3.javabean.A_data.AudioItem;
|
||||
import com.offline.music.playermp3.ui.activity.A_PlayActivity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -1,27 +1,18 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.databinding.ItemCategoryBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.helper.MyValue;
|
||||
import com.hi.music.player.javabean.response.child.ResponseCategory;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ItemCategoryBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseCategory;
|
||||
|
||||
public class AdapterCategory extends BaseAdapter<ResponseCategory, ItemCategoryBinding>{
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
@ -14,20 +14,15 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.api.onImageColorListener;
|
||||
import com.hi.music.player.databinding.ItemCategoryListBinding;
|
||||
import com.hi.music.player.databinding.ItemSingerBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.helper.MyValue;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayListInfo;
|
||||
import com.hi.music.player.javabean.response.child.ResponseCategoryListChild;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSingle;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ItemCategoryListBinding;
|
||||
import com.offline.music.playermp3.databinding.ItemSingerBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.helper.MyValue;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayListInfo;
|
||||
|
||||
public class AdapterCategoryList extends BaseAdapter<ResponsePlayListInfo, ItemCategoryListBinding> {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
@ -17,12 +17,11 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.databinding.ItemLikeSongBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.BoxDownloadSong;
|
||||
import com.hi.music.player.javabean.BoxLikeSong;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ItemLikeSongBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.BoxDownloadSong;
|
||||
|
||||
public class AdapterDownloadSong extends BaseAdapter<Download, ItemLikeSongBinding> {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -10,13 +10,13 @@ import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.databinding.ItemFooterLoadingBinding;
|
||||
import com.hi.music.player.databinding.ItemHomeBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.response.child.ResponseCategory;
|
||||
import com.hi.music.player.javabean.response.child.ResponseHomeChild;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSingle;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.databinding.ItemFooterLoadingBinding;
|
||||
import com.offline.music.playermp3.databinding.ItemHomeBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseCategory;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseHomeChild;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseSingle;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
@ -12,9 +12,7 @@ import android.widget.Toast;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.OptIn;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.exoplayer.offline.Download;
|
||||
import androidx.media3.exoplayer.offline.DownloadRequest;
|
||||
import androidx.media3.exoplayer.offline.DownloadService;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@ -27,22 +25,20 @@ import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.google.gson.Gson;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.api.onCheckDownload;
|
||||
import com.hi.music.player.databinding.ItemLikeSongBinding;
|
||||
import com.hi.music.player.databinding.ItemSingerBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.BoxDownloadSong;
|
||||
import com.hi.music.player.javabean.BoxLikeSong;
|
||||
import com.hi.music.player.javabean.CustomerDownload;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayUrl;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSingle;
|
||||
import com.hi.music.player.media3.MyDownloadService;
|
||||
import com.hi.music.player.media3.MyMediaControllerManager;
|
||||
import com.hi.music.player.network.JsonHelper;
|
||||
import com.hi.music.player.network.RetrofitManager;
|
||||
import com.hi.music.player.ui.activity.viewmodel.VMApplication;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.api.onCheckDownload;
|
||||
import com.offline.music.playermp3.databinding.ItemLikeSongBinding;
|
||||
import com.offline.music.playermp3.databinding.ItemSingerBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.BoxDownloadSong;
|
||||
import com.offline.music.playermp3.javabean.BoxLikeSong;
|
||||
import com.offline.music.playermp3.javabean.CustomerDownload;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayUrl;
|
||||
import com.offline.music.playermp3.media3.MyDownloadService;
|
||||
import com.offline.music.playermp3.network.JsonHelper;
|
||||
import com.offline.music.playermp3.network.RetrofitManager;
|
||||
import com.offline.music.playermp3.ui.activity.viewmodel.VMApplication;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
@ -122,7 +118,7 @@ public class AdapterLikeSong extends BaseAdapter<BoxLikeSong, ItemLikeSongBindin
|
||||
|
||||
vb.imDownload.setVisibility(View.GONE);
|
||||
vb.downloadPb.setVisibility(View.VISIBLE);
|
||||
RetrofitManager.getInstance().getPlayUrl(videoId, new com.hi.music.player.api.RequestListener<ResponseBody>() {
|
||||
RetrofitManager.getInstance().getPlayUrl(videoId, new com.offline.music.playermp3.api.RequestListener<ResponseBody>() {
|
||||
|
||||
@Override
|
||||
public void onFail(String errorMsg) {
|
||||
@ -1,6 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
|
||||
import static androidx.media3.session.legacy.MediaControllerCompat.getMediaController;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -11,16 +9,12 @@ import androidx.media3.common.MediaItem;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.api.MediaControllerListener;
|
||||
import com.hi.music.player.databinding.ItemPlayListBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.helper.MyValue;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayListInfo;
|
||||
import com.hi.music.player.media3.MyMediaControllerManager;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ItemPlayListBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayListInfo;
|
||||
import com.offline.music.playermp3.media3.MyMediaControllerManager;
|
||||
|
||||
public class AdapterPlayList extends BaseAdapter<ResponsePlayListInfo, ItemPlayListBinding> {
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@ -10,13 +9,10 @@ import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.databinding.ItemResultBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.helper.ItemDecoration;
|
||||
import com.hi.music.player.helper.MyValue;
|
||||
import com.hi.music.player.javabean.response.ResponseResultList;
|
||||
import com.hi.music.player.ui.activity.PlayActivity;
|
||||
import com.offline.music.playermp3.databinding.ItemResultBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.helper.ItemDecoration;
|
||||
import com.offline.music.playermp3.javabean.response.ResponseResultList;
|
||||
|
||||
public class AdapterResult extends BaseAdapter<ResponseResultList, ItemResultBinding>{
|
||||
public AdapterResult(Context mContext) {
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
@ -16,11 +16,11 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.databinding.ItemResultListAlbumBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.response.child.ResponseResultListChild;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ItemResultListAlbumBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseResultListChild;
|
||||
|
||||
public class AdapterResultListAlbum extends BaseAdapter<ResponseResultListChild, ItemResultListAlbumBinding>{
|
||||
@Override
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
@ -16,11 +16,11 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.databinding.ItemResultListSongBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.response.child.ResponseResultListChild;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ItemResultListSongBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseResultListChild;
|
||||
|
||||
public class AdapterResultListSong extends BaseAdapter<ResponseResultListChild, ItemResultListSongBinding> {
|
||||
@Override
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -11,12 +11,12 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.databinding.ItemSearchBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.response.ResponseSearch;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSearchChild;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ItemSearchBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.response.ResponseSearch;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseSearchChild;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
@ -16,13 +16,12 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.databinding.ItemSearchBinding;
|
||||
import com.hi.music.player.databinding.ItemSearchChildBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.response.ResponseSearch;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSearchChild;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ItemSearchBinding;
|
||||
import com.offline.music.playermp3.databinding.ItemSearchChildBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseSearchChild;
|
||||
|
||||
public class AdapterSearchChild extends BaseAdapter<ResponseSearchChild, ItemSearchChildBinding> {
|
||||
@Override
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
@ -16,11 +16,11 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.databinding.ItemSingerBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSingle;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ItemSingerBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseSingle;
|
||||
|
||||
public class AdapterSinger extends BaseAdapter<ResponseSingle, ItemSingerBinding> {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -7,7 +7,7 @@ import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.hi.music.player.databinding.ItemSuggestionBinding;
|
||||
import com.offline.music.playermp3.databinding.ItemSuggestionBinding;
|
||||
|
||||
public class AdapterSuggestion extends BaseAdapter<String, ItemSuggestionBinding> {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
@ -8,10 +8,8 @@ import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
|
||||
import com.hi.music.player.api.HomeItemClickListener;
|
||||
import com.hi.music.player.databinding.ItemFooterLoadingBinding;
|
||||
import com.hi.music.player.javabean.response.child.ResponseCategory;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSingle;
|
||||
import com.offline.music.playermp3.api.HomeItemClickListener;
|
||||
import com.offline.music.playermp3.databinding.ItemFooterLoadingBinding;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -1,13 +1,13 @@
|
||||
package com.hi.music.player.adapter;
|
||||
package com.offline.music.playermp3.adapter;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
|
||||
import com.hi.music.player.ui.fragmnt.HomeFragment;
|
||||
import com.hi.music.player.ui.fragmnt.ProfileFragment;
|
||||
import com.hi.music.player.ui.fragmnt.SearchFragment;
|
||||
import com.offline.music.playermp3.ui.fragmnt.HomeFragment;
|
||||
import com.offline.music.playermp3.ui.fragmnt.ProfileFragment;
|
||||
import com.offline.music.playermp3.ui.fragmnt.SearchFragment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -1,14 +1,14 @@
|
||||
package com.hi.music.player.api;
|
||||
package com.offline.music.playermp3.api;
|
||||
|
||||
import androidx.media3.exoplayer.offline.Download;
|
||||
|
||||
import com.hi.music.player.javabean.BoxLikeSong;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayListInfo;
|
||||
import com.hi.music.player.javabean.response.ResponseSearch;
|
||||
import com.hi.music.player.javabean.response.child.ResponseCategory;
|
||||
import com.hi.music.player.javabean.response.child.ResponseResultListChild;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSearchChild;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSingle;
|
||||
import com.offline.music.playermp3.javabean.BoxLikeSong;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayListInfo;
|
||||
import com.offline.music.playermp3.javabean.response.ResponseSearch;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseCategory;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseResultListChild;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseSearchChild;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseSingle;
|
||||
|
||||
public interface HomeItemClickListener {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hi.music.player.api;
|
||||
package com.offline.music.playermp3.api;
|
||||
|
||||
import com.hi.music.player.javabean.BoxLikeSong;
|
||||
import com.offline.music.playermp3.javabean.BoxLikeSong;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.api;
|
||||
package com.offline.music.playermp3.api;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.api;
|
||||
package com.offline.music.playermp3.api;
|
||||
|
||||
public interface MediaControllerStatusListener {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.api;
|
||||
package com.offline.music.playermp3.api;
|
||||
|
||||
public interface OnHasUrlAction {
|
||||
void onHasUrl();
|
||||
@ -1,9 +1,7 @@
|
||||
package com.hi.music.player.api;
|
||||
package com.offline.music.playermp3.api;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import okhttp3.ResponseBody;
|
||||
|
||||
public interface RequestListener<T> {
|
||||
|
||||
void onFail(String errorMsg);
|
||||
@ -0,0 +1,7 @@
|
||||
package com.offline.music.playermp3.api;
|
||||
|
||||
import com.offline.music.playermp3.javabean.CustomerDownload;
|
||||
|
||||
public interface onCheckDownload {
|
||||
void onHasDownload(CustomerDownload customerDownload);
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.api;
|
||||
package com.offline.music.playermp3.api;
|
||||
|
||||
public interface onImageColorListener {
|
||||
void onImageColor(int color);
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.api;
|
||||
package com.offline.music.playermp3.api;
|
||||
|
||||
public interface onPlayNextListener {
|
||||
void onPlayNext(boolean hasNext);
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.customerview;
|
||||
package com.offline.music.playermp3.customerview;
|
||||
|
||||
import android.animation.ValueAnimator;
|
||||
import android.content.Context;
|
||||
@ -9,7 +9,7 @@ import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.dialog;
|
||||
package com.offline.music.playermp3.dialog;
|
||||
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
@ -14,12 +14,10 @@ import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.offline.music.playermp3.R;
|
||||
|
||||
|
||||
public abstract class BaseDialog<T extends ViewBinding> extends DialogFragment {
|
||||
@ -1,7 +1,6 @@
|
||||
package com.hi.music.player.dialog;
|
||||
package com.offline.music.playermp3.dialog;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.net.Uri;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -21,15 +20,14 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.adapter.AdapterPlayList;
|
||||
import com.hi.music.player.api.onImageColorListener;
|
||||
import com.hi.music.player.databinding.DialogPlayListBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayListInfo;
|
||||
import com.hi.music.player.media3.MyControllerView;
|
||||
import com.hi.music.player.media3.MyMediaControllerManager;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.adapter.AdapterPlayList;
|
||||
import com.offline.music.playermp3.api.onImageColorListener;
|
||||
import com.offline.music.playermp3.databinding.DialogPlayListBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayListInfo;
|
||||
import com.offline.music.playermp3.media3.MyMediaControllerManager;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,21 +1,19 @@
|
||||
package com.hi.music.player.firebase
|
||||
package com.offline.music.playermp3.firebase
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.os.Message
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import com.google.firebase.remoteconfig.ConfigUpdate
|
||||
import com.google.firebase.remoteconfig.ConfigUpdateListener
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfig
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfigException
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
|
||||
import com.hi.music.player.BuildConfig
|
||||
import com.hi.music.player.helper.CommonUtils
|
||||
import com.offline.music.playermp3.BuildConfig
|
||||
import com.offline.music.playermp3.helper.CommonUtils
|
||||
|
||||
|
||||
import java.lang.ref.WeakReference
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.firebase;
|
||||
package com.offline.music.playermp3.firebase;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
@ -17,7 +17,7 @@ import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfigException;
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfigValue;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.Map;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.firebase;
|
||||
package com.offline.music.playermp3.firebase;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
@ -39,6 +39,6 @@ public class Sp {
|
||||
}
|
||||
|
||||
public String getStringValue(String key) {
|
||||
return preferences.getString(key, RemoteConfigJava.value_open_type_1);
|
||||
return preferences.getString(key, RemoteConfigJava.value_open_type_0);
|
||||
}
|
||||
}
|
||||
@ -1,8 +1,8 @@
|
||||
package com.hi.music.player.helper;
|
||||
package com.offline.music.playermp3.helper;
|
||||
|
||||
import androidx.recyclerview.widget.DiffUtil;
|
||||
|
||||
import com.hi.music.player.javabean.A_data.AudioItem;
|
||||
import com.offline.music.playermp3.javabean.A_data.AudioItem;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.helper;
|
||||
package com.offline.music.playermp3.helper;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.ViewModelStore;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.helper;
|
||||
package com.offline.music.playermp3.helper;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.helper;
|
||||
package com.offline.music.playermp3.helper;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
@ -10,36 +10,26 @@ import android.net.Uri;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.OptIn;
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.common.MediaMetadata;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.datasource.cache.Cache;
|
||||
import androidx.media3.datasource.cache.CacheEvictor;
|
||||
import androidx.media3.datasource.cache.CacheSpan;
|
||||
import androidx.media3.datasource.cache.SimpleCache;
|
||||
import androidx.media3.exoplayer.offline.Download;
|
||||
import androidx.palette.graphics.Palette;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.api.onImageColorListener;
|
||||
import com.hi.music.player.javabean.BoxDownloadSong;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.api.onImageColorListener;
|
||||
import com.offline.music.playermp3.javabean.BoxDownloadSong;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import java.util.NavigableSet;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import okhttp3.ResponseBody;
|
||||
|
||||
public class CommonUtils {
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.helper;
|
||||
package com.offline.music.playermp3.helper;
|
||||
|
||||
import android.graphics.Rect;
|
||||
import android.view.View;
|
||||
@ -9,7 +9,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
|
||||
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
|
||||
public class ItemDecoration extends RecyclerView.ItemDecoration {
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
package com.hi.music.player.helper;
|
||||
package com.offline.music.playermp3.helper;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.hi.music.player.javabean.A_data.AudioItem;
|
||||
import com.hi.music.player.javabean.A_data.Category;
|
||||
import com.offline.music.playermp3.javabean.A_data.AudioItem;
|
||||
import com.offline.music.playermp3.javabean.A_data.Category;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.helper;
|
||||
package com.offline.music.playermp3.helper;
|
||||
|
||||
public class MyValue {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.helper;
|
||||
package com.offline.music.playermp3.helper;
|
||||
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Context;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.helper;
|
||||
package com.offline.music.playermp3.helper;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
@ -6,8 +6,6 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.hi.music.player.MusicApplication;
|
||||
|
||||
public class ViewModelScope {
|
||||
private ViewModelProvider mFragmentProvider;
|
||||
private ViewModelProvider mActivityProvider;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.A_data;
|
||||
package com.offline.music.playermp3.javabean.A_data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.A_data;
|
||||
package com.offline.music.playermp3.javabean.A_data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean;
|
||||
package com.offline.music.playermp3.javabean;
|
||||
|
||||
import io.objectbox.annotation.Entity;
|
||||
import io.objectbox.annotation.Id;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean;
|
||||
package com.offline.music.playermp3.javabean;
|
||||
|
||||
import io.objectbox.annotation.Entity;
|
||||
import io.objectbox.annotation.Id;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean;
|
||||
package com.offline.music.playermp3.javabean;
|
||||
|
||||
import androidx.media3.exoplayer.offline.Download;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hi.music.player.javabean;
|
||||
package com.offline.music.playermp3.javabean;
|
||||
|
||||
import com.hi.music.player.javabean.response.ResponsePlayUrl;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayUrl;
|
||||
|
||||
public class CustomerUrlInfo {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hi.music.player.javabean.requestbody;
|
||||
package com.offline.music.playermp3.javabean.requestbody;
|
||||
|
||||
import com.hi.music.player.javabean.requestbody.child.ContextBody;
|
||||
import com.offline.music.playermp3.javabean.requestbody.child.ContextBody;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hi.music.player.javabean.requestbody;
|
||||
package com.offline.music.playermp3.javabean.requestbody;
|
||||
|
||||
import com.hi.music.player.javabean.requestbody.child.ContextBody;
|
||||
import com.offline.music.playermp3.javabean.requestbody.child.ContextBody;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hi.music.player.javabean.requestbody;
|
||||
package com.offline.music.playermp3.javabean.requestbody;
|
||||
|
||||
import com.hi.music.player.javabean.requestbody.child.ContextBody;
|
||||
import com.offline.music.playermp3.javabean.requestbody.child.ContextBody;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.hi.music.player.javabean.requestbody;
|
||||
package com.offline.music.playermp3.javabean.requestbody;
|
||||
|
||||
import com.hi.music.player.javabean.requestbody.child.Client;
|
||||
import com.hi.music.player.javabean.requestbody.child.ContextBody;
|
||||
import com.offline.music.playermp3.javabean.requestbody.child.ContextBody;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.hi.music.player.javabean.requestbody;
|
||||
package com.offline.music.playermp3.javabean.requestbody;
|
||||
|
||||
import com.hi.music.player.javabean.requestbody.child.Client;
|
||||
import com.hi.music.player.javabean.requestbody.child.ContextBody;
|
||||
import com.offline.music.playermp3.javabean.requestbody.child.ContextBody;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.requestbody.child;
|
||||
package com.offline.music.playermp3.javabean.requestbody.child;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Locale;
|
||||
@ -1,7 +1,4 @@
|
||||
package com.hi.music.player.javabean.requestbody.child;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Locale;
|
||||
package com.offline.music.playermp3.javabean.requestbody.child;
|
||||
|
||||
public class ContextBody {
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
package com.hi.music.player.javabean.response;
|
||||
|
||||
import com.hi.music.player.javabean.response.child.ResponseCategoryListChild;
|
||||
package com.offline.music.playermp3.javabean.response;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
@ -1,8 +1,8 @@
|
||||
package com.hi.music.player.javabean.response;
|
||||
package com.offline.music.playermp3.javabean.response;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.hi.music.player.javabean.response.child.ResponseHomeChild;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseHomeChild;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
package com.hi.music.player.javabean.response;
|
||||
|
||||
import com.hi.music.player.helper.MyValue;
|
||||
package com.offline.music.playermp3.javabean.response;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.response;
|
||||
package com.offline.music.playermp3.javabean.response;
|
||||
|
||||
|
||||
/**
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.response;
|
||||
package com.offline.music.playermp3.javabean.response;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hi.music.player.javabean.response;
|
||||
package com.offline.music.playermp3.javabean.response;
|
||||
|
||||
import com.hi.music.player.javabean.response.child.ResponseResultListChild;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseResultListChild;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hi.music.player.javabean.response;
|
||||
package com.offline.music.playermp3.javabean.response;
|
||||
|
||||
import com.hi.music.player.javabean.response.child.ResponseSearchChild;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseSearchChild;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.response.child;
|
||||
package com.offline.music.playermp3.javabean.response.child;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.response.child;
|
||||
package com.offline.music.playermp3.javabean.response.child;
|
||||
|
||||
public class ResponseCategoryListChild {
|
||||
private String SongTitle;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.response.child;
|
||||
package com.offline.music.playermp3.javabean.response.child;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.response.child;
|
||||
package com.offline.music.playermp3.javabean.response.child;
|
||||
|
||||
public class ResponseResultListChild {
|
||||
private String thumbnail;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.response.child;
|
||||
package com.offline.music.playermp3.javabean.response.child;
|
||||
|
||||
public class ResponseSearchChild {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.javabean.response.child;
|
||||
package com.offline.music.playermp3.javabean.response.child;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -1,37 +1,15 @@
|
||||
package com.hi.music.player.media3;
|
||||
|
||||
import android.net.Uri;
|
||||
package com.offline.music.playermp3.media3;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.datasource.DataSource;
|
||||
import androidx.media3.datasource.DataSpec;
|
||||
import androidx.media3.datasource.DefaultDataSource;
|
||||
import androidx.media3.datasource.DefaultDataSourceFactory;
|
||||
import androidx.media3.datasource.DefaultHttpDataSource;
|
||||
import androidx.media3.datasource.ResolvingDataSource;
|
||||
import androidx.media3.datasource.cache.CacheDataSource;
|
||||
import androidx.media3.datasource.cache.SimpleCache;
|
||||
import androidx.media3.exoplayer.ExoPlayer;
|
||||
import androidx.media3.exoplayer.drm.DrmSessionManagerProvider;
|
||||
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.source.MediaSourceFactory;
|
||||
import androidx.media3.exoplayer.source.ProgressiveMediaSource;
|
||||
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy;
|
||||
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.api.RequestListener;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayUrl;
|
||||
import com.hi.music.player.network.JsonHelper;
|
||||
import com.hi.music.player.network.RetrofitManager;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import okhttp3.ResponseBody;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
|
||||
|
||||
public class DynamicMediaSourceFactory implements MediaSource.Factory {
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.media3;
|
||||
package com.offline.music.playermp3.media3;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.media3;
|
||||
package com.offline.music.playermp3.media3;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@ -8,7 +8,7 @@ import androidx.media3.database.StandaloneDatabaseProvider;
|
||||
import androidx.media3.datasource.cache.NoOpCacheEvictor;
|
||||
import androidx.media3.datasource.cache.SimpleCache;
|
||||
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.media3;
|
||||
package com.offline.music.playermp3.media3;
|
||||
|
||||
import android.app.Notification;
|
||||
import android.content.Context;
|
||||
@ -18,11 +18,11 @@ import androidx.media3.exoplayer.offline.DownloadNotificationHelper;
|
||||
import androidx.media3.exoplayer.offline.DownloadService;
|
||||
import androidx.media3.exoplayer.scheduler.Scheduler;
|
||||
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.api.onCheckDownload;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.CustomerDownload;
|
||||
import com.hi.music.player.ui.activity.viewmodel.VMApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.api.onCheckDownload;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.CustomerDownload;
|
||||
import com.offline.music.playermp3.ui.activity.viewmodel.VMApplication;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.media3;
|
||||
package com.offline.music.playermp3.media3;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.net.Uri;
|
||||
@ -15,21 +15,20 @@ import androidx.media3.session.SessionToken;
|
||||
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
import com.google.common.util.concurrent.MoreExecutors;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.api.MediaControllerListener;
|
||||
import com.hi.music.player.api.MediaControllerStatusListener;
|
||||
import com.hi.music.player.api.OnHasUrlAction;
|
||||
import com.hi.music.player.api.onCheckDownload;
|
||||
import com.hi.music.player.api.onPlayNextListener;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.helper.MyValue;
|
||||
import com.hi.music.player.javabean.CustomerDownload;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayListInfo;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayUrl;
|
||||
import com.hi.music.player.network.RetrofitManager;
|
||||
import com.hi.music.player.ui.activity.viewmodel.VMApplication;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.api.MediaControllerListener;
|
||||
import com.offline.music.playermp3.api.MediaControllerStatusListener;
|
||||
import com.offline.music.playermp3.api.OnHasUrlAction;
|
||||
import com.offline.music.playermp3.api.onCheckDownload;
|
||||
import com.offline.music.playermp3.api.onPlayNextListener;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.helper.MyValue;
|
||||
import com.offline.music.playermp3.javabean.CustomerDownload;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayListInfo;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayUrl;
|
||||
import com.offline.music.playermp3.network.RetrofitManager;
|
||||
import com.offline.music.playermp3.ui.activity.viewmodel.VMApplication;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.media3;
|
||||
package com.offline.music.playermp3.media3;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.media3;
|
||||
package com.offline.music.playermp3.media3;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@ -14,21 +14,17 @@ import androidx.media3.datasource.DataSpec;
|
||||
import androidx.media3.datasource.DefaultDataSource;
|
||||
import androidx.media3.datasource.DefaultHttpDataSource;
|
||||
import androidx.media3.datasource.ResolvingDataSource;
|
||||
import androidx.media3.datasource.TransferListener;
|
||||
import androidx.media3.datasource.cache.CacheDataSource;
|
||||
import androidx.media3.datasource.cache.SimpleCache;
|
||||
import androidx.media3.exoplayer.DefaultLoadControl;
|
||||
import androidx.media3.exoplayer.ExoPlayer;
|
||||
|
||||
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.source.ProgressiveMediaSource;
|
||||
import androidx.media3.session.MediaSession;
|
||||
import androidx.media3.session.MediaSessionService;
|
||||
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
|
||||
public class PlaybackService extends MediaSessionService {
|
||||
private MediaSession mediaSession = null;
|
||||
@ -1,14 +1,8 @@
|
||||
package com.hi.music.player.media3;
|
||||
package com.offline.music.playermp3.media3;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.datasource.DataSource;
|
||||
import androidx.media3.exoplayer.drm.DrmSessionManagerProvider;
|
||||
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy;
|
||||
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
|
||||
|
||||
public class testSourceFactory implements DataSource.Factory {
|
||||
@ -1,26 +1,25 @@
|
||||
package com.hi.music.player.network;
|
||||
package com.offline.music.playermp3.network;
|
||||
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.helper.MyValue;
|
||||
import com.hi.music.player.javabean.response.ResponseCategoryList;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayListInfo;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayUrl;
|
||||
import com.hi.music.player.javabean.response.ResponseResult;
|
||||
import com.hi.music.player.javabean.response.ResponseResultList;
|
||||
import com.hi.music.player.javabean.response.ResponseSearch;
|
||||
import com.hi.music.player.javabean.response.child.ResponseCategory;
|
||||
import com.hi.music.player.javabean.response.ResponseHome;
|
||||
import com.hi.music.player.javabean.response.child.ResponseHomeChild;
|
||||
import com.hi.music.player.javabean.response.child.ResponseResultListChild;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSearchChild;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSingle;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.helper.MyValue;
|
||||
import com.offline.music.playermp3.javabean.response.ResponseCategoryList;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayListInfo;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayUrl;
|
||||
import com.offline.music.playermp3.javabean.response.ResponseResult;
|
||||
import com.offline.music.playermp3.javabean.response.ResponseResultList;
|
||||
import com.offline.music.playermp3.javabean.response.ResponseSearch;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseCategory;
|
||||
import com.offline.music.playermp3.javabean.response.ResponseHome;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseHomeChild;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseResultListChild;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseSearchChild;
|
||||
import com.offline.music.playermp3.javabean.response.child.ResponseSingle;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
package com.hi.music.player.network;
|
||||
package com.offline.music.playermp3.network;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.RequestBody;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Header;
|
||||
import retrofit2.http.Headers;
|
||||
import retrofit2.http.POST;
|
||||
@ -1,7 +1,7 @@
|
||||
package com.hi.music.player.network;
|
||||
package com.offline.music.playermp3.network;
|
||||
|
||||
import com.hi.music.player.api.RequestListener;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.api.RequestListener;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
@ -1,15 +1,14 @@
|
||||
package com.hi.music.player.network;
|
||||
package com.offline.music.playermp3.network;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.api.RequestListener;
|
||||
import com.hi.music.player.javabean.requestbody.BodyHome;
|
||||
import com.hi.music.player.javabean.requestbody.BodyPlay;
|
||||
import com.hi.music.player.javabean.requestbody.BodyPlayUrl;
|
||||
import com.hi.music.player.javabean.requestbody.BodySearch;
|
||||
import com.hi.music.player.javabean.requestbody.BodySearchSuggestion;
|
||||
import com.hi.music.player.javabean.requestbody.child.Client;
|
||||
import com.hi.music.player.javabean.requestbody.child.ContextBody;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.api.RequestListener;
|
||||
import com.offline.music.playermp3.javabean.requestbody.BodyHome;
|
||||
import com.offline.music.playermp3.javabean.requestbody.BodyPlay;
|
||||
import com.offline.music.playermp3.javabean.requestbody.BodyPlayUrl;
|
||||
import com.offline.music.playermp3.javabean.requestbody.BodySearch;
|
||||
import com.offline.music.playermp3.javabean.requestbody.BodySearchSuggestion;
|
||||
import com.offline.music.playermp3.javabean.requestbody.child.Client;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@ -1,14 +1,14 @@
|
||||
package com.hi.music.player.objectbox;
|
||||
package com.offline.music.playermp3.objectbox;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.hi.music.player.api.LikeSongListener;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.javabean.BoxLikeSong;
|
||||
import com.hi.music.player.javabean.BoxLikeSong_;
|
||||
import com.hi.music.player.javabean.MyObjectBox;
|
||||
import com.offline.music.playermp3.api.LikeSongListener;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.javabean.BoxLikeSong;
|
||||
import com.offline.music.playermp3.javabean.BoxLikeSong_;
|
||||
import com.offline.music.playermp3.javabean.MyObjectBox;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.service;
|
||||
package com.offline.music.playermp3.service;
|
||||
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationChannel;
|
||||
@ -24,9 +24,9 @@ import androidx.core.app.NotificationCompat;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.javabean.A_data.AudioItem;
|
||||
import com.hi.music.player.ui.activity.A_PlayActivity;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.javabean.A_data.AudioItem;
|
||||
import com.offline.music.playermp3.ui.activity.A_PlayActivity;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@ -101,8 +101,8 @@ public class MusicPlayerForegroundService extends Service {
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ? PendingIntent.FLAG_IMMUTABLE : 0); // 适配Android 12
|
||||
|
||||
return new NotificationCompat.Builder(this, CHANNEL_ID)
|
||||
.setContentTitle("正在播放音频") // 通知标题
|
||||
.setContentText("您的音频正在播放") // 通知内容
|
||||
.setContentTitle("Playing audio") // 通知标题
|
||||
.setContentText("Your audio is playing") // 通知内容
|
||||
.setSmallIcon(R.drawable.home_select) // 小图标
|
||||
.setContentIntent(pendingIntent) // 点击通知的Intent
|
||||
.setPriority(NotificationCompat.PRIORITY_LOW) // 低优先级
|
||||
@ -113,7 +113,7 @@ public class MusicPlayerForegroundService extends Service {
|
||||
private void createNotificationChannel() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
NotificationChannel serviceChannel = new NotificationChannel(
|
||||
CHANNEL_ID, "音乐播放器频道", NotificationManager.IMPORTANCE_LOW);
|
||||
CHANNEL_ID, "Music player channel", NotificationManager.IMPORTANCE_LOW);
|
||||
NotificationManager manager = getSystemService(NotificationManager.class);
|
||||
if (manager != null) {
|
||||
manager.createNotificationChannel(serviceChannel); // 创建渠道
|
||||
@ -190,7 +190,7 @@ public class MusicPlayerForegroundService extends Service {
|
||||
if (afd != null) {
|
||||
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); // 设置数据源
|
||||
} else {
|
||||
throw new IOException("无法打开内容URI: " + path);
|
||||
throw new IOException("Unable to open the content URI: " + path);
|
||||
}
|
||||
} catch (SecurityException e) {
|
||||
Log.e("MusicPlayerService", "权限被拒绝,无法访问内容URI: " + path, e);
|
||||
@ -208,7 +208,7 @@ public class MusicPlayerForegroundService extends Service {
|
||||
if (file.exists()) {
|
||||
mediaPlayer.setDataSource(file.getAbsolutePath()); // 从文件加载
|
||||
} else {
|
||||
throw new IOException("文件未找到: " + path);
|
||||
throw new IOException("File not found: " + path);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -225,7 +225,7 @@ public class MusicPlayerForegroundService extends Service {
|
||||
return (dotIndex > 0) ? fileName.substring(0, dotIndex) : fileName;
|
||||
} catch (Exception e) {
|
||||
Log.e("MusicPlayerService", "获取文件名失败", e);
|
||||
return "未知文件"; // 默认文件名
|
||||
return "Unknown file"; // 默认文件名
|
||||
}
|
||||
}
|
||||
|
||||
@ -249,7 +249,7 @@ public class MusicPlayerForegroundService extends Service {
|
||||
} else {
|
||||
pauseAudio(); // 时间到,暂停音乐
|
||||
isPlaying.postValue(false); // 更新播放状态
|
||||
Toast.makeText(getApplicationContext(), "定时器结束", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(getApplicationContext(), "Timer end", Toast.LENGTH_SHORT).show();
|
||||
stopTimer(); // 时间到,结束计时器
|
||||
}
|
||||
}
|
||||
@ -1,24 +1,22 @@
|
||||
package com.hi.music.player.ui.activity;
|
||||
package com.offline.music.playermp3.ui.activity;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.ServiceConnection;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.adapter.A_HomeViewPagerAdapter;
|
||||
import com.hi.music.player.databinding.ActivityAhomeBinding;
|
||||
import com.hi.music.player.databinding.HomeTabCustomBinding;
|
||||
import com.hi.music.player.javabean.A_data.AudioItem;
|
||||
import com.hi.music.player.service.MusicPlayerForegroundService;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.adapter.A_HomeViewPagerAdapter;
|
||||
import com.offline.music.playermp3.databinding.ActivityAhomeBinding;
|
||||
import com.offline.music.playermp3.databinding.HomeTabCustomBinding;
|
||||
import com.offline.music.playermp3.javabean.A_data.AudioItem;
|
||||
import com.offline.music.playermp3.service.MusicPlayerForegroundService;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.ui.activity;
|
||||
package com.offline.music.playermp3.ui.activity;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@ -11,7 +11,6 @@ import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
import android.renderscript.Allocation;
|
||||
import android.renderscript.Element;
|
||||
import android.renderscript.RenderScript;
|
||||
@ -22,7 +21,6 @@ import android.view.View;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
@ -32,10 +30,10 @@ import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.target.CustomTarget;
|
||||
import com.bumptech.glide.request.transition.Transition;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.databinding.ActivityAplayBinding;
|
||||
import com.hi.music.player.javabean.A_data.AudioItem;
|
||||
import com.hi.music.player.service.MusicPlayerForegroundService;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.databinding.ActivityAplayBinding;
|
||||
import com.offline.music.playermp3.javabean.A_data.AudioItem;
|
||||
import com.offline.music.playermp3.service.MusicPlayerForegroundService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -59,6 +57,7 @@ public class A_PlayActivity extends BaseActivity<ActivityAplayBinding> {
|
||||
|
||||
// 设置观察者
|
||||
musicService.getIsPlaying().observe(A_PlayActivity.this, this::updatePlayButton);
|
||||
|
||||
musicService.getFileName().observe(A_PlayActivity.this, vb.songTitle::setText);
|
||||
|
||||
// 更新进度条和时间
|
||||
@ -100,6 +99,10 @@ public class A_PlayActivity extends BaseActivity<ActivityAplayBinding> {
|
||||
|
||||
loadBackgroundPreference(); // 加载之前保存的背景状态
|
||||
|
||||
updateSeekBarAndTime();
|
||||
if (musicService != null) {
|
||||
musicService.startUpdatingProgress();
|
||||
}
|
||||
|
||||
// 从Intent获取音频项
|
||||
AudioItem audioItem = (AudioItem) getIntent().getSerializableExtra("Path");
|
||||
@ -108,6 +111,8 @@ public class A_PlayActivity extends BaseActivity<ActivityAplayBinding> {
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d("paly","-----" +audioItem.getName());
|
||||
|
||||
Glide.with(this)
|
||||
.load("file:///android_asset/" + audioItem.getImage())
|
||||
.placeholder(R.mipmap.playing_background) // 默认图片
|
||||
@ -120,7 +125,7 @@ public class A_PlayActivity extends BaseActivity<ActivityAplayBinding> {
|
||||
@Override
|
||||
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
|
||||
// 对图片进行高斯模糊处理
|
||||
Bitmap blurredBitmap = blurBitmap(A_PlayActivity.this, resource,5);
|
||||
Bitmap blurredBitmap = blurBitmap(A_PlayActivity.this, resource, 5);
|
||||
|
||||
// 将模糊后的图片作为背景设置到 vb.topContainer
|
||||
Drawable blurredDrawable = new BitmapDrawable(getResources(), blurredBitmap);
|
||||
@ -134,7 +139,6 @@ public class A_PlayActivity extends BaseActivity<ActivityAplayBinding> {
|
||||
});
|
||||
|
||||
|
||||
|
||||
startMusicService(audioItem); // 启动音乐服务
|
||||
setupPlayButtonClickListener(); // 设置播放按钮的点击事件
|
||||
|
||||
@ -210,21 +214,21 @@ public class A_PlayActivity extends BaseActivity<ActivityAplayBinding> {
|
||||
|
||||
// 更新进度条和时间显示
|
||||
private void updateSeekBarAndTime() {
|
||||
if (isBound && musicService != null) {
|
||||
if (isBound && musicService!= null) {
|
||||
// 观察当前播放进度
|
||||
musicService.getCurrentPositionLiveData().observe(this, position -> {
|
||||
if (musicService.getDurationLiveData().getValue() != null) {
|
||||
int duration = musicService.getDurationLiveData().getValue();
|
||||
if (duration > 0) {
|
||||
vb.songSeekbar.setProgress((int) ((position / (float) duration) * 100));
|
||||
vb.current.setText(formatTime(position));
|
||||
}
|
||||
Integer duration = musicService.getDurationLiveData().getValue();
|
||||
if (duration!= null && duration > 0) {
|
||||
vb.songSeekbar.setProgress((int) ((position / (float) duration) * 100));
|
||||
vb.current.setText(formatTime(position));
|
||||
}
|
||||
});
|
||||
|
||||
// 观察音频总时长
|
||||
musicService.getDurationLiveData().observe(this, duration -> {
|
||||
vb.time.setText(formatTime(duration));
|
||||
if (duration!= null) {
|
||||
vb.time.setText(formatTime(duration));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -279,7 +283,6 @@ public class A_PlayActivity extends BaseActivity<ActivityAplayBinding> {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 保存背景状态到SharedPreferences
|
||||
private void saveBackgroundPreference() {
|
||||
SharedPreferences sharedPreferences = getSharedPreferences("AppPreferences", MODE_PRIVATE);
|
||||
@ -1,9 +1,9 @@
|
||||
package com.hi.music.player.ui.activity;
|
||||
package com.offline.music.playermp3.ui.activity;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import com.hi.music.player.databinding.ActivityAsettingBinding;
|
||||
import com.hi.music.player.helper.SettingUtil;
|
||||
import com.offline.music.playermp3.databinding.ActivityAsettingBinding;
|
||||
import com.offline.music.playermp3.helper.SettingUtil;
|
||||
|
||||
public class A_SettingActivity extends BaseActivity<ActivityAsettingBinding> {
|
||||
|
||||
@ -40,6 +40,10 @@ public class A_SettingActivity extends BaseActivity<ActivityAsettingBinding> {
|
||||
SettingUtil.openTermsOfService(this);
|
||||
});
|
||||
|
||||
vb.back.setOnClickListener(v -> {
|
||||
finish();
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.hi.music.player.ui.activity;
|
||||
package com.offline.music.playermp3.ui.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.CountDownTimer;
|
||||
import android.view.View;
|
||||
|
||||
import com.hi.music.player.databinding.ActivityAsplashBinding;
|
||||
import com.hi.music.player.firebase.RemoteConfigJava;
|
||||
import com.hi.music.player.firebase.Sp;
|
||||
import com.offline.music.playermp3.databinding.ActivityAsplashBinding;
|
||||
import com.offline.music.playermp3.firebase.RemoteConfigJava;
|
||||
import com.offline.music.playermp3.firebase.Sp;
|
||||
|
||||
|
||||
public class A_SplashActivity extends BaseActivity<ActivityAsplashBinding> {
|
||||
@ -46,7 +46,7 @@ public class A_SplashActivity extends BaseActivity<ActivityAsplashBinding> {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void intData(){
|
||||
public void intData() {
|
||||
|
||||
countDownTimer = new CountDownTimer(SPLASH_TIME_OUT, 100) {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hi.music.player.ui.activity;
|
||||
package com.offline.music.playermp3.ui.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
@ -25,16 +25,16 @@ import androidx.viewbinding.ViewBinding;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.api.onPlayNextListener;
|
||||
import com.hi.music.player.databinding.ActivityBaseBinding;
|
||||
import com.hi.music.player.databinding.LayoutPanelBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.helper.MyValue;
|
||||
import com.hi.music.player.helper.ViewModelScope;
|
||||
import com.hi.music.player.media3.MyMediaControllerManager;
|
||||
import com.hi.music.player.ui.activity.viewmodel.VMApplication;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.api.onPlayNextListener;
|
||||
import com.offline.music.playermp3.databinding.ActivityBaseBinding;
|
||||
import com.offline.music.playermp3.databinding.LayoutPanelBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.helper.MyValue;
|
||||
import com.offline.music.playermp3.helper.ViewModelScope;
|
||||
import com.offline.music.playermp3.media3.MyMediaControllerManager;
|
||||
import com.offline.music.playermp3.ui.activity.viewmodel.VMApplication;
|
||||
|
||||
public abstract class BaseActivity<T extends ViewBinding> extends AppCompatActivity implements View.OnClickListener {
|
||||
|
||||
@ -1,48 +1,34 @@
|
||||
package com.hi.music.player.ui.activity;
|
||||
package com.offline.music.playermp3.ui.activity;
|
||||
|
||||
import static com.bumptech.glide.request.RequestOptions.bitmapTransform;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.OptIn;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.load.resource.bitmap.BitmapTransitionOptions;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hi.music.player.MusicApplication;
|
||||
import com.hi.music.player.R;
|
||||
import com.hi.music.player.adapter.AdapterCategoryList;
|
||||
import com.hi.music.player.api.HomeItemClickListener;
|
||||
import com.hi.music.player.api.onImageColorListener;
|
||||
import com.hi.music.player.databinding.ActivityCategoryListBinding;
|
||||
import com.hi.music.player.databinding.ActivityHomeBinding;
|
||||
import com.hi.music.player.helper.CommonUtils;
|
||||
import com.hi.music.player.helper.MyValue;
|
||||
import com.hi.music.player.javabean.response.ResponseCategoryList;
|
||||
import com.hi.music.player.javabean.response.ResponsePlayListInfo;
|
||||
import com.hi.music.player.javabean.response.child.ResponseCategory;
|
||||
import com.hi.music.player.javabean.response.child.ResponseSingle;
|
||||
import com.hi.music.player.ui.activity.viewmodel.VMApplication;
|
||||
import com.hi.music.player.ui.fragmnt.viewmodel.VMCategoryList;
|
||||
import com.hi.music.player.ui.fragmnt.viewmodel.VMHome;
|
||||
|
||||
import java.io.Serializable;
|
||||
import com.offline.music.playermp3.MusicApplication;
|
||||
import com.offline.music.playermp3.R;
|
||||
import com.offline.music.playermp3.adapter.AdapterCategoryList;
|
||||
import com.offline.music.playermp3.api.HomeItemClickListener;
|
||||
import com.offline.music.playermp3.databinding.ActivityCategoryListBinding;
|
||||
import com.offline.music.playermp3.databinding.ActivityHomeBinding;
|
||||
import com.offline.music.playermp3.helper.CommonUtils;
|
||||
import com.offline.music.playermp3.helper.MyValue;
|
||||
import com.offline.music.playermp3.javabean.response.ResponseCategoryList;
|
||||
import com.offline.music.playermp3.javabean.response.ResponsePlayListInfo;
|
||||
import com.offline.music.playermp3.ui.fragmnt.viewmodel.VMCategoryList;
|
||||
|
||||
import jp.wasabeef.glide.transformations.BlurTransformation;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user