PackageManager: fix app lib migration for device with /datadata

For devices using /datadata, dataPathString will point
to /datadata while nativeLibraryDir will point to /data/data.
Thus, compare to /data/data directly to avoid problems.

Change-Id: I11149cf9cc5a573cc85513e12d3569b514f5ffb5
Allow mounting of multiple volumes via mass storage (framework part)

(cherry-picked from CM10)

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

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

Change-Id: I5ea83afeda6cdaf63dd15857b3827bb00afbd6d2
fix airplane mode in profiles

switch from Settings.System to Settings.Global

Change-Id: I2e719ba881dc192ce5695edafc47e48f1122f3bb
Modified Quicksettings to act just like Power Widget. Fixed Power Widget Sleep toggle with the help of Danesh M and David van Tonder

The code for QuickSettings has been rewritten using quicksettings.QuickSettings and QuickSettingsController classes.

Patch set 1-15: 	Original commits
Patch set 16:   	Re-arrange button order
Patch set 17-20:	Rewritten toggles

Change-Id: I7dcdca925970d816671e60ee01f393d71ce36581

Conflicts:
	packages/SystemUI/res/values-es/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsContainerView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsTileView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/SettingsPanelView.java
PowerWidget: Re-enable LTE button.

- Implement toggleLTE,
  from CM 10.0: I3f7521f5ec4e9f9106c58afd4d5b10c7086b55fd.
- Support all LTE network modes defined in RILConstants and
  com.android.internal.telephony.Phone.
- Cleanup: Remove unused LTE_MODE, restrict state change to updateState.
- Also use Settings.Global.getInt() for PREFERRED_NETWORK_MODE.

Change-Id: I43bb2491d650d641d243d3cb67ee80bc7c8f5cdf
Framework: Forward port ADB over network (Part 2 of 2)

Includes:
- ADB Over Network, integration of the adb-host mode (already present)
  The feature can be used/tested without the Settings part:

    setprop service.adb.tcp.port 5555

  Note: This ADB setting is not persistent (for security purpose) and
  require init.rc implementation event like this : http://bit.ly/AdbTcpIP

  Author: Tanguy Pruvot
  Id: I5c61a53948349c785356cb5aae165110d75e3074

Change-Id: I101216c5b8ddff5040d9eeaf35afefc5cd98bbf3

Conflicts:
	services/java/com/android/server/SystemServer.java
SystemUI: Forward port Statusbar Clock and Date actions

Patch set 1-2: Initial port
Patch set 3  : Fixes date click action
Patch set 4  : Remove unused import

Includes:
- Add onClick action to notification clock and date
  In expanded StatusBar
  - clicking clock opens alarms
  - clicking date opens calendar - today selected
  Id: I850732dcca0e65af59ce009aaf9f7ba18bcaf915

- Add onLongClick action to notication clock and date
  - As discussed with ciwrl on google+, LongClick opens DateTimeSettings
  - Moved on-touch color change to superior xml solution, as suggested by
    Andrew Boren <preludedrew@gmail.com> here: http://review.evervolv.com/#/c/3676/"
  Id: I1fae71e347ffcb786227ba0b2651a66f2df35e27

- Add SET_ALARM permission for SystemUI
  If one or more third-party alarm clock app is installed, clicking clock should
  open an app chooser for the alarm clock. However, permission for
  com.android.alarm.permission.SET_ALARM is required to make this behaviour
  work properly.

Change-Id: Iaf8cb9aba6e53da021da5373493b1419096e91fa

Conflicts:
	packages/SystemUI/res/layout/status_bar.xml
	packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/DateView.java
Framework: Use the proper context when creating Bug report dialog

Change-Id: I0dfa96db1d8857207a7871f846126121331a633c
migrate vibrator to silent mode settings (1/2)

Change profiles:
* remove deprecated vibrator settings
* add silent mode settings

Available modes:
* off
* vibrate
* silent

Patch Set 1:
Initial patch with plain ListPreference

Patch Set 2:
Use Checkbox + Dialog like ConnectionSettings

Patch Set 3:
Fix code style

Change-Id: Ic5ec3486070866b7358f843a0843ccd0753e8c72
SystemUI: Open Quick Settings panel if there are no active notifications

This is ported from AOKP and described as follows:

  If there are no notifications that belong to the current user, then automatically
  open the quick settings menu (like the two-finger open). It only ignores the ADB
  icon for now (which is pretty useless) but could be extended to ignore the usb
  mounting one or maybe another?
  Author: Roman Birg <romanbirg@gmail.com> AOKP
  AOKP Github: commit 2eb664a4bc5f93b705eeeaa0847331343bb017cd

The CM version of the commit respects the Power widget enabled settings and will
only display this behaviour if the Power widget is disabled.

Change-Id: Ie0c22167ebc6fd3152335c4148dbb7c65bfce46f
SystemUI: Tweak number of notifications detection method

Change-Id: Ibd46fa5039e1d3062dcdb8f3c4dbd9ec1bdc73b0
Profiles: Airplanmode Settings with Checkbox (1/2)

Change Airplanemode Settings to look like Connection/SilentMode etc.

Change-Id: Ic340c4eac22b1c94dd5f7a94a9608e98c76a0e98
Framework: Remove orphaned Theme related code

Change-Id: I930d4cc75e655c5bc37532e6a1425d27bd1ee661

Conflicts:
	services/java/com/android/server/NotificationManagerService.java
QuickSettings: New icons better matching stock

There icons should match the stock feel a bit better
in terms of size, design and color.

Change-Id: I1c8e6af9e48569e1c227c081495f70607cfe6d2b
Framework: Quick Settings customization (Part 2 of 2) WIP!

This commit will alow loading the Quick Settings tiles layout from
a layout that is configured in Settings.

Patchset 3 - Restore Settings tile to AOSP location

Change-Id: Id4e4353dee68b8ca434dfa64d1f88737792a2e28

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/SettingsPanelView.java
Revert "SystemUI: Open Quick Settings panel if there are no active notifications"

This reverts commit 0031e6c3a1d6d2796d01430585d8d52d9b876552.

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

Change-Id: I6981416a8aa769663f471f2a536196af7ee7e70d
SystemUI: Pull down QS if x > 70% width

Change-Id: Ic41d331e8f0166484b124e91a8ed8e904ff38edb

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
QuickSettings : Dismiss keyguard upon ActivityLaunch

Dismiss keyguard if launching activity

Change-Id: I850d719c188faf9e3e06c3944287d817cdacbdd6