diff --git a/app/src/main/java/com/hyperling/apps/infinitetimer/MainActivity.java b/app/src/main/java/com/hyperling/apps/infinitetimer/MainActivity.java index d0599a3..d2065f3 100755 --- a/app/src/main/java/com/hyperling/apps/infinitetimer/MainActivity.java +++ b/app/src/main/java/com/hyperling/apps/infinitetimer/MainActivity.java @@ -357,7 +357,7 @@ public class MainActivity extends AppCompatActivity { setLoopInterval(); resetTimeLeft(); setStartTime(); - + // Start the background alert service using Alert manager long interval = longLoopInterval > 1000 ? longLoopInterval : 60000; // Minimum 1 minute interval for alarms if (Alert.isExactAlarmAllowed(this)) { @@ -608,7 +608,7 @@ public class MainActivity extends AppCompatActivity { // Safely instantiate MediaPlayer locally to prevent NPE Uri uri = android.media.RingtoneManager.getDefaultUri(android.media.RingtoneManager.TYPE_NOTIFICATION); MediaPlayer localPlayer = MediaPlayer.create(this, uri); - + if (localPlayer != null) { localPlayer.start(); localPlayer.release(); // Clean up resources immediately @@ -742,7 +742,8 @@ public class MainActivity extends AppCompatActivity { // Stop the background alert service when destroying activity Alert.stop(this); - + if (mediaPlayer != null) { mediaPlayer.release(); mediaPlayer = null; } + if (DEBUG) Log.d(tag, "Done with local code, calling super.."); super.onDestroy(); diff --git a/app/src/main/java/com/hyperling/apps/infinitetimer/TimerForegroundService.java b/app/src/main/java/com/hyperling/apps/infinitetimer/TimerForegroundService.java index dcb103d..f69911f 100644 --- a/app/src/main/java/com/hyperling/apps/infinitetimer/TimerForegroundService.java +++ b/app/src/main/java/com/hyperling/apps/infinitetimer/TimerForegroundService.java @@ -30,7 +30,7 @@ public class TimerForegroundService extends Service { // Acquire a wake lock briefly to ensure the CPU stays awake during playback PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); - wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "TimerWakeLock"); + wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "InfiniteTimer:TimerWakeLock"); wakeLock.acquire(60 * 1000L); } @@ -91,6 +91,5 @@ public class TimerForegroundService extends Service { public void onDestroy() { super.onDestroy(); if (wakeLock.isHeld()) wakeLock.release(); - if (mediaPlayer != null) { mediaPlayer.release(); mediaPlayer = null; } } }