Revert "frameworks: squash of leak & race fixes"

This reverts commit 014e1c171ea310800624c5469f2a6aad53d21e00.
frameworks: squash of leak & race fixes

commit 5c837244a550308a6b8fadf95275d50f6bf3b202
Author: Daniel 2 Olofsson <daniel2.olofsson@sonymobile.com>
Date:   Mon Jun 10 14:49:14 2013 +0200

    Fixed race condition in Spinner.DialogPopup on null reference.

    NullPointerException is triggered when DialogPopup is
    dismissed due to object mPopup being null when not showing.
    Race condition is triggered when dialog is dismissed before
    touch event to dismiss dialog has been processed properly.

    Fixed by adding a null check prior to accessing mPopup object.

    Change-Id: I3c4fe9c279d92a7103fb4f68189d1d42beedc606

commit 4950d85c29bed35c0874858d094d5a0f628f1e54
Author: Pawel Augustyn <pawel.augustyn@sonymobile.com>
Date:   Mon Jul 16 11:23:54 2012 +0200

    Fix for native leaks in YuvToJpegEncoder.cpp

    Objects allocated by Get<object>ArrayElements function,
    should be released. Add a fix to release this objects
    in error cases.

    Change-Id: Idf834523d93bb2dfd6b872e3b2179b7f1bba38f3

commit 463ac945502552ab0c06ae00c987d3c400161fe3
Author: Michal Szynkaruk <michal.szynkaruk@sonymobile.com>
Date:   Wed Jun 26 11:28:36 2013 +0200

    Fix for MemoryLeak in InputMethodService

    Problem: when onConfigrationChanged is called many times,
    mInsetsComputer is added many times to the list.
    Solution: check before if specific listener is already
    in the arraylist.

    Change-Id: Ic730395120d6dc8585628c142b2e161c42317f30

commit 5167ab57b2a1dbee38a5303e4b490a04b9dff950
Author: Pavan Kumar S <pavan.kumar.s@intel.com>
Date:   Fri Aug 3 12:03:01 2012 +0530

    [BatteryStatsImpl] Avoid memory corruption due to Parcel Recycling

    While processing batterystatsfile, in present code there is a race where a parcel
    might be recycled while it is being written to disk in another thread.

    The write process is done in 2 steps:
    - write into a Parcel (memory block)
    - then write this Parcel to disk using Journaled API.
    The Journaled API ensures robustness against file-system issues due to power cut.
    The writing is done in batch using a thread running commitPendingDataToDisk().
    This function writes the parcel to disk but this parcel is a global variable
    initialized by writeLocked(). If the writing takes too long time and two write
    threads are launched, the parcel is freed by the second writeLocked() call;
    which could cause the memory corruption.

    Hence, change global Parcel variable by a Parcel parameter to commitPendingDataToDisk()
    and only this function will be allowed to recycle the parcel.

    Change-Id: Ie86ee0a66434b7107264c79f68411196c7505a34
    Signed-off-by: Pavan Kumar S <pavan.kumar.s@intel.com>
    Author: Pavan Kumar S <pavan.kumar.s@intel.com>
    Signed-off-by: Shuo Gao <shuo.gao@intel.com>
    Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
    Signed-off-by: Jack Ren <jack.ren@intel.com>
    Author-tracking-BZ: 47466 19426

commit ab625310c19573caf5cdcf4c6ef573bbfbc8a26b
Author: Vairavan Srinivasan <vairav@codeaurora.org>
Date:   Mon Jun 6 13:42:54 2011 -0700

    frameworks/base: Fix for the race in Wallpaperservice

    Wallpaperservice has a race among message handler of
    DO_DETACH and service's onDestroy. In certain cases,
    the engine kept track in mActiveEngines is removed by
    message handler of DO_DETACH and service's onDestroy
    doesn't get a entry in mActivieEngines and isn't able
    to invoke detach. This keeps the broadcast receiver,
    mReceiver active and is unregistered by the framework
    and a corresponding leak is reported.

      Later, the message handler of DO_DETACH continues
    and invokes detach on mEngine, which attempts to
    unregister mReceiver and framework throws an exception
    "Receiver not registered: android.service.wallpaper.
    WallpaperService$Engine$1@40874580" and causes the
    framework to reboot.

      In case of system_server, WindownManagerPolicy and
    android.server.ServerThread contest for access of
    shared members, mActiveEngines and mEgine. Fix is to
    protect the critical section via synchronized block.

    Change-Id: Ice79cb8344fb54bcc6e9f76f4b143daac2608d7b

    Conflicts:
    	core/java/android/service/wallpaper/WallpaperService.java

