diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cd267f0..3d48adf 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,12 +3,14 @@ - - - - - - + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/tw/music/streamer/MainActivity.java b/app/src/main/java/tw/music/streamer/MainActivity.java index 54f3ca4..99c185c 100644 --- a/app/src/main/java/tw/music/streamer/MainActivity.java +++ b/app/src/main/java/tw/music/streamer/MainActivity.java @@ -464,7 +464,7 @@ public void onCancelled(DatabaseError _param1) { }; prof_img.addChildEventListener(_prof_img_child_listener); - objectanim3.addListener(new Animator.AnimatorListener() { + /*objectanim3.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator _param1) { @@ -484,7 +484,7 @@ public void onAnimationCancel(Animator _param1) { public void onAnimationRepeat(Animator _param1) { } - }); + });*/ _internetchecker_request_listener = new RequestNetwork.RequestListener() { @Override @@ -500,12 +500,13 @@ public void run() { runOnUiThread(new Runnable() { @Override public void run() { - objectanim3.setTarget(linear4); + /*objectanim3.setTarget(linear4); objectanim3.setPropertyName("translationY"); objectanim3.setFloatValues(SketchwareUtil.getDip(getApplicationContext(), -75), (float) (0)); objectanim3.setDuration(500); objectanim3.setInterpolator(new DecelerateInterpolator()); - objectanim3.start(); + objectanim3.start();*/ + internetchecker.startRequestNetwork(RequestNetworkController.GET, "https://www.google.com", "A", _internetchecker_request_listener); } }); } @@ -526,12 +527,13 @@ public void onErrorResponse(String _param1, String _param2) { _isNoInternet = true; textview4.setText("Please enable your internet!"); _randomEmoteUwU(); - objectanim3.setTarget(linear4); + /*objectanim3.setTarget(linear4); objectanim3.setPropertyName("translationY"); objectanim3.setFloatValues((float) (0), SketchwareUtil.getDip(getApplicationContext(), -75)); objectanim3.setDuration(500); objectanim3.setInterpolator(new DecelerateInterpolator()); - objectanim3.start(); + objectanim3.start();*/ + internetchecker.startRequestNetwork(RequestNetworkController.GET, "https://www.google.com", "A", _internetchecker_request_listener); } } }; @@ -633,7 +635,7 @@ public void onComplete(Task _param1) { } private void initializeLogic() { - overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); + //overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); try { packageInfo = MainActivity.this.getPackageManager().getPackageInfo(getPackageName(), 0); textview6.setText(" " + packageInfo.versionName); @@ -781,39 +783,17 @@ private void initializeLogic() { imageview1.setImageResource(R.drawable.no_network_emote02); textview11.setText("GIVE ME BACK MY COOKIES!"); } - if (_checkPermission()) { - if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat("/tmp.png"))) { - FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat("/tmp.png")); - } - if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat("/tmp_user.png"))) { - FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat("/tmp_user.png")); - } - if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat("/tm-testfile"))) { - FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat("/tm-testfile")); - } - } _checkCookie(); } private boolean _checkPermission() { if (Build.VERSION.SDK_INT < 33) { - return !(androidx.core.content.ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) == android.content.pm.PackageManager.PERMISSION_DENIED || androidx.core.content.ContextCompat.checkSelfPermission(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == android.content.pm.PackageManager.PERMISSION_DENIED); + return !(androidx.core.content.ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) == android.content.pm.PackageManager.PERMISSION_DENIED); } else { return true; } } - @Override - protected void onActivityResult(int _requestCode, int _resultCode, Intent _data) { - super.onActivityResult(_requestCode, _resultCode, _data); - - switch (_requestCode) { - - default: - break; - } - } - @Override public void onBackPressed() { diff --git a/app/src/main/java/tw/music/streamer/StreamingActivity.java b/app/src/main/java/tw/music/streamer/StreamingActivity.java index c989d74..310927f 100644 --- a/app/src/main/java/tw/music/streamer/StreamingActivity.java +++ b/app/src/main/java/tw/music/streamer/StreamingActivity.java @@ -198,6 +198,16 @@ public void onClick(View b) { openMenuBar(4,true); } }); + mp_play.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View b) { + if (zz.isPlaying()) { + zz.requestAction("pause"); + } else { + zz.requestAction("resume"); + } + } + }); } private void initLogic(final Context a) { @@ -244,8 +254,10 @@ public void onReceive(Context context, Intent intent) { mp_bar.setProgress(zz.getCurrentDuration()/1000); } else if (m.equals("on-completion")) { zz.setPlaying(false); + mp_play.setImageResource(R.drawable.ic_play_arrow_white); } else if (m.equals("on-error")) { zz.addError(intent.getStringExtra("data")); + mp_play.setImageResource(R.drawable.ic_play_arrow_white); } else if (m.equals("on-seekerror")) { } else if (m.equals("on-initialized")) { } else if (m.equals("on-bufferupdate")) { @@ -253,10 +265,13 @@ public void onReceive(Context context, Intent intent) { } else if (m.equals("request-play")) { } else if (m.equals("request-pause")) { zz.setPlaying(false); + mp_play.setImageResource(R.drawable.ic_play_arrow_white); } else if (m.equals("request-resume")) { zz.setPlaying(true); + mp_play.setImageResource(R.drawable.ic_pause_white); } else if (m.equals("request-stop")) { zz.setPlaying(false); + mp_play.setImageResource(R.drawable.ic_play_arrow_white); } else if (m.equals("request-seek")) { zz.setCurrentDuration(intent.getIntExtra("data",0)/1000); } else if (m.equals("request-restart")) { 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 2e35715..a3394c1 100644 --- a/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java +++ b/app/src/main/java/tw/music/streamer/notification/ZryteZeneNotification.java @@ -24,8 +24,9 @@ import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; +import tw.music.streamer.receiver.ZryteZeneBroadcastReceiver; import tw.music.streamer.service.ZryteZenePlay; -import tw.music.streamer.StreamerActivity; +import tw.music.streamer.StreamingActivity; public class ZryteZeneNotification { @@ -43,7 +44,7 @@ public static Notification setup(Context a) { mr.createNotificationChannel(ch); } - Intent openAppIntent = new Intent(a, StreamerActivity.class); + Intent openAppIntent = new Intent(a, StreamingActivity.class); PendingIntent openAppPendingIntent = PendingIntent.getActivity(a, 0, openAppIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); Notification notification = new Notification.Builder(a, ZryteZenePlay.CHANNEL_ID) @@ -82,12 +83,12 @@ public static void updateWithMedia(Context a, boolean b, MediaSessionCompat c, S manager.createNotificationChannel(channel); } - Intent playPauseIntent = new Intent(a, ZryteZenePlay.class).putExtra("action", b ? "pause" : "resume"); //setAction(ZryteZenePlay.ACTION_BROADCAST). - Intent previousIntent = new Intent(a, ZryteZenePlay.class).putExtra("action", "previous"); - Intent nextIntent = new Intent(a, ZryteZenePlay.class).putExtra("action", "forward"); - 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); + Intent playPauseIntent = new Intent(a, ZryteZeneBroadcastReceiver.class).setAction(b ? ZryteZeneBroadcastReceiver.PAUSE : ZryteZeneBroadcastReceiver.PLAY); + Intent previousIntent = new Intent(a, ZryteZeneBroadcastReceiver.class).setAction(ZryteZeneBroadcastReceiver.PREVIOUS); + Intent nextIntent = new Intent(a, ZryteZeneBroadcastReceiver.class).setAction(ZryteZeneBroadcastReceiver.SKIP); + 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 nf; if (f == null) { @@ -101,6 +102,7 @@ public static void updateWithMedia(Context a, boolean b, MediaSessionCompat c, S .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) + .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setPriority(NotificationCompat.PRIORITY_LOW) .setOngoing(true) .build(); @@ -116,6 +118,7 @@ public static void updateWithMedia(Context a, boolean b, MediaSessionCompat c, S .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) + .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setPriority(NotificationCompat.PRIORITY_LOW) .setOngoing(true) .build(); 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 e212457..7037e48 100644 --- a/app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java +++ b/app/src/main/java/tw/music/streamer/receiver/ZryteZeneBroadcastReceiver.java @@ -3,46 +3,37 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import android.util.Log; -import tw.music.streamer.service.ZryteZenePlay; +import tw.music.streamer.adaptor.ZryteZeneAdaptor; 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"; + public static final String PLAY = "ZZ_PLAY"; + public static final String PAUSE = "ZZ_PAUSE"; + public static final String SKIP = "ZZ_SKIP"; + public static final String PREVIOUS = "ZZ_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; + public ZryteZeneAdaptor zz; - case NEXT: - d.putExtra("action", "next"); - break; - - case PREVIOUS: - d.putExtra("action", "previous"); - break; - - default: - Log.w("MusicBroadcastReceiver", "Unknown action: " + c); - return; + @Override + public void onReceive(Context context, Intent intent) { + zz = new ZryteZeneAdaptor(context); + String action = intent.getAction(); + if (action != null) { + switch (action) { + case PLAY: + zz.requestAction("resume"); + break; + case PAUSE: + zz.requestAction("pause"); + break; + case SKIP: + zz.requestAction("skip"); + break; + case PREVIOUS: + zz.requestAction("previous"); + break; + } } - - a.startService(d); } -} +} \ No newline at end of file