From 674dff47871068f58f96347fc6f0656a4f131042 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Wed, 15 Jan 2025 13:42:27 +0000 Subject: [PATCH 01/44] testing out the new firebase init --- app/src/main/java/tw/music/streamer/MainActivity.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/MainActivity.java b/app/src/main/java/tw/music/streamer/MainActivity.java index face5fc..72cdaa9 100644 --- a/app/src/main/java/tw/music/streamer/MainActivity.java +++ b/app/src/main/java/tw/music/streamer/MainActivity.java @@ -121,13 +121,15 @@ public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle _savedInstanceState) { super.onCreate(_savedInstanceState); setContentView(R.layout.main); + update_db = FirebaseDatabase.getInstance().getReference("update/version"); + profile = FirebaseDatabase.getInstance().getReference("profile/text"); + prof_img = FirebaseDatabase.getInstance().getReference("profile/image"); + prof_bans = FirebaseDatabase.getInstance().getReference("profile/bans"); //com.google.firebase.FirebaseApp.initializeApp(this); //initialize(_savedInstanceState); //initializeLogic(); } - /* - private void initialize(Bundle _savedInstanceState) { linear1 = findViewById(R.id.linear1); @@ -1029,8 +1031,6 @@ private void _checkCookie() { } } - */ - private void _shadow(final View _v, final double _n) { _v.setElevation((float) _n); } From 747eef36d35f43e7137910422eeee095aad7c67c Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Wed, 15 Jan 2025 13:48:40 +0000 Subject: [PATCH 02/44] removed unused codes and enabled initialize & initializeLogic for testing --- .../main/java/tw/music/streamer/MainActivity.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/MainActivity.java b/app/src/main/java/tw/music/streamer/MainActivity.java index 72cdaa9..f3969f9 100644 --- a/app/src/main/java/tw/music/streamer/MainActivity.java +++ b/app/src/main/java/tw/music/streamer/MainActivity.java @@ -92,25 +92,25 @@ public class MainActivity extends AppCompatActivity { private TextView textview4; private SharedPreferences data; - private DatabaseReference update_db;// = FirebaseDatabase.getInstance().getReference("update/version"); + private DatabaseReference update_db; private ChildEventListener _update_db_child_listener; private Intent intent = new Intent(); private AlertDialog.Builder d; - private DatabaseReference profile;// = FirebaseDatabase.getInstance().getReference("profile/text"); + private DatabaseReference profile; private ChildEventListener _profile_child_listener; private FirebaseAuth Auth; private OnCompleteListener _Auth_create_user_listener; private OnCompleteListener _Auth_sign_in_listener; private OnCompleteListener _Auth_reset_password_listener; private Intent activityChanger = new Intent(); - private DatabaseReference prof_img;// = FirebaseDatabase.getInstance().getReference("profile/image"); + private DatabaseReference prof_img; private ChildEventListener _prof_img_child_listener; private TimerTask timer; private ObjectAnimator objectanim3 = new ObjectAnimator(); private RequestNetwork internetchecker; private RequestNetwork.RequestListener _internetchecker_request_listener; private TimerTask delaynointernet; - private DatabaseReference prof_bans;// = FirebaseDatabase.getInstance().getReference("profile/bans"); + private DatabaseReference prof_bans; private ChildEventListener _prof_bans_child_listener; private RequestNetwork rn; private RequestNetwork.RequestListener _rn_request_listener; @@ -126,8 +126,8 @@ protected void onCreate(Bundle _savedInstanceState) { prof_img = FirebaseDatabase.getInstance().getReference("profile/image"); prof_bans = FirebaseDatabase.getInstance().getReference("profile/bans"); //com.google.firebase.FirebaseApp.initializeApp(this); - //initialize(_savedInstanceState); - //initializeLogic(); + initialize(_savedInstanceState); + initializeLogic(); } private void initialize(Bundle _savedInstanceState) { From c09908ffe107282e7e497daeaed2b1f66479a382 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 13:41:11 +0000 Subject: [PATCH 03/44] disabling initializeLogic for testing since it gives error on start of the activity --- app/src/main/java/tw/music/streamer/StreamerActivity.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index 3bf2117..a56d1da 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -324,12 +324,7 @@ protected void onCreate(Bundle _savedInstanceState) { setContentView(R.layout.streamer); com.google.firebase.FirebaseApp.initializeApp(this); initialize(_savedInstanceState); - if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED - || ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) { - ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1000); - } else { - initializeLogic(); - } + //initializeLogic(); } @Override From 6e089d82e1f5a9b46ec29e9bf2e5aec67de9ab35 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 13:45:28 +0000 Subject: [PATCH 04/44] removed onRequestPermissionResult --- .../main/java/tw/music/streamer/StreamerActivity.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index a56d1da..afbfffb 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -323,18 +323,10 @@ protected void onCreate(Bundle _savedInstanceState) { super.onCreate(_savedInstanceState); setContentView(R.layout.streamer); com.google.firebase.FirebaseApp.initializeApp(this); - initialize(_savedInstanceState); + //initialize(_savedInstanceState); //initializeLogic(); } - @Override - public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - if (requestCode == 1000) { - initializeLogic(); - } - } - private void initialize(Bundle _savedInstanceState) { _toolbar = findViewById(R.id._toolbar); From 40e16411407c27017ef32837b230a4f98f6ab1be Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 13:50:53 +0000 Subject: [PATCH 05/44] removed FirebaseApp init and changed database initialization --- .../java/tw/music/streamer/MainActivity.java | 1 - .../tw/music/streamer/StreamerActivity.java | 24 ++++++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/MainActivity.java b/app/src/main/java/tw/music/streamer/MainActivity.java index f3969f9..5ea5668 100644 --- a/app/src/main/java/tw/music/streamer/MainActivity.java +++ b/app/src/main/java/tw/music/streamer/MainActivity.java @@ -125,7 +125,6 @@ protected void onCreate(Bundle _savedInstanceState) { profile = FirebaseDatabase.getInstance().getReference("profile/text"); prof_img = FirebaseDatabase.getInstance().getReference("profile/image"); prof_bans = FirebaseDatabase.getInstance().getReference("profile/bans"); - //com.google.firebase.FirebaseApp.initializeApp(this); initialize(_savedInstanceState); initializeLogic(); } diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index afbfffb..352a430 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -259,21 +259,21 @@ public class StreamerActivity extends AppCompatActivity { private ObjectAnimator obj2 = new ObjectAnimator(); private ObjectAnimator obj3 = new ObjectAnimator(); private SharedPreferences data; - private DatabaseReference upload_text = _firebase.getReference("upload/text"); + private DatabaseReference upload_text; private ChildEventListener _upload_text_child_listener; - private DatabaseReference profile_admins = _firebase.getReference("profile/admins"); + private DatabaseReference profile_admins; private ChildEventListener _profile_admins_child_listener; - private DatabaseReference comments_db = _firebase.getReference("upload/msg"); + private DatabaseReference comments_db; private ChildEventListener _comments_db_child_listener; private FirebaseAuth Auth; private OnCompleteListener _Auth_create_user_listener; private OnCompleteListener _Auth_sign_in_listener; private OnCompleteListener _Auth_reset_password_listener; - private DatabaseReference profile = _firebase.getReference("profile/text"); + private DatabaseReference profile; private ChildEventListener _profile_child_listener; - private DatabaseReference fb_likes = _firebase.getReference("upload/likes"); + private DatabaseReference fb_likes; private ChildEventListener _fb_likes_child_listener; - private DatabaseReference prof_img = _firebase.getReference("profile/image"); + private DatabaseReference prof_img; private ChildEventListener _prof_img_child_listener; private Intent intent = new Intent(); private AlertDialog.Builder d; @@ -322,13 +322,21 @@ public class StreamerActivity extends AppCompatActivity { protected void onCreate(Bundle _savedInstanceState) { super.onCreate(_savedInstanceState); setContentView(R.layout.streamer); - com.google.firebase.FirebaseApp.initializeApp(this); + initFirebase(); //initialize(_savedInstanceState); //initializeLogic(); } - private void initialize(Bundle _savedInstanceState) { + private void initFirebase() { + upload_text = FirebaseDatabase.getInstance().getReference("upload/text"); + profile_admins = FirebaseDatabase.getInstance().getReference("profile/admins"); + comments_db = FirebaseDatabase.getInstance().getReference("upload/msg"); + profile = FirebaseDatabase.getInstance().getReference("profile/text"); + fb_likes = FirebaseDatabase.getInstance().getReference("upload/likes"); + prof_img = FirebaseDatabase.getInstance().getReference("profile/image"); + } + private void initialize(Bundle _savedInstanceState) { _toolbar = findViewById(R.id._toolbar); setSupportActionBar(_toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); From 564584538bd441b81b38b6831a9a6e10acc45b24 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 14:02:48 +0000 Subject: [PATCH 06/44] changed firebasestorage and database implementation for latest depency --- .../main/java/tw/music/streamer/MainActivity.java | 1 - .../java/tw/music/streamer/StreamerActivity.java | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/MainActivity.java b/app/src/main/java/tw/music/streamer/MainActivity.java index 5ea5668..fc5b7d1 100644 --- a/app/src/main/java/tw/music/streamer/MainActivity.java +++ b/app/src/main/java/tw/music/streamer/MainActivity.java @@ -54,7 +54,6 @@ public class MainActivity extends AppCompatActivity { private Timer _timer = new Timer(); - //private FirebaseDatabase _firebase = FirebaseDatabase.getInstance(); private HashMap map = new HashMap<>(); private boolean isBanned = false; diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index 352a430..2f9f9a6 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -128,9 +128,6 @@ public class StreamerActivity extends AppCompatActivity { - private FirebaseDatabase _firebase = FirebaseDatabase.getInstance(); - private FirebaseStorage _firebase_storage = FirebaseStorage.getInstance(); - private Toolbar _toolbar; private DrawerLayout _drawer; private HashMap likes_map = new HashMap<>(); @@ -278,21 +275,21 @@ public class StreamerActivity extends AppCompatActivity { private Intent intent = new Intent(); private AlertDialog.Builder d; private Intent i2 = new Intent(); - private StorageReference check_quota = _firebase_storage.getReference("/"); + private StorageReference check_quota; private OnCompleteListener _check_quota_upload_success_listener; private OnSuccessListener _check_quota_download_success_listener; private OnSuccessListener _check_quota_delete_success_listener; private OnProgressListener _check_quota_upload_progress_listener; private OnProgressListener _check_quota_download_progress_listener; private OnFailureListener _check_quota_failure_listener; - private StorageReference upload_storage = _firebase_storage.getReference("upload/music"); + private StorageReference upload_storage; private OnCompleteListener _upload_storage_upload_success_listener; private OnSuccessListener _upload_storage_download_success_listener; private OnSuccessListener _upload_storage_delete_success_listener; private OnProgressListener _upload_storage_upload_progress_listener; private OnProgressListener _upload_storage_download_progress_listener; private OnFailureListener _upload_storage_failure_listener; - private StorageReference music_image = _firebase_storage.getReference("upload/image"); + private StorageReference music_image; private OnCompleteListener _music_image_upload_success_listener; private OnSuccessListener _music_image_download_success_listener; private OnSuccessListener _music_image_delete_success_listener; @@ -334,6 +331,9 @@ private void initFirebase() { profile = FirebaseDatabase.getInstance().getReference("profile/text"); fb_likes = FirebaseDatabase.getInstance().getReference("upload/likes"); prof_img = FirebaseDatabase.getInstance().getReference("profile/image"); + check_quota = FirebaseStorage.getInstance().getReference("/"); + upload_storage = FirebaseStorage.getInstance().getReference("upload/music"); + music_image = FirebaseStorage.getInstance().getReference("upload/image"); } private void initialize(Bundle _savedInstanceState) { From f5443bb929482be3d69966224600f2d85ca382c7 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 14:09:50 +0000 Subject: [PATCH 07/44] fix _firebase_storage issue --- app/src/main/java/tw/music/streamer/StreamerActivity.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index 2f9f9a6..ca7c727 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -1849,7 +1849,7 @@ public void onItemClick(AdapterView parent, View view, int _pos, long id) { } } } - _firebase_storage.getReferenceFromUrl("https://firebasestorage.googleapis.com/v0/b/teammusic-tw.appspot.com/o/tm-testfile?alt=media&token=ec852b8b-438c-457a-887d-b289968971ec").getFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat("/tm-testfile"))).addOnSuccessListener(_check_quota_download_success_listener).addOnFailureListener(_check_quota_failure_listener).addOnProgressListener(_check_quota_download_progress_listener); + FirebaseStorage.getInstance().getReferenceFromUrl("https://firebasestorage.googleapis.com/v0/b/teammusic-tw.appspot.com/o/tm-testfile?alt=media&token=ec852b8b-438c-457a-887d-b289968971ec").getFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat("/tm-testfile"))).addOnSuccessListener(_check_quota_download_success_listener).addOnFailureListener(_check_quota_failure_listener).addOnProgressListener(_check_quota_download_progress_listener); IntentFilter filr = new IntentFilter(ZryteZenePlay.ACTION_UPDATE); registerReceiver(listenerReceiver, filr); zz.requestAction("request-media"); @@ -3200,9 +3200,9 @@ public void onClick(DialogInterface dia, int _pos_dialog) { d.setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { - _firebase_storage.getReferenceFromUrl(upload_list.get(_position).get("url").toString()).delete().addOnSuccessListener(_upload_storage_delete_success_listener).addOnFailureListener(_upload_storage_failure_listener); + FirebaseStorage.getInstance().getReferenceFromUrl(upload_list.get(_position).get("url").toString()).delete().addOnSuccessListener(_upload_storage_delete_success_listener).addOnFailureListener(_upload_storage_failure_listener); if (upload_list.get(_position).containsKey("img")) { - _firebase_storage.getReferenceFromUrl(upload_list.get(_position).get("img").toString()).delete().addOnSuccessListener(_music_image_delete_success_listener).addOnFailureListener(_music_image_failure_listener); + FirebaseStorage.getInstance().getReferenceFromUrl(upload_list.get(_position).get("img").toString()).delete().addOnSuccessListener(_music_image_delete_success_listener).addOnFailureListener(_music_image_failure_listener); } upload_text.child(childkey.get(_position)).removeValue(); _customSnack("Delete success!", 1); From 4f30d2484cad13dddbb9ee4944ae4922d6b6549a Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 14:14:37 +0000 Subject: [PATCH 08/44] removed onActivityResult and disabled onStart codes --- .../tw/music/streamer/StreamerActivity.java | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index ca7c727..9d11c59 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -1899,17 +1899,6 @@ public void onReceive(Context context, Intent intent) { } }; - @Override - protected void onActivityResult(int _requestCode, int _resultCode, Intent _data) { - super.onActivityResult(_requestCode, _resultCode, _data); - - switch (_requestCode) { - - default: - break; - } - } - @Override public void onBackPressed() { if (_drawer.isDrawerOpen(GravityCompat.START)) { @@ -1953,7 +1942,7 @@ public void onStart() { super.onStart(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { getWindow().getDecorView().setSystemUiVisibility(0); - } + }/* _loadTheme(); if (!(openNum == 0)) { _customNav(theme_map.get(0).get("colorPrimary").toString()); @@ -1962,7 +1951,7 @@ public void onStart() { image_user.clearColorFilter(); _drawer_image_user.clearColorFilter(); } - /*if (tmservice != null) { + if (tmservice != null) { if (!currentlyPlaying.equals("") && !tmservice._isMpNull()) { if (currentlyMap.get(currentlyChild.indexOf(currentlyPlaying)).containsKey("img")) { image_album.clearColorFilter(); @@ -1973,8 +1962,8 @@ public void onStart() { text_artist.setTextColor(Color.parseColor(theme_map.get(0).get("colorPrimaryCardText").toString())); } } - }*/ - ((BaseAdapter) listview1.getAdapter()).notifyDataSetChanged(); + } + ((BaseAdapter) listview1.getAdapter()).notifyDataSetChanged();*/ } @Override From dfd2e66fca0fdff6c863b9e282305d7f8791178e Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 14:21:10 +0000 Subject: [PATCH 09/44] enabled initialize() back since the error have been fixed --- app/src/main/java/tw/music/streamer/StreamerActivity.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index 9d11c59..954773e 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -320,11 +320,12 @@ protected void onCreate(Bundle _savedInstanceState) { super.onCreate(_savedInstanceState); setContentView(R.layout.streamer); initFirebase(); - //initialize(_savedInstanceState); - //initializeLogic(); + initialize(_savedInstanceState); + initializeLogic(); } private void initFirebase() { + Auth = FirebaseAuth.getInstance(); upload_text = FirebaseDatabase.getInstance().getReference("upload/text"); profile_admins = FirebaseDatabase.getInstance().getReference("profile/admins"); comments_db = FirebaseDatabase.getInstance().getReference("upload/msg"); @@ -443,7 +444,6 @@ public void onClick(View _v) { _drawer_text_user = _nav_view.findViewById(R.id.text_user); _drawer_text_email = _nav_view.findViewById(R.id.text_email); data = getSharedPreferences("teamdata", Activity.MODE_PRIVATE); - Auth = FirebaseAuth.getInstance(); d = new AlertDialog.Builder(this); zz = new ZryteZeneAdaptor(this); Intent siop = new Intent(getApplicationContext(), ZryteZenePlay.class); @@ -1984,7 +1984,7 @@ public void onStop() { @Override public void onDestroy() { super.onDestroy(); - _unbindSvc(); + //_unbindSvc(); } private void _shadow(final View _v, final double _n) { From 56d9a1dbd9c68705e188489dd7f89249c1ffc15a Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 14:25:52 +0000 Subject: [PATCH 10/44] optimized update() function --- .../tw/music/streamer/notification/ZryteZeneNotification.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java index fde6cf1..e3dc1e0 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -42,7 +42,7 @@ public static Notification setup(Context a) { return notification; } - public static void update(Context a, String b) { + public static void updateOld(Context a, String b) { Intent openAppIntent = new Intent(a, StreamerActivity.class); PendingIntent openAppPendingIntent = PendingIntent.getActivity(a, 0, openAppIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); NotificationManager notificationManager = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); @@ -105,7 +105,7 @@ public static void update(Context a, boolean b) { notificationManager.notify(ZryteZenePlay.NOTIFICATION_ID, updatedNotification); } - public static void updateWithControls(Context a, boolean b) { + public static void update(Context a, boolean b) { NotificationManager notificationManager = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); if (notificationManager == null) return; From c17b1591b36e41bee1b93c52ddea770c2ae02d91 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 14:27:48 +0000 Subject: [PATCH 11/44] fix miss update() --- .../tw/music/streamer/notification/ZryteZeneNotification.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java index e3dc1e0..31e33cd 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -42,7 +42,7 @@ public static Notification setup(Context a) { return notification; } - public static void updateOld(Context a, String b) { + public static void update(Context a, String b) { Intent openAppIntent = new Intent(a, StreamerActivity.class); PendingIntent openAppPendingIntent = PendingIntent.getActivity(a, 0, openAppIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); NotificationManager notificationManager = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); @@ -70,7 +70,7 @@ public static void updateOld(Context a, String b) { notificationManager.notify(ZryteZenePlay.NOTIFICATION_ID, notification); } - public static void update(Context a, boolean b) { + public static void updateOld(Context a, boolean b) { NotificationManager notificationManager = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); if (notificationManager == null) return; Intent actionIntent; From 72383a4d1056934118e72a2e5c83360fc1c3099f Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 15:23:24 +0000 Subject: [PATCH 12/44] re-built the notification with MediaStyle and MediaSessionCompat --- .../notification/ZryteZeneNotification.java | 159 +++++++----------- 1 file changed, 59 insertions(+), 100 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java index 31e33cd..019026a 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -7,6 +7,18 @@ import android.app.NotificationManager; import android.content.Intent; import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.app.NotificationCompat; +import androidx.media.app.NotificationCompat.MediaStyle; +import androidx.media.session.MediaSessionCompat; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; import tw.music.streamer.service.ZryteZenePlay; import tw.music.streamer.StreamerActivity; @@ -17,8 +29,8 @@ public static Notification setup(Context a) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel ch = new NotificationChannel( ZryteZenePlay.CHANNEL_ID, - "Music Playback", - NotificationManager.IMPORTANCE_HIGH + "ZryteZene Player", + NotificationManager.IMPORTANCE_LOW ); ch.setSound(null, null); ch.enableLights(false); @@ -41,109 +53,56 @@ public static Notification setup(Context a) { .build(); return notification; } - - public static void update(Context a, String b) { - Intent openAppIntent = new Intent(a, StreamerActivity.class); - PendingIntent openAppPendingIntent = PendingIntent.getActivity(a, 0, openAppIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - NotificationManager notificationManager = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); - if (notificationManager == null) return; - Notification notification; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - notification = new Notification.Builder(a, ZryteZenePlay.CHANNEL_ID) - .setContentTitle("ZryteZene") - .setContentText(b) - .setSmallIcon(android.R.drawable.ic_media_play) - .setContentIntent(openAppPendingIntent) - .setOngoing(true) - .setOnlyAlertOnce(true) - .build(); - } else { - notification = new Notification.Builder(a) - .setContentTitle("ZryteZene") - .setContentText(b) - .setSmallIcon(android.R.drawable.ic_media_pause) - .setContentIntent(openAppPendingIntent) - .setOngoing(true) - .setOnlyAlertOnce(true) - .build(); - } - notificationManager.notify(ZryteZenePlay.NOTIFICATION_ID, notification); - } - public static void updateOld(Context a, boolean b) { - NotificationManager notificationManager = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); - if (notificationManager == null) return; - Intent actionIntent; - PendingIntent actionPendingIntent; - String actionTitle; - int actionIcon; - if (b) { - actionIntent = new Intent(a, ZryteZenePlay.class); - actionIntent.setAction(ZryteZenePlay.ACTION_BROADCAST); - actionIntent.putExtra("action","pause"); - actionPendingIntent = PendingIntent.getService(a, 0, actionIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - actionTitle = "Pause"; - actionIcon = android.R.drawable.ic_media_pause; - } else { - actionIntent = new Intent(a, ZryteZenePlay.class); - actionIntent.setAction(ZryteZenePlay.ACTION_BROADCAST); - actionIntent.putExtra("action","resume"); - actionPendingIntent = PendingIntent.getService(a, 0, actionIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - actionTitle = "Resume"; - actionIcon = android.R.drawable.ic_media_play; - } - Intent openAppIntent = new Intent(a, StreamerActivity.class); - PendingIntent openAppPendingIntent = PendingIntent.getActivity(a, 0, openAppIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - Notification updatedNotification = new Notification.Builder(a, ZryteZenePlay.CHANNEL_ID) - .setContentTitle("ZryteZene") - .setContentText(b ? "Music is playing" : "Paused") - .setSmallIcon(android.R.drawable.ic_media_play) - .setContentIntent(openAppPendingIntent) - .addAction(actionIcon, actionTitle, actionPendingIntent) - .setOngoing(true) - .build(); - notificationManager.notify(ZryteZenePlay.NOTIFICATION_ID, updatedNotification); + public void update(Context a, boolean b, MediaSessionCompat c, String d, String e, String f) { + Glide.with(a) + .asBitmap() + .load(g) + .into(new CustomTarget() { + @Override + public void onResourceReady(@NonNull Bitmap g, @NonNull Transition h) { + update(a,b,c,d,e,f,g); + } + @Override + public void onLoadCleared(@Nullable Drawable i) { + } + }); } - public static void update(Context a, boolean b) { - NotificationManager notificationManager = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); - if (notificationManager == null) return; - - Intent playPauseIntent = new Intent(a, ZryteZenePlay.class); - playPauseIntent.setAction(ZryteZenePlay.ACTION_BROADCAST); - playPauseIntent.putExtra("action", b ? "pause" : "resume"); - PendingIntent playPausePendingIntent = PendingIntent.getService(a, 0, playPauseIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - - Intent previousIntent = new Intent(a, ZryteZenePlay.class); - previousIntent.setAction(ZryteZenePlay.ACTION_BROADCAST); - previousIntent.putExtra("action", "previous"); - PendingIntent previousPendingIntent = PendingIntent.getService(a, 1, previousIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - - Intent nextIntent = new Intent(a, ZryteZenePlay.class); - nextIntent.setAction(ZryteZenePlay.ACTION_BROADCAST); - nextIntent.putExtra("action", "forward"); - PendingIntent nextPendingIntent = PendingIntent.getService(a, 3, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - - Intent stopIntent = new Intent(a, ZryteZenePlay.class); - stopIntent.setAction(ZryteZenePlay.ACTION_BROADCAST); - stopIntent.putExtra("action", "stop"); - PendingIntent stopPendingIntent = PendingIntent.getService(a, 2, stopIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); + public static void update(Context a, boolean b, MediaSessionCompat c, String d, String e, String f, Bitmap g) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + NotificationChannel channel = new NotificationChannel(ZryteZenePlay.CHANNEL_ID, "ZryteZene Player", NotificationManager.IMPORTANCE_LOW); + NotificationManager manager = getSystemService(NotificationManager.class); + if (manager != null) { + manager.createNotificationChannel(channel); + } + } - Intent openAppIntent = new Intent(a, StreamerActivity.class); - PendingIntent openAppPendingIntent = PendingIntent.getActivity(a, 0, openAppIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); + Intent playPauseIntent = new Intent(a, ZryteZenePlay.class).setAction(ZryteZenePlay.ACTION_BROADCAST).putExtra("action", b ? "pause" : "resume"); + Intent previousIntent = new Intent(a, ZryteZenePlay.class).setAction(ZryteZenePlay.ACTION_BROADCAST).putExtra("action", "previous"); + Intent nextIntent = new Intent(a, ZryteZenePlay.class).setAction(ZryteZenePlay.ACTION_BROADCAST).putExtra("action", "forward"); + PendingIntent playPausePendingIntent = PendingIntent.getBroadcast(a, 0, playPauseIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); + PendingIntent previousPendingIntent = PendingIntent.getBroadcast(a, 0, previousIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); + PendingIntent nextPendingIntent = PendingIntent.getBroadcast(a, 0, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - Notification updatedNotification = new Notification.Builder(a, ZryteZenePlay.CHANNEL_ID) - .setContentTitle("ZryteZene") - .setContentText(b ? "Music is playing" : "Paused") - .setSmallIcon(android.R.drawable.ic_media_play) - .setContentIntent(openAppPendingIntent) - .addAction(android.R.drawable.ic_media_previous, "Previous", previousPendingIntent) - .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, b ? "Pause" : "Play", playPausePendingIntent) - .addAction(android.R.drawable.ic_menu_close_clear_cancel, "Stop", stopPendingIntent) - .addAction(android.R.drawable.ic_media_next, "Next", nextPendingIntent) - .setOngoing(true) - .build(); - notificationManager.notify(ZryteZenePlay.NOTIFICATION_ID, updatedNotification); + Notification notification = new NotificationCompat.Builder(a, ZryteZenePlay.CHANNEL_ID) + .setContentTitle(d) + .setContentText(e) + .setSmallIcon(R.drawable.ic_launcher) + .setLargeIcon(g) + .setStyle(new MediaStyle() + .setMediaSession(c.getSessionToken()) + .setShowActionsInCompactView(0, 1, 2)) + .addAction(android.R.drawable.ic_media_previous, "Previous", previousIntent) + .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPauseIntent) + .addAction(android.R.drawable.ic_media_next, "Next", nextIntent) + .setPriority(NotificationCompat.PRIORITY_LOW) + .setOngoing(true) + .build(); + NotificationManager m = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); + if (m != null) { + m.notify(ZryteZenePlay.NOTIFICATION_ID, notification); + } } } From 306bc01279225036e32cee98b8099d1d2aa806fe Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 16:12:06 +0000 Subject: [PATCH 13/44] adapting player to new MediaSessionCompat and optimized _play function --- .../tw/music/streamer/StreamerActivity.java | 20 ++++--- .../streamer/adaptor/ZryteZeneAdaptor.java | 10 ++++ .../notification/ZryteZeneNotification.java | 60 ++++++++++--------- .../music/streamer/service/ZryteZenePlay.java | 28 ++++++--- 4 files changed, 72 insertions(+), 46 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index 954773e..047eb62 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -142,6 +142,7 @@ public class StreamerActivity extends AppCompatActivity { private boolean isSearching = false; private boolean hasPic = false; private HashMap img_maps = new HashMap<>(); + private HashMap tempMap; private ArrayList usrname_list = new ArrayList<>(); private ArrayList> upload_list = new ArrayList<>(); @@ -2610,27 +2611,28 @@ public void onClick(DialogInterface _dialog, int _which) { private void _play(final String _key) { _CoreProgressLoading(true); - final double _position = currentlyChild.indexOf(_key); + final int _pos = (int) currentlyChild.indexOf(_key); + tempMap = currentlyPlaying.get(_pos); currentlyPlaying = _key; - text_title.setText(currentlyMap.get((int) _position).get("name").toString()); - if (usrname_list.contains(currentlyMap.get((int) _position).get("uid").toString())) { - text_artist.setText(profile_map.get(usrname_list.indexOf(currentlyMap.get((int) _position).get("uid").toString())).get("username").toString()); + text_title.setText(tempMap.get("name").toString()); + if (usrname_list.contains(tempMap.get("uid").toString())) { + text_artist.setText(profile_map.get(usrname_list.indexOf(tempMap.get("uid").toString())).get("username").toString()); } else { - text_artist.setText(currentlyMap.get((int) _position).get("uid").toString()); + text_artist.setText(tempMap.get("uid").toString()); } - if (adminsList.contains(currentlyMap.get((int) _position).get("uid").toString())) { + if (adminsList.contains(tempMap.get("uid").toString())) { text_artist.setTextColor(Color.parseColor(theme_map.get(0).get("colorButton").toString())); } else { text_artist.setTextColor(Color.parseColor(theme_map.get(0).get("colorPrimaryCardText").toString())); } - if (currentlyMap.get((int) _position).containsKey("img")) { + if (tempMap.containsKey("img")) { image_album.clearColorFilter(); - Glide.with(getApplicationContext()).load(currentlyMap.get((int) _position).get("img").toString()).centerCrop().into(image_album); + Glide.with(getApplicationContext()).load(tempMap.get("img").toString()).centerCrop().into(image_album); } else { image_album.setImageResource(R.drawable.ic_album_white); image_album.setColorFilter(Color.parseColor(theme_map.get(0).get("colorButtonText").toString()), PorterDuff.Mode.MULTIPLY); } - zz.requestAction("play", currentlyMap.get((int) _position).get("url").toString()); + zz.play(tempMap.get("url").toString(), tempMap.get("name").toString(), "ZryteZene", tempMap.containsKey("img") ? tempMap.get("img").toString() : "-"); } private void _shape(final double _tl, final double _tr, final double _bl, final double _br, final String _BGcolor, final String _Scolor, final double _Swidth, final View _view) { diff --git a/app/src/main/java/tw/music/streamer/adaptor/ZryteZeneAdaptor.java b/app/src/main/java/tw/music/streamer/adaptor/ZryteZeneAdaptor.java index 1ac7412..475cfe2 100644 --- a/app/src/main/java/tw/music/streamer/adaptor/ZryteZeneAdaptor.java +++ b/app/src/main/java/tw/music/streamer/adaptor/ZryteZeneAdaptor.java @@ -102,4 +102,14 @@ public void requestAction(String a, String b) { ctx.sendBroadcast(jof); if (a.equals("play")) sp = b; } + + public void play(String a, String b, String c, String d) { + Intent jof = new Intent(ZryteZenePlay.ACTION_BROADCAST); + jof.putExtra("action", "play"); + jof.putExtra("path", a); + jof.putExtra("title", b); + jof.putExtra("artist", c); + jof.putExtra("cover", d); + ctx.sendBroadcast(jof); + } } \ No newline at end of file diff --git a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java index 019026a..f96e5af 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -47,7 +47,7 @@ public static Notification setup(Context a) { Notification notification = new Notification.Builder(a, ZryteZenePlay.CHANNEL_ID) .setContentTitle("ZryteZene") .setContentText("Idle...") - .setSmallIcon(android.R.drawable.ic_media_play) + .setSmallIcon(R.drawable.ic_launcher) .setContentIntent(openAppPendingIntent) .setOnlyAlertOnce(true) .build(); @@ -55,18 +55,22 @@ public static Notification setup(Context a) { } public void update(Context a, boolean b, MediaSessionCompat c, String d, String e, String f) { - Glide.with(a) - .asBitmap() - .load(g) - .into(new CustomTarget() { - @Override - public void onResourceReady(@NonNull Bitmap g, @NonNull Transition h) { - update(a,b,c,d,e,f,g); - } - @Override - public void onLoadCleared(@Nullable Drawable i) { - } - }); + if (f.equals("-")) { + update(a,b,c,d,e,f,null); + } else { + Glide.with(a) + .asBitmap() + .load(g) + .into(new CustomTarget() { + @Override + public void onResourceReady(@NonNull Bitmap g, @NonNull Transition h) { + update(a,b,c,d,e,f,g); + } + @Override + public void onLoadCleared(@Nullable Drawable i) { + } + }); + } } public static void update(Context a, boolean b, MediaSessionCompat c, String d, String e, String f, Bitmap g) { @@ -85,23 +89,23 @@ public static void update(Context a, boolean b, MediaSessionCompat c, String d, PendingIntent previousPendingIntent = PendingIntent.getBroadcast(a, 0, previousIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); PendingIntent nextPendingIntent = PendingIntent.getBroadcast(a, 0, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - Notification notification = new NotificationCompat.Builder(a, ZryteZenePlay.CHANNEL_ID) - .setContentTitle(d) - .setContentText(e) - .setSmallIcon(R.drawable.ic_launcher) - .setLargeIcon(g) - .setStyle(new MediaStyle() - .setMediaSession(c.getSessionToken()) - .setShowActionsInCompactView(0, 1, 2)) - .addAction(android.R.drawable.ic_media_previous, "Previous", previousIntent) - .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPauseIntent) - .addAction(android.R.drawable.ic_media_next, "Next", nextIntent) - .setPriority(NotificationCompat.PRIORITY_LOW) - .setOngoing(true) - .build(); + Notification nf = new NotificationCompat.Builder(a, ZryteZenePlay.CHANNEL_ID); + if (g != null) nf.setLargeIcon(g); + nf.setContentTitle(d) + .setContentText(e) + .setSmallIcon(R.drawable.ic_launcher) + .setStyle(new MediaStyle() + .setMediaSession(c.getSessionToken()) + .setShowActionsInCompactView(0, 1, 2)) + .addAction(android.R.drawable.ic_media_previous, "Previous", previousIntent) + .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPauseIntent) + .addAction(android.R.drawable.ic_media_next, "Next", nextIntent) + .setPriority(NotificationCompat.PRIORITY_LOW) + .setOngoing(true) + .build(); NotificationManager m = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); if (m != null) { - m.notify(ZryteZenePlay.NOTIFICATION_ID, notification); + m.notify(ZryteZenePlay.NOTIFICATION_ID, nf); } } diff --git a/app/src/main/java/tw/music/streamer/service/ZryteZenePlay.java b/app/src/main/java/tw/music/streamer/service/ZryteZenePlay.java index 845ceb3..546133c 100644 --- a/app/src/main/java/tw/music/streamer/service/ZryteZenePlay.java +++ b/app/src/main/java/tw/music/streamer/service/ZryteZenePlay.java @@ -16,6 +16,7 @@ import android.content.SharedPreferences; import androidx.annotation.Nullable; +import androidx.media.session.MediaSessionCompat; import tw.music.streamer.notification.ZryteZeneNotification; @@ -24,22 +25,23 @@ public class ZryteZenePlay extends Service implements MediaPlayer.OnPreparedList public static final String ACTION_BROADCAST = "tw.music.streamer.ACTION"; public static final String ACTION_UPDATE = "tw.music.streamer.ACTION_UPDATE"; - public static final String CHANNEL_ID = "music_channel"; + public static final String CHANNEL_ID = "zrytezene_channel"; public static final int NOTIFICATION_ID = 2; private BroadcastReceiver br; private MediaPlayer mp; private IntentFilter ief; private SharedPreferences sp; - private String lm, act, csp; + private String lm, act, csp, sn, sa, sc; private Intent ita; private Handler ha = new Handler(); private boolean pd = false; + private MediaSessionCompat msc; @Override public void onCreate() { super.onCreate(); - initializePlayer(); + if (ief == null) initializePlayer(); } @Override @@ -56,6 +58,10 @@ public void onDestroy() { mp.release(); mp = null; } + if (msc!=null) { + msc.release(); + msc = null; + } super.onDestroy(); } @@ -80,6 +86,7 @@ private void initializePlayer() { startForeground(NOTIFICATION_ID, ZryteZeneNotification.setup(getApplicationContext())); sp = getSharedPreferences("teamdata", Activity.MODE_PRIVATE); lm = sp.getString("fvsAsc", ""); + msc = new MediaSessionCompat(getApplicationContext(), "ZryteZenePlay"); mp = new MediaPlayer(); br = new BroadcastReceiver() { @Override @@ -97,7 +104,7 @@ public void onReceive(Context a, Intent b) { public void onPrepared(MediaPlayer a) { a.start(); pd = true; - ZryteZeneNotification.update(getApplicationContext(), true); + ZryteZeneNotification.update(getApplicationContext(), true, msc, sn, sa, sc); tellActivity("on-prepared",a.getDuration()); ha.post(pr); } @@ -109,13 +116,13 @@ public void onBufferingUpdate(MediaPlayer a, int b) { @Override public void onCompletion(MediaPlayer a) { - ZryteZeneNotification.update(getApplicationContext(), "Idle..."); + ZryteZeneNotification.update(getApplicationContext(), false, msc, sn, sa, sc); tellActivity("on-completion","1"); } @Override public boolean onError(MediaPlayer a, int b, int c) { - ZryteZeneNotification.update(getApplicationContext(), "Idle..."); + ZryteZeneNotification.update(getApplicationContext(), false, msc, sn, sa, sc); tellActivity("on-error", String.format("Error(%s%s)", b, c)); return true; } @@ -158,7 +165,10 @@ private void applyMediaListener() { } private void playSong(Intent a) { - csp = a.getStringExtra("req-data"); + csp = a.getStringExtra("path"); + sn = a.getStringExtra("title"); + sa = a.getStringExtra("artist"); + sc = a.getStringExtra("cover"); if (mp != null) { mp.reset(); } else { @@ -179,7 +189,7 @@ private void pauseSong() { if (mp==null) return; if (mp.isPlaying()) { mp.pause(); - ZryteZeneNotification.update(getApplicationContext(), false); + ZryteZeneNotification.update(getApplicationContext(), false, msc, sn, sa, sc); tellActivity("request-pause"); } } @@ -188,7 +198,7 @@ private void resumeSong() { if (mp==null) return; if (isPrepared() && !mp.isPlaying()) { mp.start(); - ZryteZeneNotification.update(getApplicationContext(), true); + ZryteZeneNotification.update(getApplicationContext(), true, msc, sn, sa, sc); tellActivity("request-resume"); } } From 22ad6ae82990499db3a93a98624227893f170731 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 16:18:39 +0000 Subject: [PATCH 14/44] changed upload artifact to v4 bcz v3 is deprecated --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 0ed1383..d032b3c 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -27,7 +27,7 @@ jobs: run: ./gradlew assembleDebug - name: Upload APK as artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: app-debug path: app/build/outputs/apk/debug/app-debug.apk \ No newline at end of file From c6c7c74fef9429eb33a23dfdfd4af0fa07253816 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 16:22:46 +0000 Subject: [PATCH 15/44] added androidx.media depencies --- app/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 18cb271..1c65cbc 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -40,6 +40,7 @@ dependencies { implementation("androidx.lifecycle:lifecycle-livedata:2.5.1") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("com.google.android.material:material:1.9.0") + implementation("androidx.media:media:1.6.0") implementation("androidx.navigation:navigation-ui:2.5.3") implementation("androidx.lifecycle:lifecycle-viewmodel:2.5.1") implementation("androidx.appcompat:appcompat:1.6.1") From 47eef583b83aa5af83660adaeabf52e9d3797ca3 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 16:36:13 +0000 Subject: [PATCH 16/44] removed unused variables --- app/src/main/java/tw/music/streamer/StreamerActivity.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index 047eb62..7358a0b 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -215,7 +215,6 @@ public class StreamerActivity extends AppCompatActivity { private ScrollView _drawer_vscroll1; private LinearLayout _drawer_linear10; private LinearLayout _drawer_linear_usr; - private LinearLayout _drawer_linear5; private LinearLayout _drawer_linear2; private LinearLayout _drawer_linear6; private LinearLayout _drawer_linear_upload; @@ -407,7 +406,6 @@ public void onClick(View _v) { _drawer_vscroll1 = _nav_view.findViewById(R.id.vscroll1); _drawer_linear10 = _nav_view.findViewById(R.id.linear10); _drawer_linear_usr = _nav_view.findViewById(R.id.linear_usr); - _drawer_linear5 = _nav_view.findViewById(R.id.linear5); _drawer_linear2 = _nav_view.findViewById(R.id.linear2); _drawer_linear6 = _nav_view.findViewById(R.id.linear6); _drawer_linear_upload = _nav_view.findViewById(R.id.linear_upload); From 4863a0151c6b5c99a890f8212bbdc68caece907a Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 16:49:27 +0000 Subject: [PATCH 17/44] added clean gradle process --- .github/workflows/android.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index d032b3c..96d7327 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -23,6 +23,9 @@ jobs: - name: Grant execute permission for gradlew run: chmod +x gradlew + - name: Clean project + run: ./gradlew clean + - name: Build APK run: ./gradlew assembleDebug From de8ea249db78af97bd63574b76df911659d955ad Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 16:55:05 +0000 Subject: [PATCH 18/44] changed androidx.media to media3 --- app/build.gradle.kts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1c65cbc..88df8b4 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -40,7 +40,8 @@ dependencies { implementation("androidx.lifecycle:lifecycle-livedata:2.5.1") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("com.google.android.material:material:1.9.0") - implementation("androidx.media:media:1.6.0") + implementation(platform("androidx.media3:media3-bom:1.2.0")) + implementation("androidx.media3:media3-session") implementation("androidx.navigation:navigation-ui:2.5.3") implementation("androidx.lifecycle:lifecycle-viewmodel:2.5.1") implementation("androidx.appcompat:appcompat:1.6.1") From 765df2b5357683ae9f09c9e4d8e83ac41b97c52a Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 16:59:47 +0000 Subject: [PATCH 19/44] added media3-ui depency --- app/build.gradle.kts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 88df8b4..161405d 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -40,8 +40,6 @@ dependencies { implementation("androidx.lifecycle:lifecycle-livedata:2.5.1") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("com.google.android.material:material:1.9.0") - implementation(platform("androidx.media3:media3-bom:1.2.0")) - implementation("androidx.media3:media3-session") implementation("androidx.navigation:navigation-ui:2.5.3") implementation("androidx.lifecycle:lifecycle-viewmodel:2.5.1") implementation("androidx.appcompat:appcompat:1.6.1") @@ -54,6 +52,10 @@ dependencies { implementation("com.google.firebase:firebase-storage:20.3.0") implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation("com.squareup.okhttp3:okhttp:4.11.0") + + implementation(platform("androidx.media3:media3-bom:1.2.0")) + implementation("androidx.media3:media3-session") + implementation("androidx.media3:media3-ui") } apply(plugin = "com.google.gms.google-services") \ No newline at end of file From ffaca85dbb9346e3a9baae4abb4c3e884ef4b5ab Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 17:02:47 +0000 Subject: [PATCH 20/44] added androidx.media:media:1.6.0 --- app/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 161405d..cba0453 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -40,6 +40,7 @@ dependencies { implementation("androidx.lifecycle:lifecycle-livedata:2.5.1") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("com.google.android.material:material:1.9.0") + implementation("androidx.media:media:1.6.0") implementation("androidx.navigation:navigation-ui:2.5.3") implementation("androidx.lifecycle:lifecycle-viewmodel:2.5.1") implementation("androidx.appcompat:appcompat:1.6.1") From b4bb41046e05301b1de3d578ab88bc105e62a5f2 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 17:09:08 +0000 Subject: [PATCH 21/44] fix gradle issue --- app/build.gradle.kts | 9 +++++++-- build.gradle.kts | 11 +++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index cba0453..310a9d0 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -54,9 +54,14 @@ dependencies { implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation("com.squareup.okhttp3:okhttp:4.11.0") - implementation(platform("androidx.media3:media3-bom:1.2.0")) + implementation(platform("androidx.media3:media3-bom:1.0.3")) implementation("androidx.media3:media3-session") implementation("androidx.media3:media3-ui") } -apply(plugin = "com.google.gms.google-services") \ No newline at end of file +apply(plugin = "com.google.gms.google-services") + +repositories { + google() + mavenCentral() +} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index b5e2c2c..1ac9fa6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,11 +6,22 @@ plugins { } buildscript { + repositories { + google() + mavenCentral() + } dependencies { classpath("com.google.gms:google-services:4.4.0") } } +allprojects { + repositories { + google() + mavenCentral() + } +} + tasks.register("clean") { delete(rootProject.buildDir) } \ No newline at end of file From a2eb50c1c7a322b77b9a057a436557adc9e5173b Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 17:13:34 +0000 Subject: [PATCH 22/44] changed media to 1.5.1 --- app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 310a9d0..bf7faac 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -40,7 +40,7 @@ dependencies { implementation("androidx.lifecycle:lifecycle-livedata:2.5.1") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("com.google.android.material:material:1.9.0") - implementation("androidx.media:media:1.6.0") + implementation("androidx.media:media:1.5.1") implementation("androidx.navigation:navigation-ui:2.5.3") implementation("androidx.lifecycle:lifecycle-viewmodel:2.5.1") implementation("androidx.appcompat:appcompat:1.6.1") From 3888e473a8bace2c405b321cddd9c44f75865e61 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 17:18:56 +0000 Subject: [PATCH 23/44] fix media gradle issue --- app/build.gradle.kts | 13 ++----------- build.gradle.kts | 11 ----------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bf7faac..6ea8325 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -40,7 +40,7 @@ dependencies { implementation("androidx.lifecycle:lifecycle-livedata:2.5.1") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("com.google.android.material:material:1.9.0") - implementation("androidx.media:media:1.5.1") + implementation("androidx.media:media:1.7.0") implementation("androidx.navigation:navigation-ui:2.5.3") implementation("androidx.lifecycle:lifecycle-viewmodel:2.5.1") implementation("androidx.appcompat:appcompat:1.6.1") @@ -53,15 +53,6 @@ dependencies { implementation("com.google.firebase:firebase-storage:20.3.0") implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation("com.squareup.okhttp3:okhttp:4.11.0") - - implementation(platform("androidx.media3:media3-bom:1.0.3")) - implementation("androidx.media3:media3-session") - implementation("androidx.media3:media3-ui") } -apply(plugin = "com.google.gms.google-services") - -repositories { - google() - mavenCentral() -} \ No newline at end of file +apply(plugin = "com.google.gms.google-services") \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 1ac9fa6..b5e2c2c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,22 +6,11 @@ plugins { } buildscript { - repositories { - google() - mavenCentral() - } dependencies { classpath("com.google.gms:google-services:4.4.0") } } -allprojects { - repositories { - google() - mavenCentral() - } -} - tasks.register("clean") { delete(rootProject.buildDir) } \ No newline at end of file From 0a05b21c00926bc7a188e9ca5dccaae5ddd8036e Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 17:25:37 +0000 Subject: [PATCH 24/44] changed gradle to 8.1.0 and sdk to 34 --- app/build.gradle.kts | 4 ++-- build.gradle.kts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 6ea8325..b8f442e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -5,12 +5,12 @@ plugins { android { namespace = "tw.music.streamer" - compileSdk = 33 + compileSdk = 34 defaultConfig { applicationId = "tw.music.streamer" minSdk = 27 - targetSdk = 33 + targetSdk = 34 versionCode = 1 versionName = "1.0" diff --git a/build.gradle.kts b/build.gradle.kts index b5e2c2c..665636e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,8 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id("com.android.application") version "8.0.0" apply false - id("com.android.library") version "8.0.0" apply false + id("com.android.application") version "8.1.0" apply false + id("com.android.library") version "8.1.0" apply false } buildscript { From d1e58ae231c32d4b5f42e131c31001d04edfe96f Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 17:32:24 +0000 Subject: [PATCH 25/44] still with the gradle issue fck --- app/build.gradle.kts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b8f442e..429e83c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -36,6 +36,11 @@ android { } } +repositories { + google() + mavenCentral() +} + dependencies { implementation("androidx.lifecycle:lifecycle-livedata:2.5.1") implementation("androidx.constraintlayout:constraintlayout:2.1.4") @@ -53,6 +58,10 @@ dependencies { implementation("com.google.firebase:firebase-storage:20.3.0") implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation("com.squareup.okhttp3:okhttp:4.11.0") + + implementation(platform("androidx.media3:media3-bom:1.0.3")) + implementation("androidx.media3:media3-session") + implementation("androidx.media3:media3-ui") } apply(plugin = "com.google.gms.google-services") \ No newline at end of file From f38536ddb41ec5c8007265f11e8bb527ecf1f63b Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 17:45:00 +0000 Subject: [PATCH 26/44] added kotlin implementation --- app/build.gradle.kts | 3 ++- build.gradle.kts | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 429e83c..ed71552 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.application") id("com.google.gms.google-services") + id("org.jetbrains.kotlin.android") } android { @@ -59,7 +60,7 @@ dependencies { implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation("com.squareup.okhttp3:okhttp:4.11.0") - implementation(platform("androidx.media3:media3-bom:1.0.3")) + implementation("androidx.media3:media3-bom:1.5.1") implementation("androidx.media3:media3-session") implementation("androidx.media3:media3-ui") } diff --git a/build.gradle.kts b/build.gradle.kts index 665636e..b2ff76c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,11 +3,13 @@ plugins { id("com.android.application") version "8.1.0" apply false id("com.android.library") version "8.1.0" apply false + id("org.jetbrains.kotlin.android") version "1.9.10" apply false } buildscript { dependencies { classpath("com.google.gms:google-services:4.4.0") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.10") } } From 8bc3f81f3195fc3e9aded8620ecc5589d422bcbf Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 17:49:05 +0000 Subject: [PATCH 27/44] disabled media3 for testing --- app/build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ed71552..63594b9 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -60,9 +60,9 @@ dependencies { implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation("com.squareup.okhttp3:okhttp:4.11.0") - implementation("androidx.media3:media3-bom:1.5.1") - implementation("androidx.media3:media3-session") - implementation("androidx.media3:media3-ui") + //implementation("androidx.media3:media3-bom:1.5.1") + //implementation("androidx.media3:media3-session") + //implementation("androidx.media3:media3-ui") } apply(plugin = "com.google.gms.google-services") \ No newline at end of file From fd175574ab137db884c379c4478a66e24b391841 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Thu, 16 Jan 2025 20:47:05 +0000 Subject: [PATCH 28/44] applying JDK 18 for media3 depencies --- .github/workflows/android.yml | 9 +++++++-- app/build.gradle.kts | 10 +++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 96d7327..d12d3b5 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -13,10 +13,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK 18 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '18' distribution: 'temurin' cache: gradle @@ -26,6 +26,11 @@ jobs: - name: Clean project run: ./gradlew clean + - name: Set Gradle Java compatibility + run: | + echo "Setting up Java 1.8 compatibility" + ./gradlew -Porg.gradle.java.home=/usr/lib/jvm/java-1.8-openjdk-amd64 + - name: Build APK run: ./gradlew assembleDebug diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 63594b9..7fc1242 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -21,8 +21,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 } buildTypes { @@ -60,9 +60,9 @@ dependencies { implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation("com.squareup.okhttp3:okhttp:4.11.0") - //implementation("androidx.media3:media3-bom:1.5.1") - //implementation("androidx.media3:media3-session") - //implementation("androidx.media3:media3-ui") + implementation("androidx.media3:media3-bom:1.5.1") + implementation("androidx.media3:media3-session") + implementation("androidx.media3:media3-ui") } apply(plugin = "com.google.gms.google-services") \ No newline at end of file From 0cdd5bf081f0d6cba4585becca14a1334315f295 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sat, 18 Jan 2025 07:14:05 +0000 Subject: [PATCH 29/44] revert back to jdk 17 and removed media3 because its wont fcking working! --- .github/workflows/android.yml | 9 ++------- app/build.gradle.kts | 8 ++------ build.gradle.kts | 6 ++---- 3 files changed, 6 insertions(+), 17 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index d12d3b5..96d7327 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -13,10 +13,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up JDK 18 + - name: Set up JDK 17 uses: actions/setup-java@v4 with: - java-version: '18' + java-version: '17' distribution: 'temurin' cache: gradle @@ -26,11 +26,6 @@ jobs: - name: Clean project run: ./gradlew clean - - name: Set Gradle Java compatibility - run: | - echo "Setting up Java 1.8 compatibility" - ./gradlew -Porg.gradle.java.home=/usr/lib/jvm/java-1.8-openjdk-amd64 - - name: Build APK run: ./gradlew assembleDebug diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7fc1242..3747ed7 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,7 +1,6 @@ plugins { id("com.android.application") id("com.google.gms.google-services") - id("org.jetbrains.kotlin.android") } android { @@ -21,8 +20,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } buildTypes { @@ -60,9 +59,6 @@ dependencies { implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation("com.squareup.okhttp3:okhttp:4.11.0") - implementation("androidx.media3:media3-bom:1.5.1") - implementation("androidx.media3:media3-session") - implementation("androidx.media3:media3-ui") } apply(plugin = "com.google.gms.google-services") \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index b2ff76c..b5e2c2c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,15 +1,13 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id("com.android.application") version "8.1.0" apply false - id("com.android.library") version "8.1.0" apply false - id("org.jetbrains.kotlin.android") version "1.9.10" apply false + id("com.android.application") version "8.0.0" apply false + id("com.android.library") version "8.0.0" apply false } buildscript { dependencies { classpath("com.google.gms:google-services:4.4.0") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.10") } } From fede9bc4c569cb7d71fac661caca47d1564b9283 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sat, 18 Jan 2025 07:26:45 +0000 Subject: [PATCH 30/44] added media content control permission --- app/src/main/AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d5b10ba..37c9cc7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,9 +6,9 @@ - - + + Date: Sat, 18 Jan 2025 07:27:24 +0000 Subject: [PATCH 31/44] added support-media-compat 28 --- app/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 3747ed7..97437f1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -58,6 +58,7 @@ dependencies { implementation("com.google.firebase:firebase-storage:20.3.0") implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation("com.squareup.okhttp3:okhttp:4.11.0") + implementation("com.android.support:support-media-compat:28.0.0") } From 71e8104b3d76af5e956438061372bac507835f0d Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sat, 18 Jan 2025 07:30:02 +0000 Subject: [PATCH 32/44] added protectedPermissions on media content control --- app/src/main/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 37c9cc7..96e6188 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,7 +8,7 @@ - + Date: Sat, 18 Jan 2025 07:31:52 +0000 Subject: [PATCH 33/44] changed base of MediaSessionCompat from androidx to androi.support.v4 because why not --- .../tw/music/streamer/notification/ZryteZeneNotification.java | 4 +++- .../main/java/tw/music/streamer/service/ZryteZenePlay.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java index f96e5af..42ba739 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -14,7 +14,9 @@ import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; import androidx.media.app.NotificationCompat.MediaStyle; -import androidx.media.session.MediaSessionCompat; +//import androidx.media.session.MediaSessionCompat; + +import android.support.v4.media.session.MediaSessionCompat; import com.bumptech.glide.Glide; import com.bumptech.glide.request.target.CustomTarget; diff --git a/app/src/main/java/tw/music/streamer/service/ZryteZenePlay.java b/app/src/main/java/tw/music/streamer/service/ZryteZenePlay.java index 546133c..d4a88b1 100644 --- a/app/src/main/java/tw/music/streamer/service/ZryteZenePlay.java +++ b/app/src/main/java/tw/music/streamer/service/ZryteZenePlay.java @@ -16,7 +16,9 @@ import android.content.SharedPreferences; import androidx.annotation.Nullable; -import androidx.media.session.MediaSessionCompat; +//import androidx.media.session.MediaSessionCompat; + +import android.support.v4.media.session.MediaSessionCompat; import tw.music.streamer.notification.ZryteZeneNotification; From 51002d266126d76157fae4f82712f7eba780033e Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sat, 18 Jan 2025 07:35:45 +0000 Subject: [PATCH 34/44] removed protectedPermissions because it wont let me compile --- app/src/main/AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 96e6188..3606cc3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,7 +8,7 @@ - + - + \ No newline at end of file From 6958beec1c7f55dc236a1fb05b9057d46060115d Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sat, 18 Jan 2025 07:43:29 +0000 Subject: [PATCH 35/44] minor fix --- .../streamer/notification/ZryteZeneNotification.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java index 42ba739..2bbe7ff 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -1,5 +1,7 @@ package tw.music.streamer.notification; +import tw.music.streamer.R; + import android.os.Build; import android.app.Notification; import android.app.PendingIntent; @@ -62,11 +64,11 @@ public void update(Context a, boolean b, MediaSessionCompat c, String d, String } else { Glide.with(a) .asBitmap() - .load(g) + .load(f) .into(new CustomTarget() { @Override public void onResourceReady(@NonNull Bitmap g, @NonNull Transition h) { - update(a,b,c,d,e,f,g); + update(a,b,c,d,e,g); } @Override public void onLoadCleared(@Nullable Drawable i) { @@ -75,7 +77,7 @@ public void onLoadCleared(@Nullable Drawable i) { } } - public static void update(Context a, boolean b, MediaSessionCompat c, String d, String e, String f, Bitmap g) { + public static void update(Context a, boolean b, MediaSessionCompat c, String d, String e, Bitmap f) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel(ZryteZenePlay.CHANNEL_ID, "ZryteZene Player", NotificationManager.IMPORTANCE_LOW); NotificationManager manager = getSystemService(NotificationManager.class); @@ -92,7 +94,7 @@ public static void update(Context a, boolean b, MediaSessionCompat c, String d, PendingIntent nextPendingIntent = PendingIntent.getBroadcast(a, 0, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); Notification nf = new NotificationCompat.Builder(a, ZryteZenePlay.CHANNEL_ID); - if (g != null) nf.setLargeIcon(g); + if (f != null) nf.setLargeIcon(f); nf.setContentTitle(d) .setContentText(e) .setSmallIcon(R.drawable.ic_launcher) From 933fee5a6e0452fbf351846c8d36d0840d87a4a3 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sat, 18 Jan 2025 07:50:05 +0000 Subject: [PATCH 36/44] minor fix on the Notification Builder --- .../notification/ZryteZeneNotification.java | 51 ++++++++++++------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java index 2bbe7ff..5b3a296 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -58,9 +58,9 @@ public static Notification setup(Context a) { return notification; } - public void update(Context a, boolean b, MediaSessionCompat c, String d, String e, String f) { + public static void update(Context a, boolean b, MediaSessionCompat c, String d, String e, String f) { if (f.equals("-")) { - update(a,b,c,d,e,f,null); + update(a,b,c,d,e,null); } else { Glide.with(a) .asBitmap() @@ -80,7 +80,7 @@ public void onLoadCleared(@Nullable Drawable i) { public static void update(Context a, boolean b, MediaSessionCompat c, String d, String e, Bitmap f) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel(ZryteZenePlay.CHANNEL_ID, "ZryteZene Player", NotificationManager.IMPORTANCE_LOW); - NotificationManager manager = getSystemService(NotificationManager.class); + NotificationManager manager = a.getSystemService(NotificationManager.class); if (manager != null) { manager.createNotificationChannel(channel); } @@ -93,20 +93,37 @@ public static void update(Context a, boolean b, MediaSessionCompat c, String d, PendingIntent previousPendingIntent = PendingIntent.getBroadcast(a, 0, previousIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); PendingIntent nextPendingIntent = PendingIntent.getBroadcast(a, 0, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - Notification nf = new NotificationCompat.Builder(a, ZryteZenePlay.CHANNEL_ID); - if (f != null) nf.setLargeIcon(f); - nf.setContentTitle(d) - .setContentText(e) - .setSmallIcon(R.drawable.ic_launcher) - .setStyle(new MediaStyle() - .setMediaSession(c.getSessionToken()) - .setShowActionsInCompactView(0, 1, 2)) - .addAction(android.R.drawable.ic_media_previous, "Previous", previousIntent) - .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPauseIntent) - .addAction(android.R.drawable.ic_media_next, "Next", nextIntent) - .setPriority(NotificationCompat.PRIORITY_LOW) - .setOngoing(true) - .build(); + Notification nf; + if (f == null) { + nf = new NotificationCompat.Builder(a, ZryteZenePlay.CHANNEL_ID) + .setContentTitle(d) + .setContentText(e) + .setSmallIcon(R.drawable.ic_launcher) + .setStyle(new MediaStyle() + .setMediaSession(c.getSessionToken()) + .setShowActionsInCompactView(0, 1, 2)) + .addAction(android.R.drawable.ic_media_previous, "Previous", previousIntent) + .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPauseIntent) + .addAction(android.R.drawable.ic_media_next, "Next", nextIntent) + .setPriority(NotificationCompat.PRIORITY_LOW) + .setOngoing(true) + .build(); + } else { + nf = new NotificationCompat.Builder(a, ZryteZenePlay.CHANNEL_ID) + .setContentTitle(d) + .setContentText(e) + .setSmallIcon(R.drawable.ic_launcher) + .setLargeIcon(f) + .setStyle(new MediaStyle() + .setMediaSession(c.getSessionToken()) + .setShowActionsInCompactView(0, 1, 2)) + .addAction(android.R.drawable.ic_media_previous, "Previous", previousIntent) + .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPauseIntent) + .addAction(android.R.drawable.ic_media_next, "Next", nextIntent) + .setPriority(NotificationCompat.PRIORITY_LOW) + .setOngoing(true) + .build(); + } NotificationManager m = (NotificationManager) a.getSystemService(Context.NOTIFICATION_SERVICE); if (m != null) { m.notify(ZryteZenePlay.NOTIFICATION_ID, nf); From 7a68dbb76f78c89aaf2bd6ce6c46fda6d25c6e3c Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sat, 18 Jan 2025 07:56:17 +0000 Subject: [PATCH 37/44] fix minor issue with pending intent --- .../notification/ZryteZeneNotification.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java index 5b3a296..8f328ff 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -60,7 +60,7 @@ public static Notification setup(Context a) { public static void update(Context a, boolean b, MediaSessionCompat c, String d, String e, String f) { if (f.equals("-")) { - update(a,b,c,d,e,null); + updateWithMedia(a,b,c,d,e,null); } else { Glide.with(a) .asBitmap() @@ -68,7 +68,7 @@ public static void update(Context a, boolean b, MediaSessionCompat c, String d, .into(new CustomTarget() { @Override public void onResourceReady(@NonNull Bitmap g, @NonNull Transition h) { - update(a,b,c,d,e,g); + updateWithMedia(a,b,c,d,e,g); } @Override public void onLoadCleared(@Nullable Drawable i) { @@ -77,7 +77,7 @@ public void onLoadCleared(@Nullable Drawable i) { } } - public static void update(Context a, boolean b, MediaSessionCompat c, String d, String e, Bitmap f) { + public static void updateWithMedia(Context a, boolean b, MediaSessionCompat c, String d, String e, Bitmap f) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel(ZryteZenePlay.CHANNEL_ID, "ZryteZene Player", NotificationManager.IMPORTANCE_LOW); NotificationManager manager = a.getSystemService(NotificationManager.class); @@ -102,9 +102,9 @@ public static void update(Context a, boolean b, MediaSessionCompat c, String d, .setStyle(new MediaStyle() .setMediaSession(c.getSessionToken()) .setShowActionsInCompactView(0, 1, 2)) - .addAction(android.R.drawable.ic_media_previous, "Previous", previousIntent) - .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPauseIntent) - .addAction(android.R.drawable.ic_media_next, "Next", nextIntent) + .addAction(android.R.drawable.ic_media_previous, "Previous", previousPendingIntent) + .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPausePendingIntent) + .addAction(android.R.drawable.ic_media_next, "Next", nextPendingIntent) .setPriority(NotificationCompat.PRIORITY_LOW) .setOngoing(true) .build(); @@ -117,9 +117,9 @@ public static void update(Context a, boolean b, MediaSessionCompat c, String d, .setStyle(new MediaStyle() .setMediaSession(c.getSessionToken()) .setShowActionsInCompactView(0, 1, 2)) - .addAction(android.R.drawable.ic_media_previous, "Previous", previousIntent) - .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPauseIntent) - .addAction(android.R.drawable.ic_media_next, "Next", nextIntent) + .addAction(android.R.drawable.ic_media_previous, "Previous", previousPendingIntent) + .addAction(b ? android.R.drawable.ic_media_pause : android.R.drawable.ic_media_play, "Play/Pause", playPausePendingIntent) + .addAction(android.R.drawable.ic_media_next, "Next", nextPendingIntent) .setPriority(NotificationCompat.PRIORITY_LOW) .setOngoing(true) .build(); From b910fa264d7524cfb103637e7e225806af860e75 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sat, 18 Jan 2025 07:59:12 +0000 Subject: [PATCH 38/44] fix typo on _play function --- app/src/main/java/tw/music/streamer/StreamerActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index 7358a0b..53383d2 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -2610,7 +2610,7 @@ public void onClick(DialogInterface _dialog, int _which) { private void _play(final String _key) { _CoreProgressLoading(true); final int _pos = (int) currentlyChild.indexOf(_key); - tempMap = currentlyPlaying.get(_pos); + tempMap = currentlyMap.get(_pos); currentlyPlaying = _key; text_title.setText(tempMap.get("name").toString()); if (usrname_list.contains(tempMap.get("uid").toString())) { From 5acd585a40a2bb0fc3328456a1166fdbe334a733 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sun, 19 Jan 2025 11:50:34 +0000 Subject: [PATCH 39/44] added BroadcastReceiver class in case i fcked up the A14 --- .../receiver/ZryteZeneBroadcastReceiver.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java diff --git a/app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java b/app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java new file mode 100644 index 0000000..e73a17a --- /dev/null +++ b/app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java @@ -0,0 +1,48 @@ +package tw.music.streamer.receiver; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +import tw.music.streamer.service.ZryteZenePlay; + +public class ZryteZeneBroadcastReceiver extends BroadcastReceiver { + + public static final String PLAY = "tw.music.streamer.ACTION_PLAY"; + public static final String PAUSE = "tw.music.streamer.ACTION_PAUSE"; + public static final String NEXT = "tw.music.streamer.ACTION_NEXT"; + public static final String PREVIOUS = "tw.music.streamer.ACTION_PREVIOUS"; + + @Override + public void onReceive(Context a, Intent b) { + if (b == null || b.getAction() == null) return; + + String c = b.getAction(); + Intent d = new Intent(a, ZryteZenePlay.class); + + switch (c) { + case PLAY: + d.putExtra("action", "play"); + break; + + case PAUSE: + d.putExtra("action", "pause"); + break; + + case NEXT: + d.putExtra("action", "next"); + break; + + case PREVIOUS: + d.putExtra("action", "previous"); + break; + + default: + Log.w("MusicBroadcastReceiver", "Unknown action: " + action); + return; + } + + a.startService(d); + } +} From f2ef5977a75a1367d0f397debadcf5b318ed0690 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sun, 19 Jan 2025 11:51:08 +0000 Subject: [PATCH 40/44] changed getBroadcast to getService --- .../music/streamer/notification/ZryteZeneNotification.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java index 8f328ff..dc4059e 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -89,9 +89,9 @@ public static void updateWithMedia(Context a, boolean b, MediaSessionCompat c, S Intent playPauseIntent = new Intent(a, ZryteZenePlay.class).setAction(ZryteZenePlay.ACTION_BROADCAST).putExtra("action", b ? "pause" : "resume"); Intent previousIntent = new Intent(a, ZryteZenePlay.class).setAction(ZryteZenePlay.ACTION_BROADCAST).putExtra("action", "previous"); Intent nextIntent = new Intent(a, ZryteZenePlay.class).setAction(ZryteZenePlay.ACTION_BROADCAST).putExtra("action", "forward"); - PendingIntent playPausePendingIntent = PendingIntent.getBroadcast(a, 0, playPauseIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - PendingIntent previousPendingIntent = PendingIntent.getBroadcast(a, 0, previousIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - PendingIntent nextPendingIntent = PendingIntent.getBroadcast(a, 0, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); + PendingIntent playPausePendingIntent = PendingIntent.getService(a, 0, playPauseIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); + PendingIntent previousPendingIntent = PendingIntent.getService(a, 0, previousIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); + PendingIntent nextPendingIntent = PendingIntent.getService(a, 0, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); Notification nf; if (f == null) { From 066311578a778da3d9de3b7b5dc0b7da34197a82 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Sun, 19 Jan 2025 11:52:47 +0000 Subject: [PATCH 41/44] fix action typo --- .../tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java b/app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java index e73a17a..e212457 100644 --- a/app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java +++ b/app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java @@ -39,7 +39,7 @@ public void onReceive(Context a, Intent b) { break; default: - Log.w("MusicBroadcastReceiver", "Unknown action: " + action); + Log.w("MusicBroadcastReceiver", "Unknown action: " + c); return; } From 233b9b5afd4188c0ac1ab441169cb06984da1ef2 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Tue, 21 Jan 2025 14:32:07 +0000 Subject: [PATCH 42/44] updated readme.md because im lazy to code today --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c7106fd..150e8d6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ -# zz-android-old -> use API 33 to build and api 28 to test, estimated time to finish: 6 weeks - 7 months, hehe +# ZryteZene Java Mobile +> Currently under development by 1 person, so it may take longer to finish, its hard to implement the run-in-background system where since Android 14 or newer restricted the background services the most. Estimated time to finish: 6 weeks - 7 months, hehe. + +# Overview +**ZryteZene** is a multi-platform app to allow users to stream musics across various devices seamlessly, such as Android, desktop and web platform. Its completely free and ad-free too. + +# Requirements +- Minimum SDK : 27 (Oreo) +- Compile SDK : 34 (Upside Down Cake) +- Language : Java - Native \ No newline at end of file From 2725ec80e9e9ae73392d7d60f816a04c4a9785d8 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Tue, 21 Jan 2025 14:37:37 +0000 Subject: [PATCH 43/44] fix load theme issue --- app/src/main/java/tw/music/streamer/StreamerActivity.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index 53383d2..041c4ae 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -1941,7 +1941,7 @@ public void onStart() { super.onStart(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { getWindow().getDecorView().setSystemUiVisibility(0); - }/* + } _loadTheme(); if (!(openNum == 0)) { _customNav(theme_map.get(0).get("colorPrimary").toString()); @@ -1950,6 +1950,7 @@ public void onStart() { image_user.clearColorFilter(); _drawer_image_user.clearColorFilter(); } + /* if (tmservice != null) { if (!currentlyPlaying.equals("") && !tmservice._isMpNull()) { if (currentlyMap.get(currentlyChild.indexOf(currentlyPlaying)).containsKey("img")) { @@ -2136,8 +2137,8 @@ private void _loadTheme() { text_zene.setTextColor(Color.parseColor(theme_map.get(0).get("colorBackgroundCardText").toString())); text_playlist.setTextColor(Color.parseColor(theme_map.get(0).get("colorBackgroundCardText").toString())); edittext_search.setTextColor(Color.parseColor(theme_map.get(0).get("colorBackgroundCardText").toString())); - //x_tab.setSelectedTabIndicatorColor(Color.parseColor(theme_map.get(0).get("colorPrimary").toString())); - //x_tab.setTabTextColors(Color.parseColor(theme_map.get(0).get("colorBackgroundText").toString()), Color.parseColor(theme_map.get(0).get("colorBackgroundText").toString())); + x_tab.setSelectedTabIndicatorColor(Color.parseColor(theme_map.get(0).get("colorPrimary").toString())); + x_tab.setTabTextColors(Color.parseColor(theme_map.get(0).get("colorBackgroundText").toString()), Color.parseColor(theme_map.get(0).get("colorBackgroundText").toString())); { ViewGroup _vg = (ViewGroup) x_tab.getChildAt(0); From 6813834e9a1fdf342c76c68d49813cd347a27bd6 Mon Sep 17 00:00:00 2001 From: AdityaKapal362 Date: Tue, 21 Jan 2025 15:18:43 +0000 Subject: [PATCH 44/44] trying to make the new UI for streaming activity --- .../tw/music/streamer/StreamerActivity.java | 6 --- app/src/main/res/layout/stream_base.xml | 48 +++++++++++++++++++ 2 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 app/src/main/res/layout/stream_base.xml diff --git a/app/src/main/java/tw/music/streamer/StreamerActivity.java b/app/src/main/java/tw/music/streamer/StreamerActivity.java index 041c4ae..81e1470 100644 --- a/app/src/main/java/tw/music/streamer/StreamerActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamerActivity.java @@ -303,12 +303,6 @@ public class StreamerActivity extends AppCompatActivity { private double _t; private ArrayAdapter Listview2Adapter; private GridView listview2; - private Handler dataHandlerReceiverZero; - private Handler dataHandlerReceiverOne; - private Handler dataHandlerReceiverTwo; - private Handler dataHandlerReceiverThree; - private Handler dataHandlerReceiverFour; - private Handler dataHandlerReceiverFive; private com.google.android.material.tabs.TabLayout x_tab; private androidx.viewpager.widget.ViewPager viewPager; private android.graphics.drawable.AnimationDrawable rocketAnimation; diff --git a/app/src/main/res/layout/stream_base.xml b/app/src/main/res/layout/stream_base.xml new file mode 100644 index 0000000..a6275af --- /dev/null +++ b/app/src/main/res/layout/stream_base.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + \ No newline at end of file