正在查看: Fix Locker v1.5 应用的 AudioPlayingService.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Fix Locker v1.5 应用的 AudioPlayingService.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.user.a4keygen.services;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.Service;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Build;
import android.os.IBinder;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.util.Log;
import androidx.core.app.NotificationCompat;
import com.user.a4keygen.R;
import com.user.a4keygen.webutil.WebClientService;
import java.net.URLDecoder;
public class AudioPlayingService extends Service {
private static final String CHANNEL_ID = "com.user.a4keygen";
private static final int NOTIFICATION_ID = 1099;
private static MediaPlayer alarmMediaPlayer;
private AudioManager audioManager;
private AudioManager.OnAudioFocusChangeListener focusChangeListener;
private Vibrator vibrator;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
if (Build.VERSION.SDK_INT >= 26) {
((NotificationManager) getSystemService("notification")).createNotificationChannel(new NotificationChannel("com.user.a4keygen", getString(R.string.app_name), 4));
startForeground(NOTIFICATION_ID, new NotificationCompat.Builder(this, "com.user.a4keygen").setContentTitle("EMI Reminder").setContentText("Playing reminder sound...").setSmallIcon(R.mipmap.ic_launcher).build());
}
this.vibrator = (Vibrator) getSystemService("vibrator");
}
@Override
public int onStartCommand(Intent intent, int i, int i2) {
if (intent == null || intent.getStringExtra("URL") == null) {
return 1;
}
try {
String decode = URLDecoder.decode(intent.getStringExtra("URL"), "UTF-8");
Log.d("AudioPlayingService", "Decoded URL: " + decode);
if (WebClientService.isInternetOn(getApplicationContext())) {
playAudio(decode);
} else {
playLocalRawAudio();
}
return 1;
} catch (Exception e) {
Log.e("AudioPlayingService", "Error decoding URL", e);
return 1;
}
}
private void playAudio(String str) {
try {
setupAudioManager();
AudioPlayingService$$ExternalSyntheticLambda0 audioPlayingService$$ExternalSyntheticLambda0 = new AudioManager.OnAudioFocusChangeListener() {
@Override
public final void onAudioFocusChange(int i) {
AudioPlayingService.lambda$playAudio$0(i);
}
};
this.focusChangeListener = audioPlayingService$$ExternalSyntheticLambda0;
if (this.audioManager.requestAudioFocus(audioPlayingService$$ExternalSyntheticLambda0, 3, 1) == 1) {
stopAlarm();
MediaPlayer mediaPlayer = new MediaPlayer();
alarmMediaPlayer = mediaPlayer;
mediaPlayer.setAudioStreamType(3);
alarmMediaPlayer.setDataSource(str);
alarmMediaPlayer.prepareAsync();
alarmMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public final void onPrepared(MediaPlayer mediaPlayer2) {
AudioPlayingService.this.m303x2d12ad73(mediaPlayer2);
}
});
alarmMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public final void onCompletion(MediaPlayer mediaPlayer2) {
AudioPlayingService.this.m304x66dd4f52(mediaPlayer2);
}
});
alarmMediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public final boolean onError(MediaPlayer mediaPlayer2, int i, int i2) {
return AudioPlayingService.lambda$playAudio$3(mediaPlayer2, i, i2);
}
});
} else {
Log.e("AudioPlayingService", "Failed to gain audio focus");
}
} catch (Exception e) {
Log.e("AudioPlayingService", "Error in playAudio", e);
}
}
static void lambda$playAudio$0(int i) {
if (i == -1) {
stopAlarm();
}
}
public void m303x2d12ad73(MediaPlayer mediaPlayer) {
alarmMediaPlayer.start();
vibrateWhilePlaying();
Log.d("AudioPlayingService", "Audio started from URL");
}
public void m304x66dd4f52(MediaPlayer mediaPlayer) {
stopVibration();
}
static boolean lambda$playAudio$3(MediaPlayer mediaPlayer, int i, int i2) {
Log.e("AudioPlayingService", "MediaPlayer error: " + i + ", " + i2);
stopAlarm();
return true;
}
private void playLocalRawAudio() {
try {
setupAudioManager();
AudioPlayingService$$ExternalSyntheticLambda1 audioPlayingService$$ExternalSyntheticLambda1 = new AudioManager.OnAudioFocusChangeListener() {
@Override
public final void onAudioFocusChange(int i) {
AudioPlayingService.lambda$playLocalRawAudio$4(i);
}
};
this.focusChangeListener = audioPlayingService$$ExternalSyntheticLambda1;
if (this.audioManager.requestAudioFocus(audioPlayingService$$ExternalSyntheticLambda1, 3, 1) == 1) {
stopAlarm();
MediaPlayer create = MediaPlayer.create(this, R.raw.loan_audio);
alarmMediaPlayer = create;
if (create != null) {
create.start();
vibrateWhilePlaying();
Log.d("AudioPlayingService", "Audio started from raw folder");
alarmMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public final void onCompletion(MediaPlayer mediaPlayer) {
AudioPlayingService.this.m305x30f9150c(mediaPlayer);
}
});
}
} else {
Log.e("AudioPlayingService", "Failed to gain audio focus");
}
} catch (Exception e) {
Log.e("AudioPlayingService", "Error playing local raw audio", e);
}
}
static void lambda$playLocalRawAudio$4(int i) {
if (i == -1) {
stopAlarm();
}
}
public void m305x30f9150c(MediaPlayer mediaPlayer) {
stopVibration();
}
private void setupAudioManager() {
if (this.audioManager == null) {
this.audioManager = (AudioManager) getSystemService("audio");
}
this.audioManager.setStreamVolume(3, this.audioManager.getStreamMaxVolume(3), 1);
this.audioManager.setRingerMode(2);
}
private void vibrateWhilePlaying() {
Vibrator vibrator = this.vibrator;
if (vibrator == null || !vibrator.hasVibrator()) {
return;
}
if (Build.VERSION.SDK_INT >= 26) {
this.vibrator.vibrate(VibrationEffect.createWaveform(new long[]{0, 500, 500}, 0));
} else {
this.vibrator.vibrate(new long[]{0, 500, 500}, 0);
}
}
private void stopVibration() {
Vibrator vibrator = this.vibrator;
if (vibrator != null) {
vibrator.cancel();
}
}
public static void stopAlarm() {
MediaPlayer mediaPlayer = alarmMediaPlayer;
if (mediaPlayer != null) {
if (mediaPlayer.isPlaying()) {
alarmMediaPlayer.stop();
}
alarmMediaPlayer.reset();
alarmMediaPlayer.release();
alarmMediaPlayer = null;
}
}
@Override
public void onDestroy() {
AudioManager.OnAudioFocusChangeListener onAudioFocusChangeListener;
stopAlarm();
stopVibration();
AudioManager audioManager = this.audioManager;
if (audioManager != null && (onAudioFocusChangeListener = this.focusChangeListener) != null) {
audioManager.abandonAudioFocus(onAudioFocusChangeListener);
}
if (Build.VERSION.SDK_INT >= 26) {
stopForeground(true);
}
super.onDestroy();
}
}