7250 Commits

Author SHA1 Message Date
Eric Laurent
b1fbaaccb6 Send device connection intents from AudioService
AudioService is currently notified of wired headset and A2DP
sink connection states via broadcast intents from WiredAccessoryObserver
and BluetoothA2dpService. This is a problem as there is no guaranty that
AudioService can take actions upon the change before other apps are notified.
For instance, the Play On feature requires the UI to be refreshed when a device
is inserted/removed and we must guaranty that the UI component can read
new A2DP enable state from AudioManager after it receives a device connection state
change intent.

- Added hidden methods to AudioManager so that WiredAccessoryObserver
and BluetoothA2dpService can notify AudioService of device connection directly.
- The wired accessories connection intents are now sent by AudioService.
- The A2DP state change intent is delayed by BluetoothA2DPService when
ACTION_AUDIO_BECOMING_NOISY is sent by AudioService
- ACTION_AUDIO_BECOMING_NOISY intent is not sent when disconnecting A2DP
while a wired headset is present and vice versa.

Bug 6485897.

Change-Id: Ie160b3ee5f451132065530772b868593c90afd94
2012-05-30 14:44:43 -07:00
Craig Mautner
2af7b9151f Merge "Redraw all windows earlier in power on sequence." into jb-dev 2012-05-24 17:48:44 -07:00
Craig Mautner
3d7b7d59c8 Redraw all windows earlier in power on sequence.
Send a message to all windows to redraw before notifying
PhoneWindowManager of screen on. This minimizes the delay in
screen update that causes the keyguard clock to display the old time
before displaying the current time.

Fixes bug 6381021.

Change-Id: Ida7071e7dac2284540f101c5d004511b52133b91
2012-05-24 15:38:54 -07:00
Robert Greenwalt
1ed1de7ab2 Merge "Modify logging to debug this issue" into jb-dev 2012-05-24 12:27:23 -07:00
Jeff Sharkey
6385ff511d Merge "Advise persist threshold outside NPMS lock." into jb-dev 2012-05-24 11:38:12 -07:00
Robert Greenwalt
5a0c320a82 Modify logging to debug this issue
Logging exec time on startUsingNetworkFeature as we've had some reports suggesting it's
causing ANRs.
Remove some logging from NDC so it's local log is more useful.

bug:6492166
Change-Id: I258ff6c59bff2c65935242d50496d84720c5d493
2012-05-24 10:47:10 -07:00
Fabrice Di Meglio
0100625bb3 Merge "Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)" into jb-dev 2012-05-24 10:42:23 -07:00
Jeff Sharkey
e19f39b79c Advise persist threshold outside NPMS lock.
Bug: 6492166
Change-Id: Ibebdc7e9b8cae27c12fd7b61b53ab60287a0364d
2012-05-24 10:21:16 -07:00
satok
7018a90c32 Fix the issue on matching the locale in TextServicesManagerService
Bug: 6542210

Change-Id: I42d84b684d5689e8fceecb705bb51d19d847477a
2012-05-24 18:21:45 +09:00
Craig Mautner
67e6070fa1 Merge "Change method of tracking moving AppWindowTokens." into jb-dev 2012-05-23 18:30:25 -07:00
Craig Mautner
9cf5831f2b Merge "Fix jank when launching apps that show wallpaper." into jb-dev 2012-05-23 18:29:39 -07:00
Craig Mautner
ef25d7a019 Change method of tracking moving AppWindowTokens.
Stop trying to keep track of the AppTokens that have been moved
to the top and bottom and then try and match the WindowStates when
transitions are goodToGo. Instead rebuild the WindowState order based
on the AppToken order when we are goodToGo.

When moving AppWindowTokens lower in mAppTokens create a new ArrayList
of AppWindowTokens to keep track of the apps in Z order while
animating.

Fixes bug 6481078.

Change-Id: I29b33a507b45752f15feb10a9f4b47a3f5eb9f0e
2012-05-23 17:07:36 -07:00
Craig Mautner
8e4df6c1e2 Fix jank when launching apps that show wallpaper.
Do not create a StartingWindow for apps that show wallpaper.
Fix handling of obscure case where found wallpaper is hidden.

