Merge "Post preference update logic to main thread"
This commit is contained in:
committed by
Android (Google) Code Review
commit
60bb1d39eb
@@ -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,9 +40,10 @@ 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) {
|
||||||
|
ThreadUtils.postOnMainThread(() -> {
|
||||||
onSettingChange();
|
onSettingChange();
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract List<Uri> getSettingUris();
|
protected abstract List<Uri> getSettingUris();
|
||||||
|
|
||||||
|
@MainThread
|
||||||
public abstract void onSettingChange();
|
public abstract void onSettingChange();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user