Commit Graph

435 Commits

Author SHA1 Message Date
Amith Yamasani
e668794230 Only send broadcasts to registered receivers
Fix for issue found in #7420259

Not sure if this fixes the actual ringtone issue, but it clears the way.

Change-Id: I7fd5584df2dc254ba7281f57e51143c79bfcff63
2012-10-29 16:54:29 -07:00
Jeff Sharkey
52801aae89 Protect more service dump() methods.
Bug: 6406965
Change-Id: Ia45a580c1e6f403308e7e540f18f2c0505af0f29
2012-10-15 10:59:51 -07:00
Amith Yamasani
64442c1155 Fix resource reading for secondary users
Bug: 7086881

Load resources for the correct user.

Also clean up package monitoring and locking.
Added dump method to SearchManagerService.

Sneaking in a change to make crash dialogs visible to current user.

Change-Id: Id56dd15428d66084de995e28be242db27c15fda3
2012-10-07 15:56:34 -07:00
Amith Yamasani
f203aeef99 Enforce permissions for calls with specified userId
Fix a couple of places where incorrect userIds were being passed in.

Change-Id: I398c676e0488ff7e584be96e96c8b32652134238
2012-08-30 16:08:23 -07:00
Dianne Hackborn
5ac72a2959 Improve multi-user broadcasts.
You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
2012-08-30 14:33:22 -07:00
Dianne Hackborn
f02b60aa4f Rename UserId to UserHandle.
This is the start of turning this into a formal public API.

Change-Id: I5786d2c320f1de41a06ed5d0f65adb68967287a0
2012-08-16 12:46:38 -07:00
Amith Yamasani
c1d07a4bd2 Launch ASSIST intent on the current user
Lockscreen and statusbar now launch the intent on the current user.
Make sure that the intent resolution is made to the package manager
for the specific user, as the app could have been disabled for that
user or may have an alternative app installed.

Change-Id: I93b0f972d6c7e8880b146da83dc3d08a68fe7e51
2012-08-14 12:39:29 -07:00
Amith Yamasani
258848d2ae User Manager service to manage users and query user details
Moved a bunch of methods from PackageManager to UserManager.

Fix launching of activities from recents to correct user.

Guest creation APIs

Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
2012-08-11 18:24:07 -07:00
Jaikumar Ganesh
313a216709 Delete various Bluetooth files for stack integration. 2012-07-13 22:22:51 -07:00
Matthew Xie
530c843a8f am 691976fa: am 29775794: Merge "Get rid of the extra bt_disable call when turning on airplane mode Get rid of enabling bt when in airplane mode." into jb-dev
* commit '691976fae6ff7ef925e411e9e7b273d2623072bf':
  Get rid of the extra bt_disable call when turning on airplane mode Get rid of enabling bt when in airplane mode.
2012-06-27 15:53:07 -07:00
Matthew Xie
9107e37b24 Get rid of the extra bt_disable call when turning on airplane mode
Get rid of enabling bt when in airplane mode.

Current code has 2 paths that trying to place bluetooth in cold state when
turning airplane mode on. This caused extra call of bt_disable that
causing a kernel sleep failure. The fix removes one of the sys call.
This CL keeps Bluetooth in cold state after turning airplane mode on
instead of seting it to hotoff state
bug 6563480

Change-Id: I30c413707157acb4a8e83ded9452256cf6260899
2012-06-27 15:12:01 -07:00
Amith Yamasani
5bb87cd9b8 SearchManagerService made multi-user aware
Cache Searchables per user and query package manager through the
private interface.

Change-Id: I1d24fdd27cce8c27be45287cbfcb4df1e2ce2cf1
2012-06-15 10:24:47 -07:00
Eric Laurent
846890957d am c383b407: am cee7203f: Merge "Send device connection intents from AudioService" into jb-dev
* commit 'c383b407ad24474b87de68f93ea95de495f6d2c1':
  Send device connection intents from AudioService
2012-05-31 08:29:29 -07:00
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
Wink Saville
bbf30dfd76 Enhance StateMachine Quitting and logging support.
Make StateMachine#quit non-conditional and remove the need to
process the SM_QUIT_CMD it is now private.

