4724 Commits

Author SHA1 Message Date
Dianne Hackborn
8f7c271ac9 Fix fake display size when rotated.
Change-Id: Ic8a1dbe32cf0cb3c5cdc9b9294b98e810558f875
2011-05-18 15:07:48 -07:00
Dianne Hackborn
a429d5df1a Merge "Improve compat mode scaling implementation." into honeycomb-mr2 2011-05-17 18:38:37 -07:00
Dianne Hackborn
ffb3d939cc Improve compat mode scaling implementation.
Rip out the old funky code for trying to restrict the app window
sizes to be within the compat mode range.  Instead, we know rely
entirely on scaling -- we deal with windows always with the scaling
applied so that the window manager doesn't have to deal with them
specially.  Instead, we just apply the inverse scale at the few
points we need to do something the app sees.

Change-Id: I785409dd4513b5f738684e1635dc8f770c249651
2011-05-17 18:29:51 -07:00
Mike Lockwood
fbfe555125 StorageVolume: Add getStorageId() accessor
This ID is used for MTP as well as per volume querying in the media provider.

Change-Id: Ic4fc986d972bd477730643f7e9450c390c0b3a4b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-17 17:19:37 -04:00
Dianne Hackborn
7916ac65dc Add new command line option to change global screen size.
For example:

adb shell am display-size 1024x600

Change-Id: I5df462acd3323bdaaaefa3126faea7dd8595b726
2011-05-16 20:55:41 -07:00
Dianne Hackborn
0eac092766 Merge "DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked." into honeycomb-mr2 2011-05-16 13:10:23 -07:00
Dianne Hackborn
68066c2f38 DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked.
Not yet working, so turned off.

Also fix a bug where the display size configuration became inconsistent
after a configuration change -- we now figure out everything about the
display size when computing a new configuration.

Change-Id: Id155f133c0bf108508a225ef64ed3ca398a90a58
2011-05-16 13:08:07 -07:00
Dianne Hackborn
9d0f2c6d97 Merge "DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation." into honeycomb-mr2 2011-05-16 13:01:07 -07:00
Dianne Hackborn
29735689ce DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
Change-Id: Ie271123271a662f3f753f381ce4c43ad7904dc4a
2011-05-16 12:57:38 -07:00
Dianne Hackborn
1e662c3294 Merge "DO NOT MERGE. Integrate from master: Rework display size access." into honeycomb-mr2 2011-05-16 12:54:22 -07:00
Mike Lockwood
0a93d87552 Merge "StorageManager: Clean up and generalize storage configuration resources" into honeycomb-mr2 2011-05-16 12:34:02 -07:00
Dianne Hackborn
ac8dea12c1 DO NOT MERGE. Integrate from master: Rework display size access.
Applications now get the display size from the window manager.  No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I47bf8b55ecd4476c25ed6482494a7bcc5fae45d2
2011-05-16 11:58:27 -07:00
Mike Lockwood
2f6a388553 StorageManager: Clean up and generalize storage configuration resources
Replace config_emulateExternalStorage, config_externalStorageRemovable,
config_externalStoragePaths, config_externalStorageDescriptions and
config_mtpReserveSpaceMegabytes resources with an XML resource file
to describe the external storages that are available.

Add android.os.storage.StorageVolume class

StorageManager.getVolumeList() now returns an array of StorageVolume

Change-Id: I06ce1451ebf08b82f0ee825d56d59ebf72eacd3d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-16 14:29:23 -04:00
Dianne Hackborn
9a84983a9f DO NOT MERGE. Integrate from master: Improve activity manager debug dumps.
Activity manager now does all dump requests into apps
asynchronously, so it can nicely timeout if there is an
app problem.  Also lots of general cleanup of the am
dump output.

Change-Id: I99447b87f77a701af52aeca984d93dfe931f065d
2011-05-13 18:38:19 -07:00
Dianne Hackborn
ebff8f92f1 DO NOT MERGE. Integrate add new screen width/height in "dp" configs.
You can now specify resource configuration variants "wNNNdp"
and "hNNNdp".  These are the minimum screen width/height in "dp"
units.  This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes.  Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted.  To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4
2011-05-12 18:39:51 -07:00
Dianne Hackborn
0f1de9adde New compat mode front end: UI and persistence.
Adds a really crappy UI for toggling compat mode.

