Revert "ContentProvider: Avoid duplicate initialization of AsyncTask"

This change leads to soft reboots.
To reproduce:
  *) Take a screenshot
  *) Share it a few times
  *) The chooser dialog should appear but instead the system dies

E/AndroidRuntime( 4993): *** FATAL EXCEPTION IN SYSTEM PROCESS: PowerManagerService
E/AndroidRuntime( 4993): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
E/AndroidRuntime( 4993): 	at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6027)
E/AndroidRuntime( 4993): 	at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:820)
E/AndroidRuntime( 4993): 	at android.view.View.requestLayout(View.java:16455)
E/AndroidRuntime( 4993): 	at android.view.View.requestLayout(View.java:16455)
E/AndroidRuntime( 4993): 	at android.view.View.requestLayout(View.java:16455)
E/AndroidRuntime( 4993): 	at android.view.View.requestLayout(View.java:16455)
E/AndroidRuntime( 4993): 	at android.view.View.requestLayout(View.java:16455)
E/AndroidRuntime( 4993): 	at android.view.View.requestLayout(View.java:16455)
E/AndroidRuntime( 4993): 	at android.view.View.requestLayout(View.java:16455)
E/AndroidRuntime( 4993): 	at android.view.View.requestLayout(View.java:16455)
E/AndroidRuntime( 4993): 	at android.view.View.requestLayout(View.java:16455)
E/AndroidRuntime( 4993): 	at android.widget.AbsListView.requestLayout(AbsListView.java:1972)
E/AndroidRuntime( 4993): 	at android.widget.AdapterView$AdapterDataSetObserver.onChanged(AdapterView.java:814)
E/AndroidRuntime( 4993): 	at android.widget.AbsListView$AdapterDataSetObserver.onChanged(AbsListView.java:6482)
E/AndroidRuntime( 4993): 	at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)
E/AndroidRuntime( 4993): 	at android.widget.BaseAdapter.notifyDataSetChanged(BaseAdapter.java:50)
E/AndroidRuntime( 4993): 	at com.android.internal.app.ResolverActivity$LoadIconTask.onPostExecute(ResolverActivity.java:756)
E/AndroidRuntime( 4993): 	at com.android.internal.app.ResolverActivity$LoadIconTask.onPostExecute(ResolverActivity.java:744)
E/AndroidRuntime( 4993): 	at android.os.AsyncTask.finish(AsyncTask.java:632)
E/AndroidRuntime( 4993): 	at android.os.AsyncTask.access$600(AsyncTask.java:177)
E/AndroidRuntime( 4993): 	at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
E/AndroidRuntime( 4993): 	at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 4993): 	at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 4993): 	at android.os.HandlerThread.run(HandlerThread.java:61)

This reverts commit d22a5b851abf2a06097db51368edfda7616fc34c.

Change-Id: Ibe9c1192ec73eb46e3359da991201f6088e3a78e
hwui: Fix a sporadic crash seen during CTS runs

 * It's possible (due to race conditions) that a patch might be
   scheduled for removal twice. Just print a warning and continue
   instead of asserting and crashing.

Change-Id: I42865f6717816a743cc49ba15b839e6c3b57ed83
Fix attribute resolution in theme lookup

[Fixes Known Issues]
1. (CM) Chrome beta crashing w/ Hexo applied and menu button is pressed.
2. (AOSP) TextAppearance - fontFamily attr is incorrect (looked up in wrong package!) when
    a string value is defined in a style, and that style is set as the app's theme.

[Terminology]
1) Theme:    is the standard android definition of a theme.
             e.g in your manifest you may set android:theme="@style/foo"
2) CM-Theme: will be a Cyanogen theme. e.g. "Hexo"

3) Block: Also called index. Can be considered the cookie or ID to lookup a package in the resources.
          When a CM-Theme is applied, block 0 is framework, block 1 is the app, and block 2 is the
          CM-Theme.

[Background]
When a value for an attribute has not been found, the last resort is to look at a theme's base value.
This is done by using theme->getAttribute(...) which will return the value. The value is
unresolved if its a reference type. The block value will also be returned.

Since the value may be a reference and therefore unresolved, a call is then made to
ResTable::resolveReference(..) to do the final resolution. As part of its input, resolveReference
takes a block as a starting point.

In the case where resolveReference(...) is asked to resolve something that is not a reference,
for example, a string type, then it will simply return the same value and block. *Important* The block
value is then saved for the next call to get an attribute value. So if this block value is wrong
it will remain incorrect.

Therefore if resolveReference is passed the wrong starting block with a string value, then the wrong
block will be returned.

[Example]
1. 0x0101009b (android:attr/textColorLink) is first attribute to be looked up.
2. textColorLink has a value of 0x01020123 which maps to theme id 0x01020111. The block for theme
is "2" so block is set to 2. The value for this attribute is put into the array.
3. 0x010103ac (android:attr/fontFamily) is the next attribute to be looked up.
4. fontFamily is found in the theme as type string. The value is 0x7b9 (1977) and newblock variable
   is set to 1 since this value is found in the app's string pool. The block variable still == 2.
