summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ye Jiao <ye.jiao@mediatek.com> 2023-09-20 15:31:25 +0800
committer Gabriel Biren <gbiren@google.com> 2023-09-21 19:14:27 +0000
commit805fee5147c820e91340c73f7cd87e22b871678d (patch)
treee066ba40d4d5452906f537aa4f01fb84e1e9c0d2
parent5f6b07f980d901a87c9fe3f716d3d5dca1c6d1a6 (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.java6
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();
}
}