Loading src/com/android/deskclock/data/DataModel.java +8 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading src/com/android/deskclock/data/TimerModel.java +15 −9 Original line number Diff line number Diff line Loading @@ -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. Loading Loading @@ -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(); Loading @@ -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; } Loading src/com/android/deskclock/settings/SettingsActivity.java +0 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading src/com/android/deskclock/settings/TimerRingtonePreference.java +0 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); Loading @@ -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 src/com/android/deskclock/timer/TimerKlaxon.java +5 −6 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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; Loading Loading
src/com/android/deskclock/data/DataModel.java +8 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading
src/com/android/deskclock/data/TimerModel.java +15 −9 Original line number Diff line number Diff line Loading @@ -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. Loading Loading @@ -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(); Loading @@ -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; } Loading
src/com/android/deskclock/settings/SettingsActivity.java +0 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading
src/com/android/deskclock/settings/TimerRingtonePreference.java +0 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); Loading @@ -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
src/com/android/deskclock/timer/TimerKlaxon.java +5 −6 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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; Loading