Skip to content
Merged
25 changes: 19 additions & 6 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
<manifest
xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>

<application
android:allowBackup="true"
Expand Down Expand Up @@ -116,5 +118,16 @@
android:label="ZryteZene Background Service"
android:exported="true"/>

<receiver
android:name="tw.music.streamer.receiver.ZryteZeneBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="ZZ_PLAY" />
<action android:name="ZZ_PAUSE" />
<action android:name="ZZ_SKIP" />
<action android:name="ZZ_PREVIOUS" />
</intent-filter>
</receiver>

</application>
</manifest>
40 changes: 10 additions & 30 deletions app/src/main/java/tw/music/streamer/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -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) {

Expand All @@ -484,7 +484,7 @@ public void onAnimationCancel(Animator _param1) {
public void onAnimationRepeat(Animator _param1) {

}
});
});*/

_internetchecker_request_listener = new RequestNetwork.RequestListener() {
@Override
Expand All @@ -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);
}
});
}
Expand All @@ -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);
}
}
};
Expand Down Expand Up @@ -633,7 +635,7 @@ public void onComplete(Task<Void> _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);
Expand Down Expand Up @@ -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() {

Expand Down
15 changes: 15 additions & 0 deletions app/src/main/java/tw/music/streamer/StreamingActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -244,19 +254,24 @@ 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")) {
zz.setBufferingUpdate(intent.getIntExtra("data",0));
} 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")) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand All @@ -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)
Expand Down Expand Up @@ -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) {
Expand All @@ -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();
Expand All @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
}
Loading