Change-Id: Ib24d04673c5fff21533f7f00456df658cdbc6288

Conflicts:
	core/java/android/service/wallpaper/WallpaperService.java
interrupter: Use LOCAL_LDLIBS rather than LOCAL_LDFLAGS

Change-Id: Ide7d3e7962d8dda6f41ca8ba89acf75fa1c86e40
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Detach engines before destroying WallpaperService

WallpaperService contained a race condition where the service might be
destroyed before all its engines had been detached. For subclass
ImageWallpaper this would leak the engine's BroadcastListener, which in
turn would trigger a system crash (as ImageWallpaper runs as part of
the system).

Change-Id: Ia900173a1d3070cbf6bcf769f68376c8c8cbc62a
Restore previous ViewConfiguration constants

Change-Id: I8cb2b552aa11ad1505a8a97f593307420d919371
Selectively restore non-stupid parts of stuff we had
before a patented nuclear decrapificating

Change-Id: I679f5748365bb50451abc71398dcf35002282330

Conflicts:
	core/java/android/webkit/CallbackProxy.java
	core/java/android/widget/ProgressBar.java
	core/java/android/widget/Toast.java
Scroll: modified velocitytracker

Velocitytracker and overscroll are called on every touch event to
calculate if there is a scrolling/fling. Move this and the recycling
to static voids so they are pre-optimized at compile time rather than
after evoking the method call during runtime (JIT) to increase responsiveness.

-Vanir

Change-Id: Ic7351da58f29281ca2b6a788386b95b68b552390
Memory leak: parseObbFile.footer

Change-Id: Ia9e005e63fad7ab364f6c2c80cb98ec98f89b470
Signed-off-by: You Kim <you.kim72@gmail.com>
Fix messed up coding style
More unused imports

Change-Id: I326517dd551b3d5486cafd2cf1720efba4bc9a07
don't register a content observer if the device is already provisioned

this is completely pointless to have this observer on if you've already
run the setupwizard.

Change-Id: Ie8d8f60d0b4e7097f625a9a5930d5838d20b4c74

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
Unused imports, they just keep coming

Change-Id: I55cabb2218ebc5023ea2de82d61fae85c5d393f9

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/PieControl.java
	packages/SystemUI/src/com/android/systemui/statusbar/PieControlPanel.java
	packages/SystemUI/src/com/android/systemui/statusbar/WidgetPagerAdapter.java
make WidgetView observer private

PS2:  remove all views when creating the popup pager to keep the dingleberries away
PS3:  add onDetached from window for when BaseStatusBar is killed toggling pie halo appbar etc
PS4:  cleanup

Change-Id: I778dca10ee0cf56c5ba62f76ec75e45d3dc4995b

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/WidgetView.java
fixup navbar widgets

Change-Id: Ib2f07a1de4c491d1fbfc5e97dea95f83e9edec53

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/WidgetView.java
Unused imports, yep, again

Change-Id: I2f69c50eab069c29deb7ff9411b67a210099e8ed

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/halo/Halo.java
	packages/SystemUI/src/com/android/systemui/statusbar/halo/HaloProperties.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
Turn off some statusbar debugging
GlobalAction dialog ref not set to null

When a GlobalAction dialog is dismissed when screen goes into
sleep the reference mDialog is not set to null. Next time the
long presses power button and brings up the GlobalAction dialog
the old reference still exist and we try to dismiss the dialog
again even if it does not exist.

The dialog reference in this case holds on to the dialog object
using more memory than neccesary, and in rare cases we might get
a crash when the dialog object is dissmissed the second time.

Change-Id: I44ef1c385d90777e8f6dd9fe111eb3d9b0d3cf3f
improve rotation handling

this commit was rewritten/inspired by one made to our jb 4.1 branch by sonicxml.

cheers buddy!

Change-Id: Ib3b46aa54e7bf6602f8c0557ed770624063af529
Don't ANR when no windows are touchable.

If the user touches a portion of the screen in which all of the windows
have FLAG_NOT_TOUCHABLE set, handle this as a failed event injection,
so that it doesn't result in ANR.

Change-Id: I6437e3dd1641005b8ac80f6cf7d20b14b97fcc7b
Fix issue #10226007: Reset apps restores most of the changed settings...

...to original but not all modified ones

Very stupid mistakes in messing up the iteration when pruning op
entries.

Change-Id: Ie536b9095f797fcd2b86c9a386a72746796430d1