Fix a programmatic smooth scroll bug

Bug: smoothScrollToPosition() stops at child view of which height is
higher than list view itself.

Change-Id: I695ca9db4c706aa7f365967dd3916f9a01917346
Signed-off-by: Yongyi Li <yongyi.li.cn@gmail.com>
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
Treat default value that wasn't found as empty value.

Fixes http://code.google.com/p/android/issues/detail?id=33220

Change-Id: If22e8b245f688d922c168aa54c8acf743c0644d7
Do pulse LED on new notification when the screen is turned off.

If a new notification with LED pulse information is occurred
and the screen is turned off then the LED should be pulsed
until the lock screen is swiped off.
Bug tracker Link: http://code.google.com/p/android/issues/detail?id=36433

Change-Id: Id90d0dcd42ca0c4dadd131f6b4990d2790b402fb
Signed-off-by: Soowon Choi <choi.soowon@gmail.com>
Remove group access from private app storage

The directories created by the Context for each application (cache,
databases, shared_prefs, & files) are all readable and writeable by
the group.  In addition, certain files under these directories (eg
shared prefs and databases) are also created as readable and writeable
by the group by default.

In most cases, group access is harmless, because each app (or related
group of apps) is allocated its own unique UID, and its primary GID is
set to the same.  However, in the case of a system app, group access
creates a potential problem, because any process that has the same ID
in its groups is able to access the private storage of the app.  This
is also mostly harmless, except when the system app specifies
android.uid.log, because the adb shell user has AID_LOG as a group,
and is therefore able to read and write the private storage of the app.

The simplest course of action to close this hole is to remove group
access entirely from all apps.  This relies on the following
assumptions:
- Group access to private app storage does not convey any benefits to
non-system apps, because UID always equals GID for apps, and the only
type of process that might have the same GID would be another app.
- Group access to private app storage is undesirable in all cases for
system apps, because only a process with the same UID as the app
should be allowed access to the private storage of the app.

The docs for Context only specify a distinction between MODE_PRIVATE
and MODE_WORLD_READABLE|WRITEABLE, and make no mention of group.  So,
this doesn't break the published API.

Change-Id: I69172dd1506702c5fd9175e691e066bcd4cb4883
NullPointerException in UsbStorageActivity

I have found this bug with the FindBugs tool

Change-Id: I387dd6cbb7281cbc1e8879a75fecb09d55d1a345
Signed-off-by: László Dávid <laszlo.david@gmail.com>