Rename halting to onHalting.

Add onQuitting

Change the message specific logging to be more generic and change
the xxxProcessedMessagesYyy methods to xxxLogRecXyy names. Also add
addLogRec(String) and addLogRec(String, State) as the generic logging
methods.


bug: 5678189
Change-Id: I22f66d11828bfd70498db625fe1be728b90478b7
2012-05-29 12:40:46 -07:00
Matthew Xie
8b4ca7a1a9 Increase the setup-sdp delay to cover for all the devices.
20 ms worked well for GN hspa for stress test, but failed sometimes
for other platform. Increased it to 50ms. Tested on all the device types
bug 6438556

Change-Id: Ic5fcde3de7ea6d3d983edab7ae3df5684637bd20
2012-05-17 17:43:00 -07:00
Matthew Xie
b12d6bc3a5 When turning off, broadcast STATE_OFF in the last HotOff state
This is because we do HotOff -> PowerOff -> HotOff for USER_TURN_OFF
Donot do poweroff for perprocess turn off.
Add small time delays for calls into stack to reset dbus timing.
bug 6438556

Change-Id: Iae8bdd24e41824ed4bc34aca96d082f9284f169c
2012-05-07 11:01:23 -07:00
Matthew Xie
d69c367577 Merge "Always move Bluetooth Adapter to cold state when turn off Bluetooth." into jb-dev 2012-05-02 16:20:55 -07:00
Matthew Xie
7f58b36fec Always move Bluetooth Adapter to cold state when turn off Bluetooth.
quick switch feature introduced in ICS does not work very well. Reported
logs indicate the Bluez stack cannot sustain the long time ON/hotoff state.
This change will always move the adapter to code but move it to hotoff
to be able to turn on quickly.
bug 5792792

Change-Id: I41c39d4bf11bb5eb3cd83279e8ec81e01774e008
2012-05-02 14:15:10 -07:00
Matthew Xie
02c4b353f7 Check null of address in onDeviceCreated
address can be null that returned from getAddressFromObjectPath.
If it is null case, donot continue  call getRemoteDeviceProperties.
Otherwise it causes null pointer exception and crash the system.
Bug 6338780

Change-Id: Ib190342032ab2ad11c49f44fa6d4b2509a861514
2012-05-01 17:15:10 -07:00
Jeff Sharkey
eb4cc492c9 Protect system services with DUMP permission.
Change-Id: I5e53859f8b8e5473e54eca43ebd7de841f1a05ff
2012-04-26 18:17:29 -07:00
Martijn Coenen
6c614b7e59 Allow enabling Bluetooth without auto-connecting.
This is a feature used for NFC-to-Bluetooth handover:
we want to enable BT for file transfer, and disconnect
it when we're done. During this period we don't want
to auto-connect other devices - it should be transparent
to the user that Bluetooth is used. Also, don't allow
A2DP/HSP incoming connections.

Change-Id: I0a03e8084c439b1271b6a80f4d9da5aacfe19c45
2012-04-23 16:25:30 -07:00
Jeff Brown
a2c68198b1 Merge "Get alias for Bluetooth devices." 2012-04-20 20:15:20 -07:00
Jeff Brown
5bbd4b4f5f Get alias for Bluetooth devices.
Bluetooth devices can be renamed by the user.  Make the
input system aware of the user-specified name and transparently
pass it down to applications.  This enables the keyboard
layout picker Settings UI to use device names that are
consistent with what the user set in the Bluetooth UI.

Bug: 6363157
Change-Id: I8eea26ce2c69c2a3f09c8de02e9e847610e0419c
2012-04-20 20:11:12 -07:00
Dianne Hackborn
d0d7503fd3 Move handling of package changes to a background thread.
Helps get rid of some jank when installing applications.

Change-Id: I97d0022f82d67796e334d37086e5911dd6ca6b62
2012-04-19 23:12:09 -07:00
Matthew Xie
43b6fd9a54 Check nullpointer of discoverableTimeout in initBluetoothAfterTurningOn.
When we fail to get the property, print out warning message, turn
Discoverable off.
Bug 6302990

