Commit Graph

1693 Commits

Author SHA1 Message Date
Dianne Hackborn
a1396dfe7a am 02140891: Merge "Work on issue #4518815: Compatibility mode introduces compatibility regression..." into honeycomb-mr2
* commit '021408910af170268cb486910d4dd5a7d838c2bb':
  Work on issue #4518815: Compatibility mode introduces compatibility regression...
2011-06-08 20:02:43 -07:00
Dianne Hackborn
5fd2169eab Work on issue #4518815: Compatibility mode introduces compatibility regression...
...for Market App iRunner

There were a lot of serious issues with how we updated (or often didn't update)
the display and resource state when switching compatibility mode in conjunction
with restarting and updating application components.  This addresses everything
I could find.

Unfortunately it does *not* fix this particular app.  I am starting to think this
is just an issue in the app.  This change does fix a number of other problems
I could repro, such as switching the compatibility mode of an IME.

Also a few changes here and there to get rid of $#*&^!! debug logs.

Change-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317
2011-06-08 18:45:43 -07:00
Dianne Hackborn
b4815f47e6 am bd754205: Merge "Fix to not lose state when saving a deactivated fragment." into honeycomb-mr2
* commit 'bd754205d0b59315582855329649dad925a04b82':
  Fix to not lose state when saving a deactivated fragment.
2011-06-03 17:54:28 -07:00
Dianne Hackborn
1333276c7a Fix to not lose state when saving a deactivated fragment.
Also deactivating a fragment shouldn't put it in the exiting state.

Change-Id: I514f3589ee7bbbee131cd7b4a48803e99b212bd0
2011-06-03 17:34:45 -07:00
Dianne Hackborn
dddd6b15d5 am 185e3e24: Fix when managed cursors are required.
* commit '185e3e243ee1da136bcace854026b8abaf0c4c86':
  Fix when managed cursors are required.
2011-06-03 16:23:15 -07:00
Dianne Hackborn
185e3e243e Fix when managed cursors are required.
Only do this when we are actually restarting, not when we
are just resuming after a pause.

Change-Id: I32fd263917b03776efca8e096d0343107721398d
2011-06-03 15:26:40 -07:00
Dianne Hackborn
758b67b123 am b46ed763: Add new Fragment API for explicitly saving/restoring state.
* commit 'b46ed7636be9341b6ce0b158b3d86f34a437e6da':
  Add new Fragment API for explicitly saving/restoring state.
2011-06-02 19:30:34 -07:00
Dianne Hackborn
b46ed7636b Add new Fragment API for explicitly saving/restoring state.
Also fix issue #4519821:
Blank screen displayed on tapping "Battery Use" option in the settings

We weren't correctly doing the full Activity resume code when coming
back from delivering a new Intent or result.

And fix a fragment problem where we still weren't correctly restoring
the state of list views.  (I think this was from a bad manual-merge
from master.)

Change-Id: If79dc7e998155c39ab8c04781f6c73a82238a9ef
2011-06-02 19:18:07 -07:00
Dianne Hackborn
8b9a2b6cbd am e6676351: Work around OpenFeint bug.
* commit 'e66763516a9c27c192adaba417616371a1c3c9bf':
  Work around OpenFeint bug.
2011-06-01 18:29:50 -07:00
Dianne Hackborn
e66763516a Work around OpenFeint bug.
Change-Id: Ib8320e50bb63fc56dc0118d5c8e9e328dbd3fcb1
2011-06-01 16:52:36 -07:00
Dianne Hackborn
a4cfcf10cc am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2
* commit '75d6b3c2a24224e41e87685db0d9d0b8abea091d':
  Fix issue #4502672: Wrong xml resources used for homescreen widgets.
2011-05-31 18:08:27 -07:00
Dianne Hackborn
2f0b17573d Fix issue #4502672: Wrong xml resources used for homescreen widgets.
There was a race in the system process between applying the initial
configuration and executing code in higher-level system services
like the app widget service that relies on the config.  For some
reason it starting showing up more after my code changes; it should
now be completely fixed.

Also fix the activity starting window to run in compatibility mode
if its application is going to be in compatibility mode.

And some various cleanup and small fixes.

Change-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5
2011-05-31 18:04:14 -07:00
Dianne Hackborn
8fcbfb5260 am 94250ac6: Merge "Add new supports-screens attributes for declaring the compatible screens." into honeycomb-mr2
* commit '94250ac69c6e07534e4781d3479dccb79d8c366c':
  Add new supports-screens attributes for declaring the compatible screens.
2011-05-26 17:09:39 -07:00
Dianne Hackborn
94250ac69c Merge "Add new supports-screens attributes for declaring the compatible screens." into honeycomb-mr2 2011-05-26 17:07:52 -07:00
Dianne Hackborn
df6e980e3f Add new supports-screens attributes for declaring the compatible screens.
Change-Id: I40d57e4354e48accc1027c9f90916ea73eb5190d
android:requiresSmallestWidthDp provides the smallest supported width.
android:compatibleWidthLimitDp provides the largest compatible width.
2011-05-26 14:48:04 -07:00
Kenny Root
5e34a1945a am 1d8f8819: Merge "Break apart queries to getInstalled* API DO NOT MERGE" into honeycomb-mr2
* commit '1d8f8819f1e98cdf3b7756396158613e95fe9eb6':
  Break apart queries to getInstalled* API DO NOT MERGE
2011-05-26 13:34:42 -07:00
Dianne Hackborn
d5238cc1ab am 7a09f72b: Merge "Rework how we decide whether to use system or status bar." into honeycomb-mr2
* commit '7a09f72b8850ec22e4ca7fd50aba20ead7666f67':
  Rework how we decide whether to use system or status bar.
2011-05-26 13:34:33 -07:00
Kenny Root
1d8f8819f1 Merge "Break apart queries to getInstalled* API DO NOT MERGE" into honeycomb-mr2 2011-05-26 13:10:23 -07:00
Dianne Hackborn
81e56d535c Rework how we decide whether to use system or status bar.
The PhoneWindowManager is now responsible for determing this,
since it needs to do this before we can generate the configuration
since we need to take into account the system bar size we will use.

Also the Display should now report the screen height without
including the system bar.

Change-Id: I82dfcc5e327e4d13d82c373c6c870f557a99b757
2011-05-26 10:46:19 -07:00
Dianne Hackborn
80ef2a9745 am 42f8094c: Merge "Spiffy new compatibility mode UI." into honeycomb-mr2
* commit '42f8094c066209a65b09d53611ef5c93daba4c51':
  Spiffy new compatibility mode UI.
2011-05-26 10:00:00 -07:00
Kenny Root
1bb6cf18c0 Break apart queries to getInstalled* API DO NOT MERGE
To avoid blowing past the Binder IPC limit, change the
PackageManagerService to have a DB-like interaction where the client
tells the service the last "row" that it read.

The fact that we use a HashMap instead of a TreeMap makes this
problematic. For now we're just making a new ArrayList for the keys and
then sorting them for each call. This can make the API slower for callers
of this, but it's probably greatly overshadowed by the cost of the data
transfer itself.

Bug: 4064282
Change-Id: Ia3a8cdaa94581ed9336f2e05694b8c8a5f757bce
2011-05-26 09:53:24 -07:00
Dianne Hackborn
36cd41f8ef Spiffy new compatibility mode UI.
Change-Id: I1207eaafae59a434fcc979ad60a83e2d685288af
2011-05-25 21:08:37 -07:00
Dianne Hackborn
00b3a5c65e am c404e9b2: Merge "More compatibility mode improvements." into honeycomb-mr2
* commit 'c404e9b20165f634904d1489216d17d8e09fe696':
  More compatibility mode improvements.
2011-05-24 19:10:53 -07:00
Dianne Hackborn
5be8de3420 More compatibility mode improvements.
We now correctly adjust display metrics, fixing for example issues
seen in Barcode Scanner.  In addition the decision about when to use
compatibility mode has a bug fixed where certain apps would not go
out of compatibility mode even though they should be able to.

Change-Id: I5971206323df0f11ce653d1c790c700f457f0582
2011-05-24 18:13:25 -07:00
Dianne Hackborn
4bb78889d0 am 40277df7: Merge "Add "television" mode." into honeycomb-mr2
* commit '40277df7c33c0fc381eec589c768fe86de4b4404':
  Add "television" mode.
2011-05-23 16:07:43 -07:00
Dianne Hackborn
e360bb6bd8 Add "television" mode.
Change-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b
2011-05-23 15:11:08 -07:00
Adam Powell
f5abccefb1 am 73a31ec9: Merge "New opaque cab assets; search dialog tweaks." into honeycomb-mr2
* commit '73a31ec91c3e472503e9fbbfe82b8c3bbc5140ed':
  New opaque cab assets; search dialog tweaks.
2011-05-20 13:04:11 -07:00
Adam Powell
8abebcde3f New opaque cab assets; search dialog tweaks.
* New opaque assets (now actually opaque!)

* SearchDialog determines theme to use from parent context

* SearchDialog now disallows action modes

Change-Id: If05fe64d7cc4460678d78412275ee988ddb47e9e
2011-05-19 18:48:44 -07:00
Chet Haase
f0c6ddd99b am 51fb9703: Merge "DO NOT MERGE: Add custom fragment anims for popping backstack" into honeycomb-mr2
* commit '51fb97031f62b1181fc9eb6c636d09a68987d939':
  DO NOT MERGE: Add custom fragment anims for popping backstack
2011-05-19 13:59:06 -07:00
Chet Haase
19e748a3d1 DO NOT MERGE: Add custom fragment anims for popping backstack
The previous fragment implementation allowed for animations
during fragment transitions, but did not account for the
different behavior of fragments when popping the back stack.
In general, you probably don't want to run the same animation
for putting a fragment on the stack as for popping it off, which
is what happens now. For example, you might fade a fragment out when
putting it on the stack. But when popping ot off, fading it out
is probably not the behavior you want.

The new API (setCustomAnimations() overload with two additional
parameters) allows developers to specify animations to be run
in the popping operation. Otherwise, the animations are null and
the operation will not be animated.

Change-Id: I53bbc6e6ec4e953b7ecdd99e2452d81857917de2
2011-05-19 13:44:40 -07:00
Dianne Hackborn
d90a2c4d44 am 1e662c32: Merge "DO NOT MERGE. Integrate from master: Rework display size access." into honeycomb-mr2
* commit '1e662c3294b740ff694ad98e4d9a366e1e4b5e62':
  DO NOT MERGE.  Integrate from master: Rework display size access.
2011-05-16 12:57:00 -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
Dianne Hackborn
2a20583a5f am 700ab1c7: Merge "DO NOT MERGE. Integrate from master: Improve activity manager debug dumps." into honeycomb-mr2
* commit '700ab1c75862babba90f54e02bdc877becd4f4fc':
  DO NOT MERGE.  Integrate from master: Improve activity manager debug dumps.
2011-05-16 11:06:28 -07:00
Dianne Hackborn
ed9321ab5d am f9dd34f4: DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
* commit 'f9dd34f4d3203fd50363b3b0247c5d0db6fe2c8f':
  DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
2011-05-13 18:39:01 -07: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
f9dd34f4d3 DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
And clean up some documentation.

Change-Id: I8f06e2fc3bb6c552581b64657e82ba690d524232
2011-05-13 18:31:04 -07:00
Dianne Hackborn
7d87c37b03 am 6121f06e: Merge "Fix a bug where an action bar could be created when it should not be." into honeycomb-mr2
* commit '6121f06ed5847d1edd22b23c3b28bf3b3e3af602':
  Fix a bug where an action bar could be created when it should not be.
2011-05-13 16:26:44 -07:00
Dianne Hackborn
6121f06ed5 Merge "Fix a bug where an action bar could be created when it should not be." into honeycomb-mr2 2011-05-13 16:24:32 -07:00
Dianne Hackborn
6824c135fe am f3f2d731: Merge "DO NOT MERGE. Integrate fragment work from master" into honeycomb-mr2
* commit 'f3f2d731e19bb47a87dc071a5750fc0f18248da2':
  DO NOT MERGE.  Integrate fragment work from master
2011-05-13 15:36:48 -07:00
Adam Powell
a593d9852f Fix a bug where an action bar could be created when it should not be.
Change-Id: I9ca1038accdb6d0a539750ed8ab068a41612f6ae
2011-05-13 14:09:54 -07:00
Dianne Hackborn
16f6e89c2a DO NOT MERGE. Integrate fragment work from master
Back-port new fragment detach APIs from support lib.

This allow a much cleaner implementation of things like the
fragment pager class.

Integrate from support lib: fix restore of list state.

The FragmentManager/ListFragment impl was restoring the list
state before setting its adapter.  This caused the list view to
lose the state, since it gets cleared as part of setting the
adapter.  Now the fragment manager waits on restoring the view
hierarchy state until after it has done onActivityCreated(),
at which point we have set the adapter.

It would be nice to make list view less fragile in this regard,
but that is for a different change.

Change-Id: I38606ef7d0b06478995f3fb7726aead67420e172
2011-05-13 12:42:22 -07:00
Dianne Hackborn
51454295a5 am df9799f0: Fix build.
* commit 'df9799f0fc3ef04d9b004ebbda44883f85321b24':
  Fix build.
2011-05-12 17:35:20 -07:00
Dianne Hackborn
df9799f0fc Fix build.
Change-Id: I97e357aa20c9ba91f20f77d53fc4dca1fd3aa598
2011-05-12 15:16:33 -07:00
Dianne Hackborn
972808164a am 0f1de9ad: New compat mode front end: UI and persistence.
* commit '0f1de9adde0b52d2a385a76232bd7ac30c3eeea2':
  New compat mode front end: UI and persistence.
2011-05-12 15:01:53 -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
4907d1d5e2 am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2
* commit '0c6cbf410a642f6e9cea7cca0a6e53a4a3cdd324':
  Better compat mode part one: start scaling windows.
2011-05-09 17:08:40 -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
Brad Fitzpatrick
b8796212e3 resolved conflicts for merge of ceae9983 to honeycomb-plus-aosp
Change-Id: Ic677e58dcc182908ae1fde33047b3fda013a37c3
2011-03-15 11:54:46 -07:00
Brad Fitzpatrick
ceae99835e am 9a01a2f2: Merge "Fixing self-assignment in cloning code."
* commit '9a01a2f2720632aa9cc230a4ebb0ed7aee762eec':
  Fixing self-assignment in cloning code.
2011-03-15 11:33:40 -07:00
Brad Fitzpatrick
c73c4a36d2 am b37f7e59: Merge changes I81fc2f90,I5e7fd759
* commit 'b37f7e59ee38472bdd3ca5fe66cc847890c862e2':
  Using proper key for removing from map.
  Removing wrong equals method in comparator.
2011-03-15 11:29:56 -07:00