23429 Commits

Author SHA1 Message Date
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
Adam Powell
8f1bfb001b am 8f2ca788: Merge "Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down." into froyo
Merge commit '8f2ca788f369892370477212cf9e7a67721a8c16' into kraken

* commit '8f2ca788f369892370477212cf9e7a67721a8c16':
  Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.
2010-06-10 14:13:51 -07:00
Adam Powell
8f2ca788f3 Merge "Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down." into froyo 2010-06-10 14:09:50 -07:00
Andreas Huber
8d30028065 Merge "Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek." into kraken 2010-06-10 12:41:05 -07:00
Andreas Huber
75c1c8e3f5 Merge "Initial check in of a new http data source implementation." into kraken 2010-06-10 12:40:39 -07:00
Nick Kralevich
9a9724c3be am a2c6d5bf: (-s ours) do not merge: cherry-picked 929b4855b8208d36272769e8eeaa6cd2823b94c0 from master branch
Merge commit 'a2c6d5bf308181c019ade0aac6d25fe33dc3d76c' into kraken

* commit 'a2c6d5bf308181c019ade0aac6d25fe33dc3d76c':
  do not merge: cherry-picked 929b4855b8208d36272769e8eeaa6cd2823b94c0 from master branch
2010-06-10 11:54:53 -07:00
Andreas Huber
1f24b30fe4 Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek.
Change-Id: Ie4153a10ab36c1135f5fcfb572958129d886bcc3
2010-06-10 11:24:49 -07:00
Andreas Huber
163c493b50 Initial check in of a new http data source implementation.
Change-Id: I17c358288ffe9ef690d702c58723c766d0a0cf21
2010-06-10 11:22:56 -07:00
Nick Kralevich
a2c6d5bf30 do not merge: cherry-picked 929b4855b8208d36272769e8eeaa6cd2823b94c0 from master branch
Change-Id: Ie20371234a531f65f523682a0d0c27394dc30afa
2010-06-10 10:39:42 -07:00
James Dong
3a0b37a04e Merge "Remove the lock/unlock workaround from CameraService" into kraken 2010-06-10 10:14:38 -07:00
Andreas Huber
66b89a62aa Merge "Apparently the TI video decoder only supports H.264 up to baseline profile/level 3, not level 3.x as previously assumed." into kraken 2010-06-10 10:12:57 -07:00
Andreas Huber
e2f85077a2 Apparently the TI video decoder only supports H.264 up to baseline profile/level 3, not level 3.x as previously assumed.
Change-Id: I4a9aa80f392dbef72f81e25c67e5bd0654848b2c
2010-06-10 09:52:11 -07:00
Kenny Root
36921ad858 am b00854d4: Import revised translations
Merge commit 'b00854d4c07ee8c810d1e32984543297bfa80a8e' into kraken

* commit 'b00854d4c07ee8c810d1e32984543297bfa80a8e':
  Import revised translations
2010-06-09 22:31:32 -07:00
Kenny Root
b00854d4c0 Import revised translations
Change-Id: I25faf1ade5252fa29cf43aa13e99fef9fc31b418
2010-06-09 22:25:58 -07:00
James Dong
71d714ccbf Remove the lock/unlock workaround from CameraService
bug - 2677772

Change-Id: I7c996daad8b3bfc89e9fa2d655dc18c9a5c68f2f
2010-06-09 21:30:43 -07:00
Mathias Agopian
44bea8f803 Merge changes I00274431,I83be9404,I0359531a,Iceef1e95 into kraken
* changes:
  update EGL headers to the latest
  update GL ES stub libraries with the new GL ES headers
  fix OpenGL ES extension headers from khronos
  update the OpenGL ES headers to the latest
2010-06-09 19:54:29 -07:00
Mathias Agopian
6d4021a67d update EGL headers to the latest
note that this doesn't update the EGL stubs.

Change-Id: I00274431a490249d93eb6b5ba13f274b7f2682ae
2010-06-09 18:56:05 -07:00
Mathias Agopian
69d2f12e79 update GL ES stub libraries with the new GL ES headers
Change-Id: I83be94049ddfe3fd7f5bee71a21172ade1498dd5
2010-06-09 18:20:21 -07:00
Mathias Agopian
3b512cd564 fix OpenGL ES extension headers from khronos
the official headers have a couple typos, which
this CL fixes.

