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

Commit ea9f0d60 authored by James Lemieux's avatar James Lemieux Committed by Android (Google) Code Review
Browse files

Merge "Simplify code that adds None as a valid timer ringtone" into ub-deskclock-charm

parents 4071666b f8faca19
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -164,6 +164,14 @@ public final class DataModel {
        return mTimerModel.getDefaultTimerRingtoneUri();
    }

    /**
     * @return {@code true} iff the ringtone to play for all timers is the silent ringtone
     */
    public boolean isTimerRingtoneSilent() {
        enforceMainLooper();
        return mTimerModel.isTimerRingtoneSilent();
    }

    /**
     * @return the uri of the ringtone to play for all timers
     */
+15 −9
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import android.preference.PreferenceManager;

import com.android.deskclock.R;
import com.android.deskclock.settings.SettingsActivity;
import com.android.deskclock.settings.TimerRingtonePreference;

/**
 * All timer data will eventually be accessed via this model.
@@ -63,6 +62,10 @@ final class TimerModel {
        return mSettingsModel.getDefaultTimerRingtoneUri();
    }

    boolean isTimerRingtoneSilent() {
        return Uri.EMPTY.equals(getTimerRingtoneUri());
    }

    Uri getTimerRingtoneUri() {
        if (mTimerRingtoneUri == null) {
            mTimerRingtoneUri = mSettingsModel.getTimerRingtoneUri();
@@ -73,19 +76,22 @@ final class TimerModel {

    String getTimerRingtoneTitle() {
        if (mTimerRingtoneTitle == null) {
            if (isTimerRingtoneSilent()) {
                // Special case: no ringtone has a title of "Silent".
                mTimerRingtoneTitle = mContext.getString(R.string.silent_timer_ringtone_title);
            } else {
                final Uri defaultUri = getDefaultTimerRingtoneUri();
                final Uri uri = getTimerRingtoneUri();

                if (defaultUri.equals(uri)) {
                    // Special case: default ringtone has a title of "Timer Expired".
                    mTimerRingtoneTitle = mContext.getString(R.string.default_timer_ringtone_title);
            } else if (TimerRingtonePreference.NO_RINGTONE_URI.equals(uri)) {
                // Special case: no ringtone has a title of "Silent".
                mTimerRingtoneTitle = mContext.getString(R.string.silent_timer_ringtone_title);
                } else {
                    final Ringtone ringtone = RingtoneManager.getRingtone(mContext, uri);
                    mTimerRingtoneTitle = ringtone.getTitle(mContext);
                }
            }
        }

        return mTimerRingtoneTitle;
    }
+0 −1
Original line number Diff line number Diff line
@@ -296,7 +296,6 @@ public final class SettingsActivity extends BaseActivity {
                    (RingtonePreference) findPreference(KEY_TIMER_RINGTONE);
            timerRingtonePref.setSummary(DataModel.getDataModel().getTimerRingtoneTitle());
            timerRingtonePref.setOnPreferenceChangeListener(this);
            timerRingtonePref.setShowSilent(false);
        }

        private void updateAutoSnoozeSummary(ListPreference listPref, String delay) {
+0 −5
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.deskclock.settings;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.preference.RingtonePreference;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
@@ -30,7 +29,6 @@ import com.android.deskclock.data.DataModel;
 * behind the default selection.
 */
public final class TimerRingtonePreference extends RingtonePreference {
    public static final Uri NO_RINGTONE_URI = Uri.EMPTY;

    public TimerRingtonePreference(Context context) {
        super(context);
@@ -56,8 +54,5 @@ public final class TimerRingtonePreference extends RingtonePreference {
        // Replace the default ringtone uri with the beeping ringtone for timers.
        ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI,
                DataModel.getDataModel().getDefaultTimerRingtoneUri());

        // Add a "None" option. If selected, the value of the preference will be NO_RINGTONE_URI.
        ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, true);
    }
}
 No newline at end of file
+5 −6
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import com.android.deskclock.AsyncRingtonePlayer;
import com.android.deskclock.LogUtils;
import com.android.deskclock.data.DataModel;
import com.android.deskclock.settings.SettingsActivity;
import com.android.deskclock.settings.TimerRingtonePreference;

public abstract class TimerKlaxon {

@@ -47,11 +46,11 @@ public abstract class TimerKlaxon {
        LogUtils.i("TimerKlaxon.start()");

        // Look up user-selected timer ringtone.
        final Uri uri = DataModel.getDataModel().getTimerRingtoneUri();
        if (uri.equals(TimerRingtonePreference.NO_RINGTONE_URI)) {
        if (DataModel.getDataModel().isTimerRingtoneSilent()) {
            // Special case: Silent ringtone
            LogUtils.i("Playing silent ringtone");
            LogUtils.i("Playing silent ringtone for timer");
        } else {
            final Uri uri = DataModel.getDataModel().getTimerRingtoneUri();
            getAsyncRingtonePlayer(context).play(uri);
        }
        sStarted = true;