[1/2] Base: Lockscreen Notifications

PS11:
    Lockscreen Notifications: several fixes

    - fix notification not responding when removed and added in a short period of time (e.g. gravity screen start/stop)
    - just unlock screen on notification click when there's an activity to start
    - fix notification hide animation
    - just wake screen on reposted notifications when it's not ongoing (wake on notification before made the device stay awake for ever when a download/countdown or something similiar was running)

PS12/13:
    Lockscreen Notifications: Bring inline with AOSPAL implementation
    Lockscreen Notifications: Fix possible NPE
    [1/2 ]Lockscreen Notifications: make offset top user configurable & add privacy mode
    Lockscreen Notifications: Copyright
    Lockscreen Notifications: just scroll down in "showAllNotifications"

PS14:
    Lockscreen Notifications: Fix recognizing of settings update

PS15:
    Lockscreen Notifications: make width dynamic (WRAP_CONTENT)

PS16:
    Lockscreen Notifications: make animations a bit faster

Change-Id: I342b9fa6266c4c64f04121a8a2938de6532082b4
[1/2] Base: Add an option to change the device hostname

This adds an option to modify the device hostname used
in ip resolution. This is useful when connecting to the
android device in a dynamic dhcp environment.

Change-Id: I56da8b49899e2a8c1a34bf8eee618e048ba7d82d
[1/4] Base: TRDS 3.0 and new theme engine preparation

For the one who do not know this feature see as reference
the first two versions here:

https://github.com/SlimRoms/frameworks_base/commit/b330fde28306286572ba390e451a72539c0c3576

https://github.com/SlimRoms/frameworks_base/commit/3194015737b7944b4185fca007b8d167a0675cd8

we got now over a year now a lot experience how to handle the qualifier fallback
as well how to theme it and how to handle other apps. Based on this knowledge we
redid some parts of TRDS engine with following new features/additions and fixes
to have now a final perfect working TRDS

- compared to the old versions where it was needed on some apps to restart them
  in background this is not needed any more. All is handled about the internal
  AOSP resource handling and on qualifier change the caches are cleared
  and the apps get an onconfigurationchanged to restart the activity
  like it is doing on orientation change eg
- inverted folder is now depreciated and the new folders are holodark
  and hololight which allows on the one hand a dark theme (at least
  how TRDS started) and a light based theme hololight
- This name change is mainly because of the new theme engine which
  will come which uses this as base to add 2 external themes at the same
  time and give the user the ability to switch between them. But this is
  still in early stages and this commit is just the preparation for it
- Two new automodes are now integrated. User can enable the twilight modus
  which enables/disables holodark/hololight depending on the daytime...means
  on the evening it switches to holodark on normal day it is hololight.
  The other automode is based on light conditions....means that if it is
  dark outside it switches to holodark....if we have bright light conditions
  it switches immediatelly to hololight. Due of the resource cache handling now
  this happens immediatelly for the user and feels completly system integrated
  and happens without delay. A bit comparable to some navigation tool for cars
  which can switch automatically from dark to light and back
- currently the auto modes as well the manual mode switches between holodark
  and hololight. Due that we do not have currently anything hololight themed
  in the source hololight = stock theme. We will give the user the ability
  later when done to choose between which modes the user want to switch
  (stock/holodark/hololight). But this does not make sense at the moment.
  As soon as we have done the light theme or theme engine (lets see what
  comes first) we will open the ability to choose it. This is only a small code change
- a lot small tweaks and fixes went as well into the new version

Whatever this commit as usual adds the support for it. The themeing is done in the
other commits by kroz which is as well way more extended then on the older versions

cheers

PatchSets:
- minor code cleanup

PatchSet5:
- use one value for auto modes

PatchSet6:
- kill resource caches on configuration change

PatchSet7:
- register settings observer lol

PatchSet8:
- fix not assigment of config mode change (typo lol)

PatchsSet 9 -11:
- playing around aosp qualifier is not that flexible then I thought
whatever back in most parts to original implementation handling

PatchSet 12:
- now no restarts of any application needed any more like it was on 4.3...yeaaah
- fix wrong shifting in native adapter
- fix wrong call of twilightmode
- disable debug
- cleanup

