1178 Commits

Author SHA1 Message Date
Steve Howard
33bbd12a05 New download manager error code when we can't resume.
Adding DownloadManager.ERROR_CANNOT_RESUME for when we can't resume an
interrupted download (because the server didn't provide an ETag or
doesn't support range requests), as well as the necessary private
status code in Downloads.Impl.

Change-Id: I5a66f1e1964198552ab2216aa6d3cc0db2254e21
2010-08-16 14:28:17 -07:00
Doug Zongker
7d2e3df60d add an api for getting a device serial number
Add a constant to android.os.Build that returns a device-specific
alphanumeric serial number.  It's optional -- it may be blank --
though CTS will require it to be present for non-telephony devices.

Change-Id: I338ae5f43ba679a5e98f2f437dc4efdaef0c835d
2010-08-16 09:18:50 -07:00
Kenny Root
a02b8b05dd Move OBB file reading to DefaultContainerService
The system_server shouldn't touch files on the SD card. This change
moves the things that touch the SD card out to the
DefaultContainerService so that it will get killed if the SD card goes
away instead of the system_server.

Change-Id: I0aefa085be4b194768527195532ee6dddc801cfc
2010-08-11 11:20:53 -07:00
Dianne Hackborn
08d5b8fad8 More native work.
Implement save/restore of state, and add native APIs for
configuration information.

Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
2010-08-11 00:29:59 -07:00
Eric Laurent
2a6b80bc65 Fixed several audio effects problems.
- Fixed constant inversions in AudioEffect.java
- Do not return error when enabling an already enabled effect
- Update cached effect state in native AudioEffect class when effect is enabled/disabled by command() method
- Remove click when restarting effect during disable sequence
- Fixed problem in master mute management when volume control is delegated to effect.

Change-Id: I6df4ce9fcc54fdc7345df858f639d20d802d6712
2010-08-09 05:48:20 -07:00
Steve Howard
8e15afe799 Make downloads visible by default.
Change-Id: I8f8b325658d8afc964bddd3f1c03ed20e6bd10aa
2010-08-06 11:06:49 -07:00
Brian Carlstrom
3c7c351a62 Tracking merge of dalvik-dev to gingerbread
git cherry-pick --no-commit f77cf7f0
git cherry-pick --no-commit c8f503b5285e30c1a881d0ba860ba9021f57d113
git cherry-pick --no-commit 570bb561
git cherry-pick --no-commit e2417541
git cherry-pick --no-commit e4d81f25bd4dc1a5c909b56ab56a56406290da30
git cherry-pick --no-commit 5e8a587d

Change-Id: I101a385d43f3e0f4ce5352217f92ef67a3908c88
2010-08-04 23:47:38 -07:00
Eric Laurent
f383a9a115 Fix the build.
Forgot to update current.xml in last patch set for change
I541ee4ad0232312ec720545737cbcdb8c9a82597

Change-Id: I528a43fd01ca2478145fe54d90747f489ab7a2b3
2010-08-04 09:18:46 -07:00
Eric Laurent
17cb280e7f NEW_API: Unhide audio effect APIs.
This change unhides all public APIs for controling audio effects exposed
by the following classes:
- AudioEffect
- BassBoost
- EnvironmentalReverb
- Equalizer
- PresetReverb
- Virtualizer
- Visualizer

Also fixes several problems in javadoc.

Change-Id: I541ee4ad0232312ec720545737cbcdb8c9a82597
2010-08-04 08:31:01 -07:00
Mathias Agopian
04d7e83e65 Added SensorManager.getAltitude()
this is a helper function to calculate the altitude from the
pressure and pressure at sea level.

Change-Id: I3f6f14fee6190388f95afa36a66287e3d59eef9b
2010-07-29 18:18:01 -07:00
Mathias Agopian
050b56244f Added SensorManager.getMinDelay()
Exposed the new "min delay" sensor property through native and
java sensor apis. This allows the caller to know what is the
maximum rate at which a sensor can return events, or, if a sensor
works in "update" mode (events returned only when the value changes).

Also augmented SensorManager.regusterSensorEvent() so that it can
accept a value in microsecond in addition to the 4 constants already
defined.

Change-Id: If425e9979892666df8c989d7de3c362230fa19e0
2010-07-29 18:18:00 -07:00
Jeff Brown
6ec402b5ae DO NOT MERGE: Fix input event injection ANRs on UI thread.
Added a new asynchronous injection mode and made the existing
synchronization mechanism more robust.

Change-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6
2010-07-29 12:54:27 -07:00
Jeff Brown
6d0fec2de3 Refactor input reader to support new device types more easily.
Refactored the input reader so that each raw input protocol is handled
by a separate subclass of the new InputMapper type.  This way, behaviors
pertaining to keyboard, trackballs, touchscreens, switches and other
devices are clearly distinguished for improved maintainability.

Added partial support for describing capabilities of input devices
(incomplete and untested for now, will be fleshed out in later commits).

Simplified EventHub interface somewhat since InputReader is taking over
more of the work.

Cleaned up some of the interactions between InputManager and
WindowManagerService related to reading input state.

Fixed swiping finger from screen edge into display area.

Added logging of device information to 'dumpsys window'.

Change-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612
2010-07-28 14:16:15 -07:00
Steve Howard
f547d722f9 One last change to current.xml for new download manager API
Change-Id: If88984ad64880a81e4dbb4ef9f8118cc52bb891f
2010-07-27 16:50:07 -07:00
Steve Howard
46be2a5bb6 Un-@hide new download manager public API.
Change-Id: Ia8433160ef40e25fb9408f05f97c7bbfa10a807e
2010-07-26 20:44:35 -07:00
Vasu Nori
94dab9b135 fix broken api/current.xml
Change-Id: I6cc03dddf20228625f18f7a59aed22628f9661fa
2010-07-17 18:29:22 -07:00
Vasu Nori
5b31498ba1 add video/audio chat-compatibility modes to ContactsContract
Change-Id: Ic0b04017ad4216f1a1c5f07fa9d27e6970ded931
2010-07-17 18:16:31 -07:00
Jeff Brown
e33348ba54 Fix bug with phantom input windows.
Add dumpsys integration for the native input dispatcher.
Add some InputDevice API stubs.
Add an appendFormat helper method to String8 for printf style
string formatting mainly for debugging purposes.
Use generic ArrayList<WindowState> everywhere in WindowManagerService
to eliminate unnecessary casts all over.

Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
2010-07-16 00:02:48 -07:00
Kenny Root
02c8730c1b Add API to call to vold for mounting OBBs
* Unhide StorageService class; hide all the USB-related items

* Add application-visible API to StorageManager for OBB files

* Add class for parceling OBB info across binders (ObbInfo)

* Add a JNI glue class to libutils/ObbFile (ObbScanner)

* Add API to MountService to deal with calling into vold and checking
  permissions

Change-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd
2010-07-15 21:31:58 -07:00
Jeff Brown
c5ed5910c9 Add support for new input sources.
Added several new coordinate values to MotionEvents to capture
touch major/minor area, tool major/minor area and orientation.

Renamed NDK input constants per convention.

Added InputDevice class in Java which will eventually provide
useful information about available input devices.

Added APIs for manufacturing new MotionEvent objects with multiple
pointers and all necessary coordinate data.

Fixed a bug in the input dispatcher where it could get stuck with
a pointer down forever.

Fixed a bug in the WindowManager where the input window list could
end up containing stale removed windows.

Fixed a bug in the WindowManager where the input channel was being
removed only after the final animation transition had taken place
which caused spurious WINDOW DIED log messages to be printed.

Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
2010-07-15 18:32:33 -07:00
Mathias Agopian
058d0390a4 Remove the YV16 format for simplicity's sake.
Change-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf
2010-07-14 15:12:05 -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
Jeff Brown
fd03582995 Add initial gamepad support.
Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
2010-07-13 17:04:57 -07:00
David Brown
26c679751d Deprecate some status bar icons that now come from the phone app (and
shouldn't have been public in the first place.)

(And since the changed deprecation state is a public API change, I needed
to do "make update-api" as well.)

Change-Id: I803d5a81ad2363561137be5af4f2b8258df758cd
2010-07-09 16:01:25 -07:00
Daniel Sandler
841b176dc0 Make android:immersive public.
This exposes the AndroidManifest attribute
android:immersive, introduced in Change I967bb10b, to the
SDK.

Change-Id: Iccbc99590cd0fd4c570b9b9670ef93036f9d849e
2010-07-08 15:39:22 -04: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
Chih-Chung Chang
09b9005769 Add multiple camera support for in MediaProfiles.
Change-Id: Ie89568a0f5f5fd08ede77e33f9a559215d6bed9a
2010-07-01 10:57:15 +08: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
baf42c625c Add APIs for finding heavy-weight apps.
Change-Id: I6c865cce404cac1a08eee056f963de5d276d5898
2010-06-24 11:38:47 -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
Mike Lockwood
8900c32986 andriod.location.Criteria: Simplify new location criteria APIs a bit.
Remove ACCURACY_BEST and only use ACCURACY_MEDIUM for horizontal accuracy.
Remove accuracy priority support, since it be difficult to implement in some cases.

Change-Id: I785a781f8d8f3bf3be6693ad71d077b6eb280c31
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-23 14:34:03 -04:00
Dianne Hackborn
a95e4cb62f First stab at attaching native event dispatching.
Provides the basic infrastructure for a
NativeActivity's native code to get an object representing
its event stream that can be used to read input events.

Still work to do, probably some API changes, and reasonable
default key handling (so that for example back will still
work).

Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
2010-06-22 11:21:50 -07:00
Daniel Sandler
613dde4aa6 Revised "immersive mode" API.
No longer a window bit, FLAG_IMMERSIVE is now set on
ActivityInfo.flags and in the Activity's manifest as
android:immersive="true" (ActivityInfo).

[An "immersive" activity is one that wishes to avoid being
paused by full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE/android:immersive is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.]

[Originally: change Ie290c2e.]

Change-Id: I967bb10b930b8f0772b10f81f2957a03fa3f1736
2010-06-22 12:30:12 -04:00
Jack Palevich
224107a421 Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
Change-Id: Id0069535e97fe96eef74e4d0c1d19b010061fe3b
2010-06-22 20:08:40 +08:00
Jeff Brown
e899caf8cc Fixed api/current.xml after a bad merge.
Change-Id: I033f417e928eb541f0528521326b66776a3c9096
2010-06-17 13:49:02 -07:00
Jeff Brown
5c225b1680 Even more native input dispatch work in progress.
Added more tests.
Fixed a regression in Vector.
Fixed bugs in pointer tracking.
Fixed a starvation issue in PollLoop when setting or removing callbacks.
Fixed a couple of policy nits.

Modified the internal representation of MotionEvent to be more
efficient and more consistent.

Added code to skip/cancel virtual key processing when there are multiple
pointers down.  This helps to better disambiguate virtual key presses
from stray touches (such as cheek presses).

Change-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c
2010-06-17 13:27:16 -07:00
Daniel Sandler
611fae4c39 New API for "immersive" activity windows.
An "immersive" activity (as indicated by the new
FLAG_IMMERSIVE) is one that wishes to avoid being paused by
full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE on its window is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.

FLAG_IMMERSIVE should be used exclusively in conjunction
with FLAG_FULL_SCREEN (that is, only activities that hide
the status bar should consider themselves immersive).

Change-Id: Ie290c2e92fc391bcf55edfdb1fbd626cd284e3e2
2010-06-17 11:43:35 -04:00
Daniel Sandler
e46cbd379a New API for high-priority Notifications and full-screen alerts.
* fullScreenIntent: a PendingIntent pointing to a
  full-screen activity or other modal alert experience to be
  shown to the user instead of (or in addition to) a
  traditional status bar notification icon. Example: An
  incoming call should pop up a full-screen activity
  allowing the user to accept or decline the call.

  The old way to accomplish this is to simply fire off the
  full-screen intent directly from the Phone app. By routing
  through the Notification system, we make way for the
  FLAG_IMMERSIVE bit (forthcoming API) which would allow the
  frontmost opaque window to suppress full-screen alerts.

* FLAG_HIGH_PRIORITY: This bit allows a notification to be
  shown in windows that have the FLAG_IMMERSIVE bit set. For
  example, a Notification corresponding to an incoming call
  would be marked HIGH_PRIORITY so that even in an immersive
  activity (i.e. a networked game) the Notification could be
  shown to the user.

Change-Id: I4943e53f425800a6e152bc4992dd41586b43aff8
2010-06-17 11:34:13 -04:00
Wei Huang
2b24ecfbb2 add new video/audio presence icons in the framework resource dirs, and make them public.
- add definitions for

presence_video_away
presence_video_busy
presence_video_online
presence_audio_away
presence_audio_busy
presence_audio_online

in the public.xml, and update current.xml

- the actual icons for the audio versions are not yet done, so I used the video versions as placeholders.

Change-Id: I9e2be5dd05619cbdbbb61dc231e9da1984ddbb36
2010-06-15 15:19:40 -07:00
Dianne Hackborn
3e03cfa3af Update build version information.
Change-Id: If53f16d494255230859a30f561e9a78ec49c6c10
2010-06-14 14:08:20 -07:00
Dianne Hackborn
32907cfb38 Adjust activity manager process OOM adj.
Modify OOM adj classes a bit, to take into account the new
heavy weight app type, and give "foreground services" their
own category to have a bettery chance to manager them when
things go wrong.

Also add some new code to battery stats to keep a history
of changes to the battery level.

Change-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a
2010-06-11 10:39:11 -07:00
Wu-cheng Li
2fd73a4522 Unhide camera metering mode API.
Change-Id: Ia3ca83e2a0b5b322e5dbf9ae3d5c1d3b89e0fd31
2010-06-11 15:29:49 +08:00
Andreas Huber
4d61f602bf Switch stagefright's approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.
Change-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2
2010-06-10 15:16:57 -07:00
Brad Fitzpatrick
438d059512 Introduce "StrictMode"
This is a new public API for developers to opt-in to strict rules
about what they're allowed to do on certain threads.  (this is the
public face of the @hide dalvik.system.BlockGuard, added recently...)

In practice this will be used for developers to opt-in to declaring
that they don't want to be allowed to do various operations (such as
disk I/O or network operations) on their main UI threads.  (these
operations are often accidental, or even when they are fast come with
a good chance of being slow or very slow in some cases....)

