Merge "Post preference update logic to main thread"

This commit is contained in:
TreeHugger Robot
2017-07-22 02:23:48 +00:00
committed by Android (Google) Code Review

View File

@@ -19,8 +19,10 @@ package com.android.settings.applications.assist;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.database.ContentObserver; import android.database.ContentObserver;
import android.net.Uri; import android.net.Uri;
import android.os.Handler;
import android.provider.Settings; import android.provider.Settings;
import android.support.annotation.MainThread;
import com.android.settingslib.utils.ThreadUtils;
import java.util.List; import java.util.List;
@@ -38,8 +40,9 @@ public abstract class AssistSettingObserver extends ContentObserver {
cr.registerContentObserver(ASSIST_URI, false, this); cr.registerContentObserver(ASSIST_URI, false, this);
final List<Uri> settingUri = getSettingUris(); final List<Uri> settingUri = getSettingUris();
if (settingUri != null) { if (settingUri != null) {
for (Uri uri : settingUri) for (Uri uri : settingUri) {
cr.registerContentObserver(uri, false, this); cr.registerContentObserver(uri, false, this);
}
} }
} else { } else {
cr.unregisterContentObserver(this); cr.unregisterContentObserver(this);
@@ -55,11 +58,15 @@ public abstract class AssistSettingObserver extends ContentObserver {
shouldUpdatePreference = true; shouldUpdatePreference = true;
} }
if (shouldUpdatePreference) { if (shouldUpdatePreference) {
onSettingChange(); ThreadUtils.postOnMainThread(() -> {
onSettingChange();
});
} }
} }
protected abstract List<Uri> getSettingUris(); protected abstract List<Uri> getSettingUris();
@MainThread
public abstract void onSettingChange(); public abstract void onSettingChange();
} }