Change-Id: Ie21aa2a89050c74d99d9ee521a95ffa822114757
2012-04-17 11:39:25 -07:00
Travis Geiselbrecht
a91da5da56 add config_bluetooth_default_profiles config var and use it to disable bt profiles
For devices that don't care about the previously default bluetooth profiles,
add a config var to disable them.

Change-Id: I04bb7ad4b1235bc37227645f472fdf5b918f6a31
2012-03-22 15:09:44 -07:00
Ken Wakasa
f76a50ce8f Fix obvious typos under frameworks/base/core
Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
2012-03-09 22:48:43 +09:00
Matthew Xie
cf5cecd854 am 1890fa82: am 79d84930: Merge "Set Bluetooth adapter to PowerOff mode when turnoff with airplane on" into ics-mr1
* commit '1890fa822091ea700b7409ac79a57cf650b55003':
  Set Bluetooth adapter to PowerOff mode when turnoff with airplane on
2012-01-12 11:29:39 -08:00
Matthew Xie
f3171fb60c Set Bluetooth adapter to PowerOff mode when turnoff with airplane on
Currently, when airplane mode was on and BT was on, turning BT off
moved BT to hotoff state. This fix moves BT all the way to Poweroff
state to have better power performance.
bug 5854282

Change-Id: I7ba41797a46a81ddb3a576453f2a8303b5eed525
2012-01-11 14:46:13 -08:00
Matthew Xie
470d057aed am 18ad6514: am ed0830c5: Merge "Move broadcastState STATE_TURNING_ON before persistSwitchSetting" into ics-mr1
* commit '18ad6514bbeb68a96c12ba1636ab8df8e3945f37':
  Move broadcastState STATE_TURNING_ON before persistSwitchSetting
2011-12-12 15:39:27 -08:00
Matthew Xie
2d789e58a8 Move broadcastState STATE_TURNING_ON before persistSwitchSetting
CTS test revealed that persistSwitchSetting could take more than 1 second.
STATE_TURNING_ON intent missed the test timing. We move the broadcast
before persistSwitchSetting
bug 5740715

Change-Id: I54a0a0afc8d1c4fc28f84e6122809af2f1456ca7
2011-12-12 11:36:18 -08:00
Matthew Xie
2016055a97 am 12479141: am 0d9a41e7: Merge "Broadcast turning on/off intent as early as possible when switch on/off BT" into ics-mr1
* commit '12479141dd3e63a5f26a4509d0922c9ef9e3d78c':
  Broadcast turning on/off intent as early as possible when switch on/off BT
2011-12-05 20:00:46 -08:00
Matthew Xie
0d9a41e74c Merge "Broadcast turning on/off intent as early as possible when switch on/off BT" into ics-mr1 2011-12-05 19:56:54 -08:00
Matthew Xie
a6ba6fd4bb Broadcast turning on/off intent as early as possible when switch on/off BT
Move broadcastState(BluetoothAdapter.STATE_TURNING_ON/OFF) before any other
method calls when turn on/off Bluetooth.
Bug 5703346

Change-Id: Iddbdab58367a7d648708aa23671eb09701d66793
2011-12-05 17:36:01 -08:00
Matthew Xie
2f2e3ba11c am 6001d3ad: am 1a1be44c: Merge "Unlink the Binder DeathRecipient when removing a Bluetooth service record" into ics-mr1
* commit '6001d3ad9f5ddb5be09ec6e70b5e646cb9a0f469':
  Unlink the Binder DeathRecipient when removing a Bluetooth service record
2011-12-01 13:36:48 -08:00
Matthew Xie
1a1be44c5b Merge "Unlink the Binder DeathRecipient when removing a Bluetooth service record" into ics-mr1 2011-12-01 13:32:19 -08:00
Jason Simmons
c980a495a6 Unlink the Binder DeathRecipient when removing a Bluetooth service record
The fix holds a reference to the Reaper objects, so that they don't get GCed
and cause the error - unlink not called on death recipients.
bug 5602314

Change-Id: Ib8a9e254d7c9ebe9d54f5c10b3daa31d062b4df0
2011-12-01 12:06:50 -08:00
Jeff Sharkey
ddba10622d Clean up InterfaceConfiguration flags.
Offer modifier methods for interface flags instead of mutating
directly, and remove square brackets.

