Guard against NPE in the Settings Tile lib

Bug: 286690307
Test: robotest
Change-Id: I41556971cd9e46cf68e6db606e9ee9f5d49e53b5
Merged-In: I41556971cd9e46cf68e6db606e9ee9f5d49e53b5
(cherry picked from commit 3aead1cbc9)
This commit is contained in:
Jason Chiu
2023-07-17 18:01:21 +08:00
parent 37674c23a9
commit 164d20856e

View File

@@ -179,7 +179,8 @@ public abstract class Tile implements Parcelable {
* Check whether tile has order. * Check whether tile has order.
*/ */
public boolean hasOrder() { 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; && mMetaData.get(META_DATA_KEY_ORDER) instanceof Integer;
} }
@@ -204,7 +205,7 @@ public abstract class Tile implements Parcelable {
CharSequence title = null; CharSequence title = null;
ensureMetadataNotStale(context); ensureMetadataNotStale(context);
final PackageManager packageManager = context.getPackageManager(); 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 (mMetaData.containsKey(META_DATA_PREFERENCE_TITLE_URI)) {
// If has as uri to provide dynamic title, skip loading here. UI will later load // If has as uri to provide dynamic title, skip loading here. UI will later load
// at tile binding time. // at tile binding time.