Commit Graph

210 Commits

Author SHA1 Message Date
Jim Miller
1a0ce1cc6f am db603bb5: am 3b68548d: am 75b6a6b9: Merge "Fix 2737842: Disable KeguardManager API if device policy is enabled" into froyo 2010-06-08 16:37:12 -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
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
Jim Miller
aed22d27bb am a9a0a0b2: am 7d70358a: am bde25c20: Merge "Fix 2737842: disable keyguard API when device policy is enabled." into froyo 2010-06-08 10:15:21 -07:00
Jim Miller
7d70358a03 am bde25c20: Merge "Fix 2737842: disable keyguard API when device policy is enabled." into froyo
Merge commit 'bde25c207731783a62e3611586fe05cd35add0d9' into kraken

* commit 'bde25c207731783a62e3611586fe05cd35add0d9':
  Fix 2737842: disable keyguard API when device policy is enabled.
2010-06-07 19:25:49 -07:00
Jim Miller
d6b5705e18 Fix 2737842: disable keyguard API when device policy is enabled.
This fix disables KeyguardManager's enable/disable API when any
device policy admin requests a policy that enforces a password.

Change-Id: Idb1da16b14ed8963142f7b1f62d2b060d84ffa65
2010-06-07 19:19:29 -07:00
Adam Powell
47482969bb Recycle MotionEvents for ACTION_OUTSIDE in WindowManagerService
Change-Id: I648e5ad780cad285f190e06cfff1780c6dad0117
2010-05-27 18:52:59 -07:00
The Android Open Source Project
38e6aa365e am 9a069c80: am 63ece47f: am 2a9ae01f: merge from open-source master 2010-05-12 12:47:45 -07:00
The Android Open Source Project
63ece47fec am 2a9ae01f: merge from open-source master
Merge commit '2a9ae01f74e7273ce0d1045754597ea78b88ba69' into kraken

* commit '2a9ae01f74e7273ce0d1045754597ea78b88ba69':
  Corrected repeat count for key repeat in input device.
2010-05-12 12:44:27 -07:00
The Android Open Source Project
2a9ae01f74 merge from open-source master
Change-Id: I24ecfac151c0ddc27237d711c95b8fe488d7931b
2010-05-12 12:33:35 -07:00
Kristian Dreher
133bfdfa4a Corrected repeat count for key repeat in input device.
Previously the key event repeat count was always zero when the repeated
key down events was generated by the input device in the Linux kernel.

Change-Id: I86b7fd2a75880bc54d052ef404c3654b7ed14c52
2010-05-10 16:41:31 -07:00
The Android Open Source Project
108817f3d8 am 8b270a7a: am 579e08e6: am f7896449: merge from open-source master 2010-05-05 18:16:31 -07:00
The Android Open Source Project
579e08e657 am f7896449: merge from open-source master
Merge commit 'f78964490d8098387d51444c87bf520ad3f674e2' into kraken

* commit 'f78964490d8098387d51444c87bf520ad3f674e2':
  Add new keycodes for the convenience of Japanese IMEs
  Call register_localized_collators() with the current locale.
  Fixed deserialization problem in DatePicker.
  Fix for bug 2467152 files with spaces fail to open.
  Set alpha value for newly created dim surface.
  telephony: Fix CID when CID is unknown
2010-05-05 16:00:01 -07:00
The Android Open Source Project
f78964490d merge from open-source master
Change-Id: Ia9e1f4e049f5870386ea29ddb6e3ef028ea918da
2010-05-05 15:57:42 -07:00
Dianne Hackborn
8640c1d0e5 am 14cee9f6: New xlarge screen size. 2010-04-28 16:58:05 -07:00
Dianne Hackborn
14cee9f688 New xlarge screen size.
Not complete, only for experimentation at this point.

This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.

The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.

Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
2010-04-28 16:51:52 -07:00
Maciej Białka
9ee5c2215a Set alpha value for newly created dim surface.
Newly created dim surface has alpha set to 1 (opaque),
but it is assumed in dim animation code that it is 0 (transparent).
When new dim surface is created and expected dim value is calculated to 0
then alpha is never set making screen black (dut to default aplha=1)
when dim surface is shown.
2010-04-27 08:12:51 +02:00
Dianne Hackborn
c9d07b0946 am 2fe441fa: am 476a57e6: am 9bc0a572: Merge "Fix issue #2608292: Fails to launch the video camera preview" into froyo 2010-04-22 16:38:10 -07:00
Dianne Hackborn
476a57e64a am 9bc0a572: Merge "Fix issue #2608292: Fails to launch the video camera preview" into froyo
Merge commit '9bc0a572d8459e0b6209e8a68cb680389c1f8b73' into froyo-plus-aosp

