summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuang Anh Luong <qal@google.com>2023-07-06 00:26:26 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-07-06 00:26:26 +0000
commitc7f82c1561900d245e2800f5e3beb76be5752ef4 (patch)
tree707ae35946cdb7ee11a6b9c9f474762a55a397c8
parent17f32501942418aaa2f969ba29e32b74981005ac (diff)
parentcba0f23e2ac47b2824809bf52cb1a6f4c4d35f40 (diff)
downloadwifi-c7f82c1561900d245e2800f5e3beb76be5752ef4.tar.gz
Check if current process is visible before contining scans am: cba0f23e2a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/net/wifi/+/23879744 Change-Id: Ib5031b9cc9403bafc4f1d2c778da0f2bc9c6b5b4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
index 7dc7ba597..5f1abd9a5 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
@@ -21,6 +21,7 @@ import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
import static android.os.Build.VERSION_CODES;
import android.annotation.TargetApi;
+import android.app.ActivityManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -136,6 +137,7 @@ public class BaseWifiTracker {
protected final WifiTrackerInjector mInjector;
protected final Context mContext;
+ protected final @NonNull ActivityManager mActivityManager;
protected final WifiManager mWifiManager;
protected final ConnectivityManager mConnectivityManager;
protected final ConnectivityDiagnosticsManager mConnectivityDiagnosticsManager;
@@ -301,6 +303,7 @@ public class BaseWifiTracker {
BaseWifiTrackerCallback listener,
String tag) {
mInjector = injector;
+ mActivityManager = context.getSystemService(ActivityManager.class);
lifecycle.addObserver(new LifecycleObserver() {
@OnLifecycleEvent(Lifecycle.Event.ON_START)
@MainThread
@@ -795,6 +798,12 @@ public class BaseWifiTracker {
+ " mIsStartedState=" + mIsStartedState);
return;
}
+ if (!isAppVisible()) {
+ Log.wtf(mTag, "Scan loop called even though app isn't visible anymore!"
+ + " mIsWifiEnabled=" + mIsWifiEnabled
+ + " mIsStartedState=" + mIsStartedState);
+ return;
+ }
if (isVerboseLoggingEnabled()) {
Log.v(mTag, "Issuing scan request from WifiManager");
}
@@ -805,6 +814,13 @@ public class BaseWifiTracker {
}
}
+ private boolean isAppVisible() {
+ ActivityManager.RunningAppProcessInfo processInfo =
+ new ActivityManager.RunningAppProcessInfo();
+ ActivityManager.getMyMemoryState(processInfo);
+ return processInfo.importance <= ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE;
+ }
+
/**
* Posts onWifiStateChanged callback on the main thread.
*/