Commit Graph

1608 Commits

Author SHA1 Message Date
Dianne Hackborn
dde331cebd We can now (kind-of) change screen density on the fly.
Preloaded drawables now have a density associated with them, so we
can load the correct drawable if we are using a different density.

Window manager now formally keeps track of the density for each
screen, allowing it to be overridden like you can already do with
size, and relies on this density to drive itself internally and
the configurations it reports.

There are a new set of Bitmap constructors where you provide a
DisplayMetrics so they can be constructed with the correct density.
(This will be for when you can have different windows in the same
app running at different densities.)

ActivityThread now watches for density changes, and pushes them
to the DENSITY_DEVICE and Bitmap global density values for that
process.

A new am command allows you to change the density.
2012-08-03 17:27:29 -07:00
Dianne Hackborn
329465c6b2 Merge "Add APIs for interacting across users." into jb-mr1-dev 2012-08-02 19:14:39 -07:00
Dianne Hackborn
b4163a6e12 Add APIs for interacting across users.
- Expose the existing Context.sendBroadcast() as
  Context.sendBroadcastAsUser().
- Add new android:singleUser attribute for services.
- Add new INTERACT_ACROSS_USERS_FULL permission for full
  system-level access to cross-user interface (allows
  sendBroadcastAsUser() to send to any receiver).
- Add new INTERACT_ACROSS_USERS_FULL permission for
  more restricted cross-user interaction: this is required
  for android:singleUser, and allows you to use
  sendBroadcastAsUser() but only to send to your own
  receivers.

Change-Id: I0de88f6718e9505f4de72e3f45d29c0f503b76e9
2012-08-02 19:07:57 -07:00
rich cannings
24713907fe Pass URLs to package verifiers
This change passes the originating URL and accompanied referrer to
package verifiers, when available.

Bug: 6544677
Change-Id: If9ff6663ad7f3426b7aea2aceb1413b689788138
2012-08-02 11:26:47 -07:00
Dianne Hackborn
908aecc3a6 Start moving away from DisplayMetrics.DENSITY_DEVICE.
This puts in most of the infrastructure needed to allow us to
switch between different densities at run time.  The main remaining
uses of the global are to initialize the Bitmap object (not sure
what to do about that since it doesn't have anything passed in
the constructor to get this information from), and being able to
load drawables if we need a different density than what was preloaded
by zygote.

Change-Id: Ifdbfd6b7a5c59e6aa22e63b95b78d96af3d96848
2012-08-01 10:54:39 -07:00
Dianne Hackborn
40e5df95ff Merge "Make AtomicFile a public API. It's about time!" into jb-mr1-dev 2012-07-31 18:11:03 -07:00
Dianne Hackborn
39606a007a Make AtomicFile a public API. It's about time!
Change-Id: Ib34e294747405b7ab709cb0bbb2d9a0cc80ce86a
2012-07-31 17:54:52 -07:00
Kenny Root
e23ae144cc am fa74f7e0: am bba948dc: Merge "Delay AccountManagerService initialization" into jb-dev
* commit 'fa74f7e04fcad1258a1b85515547dba0466086d8':
  Delay AccountManagerService initialization
2012-07-31 11:19:40 -07:00
Kenny Root
26ff6626fc Delay AccountManagerService initialization
Since applications can have Account providers, they need to be delayed
until after PackageManagerService says everything is mounted.
Otherwise the accounts associated with that provider will be removed
immediately when startup happens.

Bug: 6820670
Change-Id: Iba81765260421649f706624d0605a40ebc1347b1
2012-07-30 16:28:44 -07:00
Nick Kralevich
c92db39137 ClipData: html attribute values should always be escaped
Failure to properly escape HTML attribute values can lead to
XSS attacks. Technically, HTML of the form

<a href="http://www.google.com/search?x=a&y=b">blah</a>

is malformed (but widely accepted). Such links should be written as

<a href="http://www.google.com/search?x=a&amp;y=b">blah</a>

See: http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.2.2

Change-Id: I188ded00b4cac44acb38884d4728c4cf9500f3b6
2012-07-27 13:27:00 -07:00
Jeff Smith
440f32bbd4 am ddd88726: am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214
* commit 'ddd88726a247e4100cb62b3dc9d0887ca2ae2ec4':
  Fix several cases of broken droiddoc syntax external issue 35214