Persists compat mode selection across boots.

Turns on compat mode by default for newly installed apps.

Change-Id: Idc83494397bd17c41450bc9e9a05e4386c509399
2011-05-12 13:28:45 -07:00
Dianne Hackborn
e2515eebf4 Better compat mode part one: start scaling windows.
First step of improving app screen size compatibility mode.  When
running in compat mode, an application's windows are scaled up on
the screen rather than being small with 1:1 pixels.

Currently we scale the application to fill the entire screen, so
don't use an even pixel scaling.  Though this may have some
negative impact on the appearance (it looks okay to me), it has a
big benefit of allowing us to now treat these apps as normal
full-screens apps and do the normal transition animations as you
move in and out and around in them.

This introduces fun stuff in the input system to take care of
modifying pointer coordinates to account for the app window
surface scaling.  The input dispatcher is told about the scale
that is being applied to each window and, when there is one,
adjusts pointer events appropriately as they are being sent
to the transport.

Also modified is CompatibilityInfo, which has been greatly
simplified to not be so insane and incomprehendible.  It is
now simple -- when constructed it determines if the given app
is compatible with the current screen size and density, and
that is that.

There are new APIs on ActivityManagerService to put applications
that we would traditionally consider compatible with larger screens
in compatibility mode.  This is the start of a facility to have
a UI affordance for a user to switch apps in and out of
compatibility.

To test switching of modes, there is a new variation of the "am"
command to do this: am screen-compat [on|off] [package]

This mode switching has the fundamentals of restarting activities
when it is changed, though the state still needs to be persisted
and the overall mode switch cleaned up.

For the few small apps I have tested, things mostly seem to be
working well.  I know of one problem with the text selection
handles being drawn at the wrong position because at some point
the window offset is being scaled incorrectly.  There are
probably other similar issues around the interaction between
two windows because the different window coordinate spaces are
done in a hacky way instead of being formally integrated into
the window manager layout process.

Change-Id: Ie038e3746b448135117bd860859d74e360938557
2011-05-09 17:03:24 -07:00
Mike Lockwood
91dd02c340 DO NOT MERGE MountService: Fix running media scanner at boot.
Change-Id: I67ff2ccde7e03143167b8c59726ffb741c96e028
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-03 21:03:56 -04:00
Mike Lockwood
b9135638c5 DO NOT MERGE Fix deadlock in MountService
It is not safe to call into vold with a lock held on mVolumeStates
since we will receive events back from vold on a different thread.
So in the boot completed handler we make a copy of the volume list and
then call vold to mount volumes after releasing the lock

Change-Id: Ic9836c2e1e8a5677d0c4e33476a72081f69823a0
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-03 21:03:56 -04:00
Mike Lockwood
d967f4664f DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods
Change-Id: I43d5c1730b340f1288b58012234b38f801001b71
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-03 21:03:55 -04:00
Mike Lockwood
f097fc2fee DO NOT MERGE MountService: Add support for multiple volumes
Change-Id: I45ee0e5735a6d72c635f6d22320e8b13bccc3847
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-03 21:03:55 -04:00
Dan Morrill
8325c3a891 Backporting I57c58c4083bd59f45095c184d6ca5a302f79ff6e to HC-MR1. New change
since file was renamed, making cherry-pick impossible.

Change-Id: Idc802af57fb9926a69ed52d4e776ef57d8b647c6
2011-05-02 14:06:06 -07:00
Dianne Hackborn
f6f87c9859 Merge "Fix issue #4291805: Tap Fish crashes on launch" into honeycomb-mr1 2011-04-14 15:10:31 -07:00
Dianne Hackborn
52b0ce0fe3 Fix issue #4291805: Tap Fish crashes on launch
The activity manager got a little too aggressive about argument validation.

