Prevent factory reset for short passwords in CryptKeeper

Since patterns and passwords can't be shorter than 4
elements, we shouldn't count them against attempts to unlock
the device.  If we do, we risk resetting the device
due to stray input.

Bug: 18211475
Bug: 18273380

Change-Id: Ib329cd3383471483cda68bfac4278b17d0c09c57

Conflicts:
	src/com/android/settings/CryptKeeper.java

Conflicts:
	src/com/android/settings/CryptKeeper.java
[2/2] Settings: Privacy Guard

PS2: * add ic_privacy_guard*.png from frameworks/base
     * rebase

PS3: * enable AppOpsSummaryActivity
     * use SubSettings on longclick

PS4: * move privacyguard settings category to just
       below security

PS5: * rebase

Pulled together mostly (if not all) from:

Author: Steve Kondik <shade@chemlab.org>
Date:   Tue Feb 25 14:02:16 2014 +0100
settings: Relocate Privacy Guard icons to framework
* So we can use them in the permission dialog for MODE_ASK
Change-Id: Ia9bac7dff0bbe91ae48db5d4b0d8f46feb9fdf86

Author: DvTonder <david.vantonder@gmail.com>
Date:   Thu Jan 16 19:01:23 2014 -0500
Settings: Fix up top level "Privacy" section
Change-Id: Id4dbda10a891c793bc6eb3c42807cc0e3f6092cc

Author: Danny Baumann <dannybaumann@web.de>
Date:   Fri Nov 8 13:37:07 2013 +0100
Add back privacy guard manager.
Change-Id: Ic9fbbae137bb8425fe72a6cdb2f17117351b5709

Author: Chirayu Desai <cdesai@cyanogenmod.org>
Date:   Sat Dec 28 18:51:46 2013 +0530
PrivacyGuard: Specify a default value in Settings.getInt method call
* While privacy guard is enabled by default, the default value specified
  here is returned only when the setting is not defined or not an integer.
Change-Id: Iaedffcc76a23a310aa7915f6a42ccce83ba5d2a6

Author: Matt Mower <mowerm@gmail.com>
Date:   Wed Feb 5 19:40:37 2014 -0600
PrivacyGuard: confirm permissions reset
The button to reset all application permissions to enabled looks
suspiciously like a refresh button. Prompt the user with a confirmation
dialog to make sure they know what they've pressed.
Change-Id: I0444c5bf8e9533feccf890055d34d3200609c6f6

Change-Id: I2e10cb4d395e2e7e5141d2fadada9e9b21cd7fbf
Add back increasing ring feature (2/3).

Change-Id: Iafc79a57651db327a100e0f1723b62f442b638be
Settings: Add Advanced reboot (1 of 2)

This commit adds a setting in Development settings for including options
in the power menu for rebooting into recovery or bootloader, defauled to
off.

When enabled, the Advanced reboot options will only be available once the
device is unlocked.

Change-Id: Ib77f0be178d15131b99adbe0abb6ba18b2b7c0b6

From: jackmu95 <jacob.mueller.elz@gmail.com>
Settings: Move 'Advanced reboot' to other position

This commit moves the 'Advanced reboot' checkbox one item down
because it looks a bit strange as first element in the list IMHO.

Before: http://goo.gl/jhw8h
After:  http://goo.gl/X3H68

Change-Id: I26d4a5caba3e720b952ec405e200c1528f7a7321

From: ThiagoVinicius <thiagovfar@gmail.com>
Development Settings: fix setting reset on disable

When Development Settings are disabled, some settings are
reset to values other than the default. This fixes it.

 - No need to have resetAdvancedReboot(), as it is already
   reset by the "unckeck all checkboxes" logic.

Change-Id: If5d88d220d2a17d6e172b2f54facd4afa3bae904
Port "Option to hide Adb notification icon (1/2)"

Frameworks part is already in place

Change-Id: Ie65625305153b45012846f6d2250fb707c4eebfd
Settings: Forward port long-press-back to kill app (1/2)

Change-Id: I60f4b95eb9cc2ef6cf73a5f9317bca066e6bb901
Buttons: Allow disabling hard navigation keys

This adds support for enabling the navbar on devices with
hardware keys.
This requires that the device supports the KeyDisabler
HAF methods, and is available in the Buttons menu

Change-Id: I01bd83b312745b4a8aa3bde0cf5f02ea99a888cc
Add an option to change the device hostname (2/2).

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: Ibc145b74036617248d4f33c6866cc9c8a8cc8974
Settings: Fix wifi developer options summaries

Change-Id: I85688d59685d3a0b0a48e51581eee77ebc7cd2fa
Developer Options: launch the Development app

Change-Id: I0f798d197888ef7f40688009536040e061c410f4
Settings: Hide Development settings when it is turned off

This commit hides the Development and Performance settings items
when the user turns off Development settings. This sets things back
to tapping x number of times on the build number to once again enable
developer settings

Change-Id: I6003f73f5abee54bb000f01757ecffe7b68dba59
Development Settings: fix setting reset on disable

