Merge "Get the ringtone name in background thread."
This commit is contained in:
committed by
Android (Google) Code Review
commit
ea38672a82
@@ -25,6 +25,7 @@ import androidx.preference.Preference;
|
|||||||
|
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
import com.android.settingslib.utils.ThreadUtils;
|
||||||
|
|
||||||
public abstract class RingtonePreferenceControllerBase extends AbstractPreferenceController
|
public abstract class RingtonePreferenceControllerBase extends AbstractPreferenceController
|
||||||
implements PreferenceControllerMixin {
|
implements PreferenceControllerMixin {
|
||||||
@@ -45,11 +46,17 @@ public abstract class RingtonePreferenceControllerBase extends AbstractPreferenc
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
|
ThreadUtils.postOnBackgroundThread(() -> updateSummary(preference));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateSummary(Preference preference) {
|
||||||
Uri ringtoneUri = RingtoneManager.getActualDefaultRingtoneUri(mContext, getRingtoneType());
|
Uri ringtoneUri = RingtoneManager.getActualDefaultRingtoneUri(mContext, getRingtoneType());
|
||||||
final CharSequence summary = Ringtone.getTitle(
|
final CharSequence summary = Ringtone.getTitle(
|
||||||
mContext, ringtoneUri, false /* followSettingsUri */, true /* allowRemote */);
|
mContext, ringtoneUri, false /* followSettingsUri */, true /* allowRemote */);
|
||||||
if (summary != null) {
|
if (summary != null) {
|
||||||
preference.setSummary(summary);
|
ThreadUtils.postOnMainThread(() -> {
|
||||||
|
preference.setSummary(summary);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user