PatchSet 13:
- fix lightsensor

Patchset 14:
- no need currently to recreate the navbar we can do if a theme needs it

Patchset 16:
- synchronize on sending config change
- only send if system is ready
- fire first update when system is ready

-rebase

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/slim_symbols.xml

Conflicts:
	core/res/res/values/symbols.xml

Conflicts:
	core/java/android/provider/Settings.java

Change-Id: Ifcce5a11318460dcec166cb255e9462343215692

Conflicts:

	core/java/android/provider/Settings.java
	core/res/res/values/symbols.xml
Base: TRDS dark base theme

Change-Id: Ie25abfbf5258ac479ca8bc91033f6892bbbc6741
TRDS: Dark DocumentsUI

for Downloads app

PS:
- fix settings

Change-Id: I87d49e97b8a0a67bd4d85f0137eb0960155428cb
QS: Reflect location mode in different QS drawables

Credits for the drawables to SlimRoms!

Change-Id: I8ca0ccdca9d95a2b4a76fa3490f14a21c452b5d4
[1/3] Base: Increasing ringtone volume

Change-Id: I36df10d56612f67c5d44efd9c4e31532de06d901
[2/2] frameworks_base : custom clock shortcut in notification drawer.

Change-Id: I941cdebde0b9d90c92f83df9e44f40bb4d4cce63
Base: fix for notification count (multiuser)

 sometimes not appears if we enabled from config

Change-Id: I4d2782341a4076e1771379029699a04fedce499d
Base: fix statusbar brightness control gesture

Change-Id: Ic4001fb0fc6b7e1fe813d74104e42f7d91351d1a
input: Add workaround for broken hardware keyboard support

* Add workaround var for devices with broken kernels

Change-Id: Ib6ade70f399067469ba5aece48c6ec4608125d75
input: Fix workaround for broken hardware keyboard support

Using a wrong reference to mHardKeyboardAvailable caused device config
to never report physical keyboards.

Change-Id: I9b64e2d89512436c17fa8929464e2b727fba1cf3
[1/4] Base: Breathing missedcall/sms/voicemail

Mms: https://gerrit.omnirom.org/#/c/4977/
OmniGears: https://gerrit.omnirom.org/#/c/4978/
Telephony: https://gerrit.omnirom.org/#/c/4979/

Change-Id: I1b7f40c2fc5c6612303cf6575e3efe8e992cecae
UMS [1/6]: LegacyUSB Squashed commit with updates for 4.2

LegacyUSB: add overlay for UMS lun and use existence of lun to enable legacy USB
LegacyUSB: Add support for legacy USB implementations
Option to hide Adb notification icon (framework) - authorship belongs to Rick C

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: Id14f70f7e21b689c08cadef69f69da711c7dc566
UMS [2/6]: Add option for switching between UMS and MTP/PTP mode.

Change-Id: I8e692d468cb36ccc97ca69b8a2eb11afeb711eae

This adds support for switching between UMS and MTP/PTP.
Framework part (this part) will only enable UMS if the config setting is set.
Standard is to enable UMS if the primary volume supports UMS.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I8e692d468cb36ccc97ca69b8a2eb11afeb711eae
UMS [3/6]: Add UsbDebuggingManager and UsbDebuggingActivity to LegacyUsbManager

The UsbDebuggingManager listens to adbd requests and displays a dialog
when the public key authentification fails, for the user to confirm if it
wants to allow USB debugging from the attached host. If the user chooses
to always allow USB debugging, the UsbDebuggingManager writes the public
key to adbd's config file so that the public key authenfication succeeds
next time.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I819b8a0428ba34b68dadeb9fa67c53abb9a85fbc
UMS [4/6]: Allow USB notification to show when primary SD allows UMS and MTP

Previously if primary SD is set to allowMassStorage="true" the USB
dialog would never show.  This checks if persist.sys.usb.config is
set to mtp,adb and then allows the USB notification to show. With
this you can then have the option to select from MTP, PTP and Mass
storage when clicking the pull down notification. When Mass Storage
is selected it activates the USB connected dialog to turn on USB
storage. When set back to MTP the USB connected notification disappears.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I2287075ec93cae75f19e8fb59965d9dddb234aca
UMS [5/6]: Allow mounting of multiple volumes via mass storage (framework part)

