Frameworks: notify arrayadapter early that data has changed on clear all

Recent clear all. Current behaviour is that we do not update the array adapter at all
due that it gets rebuild on next reload. But in very rare cases it happens that getView
want to update shortly after all is cleared althought the view is not visible anymore.

Whatever just call notifyDataSetChanged after List is cleared to work against it.

Change-Id: I61ca25358ebe164336ba349565459537861c5495
Frameworks: do not kill favorite recent apps

Due of a lot user requests and I basically like the idea (not a fan of clear all apps at all
due that it does not make sense android wise) we ehance the favorite recent apps feature.

This commit basically does not remove the apps from the task list which were marked from the user
as favorite.

3 possibilities:

- No favorites are in the task list - clear all behaves like it was before - all tasks cleared and panel closes

- favorites and non favorites are in the task list - clear all removes all non favorite tasks and favorite tasks stay.
  Yes without fancy animations....we want to be fast ;) - panel stays open

- only favorites are in the list - pinch to zoom out is blocked due that nothing is there to clear all.

single clear of a task with swipe behaves in all cases normal like it was before this change

Change-Id: Ia05562e0f59dfb023aa65ec3a40dd951594dc88e
Change SQL to improve performance.

To know the number of images, use "COUNT(*)" instead of "_id" in SQL.
Using "_id" gets all result set. and when getCount() is called, CursorWindow is filled.
But using "COUNT(*)" gets just 1by1 data.
So using "COUNT(*)" is more faster than now.
And this SQL is called everytime per a file during a file transfer in MTP
The better way is by using "EXIST".
But if using "EXIST", modify MediaProvider.call() method.
So i applied just a "COUNT(*)"

Change-Id: Ic5882af0fad2304f836b7b7043a4746359391609
Signed-off-by: muzbit.kim <muzbit.kim@lge.com>
Fix to memory leak leaving WallpaperCropActivity.

After running wallpaper cropper serveral times it crashes with
an OutOfMemotyException.

When leaving WallpaperCropActivity all textures are leaking until end
of process lifetime. This is due to a missing call to function
TiledImageView.destroy which in turn assures TiledImageRenderer
releases held resources.

Resolved by assuring WallpaperCropActivity calls TiledImageView.destroy
from WallpaperCropActivity.onDestroy. In case where onDestroy is not
called resources will be released anyway by process being brought down.

Change-Id: I016b1b9da5f4db8d2b14767edb59fe742415e074
Null pointer exception in FileRotator.java

Sometimes a null pointer exception is thrown when examining files
managed by the file rotator.

The logs from the test show that the Wifi state is changed a large
number of times. On every state change, a write operation is
initiated on the file system. This will eventually result in out
of memory and the call to mBasePath.list() in the maybeRotate(...)
method in FileRotator.java will return null so the iteration will
throw a NullPointerException.

Change-Id: I5d5980d9593bc9ec75281169ca27ee591809903f
NULL previous background bitmap upon changing wallpaper

Step to reproduce it on Nexus 10 with 4.4.2(KOT49H):
1. Long press on home screen.
2. Choose wallpaper from Wallpapers.
3. Select new wallpaper and set it.
4. Repeat step 1-3 several times.
See black background instead of the wallpaper.

There are two binder objects who hold reference to the
ImageWallpaper$DrawableEngine, which keeps the big chunk
bitmap from being recycled.
One is WallpaperService$IWallpaperEngineWrapper. The client
references went away slowly, maybe several minutes after
changing wallpaper. Then the finalizer has to been executed
to GC it.
The other one is WallpaperService$Engine$BaseIWindow. Don't
know who still held reference to it even after the window
was removed.
Anyway, let the bitmap be GCed first.

Change-Id: I27f6971a3edd26472b69e59b542b27fd7c8e7b90
Signed-off-by: jshe32X<jianchunx.shen@intel.com>
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
remove unnecessary switchUser call

If userId doesn't change, no need to do switchuser.or it will
introduce some tweak for gps modules in quick off/on because
they need cost time in off/on.

Change-Id: Ie5e408dc8be69c8a63a18bcb2cfe478cef4d70e6
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
Fix progress of VolumePanel never refresh

On some occasions when disconnecting a headset it is possible for
the volume slider to enter a state where it is no longer updates.

The cause was that ProgressBar enters a state where a call to
doRefreshProgress no longer updates the progress.

The solution was to make sure mRefreshIsPosted is set to false
when mRefreshProgressRunnable is removed.

Change-Id: I1929e4916a582d09a7ec4911eb4f0052ad7a51ba
Prevent a duplicated registration of Observers

If same Observer and same URI are registered, the callback functions are called multiple times
when data identified by a given content URI changes.
It makes system slow and it cause ANR sometimes.
And When run unregisterContentObserver(), just one deleted
but others are remained in mObservers.
So add prevent code to avoid to duplicated registraion of Observers

