1. ViewGroups being removed from the layout during a drag would wind up
crashing the app with an NPE at drag-ended time, due to blind dereference
of now-cleared object pointers.
2. Passing a 'null' ClipData to startDrag() would crash the system
process with an NPE. Should this even be valid? I'm inclined to say
yes, though it means that apps will need to guard against it.
Fixes bug 3369542
Change-Id: I168fc1284d6fd4403999946609725414cf254df0
When the AudioFlinger runs out of available AudioTracks (max 32),
the ToneGenerator constructor throws a RuntimeException. Although this
denotes an abnormal situation, VolumePanel should catch this exception.
Change-Id: Ida1312fe4857e99a0ef38b4013cb03e819405689
Bug:3367446
bringPointIntoView was called by TextView in onPreDraw. This was
passing a message to the webcore thread to change the scroll
position. This is unnecessary, because typically the scroll
position will be changed by webkit when keys are pressed. The
one situation where this helped was when the user taps on a
textfield, which brings up the IME, which may cover it. A better
solution is to tell webkit to scroll it on screen once the
screen size changes. I have a CL in external/webkit to do that:
https://android-git.corp.google.com/g/#change,91095
Change-Id: I6e06ad59e1a1c99365bb5be635a43d1b88658c0d
Receive the current seek position from native when we start
playing a video. That way is we are returning from pause we correctly
continue where we left off.
Requires and external/webkit change.
(I6001f45a362f491e9040c8b52260d0a08fb8504f)
Bug:3303721
Change-Id: I6b92289d4ef36bba1e0429327917533a4101655d
- Moving the service binding to AppWidgetService to prevent arbitrary apps from binding to widget services
- Requiring RemoteViewsServices to require android.permission.BIND_REMOTEVIEWS permission
Change-Id: Id135bafba998299eb278067712b8a5d8487cfd04
Fixes a regression from Froyo. Previously, when a scroll view
had no children, its onTouchEvent would return because the scroll
view would only start dragging if the user touched one of its children.
In Gingerbread, the user can drag from anywhere within the scroll
view, not just by touching a child. However, it makes no sense
to drag a scroll view that has no children so an empty scroll view
should just ignore touches like any other empty view group would.
This change fixes applications that for some reason or other happen
to have empty scroll views in strange places.
Bug: 3246230
Change-Id: Iada6e886e8363e6778f42fc4861de228512d8bed
Don't dismiss by default when tapping outside, even for AlertDialog.
If AlertDialog doesn't have any buttons, tapping outside will dismiss it.
Applications can make their own dialogs (or activities looking like
dialogs) can use the existing and new APIs to control this behavior
themselves so that it does the right thing.
Change-Id: I02bfb9161e169de0033200211b3a7ec80080bd83
We no longer enforce permissions for applications that are accessing
their own components. This allows an application to require a permission
on one of its components that it does not itself have. This is useful
for example with the new advanced widgets, which require a system-only
permission on the implementing service to ensure the app's data stays
private but it is nice to allow the application to still touch its own
widget service.
Change-Id: I5d61930a083816919545870039ad191314ed48c6
Bug: 3241808
Make sure the directory the caller is trying to open the icon db
in actually exists and create it if it doesn't.
Change-Id: Ie5e4a09210e9430edc318846a551542119969053
Every time the PreferenceScreen is displayed a new ListView is
created and bound to the adapter. As the same adapter is used during
the lifetime of PreferenceScreen and the listviews never gets
unbound, the adapter will contain a list of unused views. The old view
should be unbound from adapter when we create a new view.
Change-Id: I13e2d0dc79c8ff79b58efa650653e3f84c6e53c5
There is already a cache of all non-null return values for calls to
getService(), so don't bother caching it in Environment. This caused
some problems when Environment was called too early in the boot process
and getService() returned null.
Change-Id: I66739d01dab7e422f660d26b370ecce110dcc808