Commit Graph

191 Commits

Author SHA1 Message Date
Jean-Michel Trivi
4c637b9e34 Fix bug 2578813 Delay pausing music and routing audio for car docks
Moved broadcast of ACTION_AUDIO_BECOMING_NOISY from BluetoothA2dpService
to AudioService.
Broadcast ACTION_AUDIO_BECOMING_NOISY when disconnecting an A2DP
device.
Disconnect from A2DP docks with a delay to handle transient
disconnections.
Cancel delayed A2DP disconnections when connecting to a dock as this
can be a reconnection after a transient disconnection.

Change-Id: I1ee9e99f3ffa20727af38a4c4c8711942894a696
2010-04-13 09:44:08 -07:00
Jaikumar Ganesh
4aae54cf29 Don't allow connection to profiles in TURNING_OFF state.
A similar change will be made for other profiles.
Bug: 2577713

Dr No: jsh/eastham

Change-Id: Ifca0fbb108e705acefbaeabff07fad83c08f7baa
2010-04-07 17:28:08 -07:00
Jaikumar Ganesh
0e09030977 Relax the requirement of making a DBUS call for creating the Bluez Device.
Bug: 2136464

When the bluez device is created, we get the onDeviceCreated signal.
We add it to our  cache when that happens. We can have a device created
even when its not bonded - as a result of OPP. So use this cache to avoid
a DBUS call to Bluez.

Change-Id: I9465da7d72a12a6888128ff40ac1fe598cbae3c3
2010-03-30 10:23:55 -07:00
Jaikumar Ganesh
b7e029d03c Add an API to set the link timeout.
This fixes the problem where the car dock is
powered on and off pretty quickly.

Change-Id: I8724641b8c337019f089b005cb236fc90549cf6f
2010-03-09 16:51:09 -08:00
Jaikumar Ganesh
081a9b69a7 Remove UUIDs from the cache when the device is unpaired.
This fixes one probable case of A2DP profile connection state hanging
in connecting state. When the device is unpaired and repaired,
before the drivers are up on the bluez side, settings app / auto-connect
code can try to connect.
2010-03-02 17:19:20 -08:00
Jaikumar Ganesh
80d27ad33c Merge "Move auto pairing data to a file, add values dynamically." 2010-02-25 19:39:58 -08:00
Jaikumar Ganesh
c06fe59cb5 Move auto pairing data to a file, add values dynamically. 2010-02-25 18:23:38 -08:00
Bjorn Bringert
ab5d96c5da Use PackageMonitor in SearchManagerService
This should reduce the number of updates to the searchables
list if multiple packages change at the same time.

Fixes http://b/issue?id=2270711

Change-Id: Ieb930022866aa2872f8df1af677e3ea1645349bf
2010-02-23 22:48:46 +00:00
Bjorn Bringert
6cf7a325e6 Clean up global search and web search activity finding
This removes the '*' value for android.app.searchable and
android.app.default_searchable that was previously used by apps to say
that they want global search as their search. I think the only
activity that this will affect is the wallpaper chooser in the
launcher, which doesn't seem like it matters.  It could mean that some
third party code will stop invoking global search, but all they would
need to do is call startSearch() with globalSearch=true instead.

Fixes http://b/issue?id=2377433 and http://b/issue?id=2377429

Change-Id: I0252952b44ae85dab31221b598ed79cc24e2b580
2010-02-23 14:27:43 +00:00
Kenny Root
5f61416305 Add hashCode() to BluetoothService$RemoteService
RemoteService is used as a key in a HashMap, so it should have a
hashCode()

Change-Id: I69b72991474f4d5ec11c0620a6e66eb0c44d04b6
2010-02-17 12:01:52 -08:00
Jaikumar Ganesh
4f773a1304 AVRCP volume controls for the docks.
Send volume updates to the dock when the user presses volume buttons
on the device.

Bug: 2311007
2010-02-16 13:21:05 -08:00
Suchi Amalapurapu
b56ae20b22 Rename media resource broadcasts
Add checks for fwdlocked and updated system apps
add more tests
remove duplicate adds
2010-02-08 14:52:25 -08:00
Suchi Amalapurapu
08675a3376 Apps on sdcard: Add new broadcasts
Add new broadcasts ACTION_MEDIA_RESOURCES_AVAILABLE and
ACTION_MEDIA_RESOURCES_UNAVAILABLE that get broadcast by
PackageManagerService when sdcard gets mounted/unmounted
by MountService so that packages on sdcard get recognized by
various system services as being installed/available or
removed/unavailable by the system.
The broadcasts are sent before the actual package cleanup which includes
mounting/unmounting the packages and we force a gc right after so
that any lingering file references to resources on sdcard get
released.
2010-02-02 18:33:29 -08:00
Amith Yamasani
e9ce3f01d4 Move Search dialog out of system process into current activity.
SearchManager now manages the SearchDialog, in-process.
Nuked SearchDialogWrapper
SearchManagerService now just holds the Searchables information.
Hitting Search when in the local Search dialog will launch the QSB.
2010-01-27 12:16:45 -08:00
Jaikumar Ganesh
1f3856c446 am 495d820c: am ccaebfc9: Don\'t set priority in Bonding state. This was causing A2DP get connected for Car Docks, when user didn\'t select it.
Merge commit '495d820c0124a811b9352b93ce4fe88c716f259d'