* commit '9bc0a572d8459e0b6209e8a68cb680389c1f8b73':
  Fix issue #2608292: Fails to launch the video camera preview
2010-04-22 16:24:08 -07:00
Dianne Hackborn
f09c1a247a Fix issue #2608292: Fails to launch the video camera preview
Need to clear the attached hidden flag on the window, even if it does
not yet have an actual surface.

Change-Id: I0a90f6b03cd8e347a3eae4d6bea3ab93f7128bf4
2010-04-22 15:59:21 -07:00
Dianne Hackborn
cd616247db am ce73c1e5: Framework change for #2583442: Navigation dies when night mode changes
Merge commit 'ce73c1e5bfd36154d21ee7b332cfdc6cea48812e' into froyo-plus-aosp

* commit 'ce73c1e5bfd36154d21ee7b332cfdc6cea48812e':
  Framework change for #2583442: Navigation dies when night mode changes
2010-04-13 18:05:47 -07:00
Dianne Hackborn
ce73c1e5bf Framework change for #2583442: Navigation dies when night mode changes
The window manager doesn't retain its keep screen on lock while
in the process of destroying and creating new activity windows during
a config change.  Now it does.

Unfortunately, this doesn't help maps, since it doesn't use our
lovely KEEP_SCREEN_ON flag. :p

Change-Id: Ida4bc0fcfe132cdff2bd4eeb7ba0ce9731504d14
2010-04-13 18:01:40 -07:00
Dianne Hackborn
fbd22f072b am ae8c2c71: Merge "Fix issue #2420340: if FLAG_SHOW_WHEN_LOCKED, do not show keyguard..." into froyo
Merge commit 'ae8c2c71f7791ed0321e56f31f0c1276da4d8842' into froyo-plus-aosp

* commit 'ae8c2c71f7791ed0321e56f31f0c1276da4d8842':
  Fix issue #2420340: if FLAG_SHOW_WHEN_LOCKED, do not show keyguard...
2010-04-13 17:59:56 -07:00
Dianne Hackborn
5943c200a4 Fix issue #2420340: if FLAG_SHOW_WHEN_LOCKED, do not show keyguard...
...go directly to unlock screen

Fix a problem where, when we are moving windows due to a configuration
change, our wait to have the windows get redrawn would also
inadvertently make us think their surfaces should be hidden, leading
to nasty things like the lock screen thinking it should be shown
again (and thus forcing the orientation back to portrait).

Change-Id: I79057cfbc93ff59fd3558da997d4f73796e6aabe
2010-04-12 21:36:49 -07:00
The Android Open Source Project
727cec02da merge from open-source master
Change-Id: I0902959c7703bd3a1c41abfc6a8788b89d0aa977
2010-04-08 11:35:37 -07:00
Christopher Tate
b696aee7b3 Fix "incall in landscape sometimes" bug #2523942
The problem turns out to have been a deep weirdness in the way that keyguard
and incall interact.  Incall gets relaunched when the keyboard is opened/closed,
which transiently exposes keyguard with its nosensor orientation demands, and
that plus the long keyguard-hide animation was leaving incall in a bad state
from which the window manager didn't try to recover.

We now disregard animating-towards-hidden windows [i.e. keyguard] when running
through the app tokens to determine what orientation should be, and do not do
configuration calculations at all while the display is frozen.  There can still
be a transient state in which incall is drawn in landscape, but things proceed
from there to relaunch it back into the proper portrait orientation, and it
ends up in the right state in the end.

Change-Id: I0d74ee19064b6d7f65600976f1b5b16b7ec36f31
2010-04-02 19:13:51 -07:00
Dianne Hackborn
f83c555d8a Fix issue #2561067: Screen Display half faded...
Also a little tweak to the activity manager to behave better when
an application crash, to hopefully mostly avoid situations where
you get into a crash loop.

Change-Id: I627cc1da3a0f16a180957f02bfbe5c81ecd31758
2010-03-31 22:47:10 -07:00
Dianne Hackborn
529bef6925 Dumb late-night typo.
Change-Id: If5e5d8c3728ffc06d686c793ed94a7e18328e5ab
2010-03-25 11:48:43 -07:00
Dianne Hackborn
16064f9f18 Fix issue #2543231: chat invitation dialog does show all the time
We were forgetting to re-assign layers after re-ordering windows
after an app token transaction.

