Use BaseNetworkObserver in Tethering.

Tethering currently inherits from the AIDL interface
INetworkManagementEventObserver, so it has to provide no-op
implementations of all the interface's methods. Inherit from
BaseNetworkObserver and get rid of the no-ops.

[Cherry-pick of f4e90eac87bc31611ddd80c46fc924d35ce66c1c]

Bug: 9180552
Change-Id: I74859b0d77951005651aaaa418185857e40eeedb
Minor cleanups to NetdCallbackReceiver.onEvent.

- Clean up identical error messages.
- Fix the array length check for InterfaceAddressChange.

[Cherry-pick of 59be800e7fe81842aa8c77b91319f58ab165983d]

Bug: 9180552
Change-Id: Id871f481445b530c3ad749725f1548df0e3a1228
Pass DNS server info notifications to observers.

These are sent if the device receives IPv6 Router Advertisements
with DNS server configuration options. Currently, nothing listens
to them; in a future change we will use them as IPv6 DNS servers.

[Cherry-pick of 416740ad4d9132005a71dc0883334e852235a18a]

Bug: 9180552
Change-Id: I05000c0cd3867a68ab390102e8470b6912a9d3aa
Fix NPE in ConnectivityService

Could occur when requestRouteToHostAddress is called on a network
with no associated tracker.  Code later in the method handles
this case gracefully but code introduced in JB throws an exception.

Change-Id: I6c8a0e313ecbcca120aeb5dd0802a72114749aa1
Added DevUtils

Credits to cm
Time & Data actions
fb: set correct providers default value am/pm

fresh install shows am/pm on english timezones which
does not fit with the aosp default behaviour. Go inline with
it and hide it as default. User can change it then

Change-Id: I503818a16772f30260222ec5beed15e6654345a1
increase touch sensitivity

Change-Id: I77e6aeca3667808e630dc142a2e561d3ddddef80
Fix battery icon with percentage showing "!" and percentage only color when under 14%

Change-Id: I559fd4d9fbb7f9599fe1b3cf75602b7ad7e2e301
Keyguard: disable music transport control debug

Change-Id: Ia4361d0850334dc0944559c40409c9062cf02e47
SystemUI: Navigation Bar: Rotate the search light in landscape

The current search light icon is an arrow pointing upwards, so
while in portrait it points to the direction to be swiped to access
Google Now (and the customizable shortcuts), in landscape it points
upward as well which looks out of place, and swiping upwards reveals
that you have to swipe towards the left to access those targets.
Rotate it by 270 degrees to make it point towards the right direction
(i.e. Towards the lockscreen widgets)

Change-Id: I19670fdb1f5ab7814c05264330cb8097a206639a
[1/2] Forward port power connect/disconnect notification support

Original commit info:

    [1/2] Power connect/disconnect notification support

    part 1/2: frameworks/base PowerUI and Settings
    http://review.cyanogenmod.org/#/c/35241/

    part 2/2: packages/apps/Settings Sound settings
    http://review.cyanogenmod.org/#/c/35242/

    Change-Id: I36a6b9f924d2cd52191a8e83a744745b37c5b068

Change-Id: Ib865e1c296cb8e1d957b2a48616c88ceaba5c008

Needed
Custom purity platlogo
Use LinkAddress in address notifications.

Currently address{Updated,Removed} pass in the address as a
string such as "fe80::1/64". Use LinkAddresses instead, since
that's what it is.

This makes the code more robust in the unlikely case that netd
passes in an invalid string. In the future we can move flags and
scope into the LinkAddress itself and simplify the code further.

Bug: 9180552
Change-Id: I66599f9529cf421caa7676fdd0141bb110b8589e
Don't adjust volume when vol-downing to vibrate or silent

Cm commit

Another fix
AssetAtlas: Fix NPE when there are no preloaded resources
Prevent audio players starting on startup.

Previously, (at least) Apollo was started on startup (in that it
appeared in the notification bar) because it listens to the AUDIO_BECOMING_NOISY
intent to silence itself in that case. This intent is broadcast by
AudioService when there's a user switch to silence any potential audio
players for the old user. As the system also sends around a
USER_SWITCHED intent on startup, this led to the aforementioned player
startup.
As the intent of AudioService was to act on a user backgrounding anyway,
send out AUDIO_BECOMING_NOISY as reaction to a USER_BACKGROUND intent
instead of the USER_SWITCHED intent.

Change-Id: Iba35844a1274c9dd195f104068304e6a7ffa809e
Fix ringer mode being unneededly changed by setting ringer mode volume
to 0.

When having set the ringer mode to silent on a device with vibrator and
calling setStreamVolume() for the ringer stream again (e.g. in one of
the volume control dialogs in the settings app), the ringer mode is set
to vibrate, although there's no reason to do so.

Fix that by remembering the last non-normal (that is, either silent or
vibrate) ringer mode and using that when setting the stream volume to 0.

Change-Id: I27f1c75a0fef52bd63ac20f4101042808ce2c458
JIRA: CYAN-1403
framework: packageinstaller :fix logical error in size calculation

fix logical error in available size calculation.

Change-Id: Ic6ce312cf1c146030a20187fcb27b24fbe4c321a
FW: adjust KitKat easter egg to display hardcoded "K"

*Rather than pull the first letter of the build_id for
 the easter egg, just hardcoded it to always display a
 'K' like it should.

Signed-off-by: Whitehawkx <xxwhitehawk@gmail.com>