* commit '495d820c0124a811b9352b93ce4fe88c716f259d':
  Don't set priority in Bonding state.
2010-01-11 14:23:18 -08:00
Jaikumar Ganesh
ccaebfc942 Don't set priority in Bonding state.
This was causing A2DP get connected for Car Docks, when user didn't select it.

Bug: 2364328
Dr No: Eastham
2010-01-11 14:16:29 -08:00
Eric Laurent
84b42b8368 am d31d7397: am 663ec308: Fix issue 2361949: A2DP suspend parameters set wrongly.
Merge commit 'd31d7397ba26dcd913e96d06f0a8fd593780d629'

* commit 'd31d7397ba26dcd913e96d06f0a8fd593780d629':
  Fix issue 2361949: A2DP suspend parameters set wrongly.
2010-01-08 16:28:21 -08:00
Eric Laurent
663ec30880 Fix issue 2361949: A2DP suspend parameters set wrongly.
Move reset of A2DP suspend state from handleSinkStateChange() in BluetoothA2dpService to
BluetoothA2dp.ACTION_SINK_STATE_CHANGED intent receiver in AudioService.
Previous implementation could cause a false reset of suspend state if a new sink attempted to
connect while A2DP was suspended.
New implementation only resets A2DP suspend state when a new sink is actually connected.
2010-01-08 08:48:18 -08:00
Jaikumar Ganesh
1ee5ceb92d am 2790b20c: am 0b6c6f2c: Merge "Fix media option settings for A2DP." into eclair
Merge commit '2790b20c537b33dbf366436f6d27776148ded490'

* commit '2790b20c537b33dbf366436f6d27776148ded490':
  Fix media option settings for A2DP.
2010-01-07 09:22:04 -08:00
Jaikumar Ganesh
6309689e6c Fix media option settings for A2DP.
Incoming connections move the A2DP state to Connecting
before getting authorized, which messes up the priorities.

Dr No: Eastham
Bug: 2358414
2010-01-06 11:43:10 -08:00
Jeff Sharkey
44303922f1 Watch for "bluetooth" in list of toggleable radios.
Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS is a list of
radios that can be toggled while in airplane mode.  This
change adds logic to BluetoothService to allow enabling
when Settings.System.RADIO_BLUETOOTH appears in that list.

Fixes http://b/2297314
2009-12-22 14:32:15 -08:00
Jaikumar Ganesh
987c415c83 am f5d2eec4: am 11b97c50: Merge change I551ed729 into eclair
Merge commit 'f5d2eec4fd530ac09ce1f8d2e51ea29b5cd12a38'

* commit 'f5d2eec4fd530ac09ce1f8d2e51ea29b5cd12a38':
  Use UNDEFINED priorities when unpaired.
2009-12-21 14:22:47 -08:00
Jaikumar Ganesh
b58938a0ae am 1aa25597: am 87ed10d7: Merge change I577dd1f3 into eclair
Merge commit '1aa2559797d49fa0c6cf7885c9fed5797e42231f'

* commit '1aa2559797d49fa0c6cf7885c9fed5797e42231f':
  Accept incoming connections if no other sink is in NonDisconnecting state.
2009-12-21 14:22:37 -08:00
Android (Google) Code Review
11b97c50e6 Merge change I551ed729 into eclair
* changes:
  Use UNDEFINED priorities when unpaired.
2009-12-21 14:17:15 -08:00
Jaikumar Ganesh
577dd1f3e2 Accept incoming connections if no other sink is in NonDisconnecting state.
Bluez sends SINK_STATE_CHANGE before onAgentAuthorize, so
we may be already in CONNECTING state. This will happen with
some A2DP kits which don't like us connecting and thus we will
never be able to connect to them.

