Android n mr1 preview 2
Merge remote-tracking branch 'goog/ub-deskclock-fantasy'

* goog/ub-deskclock-fantasy:
  Bump version to 4.5.2 - DO NOT MERGE
  Remove unused resources
  Talkback properly says top of the hour times - DO NOT MERGE
  Expanding an alarm will scroll it to the top of the screen - DO NOT MERGE
  Alarm notifications now stack properly on Android N
  All upcoming alarms can now be dismissed.
  Notifications are only grouped on Android N or later.
  Fix drop shadow computation for recycler views
  Fix talkback for collapsed and expanded alarms
  Use vector drawable for fab alarm icon
  Use vector drawables instead of density-specific images
  Use vector drawables for ringtone icons
  Use vector drawable for small alarm icon
  Use vector drawable for no-alarms icon
  Use tinted vector drawables for backspace icon
  Remove unused images
  Use vector drawables for tab icons
  Use vector drawables for in-app analog clock
  Scrollbar no longer touches analog world clocks.
  Relocate the reset/add timer button in constrained layouts
  Remove rogue call to always dim the screensaver
  Provide stable order for alarm notifications
  World clock search now shows hint text versus hint icon.
  Improve portrait layout of world clocks
  Improve stopwatch landscape layout
  Changing sound settings should be done in a new task
  Defer adapter updates while RV is computing layout
  Safely update expired timer views
  Set accent color for notifications
  Gradually increase volume now uses localized numeral system.
  Calcutta -> Kolkata
  Use single font size for alarm content
  Fade out stopwatch laps that pass under fab buttons
  Screen saver can now always be started with a long press.
  Refactored code so fab side button scaling makes more sense.
  Fab side buttons now scale down in multi-window mode.
  Show chronometer in expired timer notification
  Improve accuracy of notification creation/removal
  Pad the top of timer setup to be similar to the adjacent tab's content
  Keyboard can now be used to create a timer.
  Headset media button can snooze or dismiss an alarm.
  Adjust timer layout for multiwindow
  City search keyboard now starts in uppercase
  Reset stopwatch from notification does not open clock app
  Show warning snackbar when system default alarm ringtone is silent
  Refine alarm layouts
  Material Settings on pre-M devices
  Improve stopwatch tab layout for multiwindow
  Style the timer notification properly for N
  Show toast when DND is blocking alarms
  Insert small space between cities in digital widget
  Style the stopwatch notification properly for N
  Reduce FAB padding and FAB size in concert for multiwindow
  Restore selected alarm on orientation change
  Custom ringtone picker v2
  Shrink world clock fonts to avoid truncating times in wide locales
  Disable backup and restore
  Improve clock tab layout for multiwindow
  Adjust timer setup layout for multiwindow
  Adjust alarm tab layout for multiwindow
  Left and right buttons track fab size
  Adjust world clock tab layout for multiwindow
  Clock screensaver should always be fullscreen
  Make AlarmTest independent of device TimeZone
  Reduce city_widget_name_font_size to 10dp
  Fix world city list updates
  Fix update of next-alarm in widgets on KK
  Fix world city layout in extreme layout cases
  Remove world city widget
  Restore world cities list to digital clock widget
  Correctly format elapsed time in arabic
  Reduce memory churn for running stopwatches and timers
  Route all DAOs to Utils.getDefaultSharedPreferences
  Widgets now specify an initialLayout indicating they are "Loading…"
  Revert decreased stopwatch refresh rate in Accessibility mode.
  Fix the orientation of fullscreen firing timers on phones
  Set the 12/24 hour time formats in XML for digital widget
  Increase "muted alarm volume" snackbar duration
  Digital widget clock font now matches keyguard clock font
  Disable multi-window support for Expired Timers activity
  Dreams are now called Screen savers
  Disable multi-window support for Alarm activity
  Remove content URI from stopwatch and timer - DO NOT MERGE
  Stop sample alarm playback whenever volume is adjusted to 0.
  Unmute action should set the alarm stream volume to ~30%
  Fix a few bugs with animated reset/lap button.
  Remove duplicate world city: Victoria
  Watch the settings DB narrowly for alarm stream volume changes
  Compute optimal portrait/landscape fonts on each widget update
  Tweak the layout algorithm for digital widget
  Show snackbar when alarm stream volume is muted
  Use avd for stopwatch lap to reset button transition.
  Fixing the build
  Introduce world city widget
  Prevent deadlock using DataModel#run(...)
  Add CONTENT_URI(s) for timers / stopwatch
  Use AlphaSafeImageButton subclass - DO NOT MERGE
  Relayout widgets after launcher is rotated
  Restore label string for digital widget
  Use PreferenceManager#setStorageDeviceProtected()
  Stop setting fixed 12-hour and 24-hour time formats in layouts
  Refactor MenuItemControllers
  Use updated FBE APIs
  Use Utils#RINGTONE_SILENT constant
  Push tabs to the left
  Fix NumberPickers in settings
  Avoid IllegalStateException while creating new alarm
  Remove unused Handler
  Fix the alarm list animations
  Adjust Repeat/Vibrate checkbox padding.
  Declare maxSdkVersion for legacy permissions
  Fine tune clock icon font
  Do not resize main activity when displaying the soft keyboard
  Stop using dedicated view to indicate silent state of alarm
  Overhaul the digital clock widget
  Don't use Google proprietary launcher icon
  Avoid NPE while constructing TimerItemFragment
  Stop using custom fonts
  Avoid showing timer creation inappropriately
  Change next alarm text to white
  Track pointer index in AlarmActivity#onTouchEvent
  Change next alarm text to white - DO NOT MERGE
  Remove targetSdkVersion from AndroidManifest.xml
  Rename ic_cancel.png -> ic_close.png
  Dismiss Now -> Dismiss now
  Bump version to 4.5.1 - DO NOT MERGE
  Introduce StopwatchListener to gracefully handle BOOT_COMPLETE
  Teach DeskClock about file-based encryption.
  Refactoring SharedPreferences to common location.
  Prevent duplicate alarms from being created via intents
  Alarms created via intents should default to vibrating
  Enable "Switch Access" support firing alarms
  Remove unused resources
  Fixes to support multiple alarm instances
  Use TypedArray#length() when retrieving cities
  Use TypedArray for cities
  Add positional specifiers to formatted strings
  Change "Touch" to "Tap"
  Use PeriodicCallbackModel to alter app background color
  Adjust the formatting of date and next alarm time
  Re-expand selected alarm on device rotation
  Hide the notification timestamp for alarm notifications
  Add drop shadows beneath the app bars
  Use Logger singleton for custom logtags
  Provide a cleaner TC message description for the city format
  Update world cities
  Apply the monospace font feature to lap times to avoid jitter
  Remove gutter from overscroll indicator in clock tab
  Refactor the mechanism for delivering periodic callbacks
  Avoid IllegalAccessError while displaying missed alarm
  Avoid smooth scrolling tab changes when the app is not open
  Add alarm volume muted indicators
  resolve merge conflicts of a21a311d05 to ub-deskclock-escargatoire.
  Add timer vibrate option.
  Schedule next alarm instance when alarm is pre-dismissed
  Allow authority to be set from build configuration
  Ringtone picker dialog should use appcompat v7 AlertDialog
  Fix horizontal swiping problems in timer tab
  Fix capitalization problem
  Schedule alarm state callbacks to occur even when device is idle
  Ensure gradually increasing volume is immune to time jumps
  Remove special characters from comparison when searching cities
  Fix build warnings
  Remove unused 'Help' menu item
  Cleanup project files
  Center alarm icon in world clock
  Support a variety of am/pm string sizes when formatting times
  TimerSetupView now repurposes fab and buttons
  Avoid refreshing world clocks when none are selected
  Fix timepicker styling for API 23+
  Fab should shrink/grow as user changes tabs.
  Make volume rocker change ringer volume instead of alarm
  Never set the silent ringtone as the default alarm ringtone
  Refactor DataModel.resetOrDeleteTimer(...)
  Remember the last selected tab between DeskClock launches
  Use AppCompat's imageButtonStyle attribute
  Fix crash from using Fragment#getContext()
  Bump version to 4.5.0 and target SDK to 24
  Add alarm volume slider in preferences.
  Fix crash when launching "snooze length" dialog.
  Adopt android.support.preference-v14 library
  Fix alignment of alarm vibrate checkbox
  Center the delete icon within button's width.
  Implement custom ringtone picker for timers and alarms.
  Make more fixes for the build breakage caused by pulling in support v14
  Fix the build breakage caused by pulling in support v14

Change-Id: I78a5213bcd4434649214297102427148661b2f6c