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

Commit d6bd5b13 authored by Yi-Ling Chuang's avatar Yi-Ling Chuang
Browse files

Update sound summary when it is set to None.

Currently when the sound is set to None, we don't update the summary,
unless users go to other pages and come back. Now we refreash it for a
better user experience.

Fixes: 134994978
Test: robotest
Change-Id: I5d9c0238ee31e0c26ebde3201794c17737791c62
parent 9c79591c
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Context;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.util.Log;

import androidx.preference.Preference;

@@ -54,11 +55,12 @@ public abstract class RingtonePreferenceControllerBase extends AbstractPreferenc
                mContext, getRingtoneType());

        final CharSequence summary;
        if (ringtoneUri == null) {
            summary = null;
        } else {
        try {
            summary = Ringtone.getTitle(
                    mContext, ringtoneUri, false /* followSettingsUri */, true /* allowRemote */);
        } catch (IllegalArgumentException e) {
            Log.w(TAG, "Error getting ringtone summary.", e);
            return;
        }
        if (summary != null) {
            ThreadUtils.postOnMainThread(() -> preference.setSummary(summary));
+0 −10
Original line number Diff line number Diff line
@@ -64,16 +64,6 @@ public class RingtonePreferenceControllerBaseTest {
        verify(preference).setSummary(anyString());
    }

    @Test
    public void updateState_nullRingtone_shouldNotGetTitle() {
        Preference preference = mock(Preference.class);
        Settings.System.putString(mContext.getContentResolver(), Settings.System.RINGTONE, null);

        mController.updateState(preference);

        verify(preference, never()).setSummary(anyString());
    }

    private class RingtonePreferenceControllerBaseTestable
            extends RingtonePreferenceControllerBase {
        RingtonePreferenceControllerBaseTestable(Context context) {