Bug:2335345
Dr No: Hiroshi
2009-12-17 15:08:48 -08:00
Jaikumar Ganesh
c0e32f1243 Add a callback for the ConnectSink Call.
This takes care of the conditions where the bluez audio drivers
are not up and we try to make the call to connect the sink.
This would get rid of the hack in Settings app.
2009-12-16 11:42:06 -08:00
Dianne Hackborn
1c633fc89b Implement API to have new broadcasts replace existing broadcasts.
Use this in various places where it should serve no purpose to deliver
both broadcasts.  This is intended to reduce somewhat the flurry of
broadcasts that we churn through during boot.
2009-12-14 15:03:35 -08:00
Dan Egnor
b7f0367cec Eliminate CrashData and friends.
(CrashData was a custom-marshalled crash-info class used for a server crash
reporting system I am deprecating).  Use ApplicationErrorReport.CrashInfo
instead to report crash details (mostly the stack trace) from RuntimeInfo to
ActivityManagerService, since we're likely to need the crash information in
that form anyway.

Remove the (long-disabled) flags and support for the "Debug" button
in the crash dialog.

Further gut the ICheckinService interface by removing the crash-reporting
APIs (and everything that calls them), plus the synchronous checkin()
method (which has been stubbed out for a while now).

A new dropbox-based crash reporting system is in the works, but not part
of this change.
2009-12-11 13:27:04 -08:00
Jaikumar Ganesh
551ed72940 Use UNDEFINED priorities when unpaired.
For the docks, we can set if a device is preferred or not
before pairing process. This was getting overridden when we pair.
This problem doesn't happen with normal headsets.

Dr No: Eastham
Bug: 2318290
2009-12-11 12:00:31 -08:00
Jaikumar Ganesh
368c332ddc am f6e32e72: Merge change Icced7a09 into eclair
Merge commit 'f6e32e72a902d9a309410bc5306a539ea850159f' into eclair-mr2

* commit 'f6e32e72a902d9a309410bc5306a539ea850159f':
  Maintain a list of all Bluetooth docks.
2009-12-10 17:40:53 -08:00
Jaikumar Ganesh
6e9c443460 Maintain a list of all Bluetooth docks.
With this change, isBluetoothDock API can be used anytime and is not in tied
to dock state. The Dock State is a sticky intent so users
can query for the dock state.

Dr No: Eastham
Bug: 2133530
2009-12-09 16:10:38 -08:00
Jaikumar Ganesh
b08170ad7e am ae88e2d1: Merge change I38227501 into eclair
Merge commit 'ae88e2d130a4d69bdf7ddc58f6ae512ea63087ff' into eclair-mr2

* commit 'ae88e2d130a4d69bdf7ddc58f6ae512ea63087ff':
  Add API to get Active Sinks.
2009-12-07 15:53:02 -08:00
Jaikumar Ganesh
b16c4f7dd9 Add API to get Active Sinks.
Allow incoming connections only when there are no active sinks.

Dr No: Eastham
Bug: 2133530
2009-12-07 15:20:31 -08:00
Android (Google) Code Review
6dba0680cd Merge change I9589f9c2 into eclair-mr2
* changes:
  Move android.server.search.SearchableInfo to android.app
2009-12-05 10:21:01 -08:00
Bjorn Bringert
2126aac7f9 Move android.server.search.SearchableInfo to android.app
We need to expose SearchableInfo in the SDK in order to unbundle
Quick Search Box. Since the android.server.search package is
hidden, I'm moving SearchableInfo to android.app, where
SearchManager lives.

This change doesn't actually expose SearchableInfo. I'll do
that in a separate change to keep the change that
api-council needs to review small.

This is part of the fix for: http://b/issue?id=2270838

Change-Id: I9589f9c2c11d36c958beedff8245fe0c3319c6ba
2009-12-04 12:52:51 +00:00
Jaikumar Ganesh
11a2853e01 am 8c411fb1: Merge change I79420b02 into eclair
Merge commit '8c411fb13923d1fa28fcd98452bf3d17b8b1a338' into eclair-mr2

* commit '8c411fb13923d1fa28fcd98452bf3d17b8b1a338':
  Add support for Car Dock.
2009-12-03 12:01:38 -08:00
Jaikumar Ganesh
3fbf7b62bb Add support for Car Dock.
Dr No: Eastham
Bug: 2133530
2009-12-03 11:35:37 -08:00
Jaikumar Ganesh
721361f1a7 Add a new priority for Auto Connection of A2DP. DO NOT MERGE.
1. PRIORITY_OFF is when user unchecks A2DP connection profile box.
2. By default, when you bond, it will be PRIORITY_ON.
3. When the profile gets connected, the priority gets set to
   PRIORITY_AUTO_CONNECT. This means that we will connect
   automatically to this profile.
4. When the user disconnects, we downgrade the priority to PRIORITY_ON,
   which means we won't reconnect automatically.

a) We need to make a similar change to Handsfree profile.
b) We need to rework the profile management design and code which
  will fix the 6 second timer that we have for A2DP reconnection.