Change-Id: I3cca0cd3135b98e5c50d26db778ec4ec28a47ec1
2011-04-14 13:09:32 -07:00
Benoit Goby
08c39c6a11 Add support for USB Ethernet adapters
Change-Id: I6ae34a32d0e1b6f21c484b8639c3e7ce086e568d
2011-04-11 16:33:43 -07:00
Mike Lockwood
4f0f3561ed UsbService: Make USB disconnect handling for accessory mode more robust
Handle the case where the kernel driver is in accessory mode but we failed
to initialize it at the framework level.  On disconnnect, check to see if the
accessory kernel driver is enabled rather than checking mCurrentAccessory.
That way we will restore the USB state in the kernel even if mCurrentAccessory
is null.

Change-Id: I35d458f21a8b21611946da523d0f53723cab0540
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-29 16:59:38 -07:00
Robert Greenwalt
edcb4f9d56 Fix adding of default route.
If you deleted the host routes (started a secondary network like mms, supl
of hipri and then ended it) you would lose the host route to the default
gateway.  Then if you needed to re-add the default gateway route (lost
the connection and removed the default route and then re-established)
you couldn't - can't add a gateway that isn't routable apparently.

This happens if you are in a video chat and lose your connection without
losing the interface (PPP keeps it up for a bit).

Fixed it by having addDefaultRoute first add a hsot route for the gateway
before adding the default route.  This allows the default add to succeed.

bug:3490353
Change-Id: I415e7319832e6456f8757b14c4f79f098a08839b
2011-03-22 18:47:42 -07:00
Mike Lockwood
1c0e543638 UsbService: Handle the case where a USB accessory connects as the device is booting
Bug: 4129297

Change-Id: I8f9d085805fb598572f9b00952c3cd38cfab461b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-19 12:03:46 -04:00
James Dong
199d1c131d Fix missing AOSP copyright headers for more files
o Update the copyright date on InputDispatcher_test.cpp and InputReader_test.cpp
  because these two files were moved from other places to the current location,
  and were actually created in 2010.

bug - 4119349

Change-Id: Ic93b81ddafb58e9e72a2e9e02ca3d9f173d6dca7
2011-03-17 14:43:12 -07:00
Paul Milovanov
87f50f19ee Merge "PACKAGE_FIRST_LAUNCH intent sent to wrong pkg" into honeycomb-mr1 2011-03-17 10:23:48 -07:00
Paul Milovanov
a57db345d3 PACKAGE_FIRST_LAUNCH intent sent to wrong pkg
In PackageManagerService, intent with ACTION_PACKAGE_FIRST_LAUNCH was
being sent to wrong package. It was being sent to the installed
package with installer package in the URI, whereas it should be sent
to installer package with installed package in the URI.
Comment in Intent.java:1417 seems to support that intent with this
action should be sent to the installer package, not installed.

Bug: 3426299
Change-Id: Iadec4ae7a1af6bab434716f8fcdb7d0b099d1ee1
2011-03-16 23:12:31 -07:00
Adam Cohen
c2be22cf20 Catching all Exceptions when calling through to RemoteViewsFactory
Change-Id: Ib20c880bb7626565541ab4697317fcfaa2e6b5b7
2011-03-16 16:33:53 -07:00
satok
b548a3cfa0 Remove a workaround for the data inconsistency of SystemProperties
Bug: 3473532
Reverting: Ie3f5b484b5574e10a4

Depends on Bug: 3511230
This must be fixed before submitting this CL.

Change-Id: I435a294a818bec5675f0ada00d81c1b3e37d1dce
2011-03-14 12:38:34 -07:00
Irfan Sheriff
e21110f8b1 Merge "Backup and restore IP and proxy settings" into honeycomb-mr1 2011-03-14 11:48:35 -07:00
Mike Lockwood
bce6f8f249 Add a dialog to ask user to start an application for a USB device or accessory
This is used when there is only one application available and the user has
not chosen to start it by default.
If more than one application is available we continue to use UsbResolverActivity

Bug: 4074719

Change-Id: Id61f2ccc6de5b9ac70fb4670006ff1fee2028d55
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-13 19:18:08 -04:00
Mike Lockwood
14c875eac7 Merge "Clear default for USB device/accessory when new matching app is installed" into honeycomb-mr1 2011-03-11 13:24:01 -08:00
Mike Lockwood
c7d32d1065 Clear default for USB device/accessory when new matching app is installed
Bug: 4063041

