Safeguard against NPE race condition.

It is possible for the main activity to be quit before the posted
message is executed, safeguard against NPEs in this scenario.

Bug: 73484470
Test: runtest --path frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.jav
Change-Id: I34b40089ef2eae213c804e4e379d6ab7825bbceb
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
index b380ac5..c5c1169 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
@@ -1048,14 +1048,19 @@
         if (newLevel > 0 && newLevel != oldLevel) {
             // Only update labels on visible rssi changes
             updateSpeed();
-            if (mAccessPointListener != null) {
-                ThreadUtils.postOnMainThread(() -> mAccessPointListener.onLevelChanged(this));
-            }
+            ThreadUtils.postOnMainThread(() -> {
+                if (mAccessPointListener != null) {
+                    mAccessPointListener.onLevelChanged(this);
+                }
+            });
+
         }
 
-        if (mAccessPointListener != null) {
-            ThreadUtils.postOnMainThread(() -> mAccessPointListener.onAccessPointChanged(this));
-        }
+        ThreadUtils.postOnMainThread(() -> {
+            if (mAccessPointListener != null) {
+                mAccessPointListener.onAccessPointChanged(this);
+            }
+        });
 
         if (!scanResults.isEmpty()) {
             ScanResult result = scanResults.iterator().next();
@@ -1102,10 +1107,18 @@
             mNetworkInfo = null;
         }
         if (updated && mAccessPointListener != null) {
-            ThreadUtils.postOnMainThread(() -> mAccessPointListener.onAccessPointChanged(this));
+            ThreadUtils.postOnMainThread(() -> {
+                if (mAccessPointListener != null) {
+                    mAccessPointListener.onAccessPointChanged(this);
+                }
+            });
 
             if (oldLevel != getLevel() /* current level */) {
-                ThreadUtils.postOnMainThread(() -> mAccessPointListener.onLevelChanged(this));
+                ThreadUtils.postOnMainThread(() -> {
+                    if (mAccessPointListener != null) {
+                        mAccessPointListener.onLevelChanged(this);
+                    }
+                });
             }
         }
 
@@ -1115,9 +1128,11 @@
     void update(@Nullable WifiConfiguration config) {
         mConfig = config;
         networkId = config != null ? config.networkId : WifiConfiguration.INVALID_NETWORK_ID;
-        if (mAccessPointListener != null) {
-            ThreadUtils.postOnMainThread(() -> mAccessPointListener.onAccessPointChanged(this));
-        }
+        ThreadUtils.postOnMainThread(() -> {
+            if (mAccessPointListener != null) {
+                mAccessPointListener.onAccessPointChanged(this);
+            }
+        });
     }
 
     @VisibleForTesting