4894 Commits

Author SHA1 Message Date
Jeff Brown
597eec8c3d Fix keyboard hidden flag.
Configuration.hardKeyboardHidden should be set to
HARDKEYBOARDHIDDEN_YES when no keyboard is present or when it is
disabled.  The code in PhoneWindowManager.adjustConfigurationLw
does the right thing.  It also takes care of setting keyboardHidden
correctly when only a soft keyboard is available.

So it turns out that all we need to do to disable the hard keyboard
is to set Configuration.keyboard to KEYBOARD_NOKEYS *before* asking
the policy to adjust the configuration.

Bug: 3406101
Change-Id: I3519d02af30d8068198cb3d6b8fdde601c2fe8b4
2011-01-31 17:12:25 -08:00
Joe Onorato
4de68baed4 Merge "Check for the STATUS_BAR permission for the system UI properties." into honeycomb 2011-01-30 16:00:52 -08:00
Joe Onorato
ac0ee89bd9 Check for the STATUS_BAR permission for the system UI properties.
If the app doesn't have that permission, just mask out the bits.
Also makes the systemUiVisibility field visible in hierarchyviewer.

Change-Id: Ic3d3a3aed96b5c6448832755b4b2e6175117e5be
2011-01-30 15:38:30 -08:00
Jamie Gennis
6288450562 Merge "Reset ANativeWindow crop on buffer geometry changes." into honeycomb 2011-01-30 15:00:44 -08:00
The Android Open Source Project
b2abd8c424 Mass merge from gingerbread - do not merge
Change-Id: I45dc3596bf4211d8f91c64f2d1d00588878df629
2011-01-30 12:40:38 -08:00
Jeff Brown
3c89f6d1bd Merge "Add "Use physical keyboard" option to system bar IME button." into honeycomb 2011-01-30 12:07:49 -08:00
Dianne Hackborn
e97a12e340 Fix screen size compatibility mode.
Change-Id: I2c06bbb586b4e54fc7ec52ec914cf95a18006217
2011-01-30 10:31:30 -08:00
Ken Wakasa
8710e76a89 Follow up change to I741642ac
Fix wrong constant.

bug: 3404788
Change-Id: Ic5f849e6640a78a70951cf819d7e8ce53a9c2585
2011-01-30 11:02:09 +09:00
Jason parks
a2e765ef1a Merge "Update the encryption password when the device password is changed." into honeycomb 2011-01-29 12:02:19 -08:00
Jean-Baptiste Queru
80838d256d Merge 0ef57993 from gingerbread
Change-Id: If10fee1ae387a8130356dd62fe678495402d5edf
2011-01-29 11:04:41 -08:00
Kenny Root
c68a657f12 am 138757db: Merge "Make OBB results a one-way call" into gingerbread
* commit '138757db4f19cb626ef5c1d371d4fca004304a08':
  Make OBB results a one-way call
2011-01-29 09:48:07 -08:00
satok
e40dea0d06 Fix a bug that IME switch disappiers at switching IME subtype.
Bug: 3404788

Change-Id: I741642ac690a1b4c6ca1225ee271bffe39164170
2011-01-30 02:03:48 +09:00
Jeff Brown
2992ea782f Add "Use physical keyboard" option to system bar IME button.
Bug: 3391067
Change-Id: I136087ca4f726d0068d5983d7d3686787ba60c55
2011-01-28 22:06:36 -08:00
Mathias Agopian
231da079c9 Merge "fix [3389263] OMX.Nvidia.h264.decode fails to shutdown" into honeycomb 2011-01-28 18:38:58 -08:00
Mathias Agopian
1723b049c6 fix [3389263] OMX.Nvidia.h264.decode fails to shutdown
We were still destroying an ANativeWindow's buffer pretty soon
after it was removed from the window manager. This time
we really wait for the ISurace to go away.

Change-Id: I329273fedaeef76ee92836f6180c2c3808389330
2011-01-28 18:23:24 -08:00
Jamie Gennis
2ece4cdc3f Reset ANativeWindow crop on buffer geometry changes.
This changes the ANativeWindow API and the two implementations to reset
the window's crop rectangle to be uncropped when the window's buffer
geometry is changed.

