8854 Commits

Author SHA1 Message Date
Brad Fitzpatrick
5b747191ff StrictMode: gather and return violating stacks in Binder replies
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
2010-07-15 13:18:05 -07:00
Brad Fitzpatrick
727de40c6b More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.
Change-Id: Ia67cabcc17a73a0f15907ffea683d06bc41b90e5
2010-07-15 13:18:05 -07:00
Steve Howard
d6343c26b8 Merge "Interface support for custom HTTP headers in DL manager" into gingerbread 2010-07-15 12:24:14 -07:00
Scott Main
5352d2378d am 38137d7a: Merge "docs: lots of additions to the resources docs new drawable resources add <merge> and <include> to layout resource update drawable class descriptioons to point to resources guide add ID resource type" into froyo
Merge commit '38137d7a27b037611c70a9d900aa53b4c15563bf' into gingerbread

* commit '38137d7a27b037611c70a9d900aa53b4c15563bf':
  docs: lots of additions to the resources docs
2010-07-15 11:20:32 -07:00
Scott Main
38137d7a27 Merge "docs: lots of additions to the resources docs new drawable resources add <merge> and <include> to layout resource update drawable class descriptioons to point to resources guide add ID resource type" into froyo 2010-07-15 11:16:32 -07:00
Steve Howard
ea9147df00 Interface support for custom HTTP headers in DL manager
* 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
2010-07-15 10:22:50 -07:00
Andrew Stadler
c98e431119 am 468c82e4: Merge "Skip hostname verification when using insecure factory" into froyo
Merge commit '468c82e4be0630de04a50d88602cd8c6bc745962' into gingerbread

* commit '468c82e4be0630de04a50d88602cd8c6bc745962':
  Skip hostname verification when using insecure factory
2010-07-14 22:33:42 -07:00
Dianne Hackborn
ed86eaa730 Merge "Argh oops I didn't mean to delete this." into gingerbread 2010-07-14 17:02:49 -07:00
Jim Miller
9d42c7f75c Merge "Fix 2797185: Re-enable thumbnail generation in framework" into gingerbread 2010-07-14 16:59:52 -07:00
Dianne Hackborn
251fd430c7 Argh oops I didn't mean to delete this.
Change-Id: I3d0877d56f1abab3d0929a086621f4ef1212cecc
2010-07-14 16:56:31 -07:00
Steve Howard
05940b2c04 Merge "Download manager support for file URIs + last modified time" into gingerbread 2010-07-14 11:19:38 -07:00
Dianne Hackborn
1d28f9c0aa Fix docs build.
Change-Id: Ibb8e1e4b18ec1e92e28d354cdcce37676056b348
2010-07-13 20:38:06 -07:00
Dianne Hackborn
d76b67c340 IME events are now dispatched to native applications.
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
2010-07-13 18:36:46 -07:00
Jim Miller
0b2a6d0773 Fix 2797185: Re-enable thumbnail generation in framework
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
2010-07-13 18:35:14 -07:00
Steve Howard
adcb697826 Download manager support for file URIs + last modified time
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
2010-07-13 18:31:41 -07:00
Jeff Brown
fd03582995 Add initial gamepad support.
Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
2010-07-13 17:04:57 -07:00
Steve Howard
a270936066 Initial implementation of the download manager public API.
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
2010-07-13 11:12:16 -07:00
Andrew Stadler
df27c0c262 Skip hostname verification when using insecure factory
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
2010-07-12 15:31:40 -07:00
Dianne Hackborn
289b9b6237 Add ANativeWindow API for directly drawing to the surface bits.
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
2010-07-09 16:58:19 -07:00
Jason Parks
bca909c0a5 Change CursorTreeAdapter to close the cursors rather than deactivating them. Fix SimpleCursorTreeAdapter to allow a null cursor as an argument.
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.
2010-07-08 09:02:48 -05:00
Kenny Root
a5402dabec Merge "OBB API for PackageManager" into gingerbread 2010-07-07 18:14:25 -07:00
Chris Tate
b17f4dcfb3 Merge "More native input dispatch work." into gingerbread 2010-07-07 17:43:12 -07:00
Dan Tasse
f3f25bf80b Added some javadoc to Camera.takePicture()
Change-Id: I62597a1417647eeac7611eaccd0df3bda210e3e7
2010-07-07 17:17:06 -07:00
Dirk Dougherty
2651504c02 Merge "Doc change: Add revision notes for Android 2.2_r2 development platform. Fix some umappable characters in WebView class doc." into froyo 2010-07-07 14:29:29 -07:00
Mathias Agopian
ef52b5682d Merge "More improvements to the SensorManager documentation" into gingerbread 2010-07-07 13:06:57 -07:00
Kenny Root
93565c4b32 OBB API for PackageManager
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
2010-07-07 09:57:51 -07:00
Jeff Brown
00fa7bdd69 More native input dispatch work.
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
2010-07-03 19:23:01 -07:00
Dianne Hackborn
682674154e Add new native Looper API.
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
2010-07-02 18:57:02 -07:00
Mathias Agopian
0f791a799d More improvements to the SensorManager documentation
Change-Id: I8ab79e8787402f0db572226029820b3cf605086f
2010-07-02 17:57:10 -07:00
Dirk Dougherty
0b2395c193 Doc change: Add revision notes for Android 2.2_r2 development platform. Fix some umappable characters in WebView class doc.
Change-Id: I5522406335fbf96164a5b812ec4891c499343d1e
2010-07-02 15:07:47 -07:00
Dianne Hackborn
54a181b1a2 Make real API for native code to get its window.
Added implementation to use ANativeWindow and provide
it to a NativeActivity.