Change-Id: I0359531a05a4a62ddbdce70c5841ec1c355feb3b
2010-06-09 18:19:11 -07:00
Mathias Agopian
958f900668 update the OpenGL ES headers to the latest
Change-Id: Iceef1e95504897a5e3759b0401cf7031c9e74547
2010-06-09 18:08:15 -07:00
Adam Powell
5cd88cfd23 Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.
Change-Id: I26bd54cec739ca8d91d2c2b18b90134f20dbd907
2010-06-09 17:10:04 -07:00
Nick Kralevich
2feafeffb8 Merge "Fix a problem with leaking UDP sockets." into kraken 2010-06-09 14:49:10 -07:00
Joe Onorato
ae706c10c0 Merge changes Ia5884ef4,Ie495a41d,I3f7066c2,If5faf446,I6ae0740f,I57b2d296,Iea78a637 into kraken
* changes:
  Add a test item the turns on a bunch of extra icons.
  Move the status bar icon list, hopefully for the last time.
  Call into the notification manager when the panel is revealed.
  Move status_bar_latest_event and LatestItemView into SystemUI.apk.
  Start the status bar service based on a configuration option, instead of trampolining through a braodcast receiver.
  Require the STATUS_BAR_SERVICE permission for something to be the status bar.
  Handle errors inflating notifications (and their icons).
2010-06-09 14:44:58 -07:00
Joe Onorato
302759c1ba Merge changes I4a11f027,Ib2c4abf6,Id0c7ef9f,I839d7771 into kraken
* changes:
  dead code removal
  Cap the number of notifications that a given package can post.
  Move the usb mass storage notification & activity into SystemUI.apk.
  Add some disabled logging and another test case for reapplying the notification views.
2010-06-09 14:43:47 -07:00
Joe Onorato
0faeb078cf Add a test item the turns on a bunch of extra icons.
Change-Id: Ia5884ef46a5b0fa2d608c7924b3eb12293a1da8b
2010-06-09 14:33:31 -07:00
Joe Onorato
75144ea38e Move the status bar icon list, hopefully for the last time.
Change-Id: Ie495a41dac03e1fe5ddccefcbd2a0673090a6db1
2010-06-09 14:33:31 -07:00
Joe Onorato
f1f259165f Call into the notification manager when the panel is revealed.
This lets it turn off the LED.  However, it seems like somebody broke
the notification LEDs.  GRRR.

Change-Id: I3f7066c2b2e1673dc0144a34cf59946351a647be
2010-06-09 14:33:30 -07:00
Joe Onorato
7a0f36bd93 Move status_bar_latest_event and LatestItemView into SystemUI.apk.
Then, now that StatusBarManagerService is the only thing in that package,
move it up to the regular services package.  (I've been waiting for 4 years
to delete that package!)

Change-Id: If5faf44641319fd19e486d1f4e5bc1c6dfcff3ad
2010-06-09 14:33:30 -07:00
Joe Onorato
9e875fcb55 Start the status bar service based on a configuration option, instead of trampolining through
a braodcast receiver.

Change-Id: I6ae0740fea07350b80c35c0ee2d938e0364d773e
2010-06-09 14:33:29 -07:00
Joe Onorato
8bc6c51419 Require the STATUS_BAR_SERVICE permission for something to be the status bar.
Change-Id: I57b2d296e0d0cef0d256ae6697fffc47188d14df
2010-06-09 14:33:23 -07:00
Nick Kralevich
929b4855b8 Fix a problem with leaking UDP sockets.
When dealing with any kind of limited operating system resource,
we should ensure that we properly close everything that we
open, rather than relying on the system garbage collector.

Change-Id: Ic71f710eb85ac71a91b7a1215647c75010d37643
2010-06-09 14:27:43 -07:00
Christopher Tate
d7f659e897 Merge "Fail gracefully if the user fails to supply necessary args to bmgr" into kraken 2010-06-09 12:25:05 -07:00
Christopher Tate
7e76ff1c40 Fail gracefully if the user fails to supply necessary args to bmgr
Fixes bug #2755355

Change-Id: I4690756bb5077a6b4bbbfb232cd852cad43cef77
2010-06-09 12:21:31 -07:00
James Dong
457d5ae3c9 Fix a potential(observed sometimes) media server crash
The problem is that we are referring an temp object returned from a function call.
When the function call returned, the temp object is gone; and thus the reference
may be invalidated.

-- rebased

bug - 2734946

Change-Id: I1993c4462df95610ca478f816adc30058af5850e
2010-06-09 11:27:03 -07:00
Joe Onorato
d956ae8b81 dead code removal
Change-Id: I4a11f027e764c92602d0429947e9ef39edd882e2
2010-06-09 09:15:25 -07:00
Joe Onorato
005847b03b Handle errors inflating notifications (and their icons).
On an inflation error, the StatusBarService cleans up, removes / doesn't add
the views, and calls into the StatusBarManagerService, which tells the
NotificationManagerService to remove the notification.