Fixes bug 6484034.

Change-Id: I07181c4aea56fa9e530df0c95d886fe8ad61ec9d
2012-05-23 16:57:23 -07:00
Fabrice Di Meglio
13fe2a5330 Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)
- use an ID instead of a String for StorageVolume description
- use this ID for getting the correct localized version of the description string

Change-Id: I30f3080fce2c889be38bfdf9f5121dffcf8a99e8
2012-05-23 16:38:09 -07:00
Svetoslav Ganov
4074e8a3f4 System accessibility state update postponed if UI test autmation is running.
1. If a UI test automation accessibility service is connected to the
   system we pospone state updates in the AccessibilityManagerService
   for the moment the UI automations service dies or is disconnected.

bug:6540522

Change-Id: I48ddf603b53d2158a00edcf8ad05cfe2575d4d75
2012-05-23 13:12:13 -07:00
Craig Mautner
53d003f0e7 Merge "Modify auto brightness to return to dim level." into jb-dev 2012-05-23 11:22:04 -07:00
Svetoslav Ganov
64a0387589 Merge "Perform an action in AccessibilityManagerSerivce using wrong process id." into jb-dev 2012-05-22 18:26:44 -07:00
Svetoslav Ganov
9bf21873c9 Perform an action in AccessibilityManagerSerivce using wrong process id.
1. We are passing the interrogating process id in the remote
   accessibility requests to catch the query from the same
   thread. While all other methods were doing this correctly
   somehow the perform action is using the incorrect process id.

bug:6534935

Change-Id: Icef50833903c562758d51ef316b60c53c7a336c0
2012-05-22 18:08:02 -07:00
Dianne Hackborn
2d243bc62a Merge "Fix issue #5680541: onStartInputView called upon focus loss" into jb-dev 2012-05-22 17:07:50 -07:00
Craig Mautner
208236dd96 Merge "Pull showStrictModeViolation off of local threads." into jb-dev 2012-05-22 16:54:09 -07:00
Craig Mautner
196943fb51 Modify auto brightness to return to dim level.
Previous auto brightness policy was to only ratchet screen brightness
up and never return to dim levels until the device was turned off. This
caused the screen to be very bright in dim areas and reduced battery
life. This change allows the screen to dim down over the course of
a minute to the desired brightness level.

Fixes bug 6422464.

Change-Id: I5592c06a495650c6496ec2fc9846d7a10fac4b16
2012-05-22 16:36:12 -07:00
Dianne Hackborn
a6e41342e2 Fix issue #5680541: onStartInputView called upon focus loss
We should tell the app that it is inactive, before unbinding.
Otherwise when it is told to unbind it will see that it is still
supposed to be active and immediately re-bind.

Also change the calls to set the active state to go through the
message dispatch path, to ensure ordering is correct.

Change-Id: I246241eac8f7521f42c4c1eee7f46097337e7303
2012-05-22 16:30:34 -07:00
Craig Mautner
0447a81e6d Pull showStrictModeViolation off of local threads.
By moving the StrictModeViolation display onto the WindowManager
Handler we avoid potential deadlocks as found in the bug below.

Fixes bug 6537798.

Change-Id: Ia46a43d1f7f6e55256f770b9e196602092669b49
2012-05-22 16:01:31 -07:00
Dianne Hackborn
ac92087a9a Fix issue #6499411: Characters not displayed (but suggestion bar is working)
The problem was that when dismissing the lock screen, the window manager
would briefly turn off force hiding when it started animating the transition
and then turn it back on until the transition was done.

This would cause it to briefly switch focus to the app behind and then
take focus off it.  The app would find out it got focus, and re-start
input on itself, asking the input method service to do so.  At this
point the input method service would ask the window manager if the
caller really had focus, and it may or may not be told no depending
on the timing.  If it is told no, then it doesn't allow the focus
switch to happen at that point, ignoring the new input connection,
and ultimately when focus does really switch the IME is left talking
with an old dead input connection.