Implementation wise, this is just a thread-local integer that has a
bitmask of the things that aren't allowed, and more bits for saying
what the violation penalty is.  The penalties, of which multiple can
be chosen, include:

  * logging
  * dropbox uploading for analysis/reporting
  * annoying dialog
  * full-on crashing

These are all only very roughly implemented at this point, but all
parts now minimally work end-to-end now, so this is a good checkpoint
commit before this gets too large.

Future CLs will polish all the above 4 penalties, including
checksumming of stacktraces and minimizing penalties for duplicate
violations.

Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
2010-06-10 14:38:58 -07:00
Dianne Hackborn
b7bb3b3df6 Fix bug in reporting a processes's dependent component.
Also add new action to show an app's details.

Change-Id: I6ad3b3ac8462f5acf726ce76130882a262adff92
2010-06-07 11:01:29 -07:00
Dianne Hackborn
860755faa6 Add support for heavy-weight applications.
Only one can be running at a time, their process can not be killed,
and a notification is posted while it is running.

Change-Id: I843015723947e0c934ae63a1aeee139327c0bc01
2010-06-04 10:09:13 -07:00
Wu-cheng Li
c109190b69 Add support for gps altitude EXIF tags.
Also improve the precision of getLatLong().

Change-Id: Id2c60f0d1d19e9da173b5ec1228f03c2195e189f
2010-05-27 15:59:05 +08:00
Mark Vandevoorde
01ac80b715 Add Geocorder.isImplemented()
The Geocorder interface is not part of the Android core.  It
requires a backend service which may or may not be available
on a device.  The new isImplemented static method allows
apps to discover whether the Geocorder is in fact available
on the device.

Change-Id: I2b5cf7bcc9cce4766bcbb156e91edf34b01f9296
2010-05-21 15:43:26 -07:00
Mike Lockwood
71677f84e7 Unhide new location manager APIs:
Criteria.java
LocationManager.java
New APIs for criteria based location requests and single shot support.

GeocoderParams.java
GeocodeProvider.java
LocationProvider.java
APIs for network location unbundling.

Change-Id: I3311fa01ce76fe4cba3537617e5b1c8d1f1d42b7
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-21 14:03:45 -04:00