Don't recreate keyguard for MCC/MNC changes.

Change-Id: I9e5dfdb12df522dc7dd50c26f35aba26b1bbe44e
Keyguard: Fix configuration change observer

Change I9e5dfdb12df522dc7dd50c26f35aba26b1bbe44e made recreations
only happen when a stored copy of the previous configuration differs
from the current one. But "configuration = otherConfiguration" creates
a reference to the original object, not a copy, so newConfig.diff(mLastConfiguration)
always returned zero. Fixit by creating an actual deep copy of the
Configuration object.

Change-Id: I236932dfc0e121dd83212882b4fe71306c8a3fab
[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] Lockscreen Notifications fixes

- Lockscreen Notifications: make animations a bit faster
from: https://github.com/AOSPAL/android_frameworks_base/commit/5b6e143c4edeb9454650dbc05e597fbbae6b5c26

- Fix ongoing notifications reappearing when hidden & some small animation tweaks again.
from: https://github.com/AOSPAL/android_frameworks_base/commit/ac9bf6a36a7275d1e98e2ae6750723b1e006dd4d

-  Lockscreen Notifications: fix notifications disappearing on orientation change
from: https://github.com/AOSPAL/android_frameworks_base/commit/e9dcb99f0bd3e74a45ee7d15ebc19a99db7a09a2

Change-Id: Id72ec7c6c9e61fc7502299e434e0ba0d12957ec7
[1/2] LS Notification dinamic width & blacklist options

- Lockscreen Notifications: disable dynamic width for devices <= xhdpi

- [1/2] Base: Lockscreen notifications: Option to disable dynamic width
from: https://github.com/OmniKang/android_frameworks_base/commit/87d6598b63a1b83e93631b0fcb0822365cf7563b

-  [1/2] Base: Lockscreen notifications: Allow apps to be excluded from being displayed
from: https://github.com/OmniKang/android_frameworks_base/commit/8631349b965f507eeff4b5616c1f581bc4e6e615

 Credits to 0xD34D / ChameleonOS for the original implementation for Active Display

PS3/4: fixes

Change-Id: I796b08cb94185ea17139bd74f1b41d287ba65155

Conflicts:

	packages/Keyguard/src/com/android/keyguard/NotificationViewManager.java
Lockscreen Notifications: fix phone turning on in pocket

Change-Id: Ia0385280510f1d684c5dcf537dd2049c6916ddec
Lockscreen Notification: fix default settings derp

Change-Id: Ief7344359059d72b6498d9d9ce61dfd11b43f404
Lockscreen Notifications: Fix pocket mode and more

Thanks to @David96

Conflicts:
	core/java/android/provider/Settings.java
Lockscreen Notifications: revert back to old code.
Lockscreen Notifications: make dynamic width a device overlay setting

dynamic width is disabled by default, to enable it for a specific device, add
<bool name="config_lnDynamicWidth">true</bool>
to yourdevicetree/overlay/frameworks/base/packages/Keyguard/res/values/config.xml

Change-Id: I210b747838b70fb64e6f0835b1cb42b31c9a199d

Conflicts:
	packages/Keyguard/src/com/android/keyguard/NotificationHostView.java
Lockscreen Notifications: rewrite add notification logic

There were some problems with notifications getting replaced while the user was currently dragging them.
This commit should fix that by always waiting until animations and user input are finished before replacing a notification view.

Change-Id: I6821a253e8620d1579e6e1dfa0e0d4571ae1af3d
Lockscreen Notifications: Custom background color [1/2]

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

Conflicts:
	core/java/android/provider/Settings.java
Lockscreen Notifications: revert all navbar changes
LS Notifications: Add Show all & Clear all NavBar Buttons

This commit adds:
074a96b Add "Clear All drawables" for NavBar
ee0c3f6 Notifications: try to fix occasionally SystemUI FC on boot
43b8e83 Notififications: Fix NPE
6fc79ec Notificaitons: fix show/hide of show all button
ffd1927 Notification:  Lockscreen Notifications: dismiss all button, improve animations, cleanup
fc6b252 FW: LS Notifications: Add "Show all notif" NavBar Button

Conflicts:
	core/java/com/android/internal/statusbar/IStatusBar.aidl
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
Lockscreen Notifications: add back dynamic width as an option (1/2)

Conflicts:
	core/java/android/provider/Settings.java
	packages/Keyguard/res/values/config.xml
Keyguard: LN: fix and harden against null pointer exceptions

Change-Id: I6a3139d98fc3ab2165561c7ae640a0814c80bee6

Conflicts:
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java