From 9ad7d2550126518ecaf0d6a82b61f3972c6a77e8 Mon Sep 17 00:00:00 2001 From: Mygod Date: Mon, 12 Aug 2019 13:17:30 +0800 Subject: [PATCH] Fix trimming memory from main --- mobile/src/main/java/be/mygod/vpnhotspot/App.kt | 4 +++- mobile/src/main/java/be/mygod/vpnhotspot/util/RootSession.kt | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/App.kt b/mobile/src/main/java/be/mygod/vpnhotspot/App.kt index e81ce3e7..6d3f964c 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/App.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/App.kt @@ -20,6 +20,8 @@ import be.mygod.vpnhotspot.net.DhcpWorkaround import be.mygod.vpnhotspot.room.AppDatabase import be.mygod.vpnhotspot.util.DeviceStorageApp import be.mygod.vpnhotspot.util.RootSession +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch import timber.log.Timber import java.util.* @@ -62,7 +64,7 @@ class App : Application() { override fun onTrimMemory(level: Int) { super.onTrimMemory(level) - if (level >= TRIM_MEMORY_RUNNING_CRITICAL) RootSession.trimMemory() + if (level >= TRIM_MEMORY_RUNNING_CRITICAL) GlobalScope.launch { RootSession.trimMemory() } } lateinit var deviceStorage: Application diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/util/RootSession.kt b/mobile/src/main/java/be/mygod/vpnhotspot/util/RootSession.kt index 7c779174..cf82551c 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/util/RootSession.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/util/RootSession.kt @@ -3,6 +3,7 @@ package be.mygod.vpnhotspot.util import android.os.Handler import android.os.HandlerThread import android.os.Looper +import androidx.annotation.WorkerThread import androidx.core.os.postDelayed import com.topjohnwu.superuser.Shell import timber.log.Timber @@ -50,6 +51,7 @@ class RootSession : AutoCloseable { return instance.Transaction() } + @WorkerThread fun trimMemory() = monitor.withLock { val instance = instance ?: return instance.haltTimeout()