Change-Id: Ia1b4f29d3e54ec21aa64407720d9d5db62855380
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-11 16:12:07 -05:00
Dianne Hackborn
7b076307bb Merge "Fix issue #4084124: Wingray Often see black screen after market ANR due to 4084121" into honeycomb-mr1 2011-03-11 10:39:46 -08:00
Dianne Hackborn
492eb33d54 Merge "Fix issue #4081756: Crash when un-stopping applications" into honeycomb-mr1 2011-03-11 10:38:52 -08:00
Dianne Hackborn
cb44d96173 Fix issue #4084124: Wingray Often see black screen after market ANR due to 4084121
Need to resume the top activity after force removing a crashing
app's activities.

Change-Id: Id3384b2aa73039a9b1e72c2201d3ab0ef5b4f61f
2011-03-10 17:02:27 -08:00
Irfan Sheriff
4aeca7c590 Backup and restore IP and proxy settings
Bug: 4081954
Change-Id: I27266637c6ade0c5c8242792176d1edae0983446
2011-03-10 16:57:10 -08:00
Dianne Hackborn
a925cd4101 Fix issue #4081756: Crash when un-stopping applications
Change-Id: Ifc23481f8feaeacb410375eefd015ebdb997e39c
2011-03-10 13:18:20 -08:00
Mike Lockwood
024b4f1494 Support for USB accessory URIs
If a USB accessory is attached and we have no application that supports it,
display a dialog offering the user the option to visit the accessory's website
if the accessory has a URI.

Bug: 4073248

Change-Id: I30e2a802493fb6e203532a7f79402379c40bc3b8
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-10 14:35:33 -05:00
Mike Lockwood
cc08c439bc Merge "UsbAccessory: Add URI string, replace type string with description" into honeycomb-mr1 2011-03-10 07:50:30 -08:00
Mike Lockwood
ac36d7c715 UsbAccessory: Add URI string, replace type string with description
This is a first step toward adding USB accessory URI support

BUG: 4073248

Modified USB accessory matching logic to look only at manufacturer, model and version
(description and URI are not considered when matching apps to accessories)

Also added test for USB accessory protocol version to accessorytest

BUG: 4080288

Change-Id: I992a3433c74efa7a7db37bf030f02c1f0c92f9e2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-09 22:12:49 -05:00
Mike Lockwood
564f12ebe4 Merge changes Ifd78cca3,Ieadb86fe,If5b44ebd into honeycomb-mr1
* changes:
  MTP: Convert date created and modified values from seconds to milliseconds
  Update USB accessory compatibility library to support new requestPermission API
  UsbService: Don't require permissions for UsbManager.getCurrentAccessory()
2011-03-09 15:47:10 -08:00
Jim Miller
5c9248f668 Merge "Fix 4027057: Improve resolution of RecentApps thumbnail images." into honeycomb-mr1 2011-03-09 14:42:56 -08:00
Mike Lockwood
607710ad12 UsbService: Don't require permissions for UsbManager.getCurrentAccessory()
Permission check should only happen in openAccessory()
Otherwise an application will not be able to check for the current accessory
and ask for permissions (if it is a suitable match for the application)

BUG: 4069037

Change-Id: If5b44ebda2e8077598d96629163cc74aa336589e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-09 16:43:35 -05:00
Mike Lockwood
2c3ed82600 Merge "Change UsbManager.requestPermission to only grant permission temporarily" into honeycomb-mr1 2011-03-09 10:44:19 -08:00
Mike Lockwood
c6f23e8521 Change UsbManager.requestPermission to only grant permission temporarily
If the user approves an application to access a USB device or accessory
without choosing it as the default application, then permission is granted
only until the device or accessory is disconnected.
Only applications chosen as the default choice have permissions assigned persistently.

BUG: 4061035

Change-Id: Ic4f6271a91b2fc56bbeef82c579e26d88c63ae56
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-09 12:33:00 -05:00