This is kinda gross, but I can't find a good way to check for the
existence of gettid(), except by finding its syscall number. Then
might as well just use it rather than hope gettid's around, as it's
not in sim-eng.
Change-Id: Ieb7b39426dec08bd715b6fe1a9ab5b2801bdf775
This mimics what we do already for SQLiteDatabase's db_operation and
ContentProvider's content_query_operation and
content_update_operation: over a threshold things are always logged,
and under which they're sub-sampled.
Change-Id: Ia0280b9b07b336ee88b17be2a31a7af0fd7c5770
On keyboardful devices, it is possible to disable the system soft input
method. Something changed in eclair that caused the ime to be re-enabled
on every package manager update (packages added/deleted).
Now keep track of disabled system imes in the settings db and search
in that list before enabling a system IME on package changes.
Every time the user goes to settings to enable/disable imes, the list
is re-created.
Any new system IMEs that may be added via an OTA will get enabled if
they have a different package name.
If the Binder is allocated but its constructor does not run for some
reason, then Binder.init() will not be called. Since the object was
allocated, it is still eligible for finalization. Eventually when
the finalizer runs and calls Binder.destroy(), it will have a NULL
binder holder pointer. Previously this would cause Binder.destroy()
to attempt to decrement a reference count on a NULL pointer.
Now we check and ignore the binder if it does not have a valid
holder pointer.
Bug: b/2533956
Change-Id: Ifc2729b2f2abe8bceea5a0645ae0a4c1575b7846
The view infos should never be null since they are created by ListView, which is
the natural and only use of this class.
However, some tests in CTS pass null pointers. Replace null by a static empty list.
http://b/issue?id=2527753
Change-Id: I9b92fa018c89007f12be899285f75130b2c8ac40
Null header and footer, as used by CTS tests, were no longer supported.
Added a static empty list to avoid repetitive null tests in that case.
Fixed getItem/getItemId/getView to handle corner cases.
Changed ListAdapter isEnabled documentation for invalid positions.
http://b/issue?id=2527753
Change-Id: I55e5bf21cb0673d906caa7c669987a6ae869d90f
Handle ACTION_CANCEL, fix edge cases related to grabbing content and
beginning a new scroll during overfling/springback. Will prevent
some cases where a view could get stuck overscrolled.
Change-Id: I7e89d9de9b7dc685d2ea278e6b2bd2c794364204
The issue is that our code often "executes" a query
on a background thread but iterates over the cursor
on the UI thread. Since we actually do the fetch
on moveToFirst or moveToNext, the query is in reality
often run on the UI thread and causes an ANR.
Change-Id: Ia561135e974a44ad3e3774ecb23c6a3d0fc38176
Register to receive configuration changes and query the Display rotation as that
will reflect both device orientation and an open keyboard.
Bug: 2219138
Change-Id: Ibd6119ae0c7d473e1a9ede3af24bb4b584c9db71
Fix for http://b/issue?id=2539948
This public API can be called from any thread, so do not use an
AsyncTask. In a separate changelist, the caller now uses an
AsyncTask instead.
Change-Id: I646950964323f8c749f9aa2176226561c6f2b21f
Currently, the browser does not use the credentials supplied from JavaScript.
If a request returns a 401 Unauthorized, the browser always prompts the user.
This violates http://www.w3.org/TR/XMLHttpRequest/#the-send-method
Bug: 2533522
Change-Id: I8e72c1a0be187d193c4ad6b2ca8a624c7ae06fa1
This also makes the 500ms logging threshold (over which is always
logged, and under which is sub-sampled) configurable via a
SystemProperty, which is mostly useful for interactive debugging when
lock contention is suspected, but could also be useful in the future
as a quick way to adjust this threshold for dogfooders, without code
changes.
Change-Id: I769069d8d870331d89a4aa3239ba50db806fe4d4
to froyo
- intepret a missing syncavble attribute from donut as "unsynced"
rather than the traditional "true"
- copy the sync settings from the authorities "contacts" and "calendar"
to "com.android.contacts" and "com.android.calendar" if the latter
don't already have settings
- delay the database cleanup until after boot completed, which will give
the GoogleLoginService accounts migration code a chance to run; this
was causing all the settings to get removed upon a donut to froyo upgrade
Change-Id: I8795e97ba0c9b930d1a50784229ca9ab15dff9d2
http://b/issue?id=2531359
This prevents a crash that is caused by calling
WebView.loadDataWithBaseUrl with a null failUrl (which I have renamed
to historyUrl). Also update the docs to be more accurate.
Fixes the general case of bug 2522457
Change-Id: I832351ce1e0016b00e924a2f9b0097ae15fba34a
killed the phone process
Try to make sure we never have a ParcelFileDescriptor with a null
FileDescriptor. That is just wrong.
Change-Id: Ib779ad1852dd239827797cd8f93505bfe6157e58
release the Surface in SurfaceView when it's not visible, after it comes back from relayout(),
it should not be holding buffers at this point, but it's cleaner to have it in the released state.
also log a warning in Surface.finalize() when there is work to do, as it means Surface.release() wasn't
called when it should have.
Change-Id: Id637d4ec2916d8fd800b0344d8dec6cecce02051
Previously, this would always return the app context for the first application
ever instantiated in the process. Usually this is fine, since usually there
will be one process per application, but in the case of shared-process apps,
it causes activities/views to try to access the wrong set of resources, be
unable to access their proper derived-class Application objects, etc.
Fixes bug #2513901
Change-Id: Ie19f2a86583c5d927db4d84a4262077450e37539
Use new method in UsbStorageActivity.
Fix moving dex files.
moveDex should be suffixed with LI since it uses Installer
Change-Id: Id5ef0254578e84b9aae2c2ac44f722eb5a0fda1c