When Development Settings are disabled, some settings are
reset to values other than the default. This fixes it.

 - Adb notify should reset to enabled

 - Verify apps over usb should reset to enabled

Change-Id: Ifa1ee25cfab32b7a236e02055006f0d2a4b07f37
Fix NPE.

When entering the notification prefs sub activity without the increasing
ring pref being visible and leaving it right away, onActivityStop()
threw an NPE because the handler wasn't yet constructed.

Change-Id: Ia4291d8ac3d1dbf76d432db7e0e973844163c4ae
Temp: Tint the settings drawable for the Privacy category

This should solve the "invisible" drawable problem until
we make new ones.

Change-Id: Ieda4d77789225debe0f7463b2b605c2d7df72c3b
Settings: add Personalization category and status bar brightness setting

Change-Id: I6e0343f5d1e1ec924f6393cb3eb94ee67f179aa6
Signed-off-by: Roman Birg <roman@cyngn.com>
Settings: add quick-quick settings pulldown setting

Change-Id: I986ea9d5e7037e58b1d185aba3daaa8fa7f6a9a7
Signed-off-by: Roman Birg <roman@cyngn.com>
Settings: add double-tap to sleep in Advanced Settings

Adapted for cm-12.0

Conflicts:
	res/values/cm_strings.xml
	res/xml/display_settings.xml
	res/xml/status_bar.xml

Change-Id: I910eb6624536b437d0bf14f64c1eeacafaa59cfa
[2/2] Settings: Battery and Notification Lights

PS2: *) Move menu options to sounds and notification
     *) Remove samm debug cruft

PS5: *) Update UI

Put together from:

Author: DvTonder <david.vantonder@gmail.com>
Date:   Fri Apr 6 07:39:11 2012 -0400

    Settings: Notification light(LED) settings

    This commit adds the ability to configure the Notification light
    color and pulse rate both for the default and a custom applications
    list.

    This work was done in collaboration with Marko Mihovilić (m1h4) who
    wrote the initial implementation as a stand-alone application and
    helped with the fixes below.

    NOTE: Google Talk notifications originate from the "Google Services
    Framework" so in order to override their settings you need to add
    this package instead of the Google Talk package.

    Change-Id: I6837210367123bc02ea27a9b7b6b3cf80c738bf1

Author: Danny Baumann <dannybaumann@web.de>
Date:   Thu Nov 7 09:04:29 2013 +0100
Add back notification light settings.
Change-Id: I474a14a1b395407f5ca273a5d6a3a7f03f7e4698

Author: Sam Mortimer <sam@mortimer.me.uk>
Date:   Sat Jan 4 15:52:47 2014 -0800
Settings: fix led pulsespeedoff disable behaviour
Keep led pulsespeedoff disabled if pulsespeedon is
disabled.  This ensures that pulsespeedoff stays
disabled if onOffChangeable was set to false.  Fixes
problem where charged led pulsespeed off looks to
be configurable in the ui and thereby creating user
confusion.
Change-Id: I6ac7f630544bf719b39e1ddcab435322975430c8

Author: Sam Mortimer <sam@mortimer.me.uk>
Date:   Tue Dec 31 12:11:05 2013 -0800
[1/2] Settings: instant led test
Show LED color in realtime when configuring
notification colors.
Requires framework patch for notification
extra EXTRA_FORCE_SHOW_LIGHTS.
Change-Id: Ic7858d79cb2351c407afd547b33652a9e04ef1b9

Author: Sam Mortimer <sam@mortimer.me.uk>
Date:   Sat Feb 1 18:36:15 2014 -0800
Settings LightSettingsDialog: update led on text change
Change-Id: I135f37829b9b4fb2166afac9d9531b76a62f3ef7

Author: Danny Baumann <dannybaumann@web.de>
Date:   Wed Jun 25 08:56:17 2014 +0200
Deduplicate adapter-of-installed-packages code.
Change-Id: I454ba79eddaaff86233a2cc341f4c8bebe94729e

Author: Michael Bestas <mikeioannina@gmail.com>
Date:   Fri Oct 17 00:48:17 2014 +0300
Fix copyright headers
Change-Id: I7934d01f89953e577c3cb074dce608d9bedd4027

Author: Michael Bestas <mikeioannina@gmail.com>
Date:   Wed Oct 22 02:23:15 2014 +0300
Add support for single color notification LED (2/2)
Change-Id: I4cf21dda3d9e311146149c2ec81fe2398f5f9f87

Change-Id: Ie1203c64484c7d9bed0a6bc0b2808e69ef4bfa35
Development settings: Remove icon from root dialog

* Other dialogs in development settings don't have an icon anymore

Change-Id: If7784cf8d758ccce6d8dd3c2bae49ec8c6303336
Remove lights settings unless intrusive LED bools are true

com.android.internal.R.bool.config_intrusiveNotificationLed
com.android.internal.R.bool.config_intrusiveBatteryLed

Change-Id: I8883d68bc7e82d295a1d47b3ca3777525350d854