From 94968a676af449b37b35a392a2a5c7ea05a5dedc Mon Sep 17 00:00:00 2001 From: Matthew Date: Thu, 12 Oct 2023 12:40:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96wakelock=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 4 ++-- .../com/xinyingpower/microphoto/MicroPhotoService.java | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 14ae85f1..ddc75b94 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -443,7 +443,7 @@ unsigned long CPhoneDevice::RequestWakelock(unsigned long timeout) std::string name = WAKELOCK_NAME; name += to_string(wakelockId); - ALOGI("RequestWakelock=%lld",wakelockId); + // ALOGI("RequestWakelock=%lld",wakelockId); jboolean ret = JNI_FALSE; JNIEnv* env = NULL; @@ -471,7 +471,7 @@ unsigned long CPhoneDevice::RequestWakelock(unsigned long timeout) bool CPhoneDevice::ReleaseWakelock(unsigned long wakelock) { - ALOGI("ReleaseWakelock=%lld", wakelock); + // ALOGI("ReleaseWakelock=%lld", wakelock); std::string name = WAKELOCK_NAME; name += to_string(wakelock); diff --git a/app/src/main/java/com/xinyingpower/microphoto/MicroPhotoService.java b/app/src/main/java/com/xinyingpower/microphoto/MicroPhotoService.java index e9d111f4..463ee952 100644 --- a/app/src/main/java/com/xinyingpower/microphoto/MicroPhotoService.java +++ b/app/src/main/java/com/xinyingpower/microphoto/MicroPhotoService.java @@ -437,7 +437,6 @@ public class MicroPhotoService extends Service { registerReceiver(screenactionreceiver, screenactionreceiver.getFilter()); - // File path = getApplicationContext().getFilesDir(); String appPath = buildAppDir(this.getApplicationContext()); @@ -482,14 +481,17 @@ public class MicroPhotoService extends Service { public void requestWakelock(String name, long timeout) { PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); - PowerManager.WakeLock wl = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, name); + PowerManager.WakeLock wl = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK/* | PowerManager.ON_AFTER_RELEASE*/, name); PowerManager.WakeLock wl2 = null; synchronized (mWakeLocks) { - wl2 = mWakeLocks.replace(name, wl); + wl2 = mWakeLocks.get(name); + mWakeLocks.put(name, wl); } if (wl2 != null) { + Log.i(TAG, "Release same name wakelock:" + name); wl2.release(); } + Log.i(TAG, "Request wakelock:" + name); if (timeout == 0) wl.acquire(); else wl.acquire(timeout); } @@ -501,6 +503,7 @@ public class MicroPhotoService extends Service { mWakeLocks.remove(name); } if (wl != null) { + Log.i(TAG, "Release wakelock:" + name); wl.release(); } }