summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src
diff options
context:
space:
mode:
authorRicardo Cerqueira <cyanogenmod@cerqueira.org>2013-06-21 16:28:52 +0100
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>2013-06-21 18:10:32 +0100
commit12c158f05ca43e941f9e971ffd51256db2f74557 (patch)
tree1a48ba2ff00a58e04cd33c44fbed4991f7231070 /packages/SystemUI/src
parent7fcde1a8a300f634d9fa8e6c7266a7fedb1f141c (diff)
downloadframeworks_base-12c158f05ca43e941f9e971ffd51256db2f74557.zip
frameworks_base-12c158f05ca43e941f9e971ffd51256db2f74557.tar.gz
frameworks_base-12c158f05ca43e941f9e971ffd51256db2f74557.tar.bz2
QS: Don't assume observers are registered when dealing with changes
Not all uri activity has an associated content observer. Poking the content://settings/system provider manually, for example, would result in the following NPE: AndroidRuntime: FATAL EXCEPTION: main AndroidRuntime: java.lang.NullPointerException AndroidRuntime: at com.android.systemui.statusbar.phone.QuickSettingsController$QuickSettingsObserver.onChange(QuickSettingsController.java:354) AndroidRuntime: at android.database.ContentObserver$NotificationRunnable.run(ContentObserver.java:180) AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:725) Change-Id: I7034d261804aa972fe9020dd9b602348d249cb33
Diffstat (limited to 'packages/SystemUI/src')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java
index 834dfd4..f72b56c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java
@@ -351,8 +351,10 @@ public class QuickSettingsController {
mHandler.sendEmptyMessage(MSG_UPDATE_TILES);
} else {
ContentResolver resolver = mContext.getContentResolver();
- for (QuickSettingsTile tile : mObserverMap.get(uri)) {
- tile.onChangeUri(resolver, uri);
+ if (mObserverMap != null && mObserverMap.get(uri) != null) {
+ for (QuickSettingsTile tile : mObserverMap.get(uri)) {
+ tile.onChangeUri(resolver, uri);
+ }
}
}
}