Add AUTO_CONNECT priority for Headset profile.
Also, don't set priority to ON while disconnecting.
This logic has been pushed up to the Settings app.

Dr No: Eastham
Bug: 2133530
2009-12-02 15:39:59 -08:00
Android (Google) Code Review
03cb1f15ca Merge change I249345ee into eclair-mr2
* changes:
  Add AUTO_CONNECT priority for Headset profile.
2009-12-01 12:45:49 -08:00
Jaikumar Ganesh
5f24a24004 Register Handsfree profile before headset profile. DO NOT MERGE.
There is a delay between registering the two profiles,
and handsfree profile is a superset of the headset profile.
So some devices do an SDP and get the headset profile record
before we have registered the handsfree profile.

a) We can reject all incoming connections till all profiles are
registered, but then this would mean we connect later in some cases.
Registering profiles in this order seems fine to me.

Note: There is a also the need to fix forking sdptool to register
profiles, which would obliviate the need to wait 500 msecs between
profile registrations.

Bug: 2293792
Dr No: Eastham
2009-11-30 16:37:18 -08:00
Jaikumar Ganesh
77b4ad0e49 Register Handsfree profile before headset profile.
There is a delay between registering the two profiles,
and handsfree profile is a superset of the headset profile.
So some devices do an SDP and get the headset profile record
before we have registered the handsfree profile.

a) We can reject all incoming connections till all profiles are
registered, but then this would mean we connect later in some cases.
Registering profiles in this order seems fine to me.

Note: There is a also the need to fix forking sdptool to register
profiles, which would obliviate the need to wait 500 msecs between
profile registrations.
2009-11-30 14:17:30 -08:00
Jaikumar Ganesh
249345ee5a Add AUTO_CONNECT priority for Headset profile.
Also, don't set priority to ON while disconnecting.
This logic has been pushed up to the Settings app.
2009-11-30 14:06:59 -08:00
Jaikumar Ganesh
aafff8a069 Add a new priority for Auto Connection of A2DP.
1. PRIORITY_OFF is when user unchecks A2DP connection profile box.
2. By default, when you bond, it will be PRIORITY_ON.
3. When the profile gets connected, the priority gets set to
   PRIORITY_AUTO_CONNECT. This means that we will connect
   automatically to this profile.
4. When the user disconnects, we downgrade the priority to PRIORITY_ON,
   which means we won't reconnect automatically.

a) We need to make a similar change to Handsfree profile.
b) We need to rework the profile management design and code which
  will fix the 6 second timer that we have for A2DP reconnection.
2009-11-24 15:05:37 -08:00
Jaikumar Ganesh
8631e55425 am ad431ad8: Merge change Ia3acc2ee into eclair
Merge commit 'ad431ad8631d8b19b04193ff1f89a955a7643c60' into eclair-mr2

* commit 'ad431ad8631d8b19b04193ff1f89a955a7643c60':
  Fix pairings lost on reboot.
2009-11-22 22:02:17 -08:00
Jaikumar Ganesh
b148bc844e Fix pairings lost on reboot.
Bug:2277376
Dr No:Eastham
2009-11-20 13:50:26 -08:00
Jaikumar Ganesh
4fea2919ab am 660282dc: Merge change I706fe6b0 into eclair
Merge commit '660282dc3e81784224945be0787a9e2d4276de8c' into eclair-mr2

* commit '660282dc3e81784224945be0787a9e2d4276de8c':
  Check if Bluetooth is enabled before making any calls down.
2009-11-17 17:35:25 -08:00
Jaikumar Ganesh
8c9dd7d8b9 Check if Bluetooth is enabled before making any calls down.
This was causing problems when apps were making calls, without
turning on BT first.

Bug: 2234918
Dr No: Eastham
2009-11-16 17:29:27 -08:00
Jaikumar Ganesh
48956ad3fa am 3c58d279: Merge change I738ed802 into eclair
Merge commit '3c58d279abed1da56b0ece74ded5854c509a42a4' into eclair-mr2

* commit '3c58d279abed1da56b0ece74ded5854c509a42a4':
  Fix BMW and Audi auto pairing lists.
2009-11-11 23:31:31 -08:00
Jaikumar Ganesh
738ed80262 Fix BMW and Audi auto pairing lists.
Bug no:2256558
Dr No:Eastham
2009-11-11 23:12:04 -08:00
Jaikumar Ganesh
4e552b606c am 013b0e53: Merge change I143ea844 into eclair
Merge commit '013b0e531a4318b3e78c9bd0e077d3632fce2280' into eclair-mr2

* commit '013b0e531a4318b3e78c9bd0e077d3632fce2280':
  Add BMW and Audi to Auto Pairing black list.
2009-11-11 22:49:45 -08:00