Change-Id: I5c7845deb682db289ff0d53150ef012174859767
Signed-off-by: muzbit.kim <muzbit.kim@lge.com>
NsdService does not clean up after exiting clients

When a client of the NsdService exits, NsdService should
clean up the requests it has sent to the mDNS daemon:
cancel any pending resource-discovery and resource-resolution
queries, and remove any services registered by this client.

If this isn't done, several bad things happen. The daemon will
continue to run unnecessarily, will report service discoveries
that can't be forwarded on to the client, and will continue to
advertise service ports for an application which is no longer
running until the device is rebooted (mDNS pollution).

Bug: 9801184
Change-Id: I0aa7311480322aefcff16f902fbbf34f50985d38
Round off when calculate next step in Seekbar

When the positions for the new step is calculated in
a Seekbar, a rounding error can appear.
This is fixed by round off before casting.

Change-Id: Ie2cf201ef670ccc2297e9bc4c7f415a826e44a41
Prevent Lockscreen album art from activating FLAG_KEEP_SCREEN_ON

This is a small fix to the showWallpaper method, in which a power
consumption problem has been introduced. This showWallpaper method
toggles the window flag FLAG_SHOW_WALLPAPER, when album art is being
shown in Lockscreen. It is important to set pixel format to
PixelFormat.OPAQUE if flag FLAG_SHOW_WALLPAPER is not being set.

If not, an application that uses window flag FLAG_KEEP_SCREEN_ON
will prevent the keyguard from going to sleep and drain battery.

Change-Id: I77192ebe35215a8f4d7c671299b025aaf57fad43
Fix indirect misuse of $(my-dir).

Change-Id: I7271a9bf1e610f61de515526086b48f530771861
Signed-off-by: houst0nn <houstonn@gmail.com>
Telephony: STK CC feature implementation

Add strings and constants required for stk cc feature.

Change-Id: Ic8e57ac2d39ca9187959c11e7e9e26e9fe6dc71d
Avoid collision with RIL constant 1138, used in some Samsung devices for RIL_UNSOL_TETHERED_MODE_STATE_CHANGED.
Needs http://review.cyanogenmod.org/#/c/61292/
Thanks to iptux on XDA for pointing out the change in constants between
CM-10.2 and CM-11.0.

Change-Id: I64011408f4cce9aeb1b56e325226f8e649eff2b6
FW: Slim Recents: Add favorite mode

Allow user to set favorite apps in recent task list. User can set them with
longpress on the app icon. This apps are always shown in the task list above
the first default one (on phone the first 2 which always show the last 2 active
tasks). Favorites are shown in order of last time they were called. Favorites
settings are saved permanently till the user removed it from favorites.

As well this commit fixes the wrong icon if an package has more then one
activity to call (eg Google+ and Google Photo).

Using for all now a unique identifier.

PS2: update author
PS3: fix derp
PS4: missing import

Change-Id: I17779b4a2293465b8a4c088f9ea24db968abf45f

Conflicts:

	packages/SystemUI/res/values/spirit_dimens.xml
Frameworks: Fix linked volume does not persist after reboot.

The controling boolean value must be set before updateStreamVolumeAlias
is called first time. Otherwise updateStreamVolumeAlias will assume
it is always false till user toggle it in settings again.

Change-Id: I53455249909fa6ad69fa0ea6930f9065e5a14fdf
Fix null check for BaseObj.equals.

Change-Id: I4f060697db175cbf0b5617c1220db853bbe53f1f
Identicons: Add identicons to ChaOS Lab [1/3]

When enabled, new contacts will be assigned a unique
5x5 identicon as the contact photo instead of the boring
default one.

PS2:
Make Identicon an abstract class so we can use it to
create different types of identicons.  For starters
we'll use the github style in GithubIdenticon.  This
opens up the door to other types.

PS3:
Season with some salt.

PS4:
Use PNG format and tag it using an iTXt chunk before the
IEND to tag it with "identicon_marker" indicating it is
an identicon.  We can use this to identify if a photo is
an identicon and if so do what we want with it, like
removing identicons.

PS5:
We'll stick with JPG format and add a comment block to
the end.

PS6:
Better...stronger...faster.

PS7:
Add the dot matrix identicon

PS8:
Rename PolkaDotsIdenticon to DotMatrixIdenticon

PS9:
Clean up for release and add proper ChaOS Lab annotations.

Change-Id: I95fdca30686a2993ba5c2a9024a3cf5935b5d360

Conflicts:

	core/java/android/provider/Settings.java
ChaosLab: Add annotation to be used when adding new features to the lab.

This should be used when adding completely new features to ChameleonOS,
and not for simple things that expand upon a current feature.

Change-Id: I37d7250424967d41ecfb885120627f5397b2f804