I added some code to the input connection to make sure when we are
no longer using one that we mark it inactive and can't use it.  This
bug was especially difficult to track down because it would only
visibly break when a GC happened during this time, causing the weak
reference on the input connection to become null.  With this change
it will now always break (though in the scenario here only if you
hit the race condition correctly).

Change-Id: I81a6164dc140c548da1a9736e42cd253e8238a80
2012-05-22 12:15:15 -07:00
Svetoslav Ganov
ec2c171778 UI test automation not working.
1. The internal service instance created by AccessibilityManagerService
   was getting the looper of the current thread when created. This works
   for real accessibility services but since UI automation service is
   registered via an IPC the binder thread has no looper. Now we explicitly
   get the correct looper.

bug:6535435

Change-Id: I63a2ada1b65c4b3c71c3d1e6deb3dfdeb7a3d6d6
2012-05-22 11:32:04 -07:00
Kenny Root
0eaeb69d1c Merge "Do not bother to remove pending installs" into jb-dev 2012-05-22 08:54:30 -07:00
Svetoslav Ganov
9faa9374c1 Merge "Changing the interaction model of the touch explorer." into jb-dev 2012-05-21 17:52:28 -07:00
Kenny Root
14ae367cae Do not bother to remove pending installs
Pending install list is cleared if there is an error connecting to DCS,
so don't try to remove each pending install in the loop.

Change-Id: I736114878ad92136c3b8a3ca27a1f058adaba395
2012-05-21 16:57:32 -07:00
Svetoslav Ganov
e15ccb93ad Changing the interaction model of the touch explorer.
1. Now the user have to double tap to activate the last
   item. If the last touched window is not active because
   it does not take input focus the click on the last
   touch explored location. Othewise the click is on the
   accessibility focus location.

bug:5932640

Change-Id: Ibb7b97262a7c5f2f94abef429e02790fdc91a8dd
2012-05-21 14:08:57 -07:00
Jeff Brown
ee3bb6498a Merge "Disable debug logs." into jb-dev 2012-05-21 13:08:17 -07:00
Jeff Brown
1b9ba578f1 Disable debug logs.
Change-Id: Icc7d389789885185f2ca9b609bad6096fe290106
2012-05-21 10:54:18 -07:00
satok
d81e950265 Fix the issue on the inconsistent condition of InputMethodSubtype
Bug: 6510104
Change-Id: I67790e5f59d0d05340b74eca1029c60f381061b8
2012-05-21 18:30:14 +09:00
satok
5d4d23ebdf Merge "Consolidate the initialization of InputMethodManagerService not to use resource values until system ready" into jb-dev 2012-05-20 19:59:50 -07:00
Jeff Brown
cf39bdf3df Add support for switching between multiple keyboard layouts.
Also show a notification when an external keyboard is connected
and does not have a keyboard layout selected yet.

Bug: 6405203
Change-Id: Id0ac6d83b3b381f8a236b2244a04c9acb203db3c
2012-05-20 14:56:22 -07:00
Craig Mautner
255632d160 Merge "Prevent dim surface from flashing." into jb-dev 2012-05-18 17:32:48 -07:00
Craig Mautner
067ca32a52 Prevent dim surface from flashing.
This fix keeps the dim surface below the highest shown layer. If
two shown layers were both dim it was ambiguous where the dim surface
would appear causing dialogs to first be dimmed and then flash when
the dim was put behind them.

Fixes bug 6497476.

Change-Id: I360cf2d23d58fc4c03edbbed16d79c08c29e48b9
2012-05-18 17:19:51 -07:00
Dianne Hackborn
5320eb8938 Fix activity resolver, issues #6519130 and #6507239
6519130: Starting ResolverActivity with no arguments crashes system_server
6507239: ResolverActivity may bypass signature permissions

