From d6e51123a479478c1f7a7553b54bf2bf97417ba2 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Fri, 21 Jul 2017 17:01:00 -0700 Subject: [PATCH] Post preference update logic to main thread Change-Id: Ic1e1f64446a9aec9da7dce3fd23ae4ba17b25b28 Fix: 36131513 Test: robotests in the same topic --- .../assist/AssistSettingObserver.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/applications/assist/AssistSettingObserver.java b/src/com/android/settings/applications/assist/AssistSettingObserver.java index e4941d1ba4a..01a3a7a8bd7 100644 --- a/src/com/android/settings/applications/assist/AssistSettingObserver.java +++ b/src/com/android/settings/applications/assist/AssistSettingObserver.java @@ -19,8 +19,10 @@ package com.android.settings.applications.assist; import android.content.ContentResolver; import android.database.ContentObserver; import android.net.Uri; -import android.os.Handler; import android.provider.Settings; +import android.support.annotation.MainThread; + +import com.android.settingslib.utils.ThreadUtils; import java.util.List; @@ -38,8 +40,9 @@ public abstract class AssistSettingObserver extends ContentObserver { cr.registerContentObserver(ASSIST_URI, false, this); final List settingUri = getSettingUris(); if (settingUri != null) { - for (Uri uri : settingUri) - cr.registerContentObserver(uri, false, this); + for (Uri uri : settingUri) { + cr.registerContentObserver(uri, false, this); + } } } else { cr.unregisterContentObserver(this); @@ -55,11 +58,15 @@ public abstract class AssistSettingObserver extends ContentObserver { shouldUpdatePreference = true; } if (shouldUpdatePreference) { - onSettingChange(); + ThreadUtils.postOnMainThread(() -> { + onSettingChange(); + }); + } } protected abstract List getSettingUris(); + @MainThread public abstract void onSettingChange(); }