The volumes to mount is taken from storage_list.xml (allowMassStorage)
rather than ro.additionalmounts.

Hand ported from the following patches:

commit 0233209827d95221399b1fe0185f79863fc6bf26
Author: Tony Layher <layhertony@gmail.com>
Date:   Sun Jan 2 12:46:38 2011 -0500

    forward port of 93bb95929a0c017498625a87654b4d114fe17b96 to allow mounting and sharing of mulitple volumes to MountService.

    Change-Id: I9fa3994e6e7b85360b451f57c1cdd4df921bc035

(the second part of the above patch was not ported)

commit 678fadf517126c8468ef2d8dcaea9c9fce96035b
Author: Josh Stone <cuviper@gmail.com>
Date:   Sun Nov 7 13:38:58 2010 -0800

    MountService: Remount all volumes after USB disconnect

    If USB was removed while UMS was enabled, the MountService was only
    remounting the primary share.  Any other shares, like the HTC Inc's
    emmc, were left in limbo.  This patch now iterates over *all* shared
    volumes to remount after disconnect.

    Change-Id: Ie6fd49ad80ba6fa0e4e194a386549cac786b4bbe
    Signed-off-by: Josh Stone <cuviper@gmail.com>

commit b1da9ed003edcd10ccda56fdf087e8f1b0f77b2a
Author: Josh Stone <cuviper@gmail.com>
Date:   Sat Jan 22 12:03:53 2011 -0800

    MountService: Only notify PackageManager for true ASEC changes

    MountService can be dealing with multiple mounts (emmc, sdcard), but
    only the EXTERNAL_STORAGE has any ASEC mounts on it.  Since the PMS
    updateExternalMediaStatus doesn't specify the path, we need to make sure
    it's only called for the real ASEC mount.  Otherwise we get into nasty
    race conditions when multiple mounts are coming and going, like during
    UMS transitions, and sdcard-installed apps tend to break.

    Change-Id: I85c6a601e84afd30b44270b0892686c2d864ce8d

commit c8c58f3d14fbb8c77ab1e90541e59fb74bef54cf
Author: Josh Stone <cuviper@gmail.com>
Date:   Sun Mar 6 12:34:50 2011 -0800

    MountService: Unmount secondary volumes more carefully

    Use the same message handler for unmounting both the ASEC external-
    storage path and any secondary paths like emmc.  This seems to help with
    additional race conditions encountered on Inc.

    Change-Id: Icca71756fa6721bd85da1f35b8b8c7fc7caa1eb1

commit 47495ab860ed97499e0c4268bf40b1f9c429bf99
Author: atinm <atinm.dev@gmail.com>
Date:   Sun Apr 10 14:50:41 2011 -0400

    Allow multiple shareable SD Cards by using getShareableVolumes()
    to get all the volumes that are shareable and allowing
    sharing/unsharing for all of them rather than just the hardcoded
    getExternalStorage calls.

    Unmount immediately if PM is not updating and not an ASEC
    mount. Change from Josh Stone.
    Change-Id: Iaf1a7a4484deac373e1c1d7bf16d5f22ca49fd64

    Only allow package manager for sdcard (packages aren't on
    external card).

    Change-Id: I0d148ea52dc1285905a9dd061d1ceedcfb761b52

    Take out extra logging.

    Change-Id: I6beb007700ef4be04c3eb273bbf2069c87b30011

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I5ea83afeda6cdaf63dd15857b3827bb00afbd6d2
UMS [6]: Make "SD Card removed" notification dismissible if the removed SD Card is not the primary storage

The Galaxy S uses the "external SD Card" as the extended storage
and it the notification should be dismissible as it's okay not
to have it.

Additionally, this patch also not hide the USB storage mount dialog
if the removed storage is not the primary storage

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: Ic752a3da917e0d7736a619fb68f07905106987fb
Base: change logic for Quick SmartPulldown

taken from cm11

this also fix http://jira.omnirom.org/browse/OMNI-489

Change-Id: I26b97208e47b87ff1b7fe38b093ce78c70be8251