diff options
author | 2023-09-20 15:31:25 +0800 | |
---|---|---|
committer | 2023-09-21 19:14:27 +0000 | |
commit | 805fee5147c820e91340c73f7cd87e22b871678d (patch) | |
tree | e066ba40d4d5452906f537aa4f01fb84e1e9c0d2 | |
parent | 5f6b07f980d901a87c9fe3f716d3d5dca1c6d1a6 (diff) |
Fix NPE in WifiDialogActivity
WifiDialogActivity uses `get(int key)` to iterate all values in
SparseArray `mActiveDialogsPerId` and causes NPE.
Use `valueAt(int index)` instead of `get(int key)`.
Bug: 30126387
Test: MTBF Auto Test
Test: Add temporary log messages and bring up the
Wifi Direct invitation dialog. Close the dialog by
bringing up the home menu. Verify the logs.
Change-Id: I6f4bc5766700307a4271282e09825ae4db76b78f
-rw-r--r-- | WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java b/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java index d7226f15ab..198e07d532 100644 --- a/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java +++ b/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java @@ -160,7 +160,7 @@ public class WifiDialogActivity extends Activity { } // Cancel all dialogs for ACTION_CLOSE_SYSTEM_DIALOGS (e.g. Home button pressed). for (int i = 0; i < mActiveDialogsPerId.size(); i++) { - mActiveDialogsPerId.get(i).cancel(); + mActiveDialogsPerId.valueAt(i).cancel(); } } }; @@ -254,7 +254,7 @@ public class WifiDialogActivity extends Activity { // Before U, we don't have INTERNAL_SYSTEM_WINDOW permission to always show at the // top, so close all dialogs when we're not visible anymore. for (int i = 0; i < mActiveDialogsPerId.size(); i++) { - mActiveDialogsPerId.get(i).cancel(); + mActiveDialogsPerId.valueAt(i).cancel(); } } return; @@ -283,7 +283,7 @@ public class WifiDialogActivity extends Activity { // We don't expect to be destroyed while dialogs are still up, but make sure to cancel them // just in case. for (int i = 0; i < mActiveDialogsPerId.size(); i++) { - mActiveDialogsPerId.get(i).cancel(); + mActiveDialogsPerId.valueAt(i).cancel(); } } |