Change-Id: I448c0b9da644e027c3edff3ae8a4afa79da292d1
2010-03-25 01:00:03 -07:00
Maciej Białka
3779dd12b0 Fix reporting of window visibility in WindowManagerService.
WindowManagerService (WMS) can wrongly report windows visibility due
to wrong handling of "starting windows".
"Starting windows" are special temporary windows that are displayed
while the application is starting.
Sometimes "starting windows" are considered when checking visibility
what leads to not reported or wrongly reported visibility status.
If visibility is not reported correctly some internal flows are
not executed and WMS internal state can be wrong.
2010-03-24 10:20:52 +01:00
Suchi Amalapurapu
e99bb5f10b Add new method call back in MountService.
PackageManager invokes this call back when its done handling
the media status update.
Add new uid check for updateExternalMediaStatus
Change killPids method in ActivityManager.
Remove mountsd command in Pm.java We cannot arbitrarily enable/disable
packages in PackageManager now.

Change-Id: I28dcba4afd2b4486f68abdaa1628a31b66544c91
2010-03-22 10:49:49 -07:00
Dianne Hackborn
694f79b5d1 Fix issue #2519590: Lock screen stuck in landscape mode
Well, mostly.  There is still a problem here where the first time
you show the lock screen it just doesn't draw itself.  I assume
this is something breaking in the view hierarchy as it floounders
around removing and adding new views as it is first being shown...
but no idea at this point what is the actual case.

Change-Id: Iba99ae3242931c8673b17b106c86fc99e2c52abe
2010-03-18 01:12:20 -07:00
Dianne Hackborn
ac3587d7ce Fix issue #2461567: Home screen redraw messed up
Make sure that we have a window redraw itself after resizing its
surface.

Also includes a little optimization to avoid having an extra thread
for the ImageWallpaper.

Change-Id: I88d1eb66e3116077f48e6f9086a5b6459505ef69
2010-03-11 14:52:34 -08:00
Dianne Hackborn
b8b11a0b1d Further improvements to window management!
Fix issue #2493497: Stuck in the Emergency dialer - Home/Back keys doesn't work
This was another case of not updating the window focus when needed, this time
when the lock screen was hidden.

Also re-arrange the layout/animate flow to address issues where you would see
a flicker of whatever was behind the lock screen when showing a new activity that
hides the lock screen.  This was because we were deciding to hide the lock screen
during the layout phase, which meant we had to do it without considering whether
it had drawn.  So we could hide the lock screen before the window is shown for the
first time after being drawn.  Now we can do this in the policy during animate, so
we can wait until the window is drawn and actually being shown.

The flow in perform layout is thus significantly changed, where the layout and
animate loops are both under the same repeating loop.  The actual flow from this
should be the same, but it now allows the policy to request a new layout after
the animation loop is done.  This actually cleans up a number of things in this
code as the complexity has increased.

Finally this includes a change to the ui mode manager when switching modes, to do
the resource configuration switch at a different time.  This makes transitions
between modes much cleaner (though not yet perfect).

Change-Id: I5d9e75c1e79df1106108dd522f8ffed6058ef82b
2010-03-10 16:47:57 -08:00
Mike Lockwood
46af6a8b1f Don't let hidden keyguard interfere with button and screen brightness overrides
Change-Id: Ibdc115b8fb6900b0f859085c13a707750deeab57
BUG: 2252317

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-03-09 08:31:30 -05:00
Dianne Hackborn
20cb56e26e Fix some bugs.
Bug #2376231: Apps lose window focus (and back key causes ANR) if the
lock screen is dismissed while the phone is in landscape mode

This is another case where we weren't recomputing the focused window
after changing the visibility policy.

bug #2479958: Investigate source of "Resources don't contain package
for resource number 0x7f0a0000"

Um, okay, so it turns out there were bugs all over the place where
we would load an XML resource from a another application, but not
use the Resources for that application to retrieve its resources...!
I think the only reason any of this stuff was working at all was
because it typically only cared about retrieving the resource
identifiers of the items (it would look up the values later).

Bug #2401082: Passion ERE26 monkey crash - InputMethodManagerService

Add some null checks.
2010-03-04 11:52:14 -08:00
Dianne Hackborn
a2e92266b3 Maybe fix issue #2482201: Paired bluetooth device looks like a qwerty keyboard
We now only consider a device to be a default keyboard if its name
has "-keypad".  A hack, but whatever.

