History log of /packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0777a082e248c33c2e5a32690bfcdbd5de7d3f9e 05-Dec-2016 James Lemieux <jplemieux@google.com> Remove DataModel.getSharedPreferences()

Bug: 33251787

All access to SharedPreferences now occurs privately within
DataModel and UiDataModel. This ensures SharedPreferences
are created precisely once and cached in member variables
(in the delegate models behind DataModel). Tests can now be
isolated from each other by rebuilding those delegate models.

Change-Id: Ie7bf69bed13be1604e73dca6058877bc05e8afea
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
23629266834a251cb937a885e5223e5ae37cc6fa 21-Nov-2016 Christine Franks <christyfranks@google.com> Fix janky RepeatDays animation

Bug: 33039716
Test: manual - no apparent jank (or strict mode violations) during
repeatdays expansion/contraction, and systrace reports no dropped
frames during the animation itself.

Change-Id: I923781f44a5db50534640ae605705f7437c805f4
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
174bba91b22fc2d5d06a4a0b264953ae898e3a77 01-Nov-2016 James Lemieux <jplemieux@google.com> Defend against exceptions from Ringtone.play(...)

Bug: 32273365
Change-Id: I810d422927a880314147860a62f2b898b21afb9e
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
cdd3253d7395b4e405765ddd892cf1f7d1cb2f82 28-Apr-2016 James Lemieux <jplemieux@google.com> Reduce memory churn for running stopwatches and timers

Bug: 28065873

String.format(...) was being called in a tight loop to format various
times (e.g. lap times, accumulated times, etc) when laps exist. This produces
more garbage for the VM to collect than is necessary. Formatting the
times directly into a reusable StringBuilder significantly reduces the
memory churn and removes intermittent GC pauses on older platforms
and low-memory devices.

Change-Id: Iad574cea7f827623bb4854458d43df76967d8c62
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
96422ae1795cb7f838fea49764163a5516846475 16-Feb-2016 Justin Klaassen <justinklaassen@google.com> Refactoring SharedPreferences to common location.

Bug: 25860525
Change-Id: I0c55d34b17a2aa5fb94d9d562bebdcc2e44af4d0
(cherry picked from commit 942b3a3956221969c77f9abc447444505eea6929)
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
310210dab3e97b1defe0870ecbc25b1451e90392 03-Feb-2016 Justin Klaassen <justinklaassen@google.com> Use Logger singleton for custom logtags

Change-Id: I14098480f4092efbac67c458b774d9e648b80267
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
a93c7cee7b0ec9559c821ea5b9738d9d140592c4 05-Jan-2016 James Lemieux <jplemieux@google.com> Ensure gradually increasing volume is immune to time jumps

Bug: 26115367
Change-Id: I3a4fda31fa797402d6edcf2f01b7240106bb8ab3
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
c624a3fb698c13312a5e14114c37f45e3b3438bc 22-Dec-2015 Justin Klaassen <justinklaassen@google.com> Fix build warnings

Bug: 26292420
Change-Id: Ib5d8b09fa9d70f408c3097654bae5b6906fac048
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
5c940a2e8c35d9a5b8afdfeb3ed6d7f785a0caed 13-Nov-2015 Justin Klaassen <justinklaassen@google.com> Fallback to internal alarm ringtone if necessary
am: cbb9333b92

* commit 'cbb9333b9277b50866cab8d4870a3aa8f705494d':
Fallback to internal alarm ringtone if necessary
cbb9333b9277b50866cab8d4870a3aa8f705494d 12-Nov-2015 Justin Klaassen <justinklaassen@google.com> Fallback to internal alarm ringtone if necessary

Bug: 25177293

If the default system alarm ringtone is invalid or malformed then
RingtoneManager will return a null Ringtone. In which case we now
fallback to playing our own internal alarm ringtone.

Change-Id: I1beeec0fc8998ad684e67062ffc0fd0d03f66f68
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
3101fcf76ff5c228d2e643395be03d6cbf97d47e 27-Oct-2015 Dylan Phan <lerp@google.com> Implement custom ringtone picker for timers and alarms.

Bug: 23996371
Change-Id: I6515da60f2811d7fd03b8a41d9bd724dc959fd0f
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
88fecb35c9673a8bd6faabd4d03045e9b1d36c45 23-Jul-2015 James Lemieux <jplemieux@google.com> Add option for progressive ringtones

New settings were added for alarms and timers that
allow the user to choose a duration of a crescendo or
0 if no crescendo is desired.

Bug: 18230898
Change-Id: I64df05bab0026c9d55d7e526fc918f1e6f3b2c08
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
16981d2c7e2c797ba016550b2f50423d33c86d10 08-Jul-2015 James Lemieux <jplemieux@google.com> Refer to Build.VERSION.MNC to check for M platform

Change-Id: Ifdd61667c6046d3c007ba7ffd62bdf70eb373a43
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
4d8e08e17d4a5206cba13cd66cdcfe4dac9dde7a 07-Jul-2015 James Lemieux <jplemieux@google.com> Support volume and looping when playing alarm ringtones

Pre-M, playback is done via MediaPlayer. The READ_EXTERNAL_STORAGE
permission is granted at install time on pre-M platforms, so
playing back custom ringtones never fails.

M+, playback is done via Ringtone. No special permissions are
required to play custom ringtones.

Bug: 20273223
Change-Id: I4313e49c4555e820afb4ed0361f81c0dab90134e
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java
95559b2952cb1f1492355f0ab572d40b8a2d000e 26-Jun-2015 James Lemieux <jplemieux@google.com> Fix remaining dangerous M permissions

android.permission.WRITE_SETTINGS was required to adjust the Setting
that stored the last selected alarm ringtone as the new default. The
value is now stored in SharedPreferences and no longer written to the
Setting. The permission has been removed.

android.permission.READ_EXTERNAL_STORAGE was required to play custom
ringtones located at /sdcard/Alarms via MediaPlayer. MediaPlayer is
no longer used to play those ringtones so the permission has been
removed. Ringtone, which is designed to play custom ringtones without
requiring the permission to read from external storage is now the
playback method. The caveat to this approach is: Ringtone does not
offer control over the volume at which the ringtone is played. Old
MediaPlayer code used to detect when we were in a phone call and
reduce the volume defensively to avoid playing a loud ringtone
directly into a user's ear. In practice, it appears that lower layers
of the audio stack are already handling this behavior and the app
need not request a lower volume itself.

Bug: 20273223
Change-Id: I328d168ff7677506aeae3fdf78c915f82e6cc1c7
/packages/apps/DeskClock/src/com/android/deskclock/AsyncRingtonePlayer.java