2012-07-25 22:13:40 -07:00
Jeff Brown
fa25bf5382 Add display manager skeleton.
The purpose of this change is to remove direct reliance on
SurfaceFlinger for describing the size and characteristics of
displays.

This patch also starts to make a distinction between logical displays
and physical display devices.  Currently, the window manager owns
the concept of a logical display whereas the new display
manager owns the concept of a physical display device.

Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
2012-07-25 18:56:16 -07:00
Jeff Smith
ddd88726a2 am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214
* commit '71930dd77e4dc6f6be5c648019d2ab0da5f0584c':
  Fix several cases of broken droiddoc syntax external issue 35214
2012-07-25 15:05:23 -07:00
Jeff Smith
a45746efad Fix several cases of broken droiddoc syntax
external issue 35214

patch contributed by Jeff Smith <whydoubt@yahoo.com>

Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
2012-07-25 10:49:25 -07:00
Jaikumar Ganesh
1abb1cb3a8 Changes to Bluetooth Service structure.
Changes to make Bluetooth Service part of the system_service.
These changes may be temporary.

Changes to update to the new disable API.

Change-Id: If89dba17e6e6c6daa53c37684221763a2da076e9

Conflicts:

	services/java/com/android/server/pm/PackageManagerService.java
2012-07-13 22:22:51 -07:00
Scott Main
de6082551d am 882c97b5: am cdb3f9c4: Merge "docs: add api overview for jb" into jb-dev
* commit '882c97b59a8ef89ff8efa9064829f8014b9a7638':
  docs: add api overview for jb
2012-06-26 21:59:44 -07:00
Scott Main
cdb3f9c45b Merge "docs: add api overview for jb" into jb-dev 2012-06-26 21:54:08 -07:00
Scott Main
60dd520d37 docs: add api overview for jb
Change-Id: Ibb916138026bb13bb424c826fe8faa563c71bf94
2012-06-26 21:41:25 -07:00
Dianne Hackborn
e6c2d62efb am 9906e784: am 17990395: Merge "Fix issue #6717667: expanded notification actions don\'t work on the lock screen" into jb-dev
* commit '9906e784faca2cc8388a04fdc544722ea93d51be':
  Fix issue #6717667: expanded notification actions don't work on the lock screen
2012-06-25 18:17:15 -07:00
Dianne Hackborn
1927ae8a56 Fix issue #6717667: expanded notification actions don't work on the lock screen
FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS was a mistake.

Instead, and the infrastructure for the status bar to take care
of closing and hiding things itself when you press these buttons,
just like it does for the main Intent of the notification.

Bug: 6717667
Change-Id: I1b22186e0cedc05f46a1a3ec78053a72afaf61b1
2012-06-25 14:28:48 -07:00
Scott Main
adba6ffbb9 am 101a120c: am 9be0105f: docs: fix several links
* commit '101a120c27f68fb7d44e6221244cb9441dfc4285':
  docs: fix several links
2012-06-22 13:35:52 -07:00
Scott Main
9be0105fbc docs: fix several links
Change-Id: I89d9fd64dc22c90680bb05415cc966c255165af9
2012-06-22 12:35:08 -07:00
Jean-Michel Trivi
6009dc014f am b92d2a13: am 18ddb6ce: Merge "Remote volume handling in MediaRouter" into jb-dev
* commit 'b92d2a13c4ab34862968f47191d2713de3701757':
  Remote volume handling in MediaRouter
2012-06-20 09:12:59 -07:00
Jean-Michel Trivi
1357012968 Remote volume handling in MediaRouter
Extend MediaRouter.UserRouteInfo to enable setting playback
 information, which includes volume. When the user route instance
 has a RemoteControlClient, forward any playback information to it.
 Enable specifying a callback to be notified of volume events
 on the route.
Extend MediaRouter.RouteInfo to enable retrieving playback
 information.

Update RemoteControlClient javadoc to reflect which parts of the
 API are not intended to be made public.

Change-Id: I59d728eb61747af6c8c89d53f0faeb07940594c3
2012-06-19 19:41:35 -07:00
Jean-Michel Trivi
629f051f7d am 586b8ee6: am 2f442304: Merge "Remote volume handling" into jb-dev
* commit '586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c':
  Remote volume handling
2012-06-19 10:59:15 -07:00
Jean-Michel Trivi
2f4423043f Merge "Remote volume handling" into jb-dev 2012-06-19 10:54:32 -07:00
Jean-Michel Trivi
3114ce3861 Remote volume handling
Extend RemoteControlClient class to enable an applicaton to
 specify more information about how it's playing media, now covering
 usecases where media playback happens "remotely". This playback
 information can be used to set the volume and maximum volume
 used remotely.
