LN: Fix possible NPE

Change-Id: Iced239623d6580dcade06cd9a3f82a4d109e0aca
(cherry picked from commit ecb7fd8e365ceb47f0ff6ee3dbe006d2f271ce5a)
Fix crash in widget pager - DO NOT MERGE

Fixes bug 14299491

Change-Id: I3c94cbd7f7923dc5a429c9929bc432a5dd29d04f
(cherry picked from commit e7cd88ace8266296513bf8eb9fee3bb64d7197b8)
KeyChain: add explicit package for getPrivateKey.

Bug: 9964538
Change-Id: If67c1938e9506d4fa81b241bcbce2193d1b194ef
(cherry picked from commit a488e11c5d9ce8306b003544bc55598bbd7d7393)
Use the correct package name for CHOOSER.

Bug: 13013106
Change-Id: I1f715de18e7108274f5a98234376d48c2d329438
(cherry picked from commit 7b96a0c9cb6fcee351a1b78e570287db30f35fa3)
frameworks/base: Fix binder parcel leak with getMetadata() API

When VideoView calls getMetadata API of MediaPlayer, parcel object
is getting allocated by MediaPlayer and metadata is created over
parcel object. This metadata object is returned to the VideoView
which is being GC without calling recycle on parcel which was
creating leak in binder virtual memory.

CRs-fixed: 669303
Change-Id: I1e265909ee42d4fabd8b2552668b3d84af994294
(cherry picked from commit 07d129139c9c0da1b85bf5acf65b7a84208ba3ee)
server: clear forwarding rules when tethering is disabled

Since disabling NAT needs tethered iface's address info,
but sometimes the iface goes down before disabling NAT, this fix
just caches the iface's address.

Change-Id: Ie3f14093e8673c34821a3c86d1470c7dda3f3a42
CRs-fixed: 672354
(cherry picked from commit a8f921bc99b953a44433fe674082b0ffbcbb3fcf)
Use a content observer for getting the default APN

Instead of executing a query of the database for the
default APN on every network state change, an observer
is used on the database to be notifited when the apn
has changed. This prevents unneccesary queries on the
the database.

CRs-fixed: 662137

Change-Id: I3155bd8b53a1877413ed54a861df1bfb1853b9e4
(cherry picked from commit 7935b76cc481e8b0b113d52556f2deb8fb0a3995)
Revert " Audio: SetForceUse config check in AudioService"

This reverts commit 0af88afe6dc16760b57afa74ca42e40fbe6ff9cf.

- During playback over BT using the Google Play Music app,
  if BT is disconnected through the app and playback is resumed,
  it continues over BT and not the speaker.
- The original commit forces playback to continue over BT
  although it is disconnected.
- Reverting the commit fixes this issue and the issue
  addressed by the commit is also not observed after reversion.

CRs-Fixed: 679301
Change-Id: Ic4d0f13615c696a12401f7a8a58651b88f31e99b
(cherry picked from commit a0c242565d028a0a2e6c54188922dedd504d4c8d)
add framework torch service

Change-Id: I0c7a055b33fdebe697f23d207b20408e06eb74a8
Signed-off-by: Roman Birg <roman@cyngn.com>
(cherry picked from commit ec6f86de2408052427d75c20fe7445ef33684f50)
Fully fix interaction between torch and camera usage.

For doing this, two things are necessary:
- The torch shutdown needs to be synchronous, so that the torch app has
  a chance to release the camera before the camera app tries to use it.
- The torch service needs to track camera usage, so that it can notify
  the torch app if a camera is busy.

Change-Id: I521091d255ff4c251d97a0e8d65c9d2a80b9dae4
(cherry picked from commit 1e59c22bfc1bfaf36839dc03eeffd8f03d268973)
[ActivityManager] Avoid mistaking visibility by finishing task.

Sympton:
Next activity only adds to history but does not launch/resume then results ANR.

Root Cause:
In a rare timing, some windows are switched at the same time,
it will cause some finishing records on the top temporarily,
then set startIt to false that skip to resume the real top activty.

Solution:
If all activities in a task are finishing, do not use it to check.
The behavior/checking is the same concept as in JellyBean:
            // If starting in an existing task, find where that is...
            boolean startIt = true;
            for (int i = NH-1; i >= 0; i--) {
                ActivityRecord p = mHistory.get(i);
                if (p.finishing) { // <--
                    continue;
                }

Change-Id: I9d81a7b5182400c52e173da23eee61c74692beee
(cherry picked from commit 0cf5a3a2fa2e6752d4ed1222c1cc163088c5e2b6)
SystemUI: Clear disappearing children and remove HeadsUp on recreate.

    - Since some views animate in and out of visibility
    the call to removeAllViews on the mStatusBarContainer may still
    keep a reference to the view.

    - Also remove mHeadsUpNotificationView from the window manager if
    it's not null.

Change-Id: I5ced26e0f36362e89779bd7c6dac4d8235e0c0e9
(cherry picked from commit 71a5ece5b956c084b5902607cd1270fed0ba09e0)