Now, when Thread A has a strict mode policy in effect and does a
Binder call to Thread B (most likely in another process), the strict
mode policy is passed along, but with the GATHER penalty bit set which
overrides other policies and instead gathers all offending stack
traces to a threadlocal which are then written back in the Parcel's
reply header.
Change-Id: I7d4497032a0609b37b1a2a15855f5c929ba0584d
Merge commit '38137d7a27b037611c70a9d900aa53b4c15563bf' into gingerbread
* commit '38137d7a27b037611c70a9d900aa53b4c15563bf':
docs: lots of additions to the resources docs
* constants for new DB table, keys for including headers in a
DownloadProvider.insert() call, and new URIs for retrieving headers
* support in DownloadManager to pass headers to the provider
Merge commit '468c82e4be0630de04a50d88602cd8c6bc745962' into gingerbread
* commit '468c82e4be0630de04a50d88602cd8c6bc745962':
Skip hostname verification when using insecure factory
And also:
- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
around the IME or status bar).
There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.
Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
This re-enables thumbnail generation code in the framework
with a few improvements.
In addition to enabling the system to capture thumbnails,
it removes padding from the borders to account for space
overlapped by system widgets (status bar, etc.). Thus,
the contents of the bitmap are only those pixels unique to
the activity.
It also maximizes resolution of the bitmap by capturing the
image in the application's current orientation. In landscape
mode, it captures a bitmap with dimensions w x h. In portrait,
it captures a bitmap with dimensions h x w. Where w and h are
thumbnail_width and thumbnail_height as defined in dimens.xml.
Though enabled, the change is not currently used in this
branch. The work is being checked in here to avoid
complicated downstream merges.
Change-Id: Ifc8a4e0075d7d0697d8159589be3816ace31d70c
First, in the download manager public API, I'm changing
COLUMN_REQUESTED_TIMESTAMP to COLUMN_LAST_MODIFIED_TIMESTAMP, a field
that already exists in the download manager. Upon inspection of
existing users of this field, it looks like there are some good use
cases -- for instance, looking at when a download completed. And if
I'm exposing that timestamp, there's no need to also expose the
requested timestamp.
Second, this change includes support for file URI destinations:
* add DESTINATION_FILE_URI for use by the DownloadManager wrapper
* make DownloadManager use it appropriately
The backend support is in a separate change (since it's in a separate
project).
Also fixing a bug with file URI construction when DownloadManager
fills in COLUMN_LOCAL_URI.
Change-Id: I5bb93a222cd23215c2a03ed9f68d7f140454f7f2
The implementation is in android.net.DownloadManager, which is
obtained through Context.getSystemService(). Right now this class
acts as a simple wrapper on top of the existing DownloadProvider,
exposing a simple interface to a subset of DownloadProvider's
functionality. There are several TODOs for features that require
changes to the underlying download manager implementation.
Change-Id: I2f26e51b60b6e82af8478ac7ccd895667df095b6
If the factory was obtained by calling getInsecure(), calls to
createSocket() should skip hostname verification (along with all of the
other skipped safety checks.)
This change slightly relaxes the too-strict checking that was introduced
in change 7fc93c36ae235115727296780dbc35101622bbd4.
Bug: 2834174
Change-Id: Iab7ef861ad0ca727f82ee8cdb78b89b9e835740d
Also other cleanup and fixes:
- We now properly set the default window format to 565.
- New APIs to set the window format and flags from native code.
- Tweaked glue for simpler handling of the "destroy" message.
- Um, other stuff.
Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
Not closing the cursors was a bit of a bug since the documenation explicitly says that it would close the cursors. This will get rid of all the warnings that are printed out in the finalizer about the cursor not being closed.
Simple API for tracking .obb files associated with packages. Stores the
path in the PackageSettings. No verification of file content is done
now since the PackageManagerService can't read the SD card where these
files will likely live.
Change-Id: Ibeaf26ba0526b6d60f401137e58f46ee9faff39e
Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.
Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
This allows us to avoid exposing the file descriptor of
the event queue; instead, you attach an event queue to
a looper. This will also should allow native apps to be
written without the need for a separate thread, by attaching
the event queue to the main thread's looper and scheduling
their own messages there.
Change-Id: I38489282635895ae2cbfacb88599c1b1cad9b239
Can be accessed through PowerProfile.getBatteryCapacity()
Individual device profiles need to be updated with their capacities.
(merged from master)
Change-Id: Ie76ab6de47c44807a46934331665e077a7226566
The guard is compiled out by default because it adds overhead to
android.os.Process.setPriority().
Change-Id: Ibb2a648c6349b381abb7ae62a358888b04fba871
This was originally written as an in-case-we-need-it facility, but was
never actually used in production. It also soaked up a surprising amount
of cpu on occasion, as well as doing sketchy things like demoting the
system_server's primary looper thread to the background cgroup at times.
Change-Id: I9a81a8d1e9caea9e0a1277d97785fe96add438d7
Merge commit 'd581484ef8fac80c15ebf652e66f918374df5109' into gingerbread
* commit 'd581484ef8fac80c15ebf652e66f918374df5109':
Verify hostname where possible, and clarify where not.
The native code now maintains a list of all keys that may use
default handling. If the app finishes one of these keys
without handling it, the key will be passed back off to Java
for default treatment.
Change-Id: I6a842a0d728eeafa4de7142fae573f8c11099e18
Target identification is now fully native.
Fixed a couple of minor issues related to input injection.
Native input enabled by default, can be disabled by setting
WindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.
Change-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff
This can be used instead of ACTION_USB_CONNECTED and ACTION_USB_DISCONNECTED
by clients that need to be informed of both USB connect and disconnect events
Change-Id: Ic26927af2e775c2694d18775f9d574c97b095dfd
Signed-off-by: Mike Lockwood <lockwood@android.com>
Implement notification manager handling of bad notifications, to
call a new activity manager to have the owner's process crashed
(if there is one).
Change-Id: Ib15e8d0c598756f3b39c99cc2045c18e054daf6b
- Move PackageInfo out of ActivityThread, renaming to LoadedApk.
- Rename some of the other PacakgeInfo inner classes to better
represent what they are.
- Rename HistoryRecord to ActivityRecord.
- Introduce AppGlobals, to eventually let ActivityThread become
package scoped.
Change-Id: Ib714c54ceb3cdbb525dce3db9505f31042e88cf0
We now broadcast Usb.ACTION_USB_CONNECTED and Usb.ACTION_USB_DISCONNECTED
when USB is connected or disconnected.
The ACTION_USB_CONNECTED extras indicate the enabled/disabled state of
all USB functions.
Change-Id: I11495d039429dbe22bd738067296e39ae415befa
Signed-off-by: Mike Lockwood <lockwood@android.com>
An Activity can declare itself to be "immersive" either by
setting android:immersive="true" in AndroidManifest or by
calling setImmersive(true).
Immersive activities "should" not be interrupted, for
example by Notifications with an associated
fullScreenIntent. (In the future we may even prevent any
non-system application from successfully calling
startActivity() if the foreground activity is immersive.)
Notifications with FLAG_HIGH_PRIORITY set will be shown to
the user in some less-obtrusive way if the frontmost
activity is immersive.
Change-Id: I8d0c25cc4e22371c27cbf2bb6372d2c95d57b2d7