From c239526086a6e48d4c4dc5404743d574b0294f06 Mon Sep 17 00:00:00 2001 From: vndangkhoa Date: Fri, 2 Jan 2026 23:39:20 +0700 Subject: [PATCH] feat(mobile): add background playback and wake lock support, bump version to 1.3.1 --- frontend/android/app/build.gradle | 4 +-- .../android/app/src/main/AndroidManifest.xml | 1 + .../java/com/streamflix/app/MainActivity.java | 32 ++++++++++++++++++- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/frontend/android/app/build.gradle b/frontend/android/app/build.gradle index 2ff3c3c..1ec040b 100644 --- a/frontend/android/app/build.gradle +++ b/frontend/android/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "com.streamflix.app" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 9 - versionName "1.0.9" + versionCode 10 + versionName "1.3.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" aaptOptions { // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. diff --git a/frontend/android/app/src/main/AndroidManifest.xml b/frontend/android/app/src/main/AndroidManifest.xml index 003e8c7..c0401bf 100644 --- a/frontend/android/app/src/main/AndroidManifest.xml +++ b/frontend/android/app/src/main/AndroidManifest.xml @@ -43,4 +43,5 @@ + diff --git a/frontend/android/app/src/main/java/com/streamflix/app/MainActivity.java b/frontend/android/app/src/main/java/com/streamflix/app/MainActivity.java index 3073f38..7f7af16 100644 --- a/frontend/android/app/src/main/java/com/streamflix/app/MainActivity.java +++ b/frontend/android/app/src/main/java/com/streamflix/app/MainActivity.java @@ -1,5 +1,35 @@ package com.streamflix.app; +import android.os.Bundle; +import android.view.WindowManager; +import android.os.PowerManager; +import android.content.Context; import com.getcapacitor.BridgeActivity; -public class MainActivity extends BridgeActivity {} +public class MainActivity extends BridgeActivity { + private PowerManager.WakeLock wakeLock; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Prevent screen from turning off while app is in foreground + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + + // Initialize CPU wake lock to keep processor active when screen is manually + // turned off + PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); + if (powerManager != null) { + wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "StreamFlix::PlaybackWakeLock"); + wakeLock.acquire(); + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (wakeLock != null && wakeLock.isHeld()) { + wakeLock.release(); + } + } +}