Change-Id: I890d71b6e15d4af71e6cf81b327961d7061ec1c2
2010-07-01 14:43:23 -07:00
Amith Yamasani
c7dacb7374 Merge "DO NOT MERGE: Add a battery capacity value to the power profile." into gingerbread 2010-07-01 13:51:27 -07:00
Amith Yamasani
169741b708 DO NOT MERGE: Add a battery capacity value to the power profile.
Can be accessed through PowerProfile.getBatteryCapacity()

Individual device profiles need to be updated with their capacities.

(merged from master)

Change-Id: Ie76ab6de47c44807a46934331665e077a7226566
2010-07-01 13:42:59 -07:00
Christopher Tate
160edb3645 Add ability to guard a thread against setting its own prio to bg
The guard is compiled out by default because it adds overhead to
android.os.Process.setPriority().

Change-Id: Ibb2a648c6349b381abb7ae62a358888b04fba871
2010-06-30 18:25:01 -07:00
Christopher Tate
c8525edcba Merge "Remove memory monitoring from the system watchdog" into gingerbread 2010-06-30 14:55:44 -07:00
Christopher Tate
c27181c7f3 Remove memory monitoring from the system watchdog
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
2010-06-30 14:53:39 -07:00
Doug Zongker
24c737ccdd am d581484e: Merge "Verify hostname where possible, and clarify where not." into froyo
Merge commit 'd581484ef8fac80c15ebf652e66f918374df5109' into gingerbread

* commit 'd581484ef8fac80c15ebf652e66f918374df5109':
  Verify hostname where possible, and clarify where not.
2010-06-30 11:17:00 -07:00
Dianne Hackborn
3c80a4a044 Implement default key handling for native code.
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
2010-06-30 10:49:40 -07:00
Dan Egnor
7fc93c36ae Verify hostname where possible, and clarify where not.
Bug: 2807409
Change-Id: I6f6a6b22a48149d9f1f45ff8f53103b25706ecc0
2010-06-29 19:19:10 -07:00
Mike Lockwood
606d591afe Merge "Add new Usb.ACTION_USB_STATE sticky broadcast for monitoring USB connect state" into gingerbread 2010-06-29 05:24:22 -07:00
Jeff Brown
349703effc Native input event dispatching.
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
2010-06-28 19:10:54 -07:00
Mike Lockwood
709981eeed Add new Usb.ACTION_USB_STATE sticky broadcast for monitoring USB connect state
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>
2010-06-28 10:02:05 -04:00
Chih-Chung Chang
de1057c4a6 Unhide new API for supporting multiple cameras.
Change-Id: I916a536c80330444a15986ba380205a6deed2390
2010-06-28 11:12:45 +08:00
Dianne Hackborn
9d39d0cb36 Make bad notifications crash their application.
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
2010-06-24 17:27:28 -07:00
Dianne Hackborn
01e4cfc47d Some ActivityThread/ActivityManager cleanup.
- 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
2010-06-24 15:20:48 -07:00
Dianne Hackborn
baf42c625c Add APIs for finding heavy-weight apps.
Change-Id: I6c865cce404cac1a08eee056f963de5d276d5898
2010-06-24 11:38:47 -07:00
Mike Lockwood
2423607a32 Add a new UEventObserver subclass to broadcast an Intent whe USB state changes.
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>
2010-06-24 09:36:50 -04:00
Joe Onorato
c27bb55980 Need to give the AppWidgetHostView the new info about the provider, in case the initialLayout
changed.

Bug: 2772728
Change-Id: I9e230fbe42d01cfc953cdafb86dd0d616d96a3ea
2010-06-23 17:44:30 -07:00
Dianne Hackborn
1e4b9f3936 Remove InputConsumer, replacing with InputQueue.
Change-Id: Ib06907278457aaee842b123adc072840ca3602d8
2010-06-23 14:37:30 -07:00
Daniel Sandler
69a4817e3e Immersive activity API.
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
2010-06-23 16:29:36 -04:00