Change-Id: I64534f781bc6b7eb45e85dbe3a55d351ee28e85c
2012-05-18 15:04:53 -07:00
Jeff Sharkey
787c9ec558 Merge "Transition from DEV network stats to XT." into jb-dev 2012-05-18 11:40:42 -07:00
satok
0a1bcf4e0d Consolidate the initialization of InputMethodManagerService not to use resource values until system ready
Bug: 6477193
InputMethodManagerService have used the resource value of "isDefault" in the constructor. We should wait to use that value until system ready.
Change-Id: I682fc109c303d8c7fd33d494c59e8e28d6dc6fa5
2012-05-18 16:00:40 +09:00
Nick Pelly
1ca4399706 Merge "Enforce the minTime parameter in LocationManager#requestLocationUpdates" into jb-dev 2012-05-17 20:57:56 -07:00
Dianne Hackborn
abe3927701 Merge "Fix issue #6515427: Add android.hardware.television and fix..." into jb-dev 2012-05-17 18:18:27 -07:00
Dianne Hackborn
0cf2c8a533 Fix issue #6515427: Add android.hardware.television and fix...
...logic for notouch in Configuration

Added new TELEVISION feature.

We now force the configuration to "television" if the TELEVISION
feature is set, and "notouch" if the TOUCHSCREEN feature is not set.

Also cleaned up documentation, deprecated some configurations that
are not used.

Change-Id: If1c7a284b580a8a66bda2a75f0c7fa841b3dc9b7
2012-05-17 18:11:14 -07:00
Kenny Root
ae9d040f71 Merge "Wait for ASECs to be scanned before proceeding" into jb-dev 2012-05-17 16:42:09 -07:00
Christopher Tate
27cb3f8c44 Merge "Eliminate "backup enabled but not provisioned" failure modes" into jb-dev 2012-05-17 16:41:53 -07:00
Jeff Brown
dc9445ba4c Merge "Add support for grouping keyboard layouts by collection." into jb-dev 2012-05-17 16:33:40 -07:00
Kenny Root
51a573c767 Wait for ASECs to be scanned before proceeding
Move MountService up the list, then pause waiting for MountService to
finish scanning ASECs before the services that require those packages to
be ready.

Additionally, don't automatically mark all ASEC apps as FLAG_EXTERNAL on
reboot. This prevents AppWidgets and other things from being used with
ASECs which are on internal storage.

Bug: 6445613
Change-Id: I3e0b3e244fec966814d7a5ea93de5d337aea79bd
2012-05-17 16:06:54 -07:00
Christopher Tate
97ea122c65 Eliminate "backup enabled but not provisioned" failure modes
Previously, the setup app was responsible for telling the backup
manager through a side band that the user had passed through the
backup/restore-related portion of the setup flow.  Now that the
flow has been streamlined and certain mandatory portions of it
are no longer relevant, we can ditch the whole idea of the backup
manager's internal "provisioned" state.  This makes setup and the
setup "wizard" applications less fragile as well as eliminating
the possibility of unrecoverable "backup was never provisioned"
failure modes.

Now, the only check the backup manager has to do is against the
full "device is provisioned" flag, just like all of the other
components on the phone that only become usable after the setup
process has exited [such as phone calls].

Bug 6493520

Change-Id: I13ec8dd8baa1e74ed8569b0326219a98a7f632a9
2012-05-17 16:02:15 -07:00
Jeff Brown
d9fec5d317 Add support for grouping keyboard layouts by collection.
Bug: 6405203
Change-Id: Id818b27ec09928150795d594a96df186a6e39168
2012-05-17 16:01:54 -07:00
Nick Pelly
f1be6861da Enforce the minTime parameter in LocationManager#requestLocationUpdates
There is a long history in Android, on both GED and non GED devices
of GPS providers ignoring the minTime parameter making location updates
every second. The problem is usually poor GPS drivers that claim to
do scheduling but then do not.

By making the minTime parameter strict (instead of a hint) we can add
a CTS test to ensure that udpates to not occur too frequently. I believe
this is the desired behavior from apps. If apps want to take advantage
of more frequent updates when another application asks for those updates
then it can use the passive provider.

The CTS test for GPS has already been submitted (as part of CTS Verifier).

Bug: 6424983
Change-Id: I163b9e44ea7ab71530b86fc2282614e0150e90f1
2012-05-17 14:56:54 -07:00
Irfan Sheriff
f82e7693ca Merge "handleAirplaneModeToggled cleanup" into jb-dev 2012-05-17 14:19:46 -07:00