From 3aead1cbc921df5707233e4e9770e2fb73571263 Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Mon, 17 Jul 2023 18:01:21 +0800 Subject: [PATCH] Guard against NPE in the Settings Tile lib Bug: 286690307 Test: robotest Change-Id: I41556971cd9e46cf68e6db606e9ee9f5d49e53b5 --- .../Tile/src/com/android/settingslib/drawer/Tile.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/SettingsLib/Tile/src/com/android/settingslib/drawer/Tile.java b/packages/SettingsLib/Tile/src/com/android/settingslib/drawer/Tile.java index 612a9282feceb..1a938d6ec37e8 100644 --- a/packages/SettingsLib/Tile/src/com/android/settingslib/drawer/Tile.java +++ b/packages/SettingsLib/Tile/src/com/android/settingslib/drawer/Tile.java @@ -179,7 +179,8 @@ public abstract class Tile implements Parcelable { * Check whether tile has order. */ public boolean hasOrder() { - return mMetaData.containsKey(META_DATA_KEY_ORDER) + return mMetaData != null + && mMetaData.containsKey(META_DATA_KEY_ORDER) && mMetaData.get(META_DATA_KEY_ORDER) instanceof Integer; } @@ -204,7 +205,7 @@ public abstract class Tile implements Parcelable { CharSequence title = null; ensureMetadataNotStale(context); final PackageManager packageManager = context.getPackageManager(); - if (mMetaData.containsKey(META_DATA_PREFERENCE_TITLE)) { + if (mMetaData != null && mMetaData.containsKey(META_DATA_PREFERENCE_TITLE)) { if (mMetaData.containsKey(META_DATA_PREFERENCE_TITLE_URI)) { // If has as uri to provide dynamic title, skip loading here. UI will later load // at tile binding time.