Change-Id: I4cce719dccedfb3f0e8448c111e65b93c0008cbb
2011-11-29 18:37:04 -08:00
Jaikumar Ganesh
f96ccc175d am f4e41c35: am eb701df8: Merge "Cleanup references when turning BT off." into ics-mr1
* commit 'f4e41c35387728720780935564a491cf9bf1357e':
  Cleanup references when turning BT off.
2011-11-29 10:09:40 -08:00
Jaikumar Ganesh
9bb275197d Cleanup references when turning BT off.
Bug: 5572649
Change-Id: I62f9e0620832b69995d5c6e1c24634c9a3895a4b
2011-11-28 16:19:36 -08:00
Matthew Xie
a5ca41e9cc am a4f5c425: am 2b9af44e: am 6da97a24: Merge "Check the bluetooth state for getUuid call" into ics-mr0
* commit 'a4f5c425b822a46fc49bc87bba82688570584ff1':
  Check the bluetooth state for getUuid call
2011-11-17 15:13:03 -08:00
Matthew Xie
2b9af44e40 am 6da97a24: Merge "Check the bluetooth state for getUuid call" into ics-mr0
* commit '6da97a24e329851888890d4e380066037d08bcd7':
  Check the bluetooth state for getUuid call
2011-11-17 13:10:14 -08:00
Matthew Xie
1bce803f66 am 37fb92fb: am 302afb93: Merge "Call notifyIncomingA2dpConnection with correct rejected status" into ics-mr1
* commit '37fb92fb634d10ca94731a73f2a60d86135baa6a':
  Call notifyIncomingA2dpConnection with correct rejected status
2011-11-17 07:48:29 -08:00
Matthew Xie
0901e601b5 Call notifyIncomingA2dpConnection with correct rejected status
notifyIncomingA2dpConnection was called with wrong rejected status.
Fix this.
bug 5626476

Change-Id: Ie8e4a8bdc6f6357a62172c86c21ee547376952a4
2011-11-16 17:14:36 -08:00
Matthew Xie
44b58ab89e Check the bluetooth state for getUuid call
Donnot make the bluetoothservice.getUuids call if the bluetooth
is not on. Also get rid of all the necessary locks on BluetoothService
for get property call. It had a lock on BluetoothAdapterProperty.
bug5472114

Change-Id: I383472ae6006fc1f0129c960c8a44ed0df027a43
2011-11-16 12:27:57 -08:00
Matthew Xie
44ada1845d am 5a8ad071: am a303f0ec: Merge "Send CONNECT_OTHER_PROFILE to Device profile for hfp and a2dp incoming connect" into ics-mr1
* commit '5a8ad0717dad332cab4b2d9f7a6030b76cb8d6bb':
  Send CONNECT_OTHER_PROFILE to Device profile for hfp and a2dp incoming connect
2011-11-11 13:42:42 -08:00
Matthew Xie
98f06da8ed Send CONNECT_OTHER_PROFILE to Device profile for hfp and a2dp incoming connect
Send CONNECT_OTHER_PROFILE to Device profile for low priority hfp and a2dp
incoming connect. In the case when HFP autoconnect is off but a2dp autoconnect
is on, if HF autoconnect to HFP, phone will reject HFP but connect a2dp.
Before this fix, phone reject HFP. A2dp will not get connected unless the HF do
media auto-connect, which most carkits do not do.
Also do similar change for incoming a2dp connection
bug 5091838

Change-Id: Ife1815f527bcd94e0d9ffc645028484fa9c49a43
2011-11-11 12:11:35 -08:00
Matthew Xie
cef4cb20c3 Add more comments to the file header to explain the state diagram
The state diagram does not capture every messages. Here we explain
the missing parts to make the diagram clearer.

Change-Id: Ic5de5eb0556be4339d98023b0e7947d6e2cb30d1
2011-11-11 11:15:21 -08:00
Matthew Xie
cf6bc99b97 Merge "Turn off debug messge" 2011-10-07 12:57:08 -07:00