[1/3] Base: QuietHours: allow disable system sound

taken from slimroms

https://gerrit.slimroms.net/#/c/12180/

Allow to disable :
1. DialPad tone
2. touch sounds
3. screen lock sound
4. volume adjust sound
5. dock sound

in quiethour time

Change-Id: I2a1a7949ac6bdc48376980fac8ad2ae2c90fdfc9
base: fix NPE in percent battery onDraw on boot

Change-Id: Ia1e16681730538ebb56a0fe8a0b49dc3174be2e7
Merge "[1/3] Base: QuietHours: allow disable system sound" into android-4.4
base: add support for using the flip switch to turn off the screen

Allow the flip cover to turn off screen when closed, turn on screen when opened.

See also https://gerrit.omnirom.org/#/c/8871/ for device implementation.

Change-Id: I3457af831bf5e9cd2d49efda52fb5961fee5d68f
Merge "base: add support for using the flip switch to turn off the screen" into android-4.4
base: wake screen for torch gesture and start torch app

requires https://gerrit.omnirom.org/9004

Change-Id: I194f00c7f7d9c9e881761971e7b2b535172e6164
base: add support for timelapse qualities for 4k sizes

Fix check in MediaRecorder to include all timelapse profiles

Change-Id: I32b00c5d05da0b1e440e9b0f50d0981e6afaf648
Merge "base: add support for timelapse qualities for 4k sizes" into android-4.4
Merge "base: wake screen for torch gesture and start torch app" into android-4.4
base: add roaming for Lycamobile USA

LycaMobile USA (MCC-311 MNC-96) can roam on T-Mobile USA (MCC-310 MNC-26)

http://jira.omnirom.org/browse/OMNI-1086

Change-Id: Ie9201cb7bb9efc4e455f1009a7c9a84336f3a8ad
Fix layout of MultiWaveView and GlowPadView.

If the calculated size of the rings is much smaller than the measured
size (which is happening e.g. on mdpi 600x1024 tablets), the glow pad
appeared shifted to the right.
This happened due to the insets being calculated as difference of
available and needed size, and later on being added to the available
size. Example numbers (Nexus 4 with density forced to 160):
- computed size in onMeasure: 768x505
- scaled size in onMeasure: 505x505
- thus, insets are calculated as 131/0
- in onLayout, placementWidth (364) and max target width (108) are much
  smaller than width (768)
- thus, center is calculated as 131 + (768 / 2) = 515, thus shifted to
  the right

Fix that by not using width in the calculation, as the inset size
already takes it into consideration.

JIRA:CYAN-829
Change-Id: Ifc2a93214f812f554a8fed3243eed66aec9f00c9
Merge remote-tracking branch 'omni/android-4.4' into android-4.4