Also add some debug logging for the input state to help identify such
issues in the future.
2010-03-02 17:37:45 -08:00
Dianne Hackborn
b601ce14f9 Fix issue #2468687: back and home keys don't work on InCallScreen
Make sure we update the focus after hiding a window via the
policy visibility.
2010-03-02 11:43:16 -08:00
Mathias Agopian
5d26c1e38d Added a name to Surface created by SurfaceFlinger
Updated the window manager to use this new facility.
Surfaces name are now printed by "dumpsys".
2010-03-01 18:34:50 -08:00
Joe Onorato
8a9b22056b Switch the services library to using the new Slog 2010-03-01 13:06:50 -08:00
Dianne Hackborn
e36d6e277e Work on issue #2263557: PMF3000 showing hybrid of portrait and landscape modes
This is a bunch of reworking of how configuration changes are handled:

- When orientation is changing (for whatever reason), the window manager no
  longer tries to pre-emptively compute a new configuration.  Instead, it
  just determines  change is happening and tells the window manager.
- The activity manager is now responsible for giving the window manager the
  final configuration it is using.  This is both so it knows whem the
  activity manager is done with its configuration updates, and so the window
  manager can use the "real" configuration.
- When an orientation or other configuration change is happening, freeze the
  screen and keep it frozen until the activity manager has given us the
  final configuration.
- The window manager can now send new configurations to its clients during
  its layout pass, as part of a resize, if it has determined that it has
  changed.  This allows for a new View.onConfigurationChanged() API for any
  view to easily find out when the configuration has changed.
- ViewRoot now also works with the activity thread to make sure the process's
  current resources are updated to the new configuration when it receives one
  from a window.  This ensures that at the time onConfigurationChanged() and
  other view callbacks are happening, the correct configuration is in force.
- There is now a sequence number associated with Configuration, which
  ActivityThread uses to avoid using stale configurations.  This is needed now
  that it can receive configurations asynchronously from both the window
  manager and activity manager.
- The hack for keeping the locale has been removed, and underlying problem
  fixed by having Configuration initialize its locale to "unknown" instead of
  a valid default value.
2010-02-18 15:47:34 -08:00
Dianne Hackborn
90d2db3d21 Add Pointer Location to the window manager.
The window manager now has pointer location built into it.
Viva la touch!
2010-02-12 13:19:06 -08:00
Christopher Tate
136b1f927f Fix spurious ANRs involving window shuffling and non-fullscreen activities
Force the event-target bookkeeping to reset when an app explicitly
acknowledges event receipt.  Furthermore, notify the event dispatcher
whenever a new window is created, even if there is nominally an
existing event target window.

These changes in tandem address a subtle race bug in which the event
dispatcher believes that there is an event recipient that it is still
waiting for even when the event in question has been acknowledged;
this results in a spurious ANR.  There were checks in the existing code
that wound up doing the right thing in the case of windows becoming
hidden, but the case of non-fullscreen activities floating over them
[unavailable for input but still visible] exposed the race condition.

Bug: 2432828
Change-Id: I29fb741aace34736b029f9ba43f2c43184366258
2010-02-11 18:07:22 -08:00
The Android Open Source Project
3941411a21 am 1e90ab54: merge from open-source master
Merge commit '1e90ab542d675616e9370ab7e5add99d7af12587'

* commit '1e90ab542d675616e9370ab7e5add99d7af12587':
  Fixs the incorrect message for SecurityException
  Default RotateDrawable's pivot set to (50%, 50%)
2010-02-11 11:20:40 -08:00
The Android Open Source Project
1e90ab542d merge from open-source master 2010-02-11 10:03:02 -08:00
Chander S Pechetty
27f3de6bac Fixs the incorrect message for SecurityException
when injecting a Key, Pointer and Trackball events into the UI across
applications, the corresponding methods throw SecurityException with
incorrect permission message.
INJECT EVENT permission should be INJECT_EVENTS
2010-02-10 22:14:00 +05:30
Christopher Tate
46d4525abc Print the snapshot focus rather than the Window Manager's actual current focus
when dumping key-timeout information around an ANR.

Change-Id: Ia70a71029663fa134078ea9ab40f0a6a7f3945ea
2010-02-09 15:55:03 -08:00
Ken Shirriff
8200b20fe6 Change key dispatch timeout logging.
The mToken logging seems redundant and confusing.
Clarify what sending to <null> means.
Clarify what dispatch state and current state mean.
2010-02-08 11:09:17 -08:00
Mike Lockwood
ef73162887 Support for triggering the lockscreen while the screen is on:
Add new ALLOW_LOCK_WHILE_SCREEN_ON window manager flag, which when set
causes the window manager to put up the lockscreen after the
normal screen timeout has elapsed.

Add plumbing to pass PowerManager.userActivity() to the window manager policy.

Change-Id: I05adc52bad39c56031a08e8ec3cbcf5c2d9b9827
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-01-29 17:05:04 -05:00
Romain Guy
980a938c1c Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
2010-01-08 15:11:38 -08:00