Bug: 3359604
Change-Id: I64283dc8382ae687787ec0bebe6a5d5b4a0dcd6b
2011-01-28 18:21:54 -08:00
Irfan Sheriff
739f6bc675 Keep never as the default wifi sleep settings
Bug: 3404049
Change-Id: I824b8cb7b28223cfb4eb89cabc7cb237a4e1e6db
2011-01-28 17:01:29 -08:00
Joe Onorato
cfd0bafdeb Merge changes Iaa7bc042,Icc312fc9,I50ba06ed into honeycomb
* changes:
  Make keyguard also ask to turn the back button off, now that it is controlled separately.
  Allow independent control of the back and the other navigation buttons.
  Allow the status bar disable flags to be used as View's system ui visibility fields.
2011-01-28 13:40:45 -08:00
Joe Onorato
94eb3d0f7e Merge "Plumb whether an input view is actually visible or not through from the IME to the status bar." into honeycomb 2011-01-28 13:40:28 -08:00
Dianne Hackborn
420829ef78 Fix issue #3291173: Problem report for NewsRoom - RSS News Reader
The framework had started using the LayoutInflator's factory
for itself, which breaks apps that want to use it.  Add a hack for
the framework to insert its own private factory.

Also fix a deadlock in the system process.

Change-Id: Iaf80186a5d7e4029faf89e968e184abdaabe514a
2011-01-28 12:21:54 -08:00
Jason parks
f7b3cd4efd Update the encryption password when the device password is changed.
* Added changeEncryptionPassword() to the MountService.
* Update LockPatternUtils to call changeEncryptionPassword()
  when the password is changed.

Note we only require the new password to change the
encryption password.

Bug: 3382129
Change-Id: I26a7e919e325e75e22fa4290da0a8b1b57b55a80
2011-01-28 13:52:37 -06:00
Dianne Hackborn
256a09b2fa Merge "Fix issue #3392073: At times soft keyboard comes up in..." into honeycomb 2011-01-27 22:48:58 -08:00
Dianne Hackborn
e75d87266b Fix issue #3392073: At times soft keyboard comes up in...
...gallery while attaching picture to gmail message

In various places we could block switching the IME target incorrectly.

Change-Id: I7e647fb35f4ea6f2e39eb7efd911420ea9ee64fa
2011-01-27 21:56:33 -08:00
Joe Onorato
7bb8eeb90c Allow the status bar disable flags to be used as View's system ui visibility fields.
Bug: 3363046
Change-Id: I50ba06ed9a4d2f5d0e0c807437aea9900f44fee9
2011-01-27 21:41:24 -08:00
Joe Onorato
857fd9b856 Plumb whether an input view is actually visible or not through from the IME
to the status bar.

Bug: 3391067
Change-Id: I049531155bf7ee0b29874916c0b5b0a45b73c09e
2011-01-27 21:19:46 -08:00
Dianne Hackborn
83a6f450bd Maybe fix issue #3358322: Status and nav bar died while watching youtube
Or at least make it better.  Now if we get a failure locking the surface,
we mark to do a full relayout pass later to try to get a new good surface.

Also fix some bugs in how activity manager was classifying processes for
their OOM adjustment to make better choices in what to kill.

Change-Id: I8e4aa86744211ba7693f9828291d8bbf2698274f
2011-01-27 17:17:19 -08:00
Eric Laurent
111df679af Fix issue 2988031.
Limit SYSTEM stream volume when a headset is connected and music is playing.

Change-Id: Ieb44ae5bb53ffa9cd5fe8e317798eed279b78df8
2011-01-27 11:32:34 -08:00
Wink Saville
13a8f2a59c Merge "Comment out the isAvailable optimization." into honeycomb 2011-01-26 17:29:32 -08:00
Dianne Hackborn
8c0ac87087 Merge "Fix another part of #3387855: Menu flashes on left side of screen" into honeycomb 2011-01-26 16:27:40 -08:00
Dianne Hackborn
428ecb65b5 Fix another part of #3387855: Menu flashes on left side of screen
When task switching while dialog windows were up, the exit animation
wouldn't be seen.  The animation needs to force Z-order its windows
to the top.

Also fix a bug where the lock screen fade-out was immediately
Z-ordering the wallpaper to the bottom if the activity behind was
not on top of the wallpaper.

Change-Id: Icd45cd8ccfff9829822c1682931413246eb9601b
2011-01-26 16:26:48 -08:00
Dianne Hackborn
2d63144ed9 Merge "Fix issue #3380072: Switching in and out of gmail not preserving position in label" into honeycomb 2011-01-26 16:25:49 -08:00
Wink Saville
9f7a0b2b02 Comment out the isAvailable optimization.
As the comment says this causes problems if the connection
is handling errors. This removes the optimization for now.

