Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea38672a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Get the ringtone name in background thread."

parents a4c42eb0 fa8ee797
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import androidx.preference.Preference;

import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.utils.ThreadUtils;

public abstract class RingtonePreferenceControllerBase extends AbstractPreferenceController
        implements PreferenceControllerMixin {
@@ -45,11 +46,17 @@ public abstract class RingtonePreferenceControllerBase extends AbstractPreferenc

    @Override
    public void updateState(Preference preference) {
        ThreadUtils.postOnBackgroundThread(() -> updateSummary(preference));
    }

    private void updateSummary(Preference preference) {
        Uri ringtoneUri = RingtoneManager.getActualDefaultRingtoneUri(mContext, getRingtoneType());
        final CharSequence summary = Ringtone.getTitle(
            mContext, ringtoneUri, false /* followSettingsUri */, true /* allowRemote */);
        if (summary != null) {
            ThreadUtils.postOnMainThread(() -> {
                preference.setSummary(summary);
            });
        }
    }