Context:
Android uses a hand-crafted list for timezones to pick from in
Settings. Independently of what we actually show the user, when a
user is selecting their timezone they are selecting an olson timezone
ID. Separate olson ids exist for a sets of zone rules. If two places
have differed in their zone rules in the past they have different
olson ids. Olson Ids are usually named after cities and have
"exemplar locations", e.g. "Europe/London" covers the UK and the
exemplar location is "London".
Exemplar locations were often chosen based on historic considerations
and do not necessarily make sense to contemporary users.
Normal Android users don't know or care about any of this, but they do
understand geography/cities and sometimes understand things like
timezone names like "British Summer Time" (but usually not in other
countries).
Unfortunately timezone names understood by users also don't have a
one-to-one mapping with olson IDs. Two places can have the same
timezone name for part of the year but not the rest. For example, all
of a the country Foo may be using "Foo Standard Time" for part of the
year, but in summer some parts of the country may switch to "Foo
Summer Time" while others stay on "Foo Standard Time". These would
have different Olson Ids.
Also, two places that historically differed in their choice of
timezone rules may have since aligned. e.g. parts of Europe. They
still have their own olson ids.
The Android hand-crafted list is (I assume) based on a set of
compromises to provide reasonable coverage of users' needs without
overwhelming them with too many choices for historic irrelevancies.
To assist with picking a timezone that makes sense to a user, Android
currently does the following:
When selecting a timezone:
For "local" timezones Android shows the timezone "long name". e.g.
"British Summer Time", "Eastern Standard Time".
For non-local timezones Android uses the exemplar location (e.g. the
city).
This had an issue:
Some "local" timezones, e.g. Australia for English (Australian),
would show multiple entries for the same long timezone name without
any way of telling them apart.
After this change:
This change means that settings now uses the exemplar location in
preference when the Android display strings would be ambiguous. For
countries where there is no ambiguity (e.g. the UK) Android continues
to use the timezone long name.
Bug: 19058953
Bug: https://code.google.com/p/android-developer-preview/issues/detail?id=2132
Change-Id: I01651f2416f500652bd2bcf447d056efd4fd3598
There is a race condition when processing intents inside
PairingCancelHandler.onReceive() that could trigger NPE.
A speculative list of events (untested) that could trigger it:
1. Trigger Pairing Cancel for a Bluetooth device.
2. Turn Off Bluetooth
This should call CachedBluetoothDeviceManager.onBluetoothStateChanged()
and should remove the device from (1) from the list of cached devices
3. BluetoothEventManager.PairincCancelHander.onReceive() receives
an intent about about Pairing Cancel event.
Within the processing of that intent, cachedDevice.getName()
is called without checking whether cachedDevice is null.
In this specific example, cachedDevice could be null because of (2)
Bug: 21368124
Change-Id: I86f5d5287b440d1d2e0fe147278b1c2257902e95
isPreferred must always be true for PAN so that the DUT can initiate
a PANU connection with the remote device not only from the internet
access menu in the profile setting, but also from the paired device
list menu.
Currently isPreferred is only true when PAN is in connected state
for the PANU role, so it will return false when the PAN profile is
not connected and the PANU connection will never be initiated
from the paired device list menu.
Change-Id: I120e681a113f56b74b45e01870adf96cdc2ca262
This also fixes the issues related to explicit connection
to passpoint AP, and fixes occassional mention of
'connected via Wi-Fi Assistent'
Change-Id: I152cebafa6259194f1d09a6972a3508156335cb6
(cherry picked from commit ff783cd6cfc82870a6126fe1ef019d21131423fc)
This change includes showing the friendly name in saved
networks list and 'Connected via provider' addition for
passpoint connections.
Change-Id: If330baa96dedb099d5989b3df5b9778bbbcb15e3
(cherry picked from commit 597f49cdda63fef1b583e2053341485e8d4e2371)
Retry SDP if it gets cancelled in BONDING state.
If SDP search initiated after the pairing gets cancelled, re-initiate
SDP search from the BTIF layer to ensure completion of the bonding
process.
While pairing/SDP discovery of the bonded device is in progress,
do not initiate inquiry.
Bug: 19417758
Change-Id: I2d80883999771c53b58cc3017a63b17e3564bc57