Bug: 3386481
Change-Id: I6cb00abe8b1949e9b79b4906a6bdab5872b5054d
2011-01-26 15:43:49 -08:00
Dianne Hackborn
57f1ac4133 Fix issue #3380072: Switching in and out of gmail not preserving position in label
We were doubly-decreasing the task's activity count, so when selected
from recent tasks it would re-launch the last Intent rather than
switching to its current state.

Change-Id: I6e58c930a0755ae0142604d42b5cd2c668a2b492
2011-01-26 13:28:16 -08:00
Mathias Agopian
a0f40033c0 Merge "fix [3385504] Surface flinger hang when adding dim surface" into honeycomb 2011-01-26 12:41:02 -08:00
Winson Chung
2c070bae44 Merge "Re-enabling queued unbinding of services after requests to the service. (3394210)" into honeycomb 2011-01-26 12:30:26 -08:00
Winson Chung
16c8d8a558 Re-enabling queued unbinding of services after requests to the service. (3394210)
- Fix for crash when detaching from window
- Potential fix for occasional IllegalStateException when updating List based widgets

Change-Id: I3d3f2bb691552a1136111043db686c4926b510c6
2011-01-26 12:09:27 -08:00
Jean-Michel Trivi
2ba92c71b5 do not merge bug 3370834 Cherrypick from master
Cherripick from master CL 79833, 79417, 78864, 80332, 87500

Add new audio mode and recording source for audio communications
 other than telelphony.

The audio mode MODE_IN_CALL signals the system the device a phone
 call is currently underway. There was no way for audio video
 chat or VoIP applications to signal a call is underway, but not
 using the telephony resources. This change introduces a new mode
 to address this. Changes in other parts of the system (java
 and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
 state variable directly, but to use two new convenience methods,
 isInCall() and isStateInCall(int) instead.

Add a recording source used to designate a recording stream for
voice communications such as VoIP.

Update the platform-independent audio policy manager to pass the
 nature of the audio recording source to the audio policy client
 interface through the AudioPolicyClientInterface::setParameters()
 method.

SIP calls should set the audio mode to MODE_IN_COMMUNICATION,
 Audio mode MODE_IN_CALL is reserved for telephony.

SIP: Enable built-in echo canceler if available.
1. Always initialize AudioRecord with VOICE_COMMUNICATION.
2. If echo canceler is available, disable our echo suppressor.

Note that this CL is intentionally not correcting the
 getAudioSourceMax() return value in MediaRecorder.java as the
 new source is hidden here.

Change-Id: Ie68cd03c50553101aa2ad838fe9459b2cf151bc8
2011-01-26 11:20:01 -08:00
Kenny Root
f4b2c0422c am 91c459ec: Copy user info from PackageSetting as well
* commit '91c459ec7dba6d56816ff5cbd92c627e0f718915':
  Copy user info from PackageSetting as well
2011-01-26 11:00:20 -08:00
Joe Onorato
55bf3809b9 Make TabletStatusBar call into StatusBarManagerService when it goes out of lights out mode on its
own.

Bug: 3241144
Change-Id: Id09437a4f32f1d64daa7ae65e41c99897b5964d7
2011-01-26 10:32:18 -08:00
Joe Onorato
644f9c3ad9 Make FLAG_FULLSCREEN not go into lights out mode anymore.
Change-Id: I4a0aa8789f537717f82df4efb6a35108e1ab1784
2011-01-26 10:32:18 -08:00
Kenny Root
138757db4f Merge "Make OBB results a one-way call" into gingerbread 2011-01-26 09:17:28 -08:00
Mathias Agopian
d35c6667c8 fix [3385504] Surface flinger hang when adding dim surface
Change-Id: I8e0cda414bcad5854d2ca5dde8370bfd8b2e5ea4
2011-01-25 20:52:46 -08:00
Jeff Brown
1b0cee368b Merge "Disable mouse support. (DO NOT MERGE)" into honeycomb 2011-01-25 18:18:10 -08:00
Jeff Brown
7fe57bfa0d Disable mouse support. (DO NOT MERGE)
Change-Id: Ica9703a18195079d227caff8c2389c750559f3d0
2011-01-25 17:52:01 -08:00
Kenny Root
b7db2726e9 Make OBB results a one-way call
OBB result back to an application needs to be a one-way binder call.

Bug: 3353699
Change-Id: I0e625914d18a001c2fa9d764ea6463f34cf96743
2011-01-25 17:29:59 -08:00
Jeff Brown
58a2da843f Fix crashes caused by some input devices.
The touch screen sometimes reports more than 10 pointers even though that's
all we asked for.  When this happens, we start dropping events with more
than 10 pointers.  This confuses applications and causes them to crash.
Raised the limit to 16 pointers.
Bug: 3331247

The default behavior was to identify all touch devices as touch screens.
External devices that are plugged in are more likely to be touch pads
not attached to a screen.  Changed the default to be a touch pad
and renamed some internal constants to avoid confusion.

A certain mouse happens to also behave like a touch pad.  That caused
problems because we would see multiple concurrent traces of motion events
coming from the same input device so we would batch them up.
Added code to ensure that we don't batch events unless they come from
the same *source* in addition to coming from the same *device*.

Due to batching or misbehaving drivers, it's possible for the set of
pointer ids to be different from what we expect when it comes time to
split motion events across windows.  As a result, we can generate motion
events with 0 pointers.  When we try to deliver those events, we cause
an error in the InputTransport so we tear down the InputChannel and kill
the application.
Added code to check out assumption about pointer ids and drop the
event gracefully instead.

Patched up the tests to take into account the change in default behavior
for identifying touch screens and touch pads.

Change-Id: Ic364bd4cb4cc6335d4a1213a26d6bdadc7e33505
2011-01-25 16:02:22 -08:00
Mathias Agopian
21956040a7 fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)
Generally we never want to lock a buffer for write access if it is at
the "head" on the surfaceflinger side. The only exception (1) is when
the buffer is not currently in use AND there is at least one queued
buffer -- in which case, SurfaceFlinger will never use said buffer
anymore, because on the next composition around, it will be able to
retire the first queued buffer.