Declare a new intent and associated extras in Intent,
 ACTION_VOLUME_UPDATE, so an application can be notified that
 the volume it handles should be updated. It can then use
 the new RemoteControlClient.setPlaybackInformation() method
 to notify AudioService what the volume is.
Extend AudioService to maintain playback information associated
 with the RemoteControlClient information in the stack of
 media button event receivers (mRCStack). The information
 about the active remote is cached so the stack doesn't have
 to be iterated over in order to retrieve remote playback info.
 Events to "adjust" the remote volume based on hardware key
 presses cause the client application to be notified of
 volume updates, and the volume panel to display the volume
 set by the app.
 Revise which stream type is controlled when none is specified
 according to latest guidelines for remote playback.
Update VolumePanel class to support a new pseudo stream type,
 AudioService.STREAM_REMOTE_MUSIC, that corresponds to the
 remote playback volume, and uses the new "media route" icon.
 Enable it to receive asynchronously new volume values for
 the remote that will be displayed if the UI is still up,
 and ignored otherwise.
 Now supports hiding/showing sliders dynamically so remote
 volume only appears when AudioService has a remote control
 client handling remote volume.
Define new java symbols for the two media route icons.
Modify lockscreen behavior: don't automatically control music
 volume when music is active, consider also remote playback.

Still to do:
- playback information set by RemoteControlClient should post
  a message for AudioService to update playback information
  instead of updating it synchronously

Change-Id: I557aa687239f9acfe33a609f05876c67fa7eb967
2012-06-18 18:37:17 -07:00
Nicolas Falliere
4d2bef3f85 am 277c09f6: am 56bb344c: Merge "Added or fixed doctrings for required permissions." into jb-dev
* commit '277c09f6c16c4adfd50407e2fa4dbf61a0e06e55':
  Added or fixed doctrings for required permissions.
2012-06-18 17:45:40 -07:00
Nicolas Falliere
9530e3a22d Added or fixed doctrings for required permissions.
Bug: 6591338
Change-Id: Ia2092f9994854701b5fa1425c371817367ae07ec
2012-06-18 17:22:34 -07:00
Christopher Tate
f8fd7ef978 Merge "Fail immediately if bindService() is passed a null ServiceConnection" 2012-06-18 16:00:19 -07:00
Christopher Tate
79b3317b77 Fail immediately if bindService() is passed a null ServiceConnection
Or if unbindService() is passed one, naturally.

Change-Id: Ib7f1f0b5e12c04e3affbcc9008612801081819d5
2012-06-18 15:56:33 -07:00
Jeff Sharkey
554259fe02 am 9eabf916: am f6f7f1d2: Low disk space string change, surface state.
* commit '9eabf916dc5d53bc6c765d39cca0847993e73dcf':
  Low disk space string change, surface state.
2012-06-12 18:40:24 -07:00
Amith Yamasani
b8151ecd6e Add an icon to the user information.
Store the icon in the user folder under /data/system,
similar to how the wallpaper is stored.

Change-Id: Id8ccb55b9e2ba7b4c557505a7f69f04eca1518cf
2012-06-12 18:18:29 -07:00
Jeff Sharkey
f6f7f1d2dc Low disk space string change, surface state.
Surface current low disk state through IPackageManager for use in
Settings app.

Bug: 6576409
Change-Id: I9ae9ce99a2faa3015a237036c03567d1ae11628f
2012-06-12 17:12:08 -07:00
Dianne Hackborn
d4a0c49ffa am 007f2b40: am f9d80b6b: Merge "Rework media router to be per-context with global process state." into jb-dev
* commit '007f2b40f952eab8951c6b22302a59a955a20561':
  Rework media router to be per-context with global process state.
2012-06-12 13:00:47 -07:00
Dianne Hackborn
b1add0b8f2 am 6892f1ec: am 0f6471ac: Merge "Fix issue #6641368: can\'t launch gallery" into jb-dev
* commit '6892f1ec9670432f1cab71813592077bea991a8b':
  Fix issue #6641368: can't launch gallery
2012-06-12 13:00:15 -07:00
Dianne Hackborn
b58b8f832d Rework media router to be per-context with global process state.
Change-Id: Ic1cb6f13e691d22783bcdafae85b7c75aec0a66f
2012-06-11 15:41:08 -07:00
Dianne Hackborn
2bd8d0403b Fix issue #6641368: can't launch gallery
This is a revert of 1db36528b1,
but with comments added so I don't make this mistake again. :)