5. resolveReference() is called with block=2. The function does nothing and returns block=2.
   The fontFamily thus is stored wtih value=1977 and a block value of "2" instead of "0".

Change-Id: I2b979911b1b8ffb79c4cf310ae60682c84c11fcb
Only show status bar blocker view if nav bar is translucent.

It's the background drawable of the translucent nav bar that makes the
blocker view necessary (as the background creates a visual 'gap' between
status bar and visual start of the nav bar), so if the nav bar isn't
translucent, there's no need for the view.

Change-Id: I684c8d24abe3d4393ae7db88fe5023aa65836164
Keyguard: fix chopped keyguard on hdpi MSim devices

Both the CarrierText and MSimCarrierText were in the View, taking
additional space. Remove CarrierText from the view in case of MSim.

Change-Id: I803695044d06470ef9af59863ba92444e41488f5
fix SetupWizard
Own-ifying some things
More Own-ifying...
Cleaned up...
Removed a white dot...
Add native java screen recorder [1/2]

This is based on the screenrecorder binary found in frameworks/av.
It has been converted to a native library with the necessary jni
hooks for interfacing withit via a ScreenRecorder java class.

Volume up + power chord is used to start and stop recording by
binding to the service found in the ScreenRecorder app:
https://github.com/ChameleonOS/android_packages_apps_ScreenRecorder

PS1:
Clean up white space.

PS2:
Fix naming convention for state field.

PS3:
Rebase

PS4:
Post mScreenRecordTimeout with 1000 millisecond delay instead
of 10000.

PS5:
Send record screen broadcast instead of using the service
directly.

PS6:
SCREEN_RECORDER_FRAMERATE should be SCREEN_RECORDER_BITRATE

Change-Id: I5b7af9b4b4f24a8c54ac0f9dcb36ace16672e2cf

Conflicts:
	core/res/AndroidManifest.xml
	core/res/res/values/vendor_strings.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Add native java screen recorder [1/2]
Add global action for screen recording. [1/2]

PS4:
Send record screen broadcast instead of using the service
directly.

Change-Id: Ie6d4655b074992075df0060d23c758f2af06387e

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/vendor_strings.xml
	core/res/res/values/vendor_symbols.xml
	policy/src/com/android/internal/policy/impl/GlobalActions.java

Add global action for screen recording. [1/2]
Screen recorder: add ability to record audio from mic [1/3]

Change-Id: I2422a3c651e469bc9ffeb6b101f43e145dc5de85
Revert "Add global action for screen recording. [1/2]"

This reverts commit 9d591237511127b6ce83f36c02c89b9d8a2a04c8.

Revert "Add global action for screen recording. [1/2]"
Add ScreenRecorder Proper...
[SQUASHED] Lockscreen Notifications (1/2)

Following commits inside
AOSPAL/android_frameworks_base@3487cda
AOSPAL/android_frameworks_base@5873e99
AOSPAL/android_frameworks_base@7350e91
AOSPAL/android_frameworks_base@8d99eed
AOSPAL/android_frameworks_base@181110c
AOSPAL/android_frameworks_base@ce14cdd
AOSPAL/android_frameworks_base@3914e8d
AOSPAL/android_frameworks_base@32ec14f
AOSPAL/android_frameworks_base@6d2f41d
AOSPAL/android_frameworks_base@b758e16
AOSPAL/android_frameworks_base@6ba6fdb
AOSPAL/android_frameworks_base@b20bdc9
AOSPAL/android_frameworks_base@25f75c6
AOSPAL/android_frameworks_base@a74309e
AOSPAL/android_frameworks_base@5b6e143
AOSPAL/android_frameworks_base@e9dcb99
AOSPAL/android_frameworks_base@4caa49c
AOSPAL/android_frameworks_base@0f2377c
AOSPAL/android_frameworks_base@7e75b49
AOSPAL/android_frameworks_base@bc6c83f Thanks @Der-Schubi
AOSPAL/android_frameworks_base@8fd230d
AOSPAL/android_frameworks_base@e05eba6
AOSPAL/android_frameworks_base@082774a (Partialy ported - Removed codes of clear notifications navbar button)
AOSPAL/android_frameworks_base@a6f92e5
AOSPAL/android_frameworks_base@c3d76f5
AOSPAL/android_frameworks_base@5b1d884
AOSPAL/android_frameworks_base@0c0b133
AOSPAL/android_frameworks_base@73a6b7d

Change-Id: Ib87fe4d11941f7879f4706ad27ff3408311d2c03

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

[SQUASHED] Lockscreen Notifications (1/2)
Fixes...
DOH....