diff options
author | Quang Anh Luong <qal@google.com> | 2023-07-06 00:26:26 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-07-06 00:26:26 +0000 |
commit | c7f82c1561900d245e2800f5e3beb76be5752ef4 (patch) | |
tree | 707ae35946cdb7ee11a6b9c9f474762a55a397c8 | |
parent | 17f32501942418aaa2f969ba29e32b74981005ac (diff) | |
parent | cba0f23e2ac47b2824809bf52cb1a6f4c4d35f40 (diff) | |
download | wifi-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.java | 16 |
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. */ |