Change-Id: I053216279e3721f08f32f561bb989736ef619f82
2012-06-11 12:27:05 -07:00
Dianne Hackborn
c7e2d4a57b am 33e39aef: am 0876ab0a: Merge "Fix issue #6295373: "Package com.google.android.apps.authenticator2 has..." into jb-dev
* commit '33e39aefdf9266dc4858f7a6171f46f43ffa3ec3':
  Fix issue #6295373: "Package com.google.android.apps.authenticator2 has...
2012-06-08 11:12:27 -07:00
rich cannings
3191329819 Merge "Add Intent extras to pass to package verifiers" 2012-06-08 11:08:50 -07:00
Dianne Hackborn
0876ab0ac1 Merge "Fix issue #6295373: "Package com.google.android.apps.authenticator2 has..." into jb-dev 2012-06-08 11:01:42 -07:00
Kenny Root
b313a9990f am f5490997: am af95137a: Merge "Whoops, this version number wasn\'t updated when JB was introduced!" into jb-dev
* commit 'f549099705d0e55410072db89926f1cb95a3e7b5':
  Whoops, this version number wasn't updated when JB was introduced!
2012-06-08 09:58:18 -07:00
Dianne Hackborn
1db36528b1 Whoops, this version number wasn't updated when JB was introduced!
Change-Id: I9c9cd658cc1cba99b84059c8873c22b21b9f3c19
2012-06-07 18:20:55 -07:00
Dianne Hackborn
d0c5f515c0 Fix issue #6295373: "Package com.google.android.apps.authenticator2 has...
...mismatched uid: X on disk, Y in settings" errors on Froyo and Gingerbread

Deal more gracefully with the uid changing in three ways:

1. If the uid on disk has become root, then have installd change it to
   the application's uid.  This is to correct a potential case where
   installd was interrupted while linking or unlinking the libs dir,
   during which it temporarily changes the owner of the dir to root
   so that a malicious app can not get in its way.  So if the uid on
   disk has become root, we assume we can safely just change it back
   to the correct uid.

2. When scaning packages at boot, use the same "delete and rebuild data
   directory" code for third party applications as we have for system
   applications.  This allows us to at least end up in a state where the
   app will run, even if its data is lost.

3. But we really don't want to get in to case 2, so if an application
   update is being installed and we find that the uid we now have for
   the app is different than the one on disk, fail the update.  This will
   protect against for example a developer changing the sharedUserId of
   their app and getting into this bad state.

Bug: 6295373
Change-Id: Ic802fdd818ac62449ff3c61d1fff1aa4d4942f39
2012-06-07 16:57:57 -07:00
rich cannings
368ed010ee Add Intent extras to pass to package verifiers
Adding extras to identify the:

 - URL from which the APK originated

 - the HTTP referrer associate with the URL

Bug: 6544677
Change-Id: Ie3d2244d9befa7161eeceb458573d6b0f8206cc7
2012-06-07 16:11:25 -07:00
Dianne Hackborn
cbc5e0aae4 am 3522225d: am ea01e4a2: Merge "Survey says: NIET!" into jb-dev
* commit '3522225dba19e77defaf56f0e70c0382c2cbb0a2':
  Survey says: NIET!
2012-06-02 08:20:36 -07:00
Dianne Hackborn
4034bc431d Survey says: NIET!
Bug: 6593206
Change-Id: I5390609a5615d6aff1793a9bc361012a0cea330b
2012-06-01 13:38:48 -07:00
Philip Milne
0597161ee4 Merge "Fix for bug 6050753." 2012-05-31 10:30:09 -07:00
Kenny Root
327bc6bb50 am 65519b8b: am 03e93e51: Merge "Move package-wide flags out of parseApplication" into jb-dev
* commit '65519b8bb94321889eb3e34c76428f6dd9e0bd84':
  Move package-wide flags out of parseApplication
2012-05-30 15:50:45 -07:00
Kenny Root
7cb9be26c1 Move package-wide flags out of parseApplication
Being on SD card and being forward-locked are package-wide flags that
shouldn't depend on an APK having an <application> stanza.

Bug: 6563724
Change-Id: If5f2159cd8e3fa136f959b656d82b05ea6bdfae5
2012-05-30 15:30:37 -07:00