That then calls all the way back into the StatusBarService, but I think being
extra careful is okay.  Throughout the status bar, it's all keyed off of the
IBinder key, so if the app comes in with a good notification while we're
cleaning up, we won't lose the new notification or anything like that.

Change-Id: Iea78a637495a8b67810c214b951d5ddb93becacb
2010-06-09 09:15:25 -07:00
Joe Onorato
bd73d01a9c Cap the number of notifications that a given package can post.
Right now the number is 50, just to prevent apps that have gone completely bonkers.  I think the limit should be lower.

Change-Id: Ib2c4abf669c8b0250e5421b6d5aeb81aeb2f82ce
2010-06-09 09:15:25 -07:00
Joe Onorato
fe4f3ae33c Move the usb mass storage notification & activity into SystemUI.apk.
Also fix the notification to show properly when the runtime is restarted.

Change-Id: Id0c7ef9f9dc9c9df18428cbaa7db1703f085137e
2010-06-09 09:15:25 -07:00
Joe Onorato
d2b1f00e1e Add some disabled logging and another test case for reapplying the notification views.
Change-Id: I839d7771ab42a5d508ce7d15385f6ac6a4e3be83
2010-06-09 09:15:25 -07:00
Mathias Agopian
55f8209da3 Merge "allow re-targetting of surfaces" into kraken 2010-06-08 20:14:11 -07:00
Mathias Agopian
5e14010b1f allow re-targetting of surfaces
Surfaces can now be parcelized and sent to remote
processes. When a surface crosses a process
boundary, it looses its connection with the
current process and gets attached to the new one.

Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
2010-06-08 20:10:02 -07:00
Jim Miller
3b68548da6 am 75b6a6b9: Merge "Fix 2737842: Disable KeguardManager API if device policy is enabled" into froyo
Merge commit '75b6a6b972e6b18143fd629d3d9c824c442c5f4c' into kraken

* commit '75b6a6b972e6b18143fd629d3d9c824c442c5f4c':
  Fix 2737842: Disable KeguardManager API if device policy is enabled
2010-06-08 16:33:26 -07:00
Jim Miller
75b6a6b972 Merge "Fix 2737842: Disable KeguardManager API if device policy is enabled" into froyo 2010-06-08 16:31:32 -07:00
Jim Miller
284b62e1b8 Fix 2737842: Disable KeguardManager API if device policy is enabled
This change adds notification to find out when the device policy
has changed.  When an admin adds or changes a policy, we get notified
and reset the state of keyguard to be enabled.

It also moves disabling keyguard into the TokenWatcher.acquired()
method to avoid disabling keyguard when a policy doesn't permit it.
This avoids reference counting issues in TokenWatcher and hence relieves
the ordering issue.

There is one remaining caveat. An application that uses KeyguardManager
to disable keyguard will need to disable keyguard again after any
policy change.

Tested:

Install and run app that disables keyguard with no admin. Result: keyguard is enabled/disabled as expected.
Enable admin and set quality = "something" after installing & running app. Result: keyguard is enabled.
Change admin password quality to "unspecified" and re-run app (per caveat). Result: keyguard is disabled.
Change admin password quality to "something" again. Result: keyguard is enabled.
Disable admin : Result: keyguard is enabled until app runs again (per caveat).

Added minor cosmetic changes after review.

Change-Id: I302f2b01446bf031f746b0f3e8b5fd7a6cc0e648
2010-06-08 15:47:52 -07:00
Mathias Agopian
1debc66521 fix [2751143] Device crashes when in a text box for too long 2010-06-08 15:40:56 -07:00
James Dong
c44c4742e7 Merge "Remove some hard-coded encoding parameters" into kraken 2010-06-08 13:13:26 -07:00
Romain Guy
804d04969d am 71d73a0d: Merge "Add a method to hide/show a SurfaceView\'s surface." into froyo
Merge commit '71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5' into kraken

* commit '71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5':
  Add a method to hide/show a SurfaceView's surface.
2010-06-08 13:00:30 -07:00
Romain Guy
71d73a0dfc Merge "Add a method to hide/show a SurfaceView's surface." into froyo 2010-06-08 12:59:36 -07:00
Brad Fitzpatrick
9ac3743dbd Merge "Log.wtf when databases go to be downgraded." into kraken 2010-06-08 12:37:34 -07:00
James Dong
1244eab2ce Remove some hard-coded encoding parameters
Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
2010-06-08 12:30:58 -07:00