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;
cr.registerContentObserver(ASSIST_URI, false, this);
final List<Uri> 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);
shouldUpdatePreference = true;
}
if (shouldUpdatePreference) {
- onSettingChange();
+ ThreadUtils.postOnMainThread(() -> {
+ onSettingChange();
+ });
+
}
}
protected abstract List<Uri> getSettingUris();
+ @MainThread
public abstract void onSettingChange();
}