The logic above relies on SurfaceFlinger always retiring
and locking a buffer before composition -- unfortunately this
didn't happen during a screenshot.

This could leave us in a situation where a buffer is locked by the
application for write, and used by SurfaceFlinger for texturing,
causing a hang.

Here, we fix this issue by never assuming the exception (1), it was
intended as an optimization allowing ANativeWindow::lockBuffer() to
return sooner and was justified when most of SF composition was
done in software. The actual buffer locking is now ensured by
gralloc. We could have handled screenshots in a similar way to
a regular composition, but it could have caused glitches on screen,
essentially, taking a screenshot could cause to skip a frame.

now that we removed the notion of a "inUse" buffer in surfaceflinger
a lot of code can be simplified / removed.

noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete"
is also gone.
2011-01-25 14:19:13 -08:00
Mathias Agopian
68d3478860 partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)
We used to guarantee that a layer in SurfaceFlinger would never be
destroyed before all references (to its ISurface) on the client
side would be released. At some point, this guarantee got
relaxed to allow to free gralloc resources sooner. This last
change was incorrect, because:
- in implementations with reference-counting the gralloc resources
wouldn't be released anyways, until all the mapping were gone
- in implementations without ref counting, the client side
would most likely crash or do something bad
- it also caused the SharedBufferStack slot to be reallocated
to another surface, which could be problematic if the client
continued to use the surface after the window manager destroyed it.

So, we essentially reinstate the guarantee that layers won't be
destroyed until after all references to their ISurface are
released.

NOTE: This doesn't entirely fix 3306150 because there is another
problem there where the Browser continues to use a surface after it
has been destroyed.

also improve SurfaceFlinger 'dumpsys' log

list the purgatory, which shows windows that have been closed,
but for which the client still has references.
2011-01-25 14:19:13 -08:00
Mathias Agopian
8aa11d82f3 fix a small bug that caused screenshot to show garbage in some cases (DO NOT MERGE)
we were not clearing the screen entirely, which caused garbage when
the screen wasn't entirely covered by windows.

Change-Id: Ia7aa13c36a8a314e0e8427d419b16b9aa2165ddf
2011-01-25 14:18:58 -08:00
Mathias Agopian
84c6f5a44c workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE)
we make sure to call compositionComplete after everytime we do
composition with the GPU (even for the screenshot case), which is
where the buffer locks are released.

Change-Id: I450430d1e4d1ee9ce1023970642378c42cdcfa4c
2011-01-25 14:18:29 -08:00