Guard NPE in RingtonePrefController

Fixes: 126416474
Test: robotests
Change-Id: I02d0279ae107e7c03668849beaea8aa0463b4da6
This commit is contained in:
Fan Zhang
2019-02-26 15:45:17 -08:00
parent 7c261409d2
commit f1b5989706
2 changed files with 28 additions and 11 deletions

View File

@@ -50,13 +50,18 @@ public abstract class RingtonePreferenceControllerBase extends AbstractPreferenc
}
private void updateSummary(Preference preference) {
Uri ringtoneUri = RingtoneManager.getActualDefaultRingtoneUri(mContext, getRingtoneType());
final CharSequence summary = Ringtone.getTitle(
mContext, ringtoneUri, false /* followSettingsUri */, true /* allowRemote */);
final Uri ringtoneUri = RingtoneManager.getActualDefaultRingtoneUri(
mContext, getRingtoneType());
final CharSequence summary;
if (ringtoneUri == null) {
summary = null;
} else {
summary = Ringtone.getTitle(
mContext, ringtoneUri, false /* followSettingsUri */, true /* allowRemote */);
}
if (summary != null) {
ThreadUtils.postOnMainThread(() -> {
preference.setSummary(summary);
});
ThreadUtils.postOnMainThread(() -> preference.setSummary(summary));
}
}