Start MountService before performBootDexOpt

This change is to start Mountservice before starting
performBootDexOpt, as in one case, in performBootDexOpt
when system upgrade happens, StorageManager will be started to
get the low threshold of DataDir. But, at this point, as
Mountservice is still not up, StorageManager will end up
having a null object of Mountservice.

Change-Id: If2b5e1b58e7d2a72c6313f196e98a68738295ec6
Be increasingly aggressive about fstrim if it isn't being run

The current heuristics depend on devices being alive at midnight+ in
order to run periodic background fstrim operations.  This unfortunately
means that people who routinely turn their devices off overnight wind
up with their devices *never* running fstrim, and this causes major
performance and disk-life problems.

We now backstop this very-friendly schedule with an increasingly
aggressive one.  If the device goes a defined time without a background
fstrim, we then force the fstrim at the next reboot.  Once the
device hits the midnight+ idle fstrim request time, then we already
aggressively attempt to fstrim at the first available moment
thereafter, even if it's days/weeks later without a reboot.

'Available' here means charging + device idle.  If the device never
becomes idle then we can't do much without rendering an in-use device
inoperable for some number of minutes -- but we have no evidence of
devices ever failing to run fstrim due to this usage pattern.

A new Settings.Global element (type 'long', called
"fstrim_mandatory_interval") is the source of the backstop time.  If
this element is zero or negative, no mandatory boot-time fstrim will
ever be performed.  If the element is not supplied on a given device,
the default backstop is 3 days.

Adds a new string to display in the upgrading dialog when doing
the fstrim.  Note it is too late for this to be localized, but since
this operation can take a long time it is probably better to have
it show *something* even if not localized, rather than just sit there.

Bug 18486922

Change-Id: I5b265ca0a65570fb8931251aa1ac37b530635a2c
Move CAF strings

Change-Id: I5d8bbf7075d1d24391bbbf0d190a33cc097c40a6
Properly recognize repeating wakeup alarms

cherry-pick from lmp-mr1-dev

The code in place was inappropriately treating all recurring alarms
as non-wakeup for purposes of deferral.  Worse, it was overriding the
"this deliverable batch of alarms includes a wakeup alarm" bookkeeping,
so could potentially cause inappropriate deferral of even standalone
wakeup alarms.

Bug 18591317

Change-Id: I2a62ed4badcaeb549c1ac4f086014aa829e45427
(cherry picked from commit 864d42eb96a9127b7d2f10ad11e709c24b4b4304)
Tune delivery and batching of alarms

cherry-pick from lmp-mr1-dev

* Inexact alarms no longer coalesce with exact alarms.  The motivation here
is that exact alarms are far more likely to be wall-clock aligned, and in
general pulling all alarms toward wall-clock alignment is a bad idea.

* Wakeup times are now fuzzed within the target batch's allowed window
rather than being hard pinned at the start of the window.

Bug 18631821

Change-Id: Iefaf34eee3f2a6546abefc27e177ee2fdcff935f
(cherry picked from commit 81f9882b5aadd6a2289c9f521a06a7af5f35ebf0)
frameworks/base: Don't report existing menu key if it was remapped.

Change-Id: Iabad06cd42cebecdff6f0440899432513681b063
frameworks/base: Fix key remapping after toggling navigationbar.

Change-Id: I8069e3106601caf3990cbcdc5056ffc64ddf7bcd
Battery text mode (1/2)

PS2: Make battery level more fit current solution
PS3: Fix displaing battery level inside the icon
PS6: Show battery level in status bar header when charging and percentage
     mode set to inside icon (it's replaced by charging icon)

Change-Id: I537c99827e78c796b4980ec7751e5f9b58a88251
Signed-off-by: kecinzer <kecinzer@gmail.com>
Revert "SystemUI: Add data type and signal icons"

* These aren't used anywhere and are still Holo

This reverts commit 4e5e6d4cd8e56755d3e4cdaf08ede0e7ee3c82dc.

Change-Id: I39c6060766b2f75dd1362d945be31f6f9d20f59d
Status bar: Add HSPA+ icons

Forward port H+ icon in the status bar when connected to HSPA+
Uses new vector drawables by @blunden

PS1: Initial commit
PS2: New vectors (thanks @blunden)
PS3: Cleanup
PS4: Use correct indentation (oops)
PS5: Show correct icon in status bar (thanks @mikeNG)
PS6: Remove leftover Holo icons (thanks @mikeNG)
PS7: Rebase to depend on Holo icon removal (thanks @mikeNG)
PS8: Update commit message

Change-Id: Ia745c524d5e2530f50f12f961ea8533a4c8f5842
platform/framework/base: Fix Half Blank screen issue in Wallpaper

Issue: Start Any Full Screen Activity/ VideoView Activity in
       portrait mode, change to landscape mode and then perform
       suspend and resume. Only Half of the screen has display,
       the other half is blank screen

Fix: Added a check to update surface size on both rotation change
     and surface size change.

Change-Id: Iba77dfdb778ea3c60bbb1df33188fd4f792ab77c
CRs-Fixed: 712741
framework: add blacklist disconnect cause

Constant to be used when marking a Call as blacklisted.

Change-Id: If8e0ba7a2fb9b3ebbcfde04df48cd0ab14bba864
Signed-off-by: Roman Birg <roman@cyngn.com>
Update color dependent items when reusing notifications.

The notification might have changed its color setting.

Change-Id: Icf494db47b30af5505107eec2f728fb8bcba421a
Battery text mode: fix MSim crash

Change-Id: Iff1e39ee2b1bb8118f310a0f30b9bcc6baace243
VideoView: Add logs for video start/stop profiling

Add logs to profile video start and stop latencies.

Change-Id: Ic7f6237ee932a5c07828b1d0010dcb0fd3175411
Move media player list management to Audioservice

Move media player list management to Audioservice so that
list is retained even after BT restart.

Change-Id: Ia2455e6def1900b4af2225c50e1b5325a7ce1a98
Revert "MediaMuxer: handle expection for add track"

This reverts commit 0e57858602657ccbb22d6f592831f6e2547cc4ef

Change-Id: Ia9b4969a660a9816b1698fabd5456400fca84563
audio: fix unresolved link error for javadoc

- Remove @link comments for extended audio
  formats to fix unresolved link error while
  compiling Javadoc
- These extended audio formats are not standard
  AOSP definition and should not be updated for
  javadoc

Change-Id: I34fec0d9709a7def0f92660b6ec0a8e971529161
DocumentsUI: Fix download status was displayed incompletely

The layout arrangement of date, size and summary are unreasonable.
Text was ellipsized when summary has too much characters.

Reconfigure "layout_weight" of date, size and summary can fix this
issue.

CRs-Fixed: 619201

Change-Id: Ic2db20a303dd1db7e2d3375e4b733d704daf393b
Download: use "control" column to mark paused/resumed status

Before, column "status" is directly updated when user pauses/resumes
download, this causes status shown to user is not same as real status
because pausing/resuming needs a little time not instantly, and then
causes some status error.

The column "control" is updated instead of "status". When user pauses
download, will update "control" as CONTROL_PAUSED and set "status" as
STATUS_PAUSED_BY_APP until pausing operation is finished; and when
user resumes download, will update "control" as CONTROL_RUN and change
the status as STATUS_RUNNING until DownloadThread is started to run.
Then the status shown to user will be same with real download status.

Change-Id: I2204b972d24b809f7914b0981cad11e9175f4ae6
CRs-Fixed: 737182