Fix the logic used that determines whether the automatic time
zone detection toggle is available in the Settings UI Date & Time
screen. Also, ensure that the TimeZonePreferenceController uses correct
logic for whether the user can manually enter a time zone.
This change migrates the controllers to use a existing high-level
TimeManager API rather than (incorrectly) duplicating in Settings UI the
logic for whether time zone detection is supported / enabled.
Without this change, WiFi-only devices _with_ location-based time zone
detection enabled would incorrectly hide the "auto time zone" toggle,
which would have the knock-on of making it look like the user is allowed
to enter a time zone manually when they aren't (because it is
enabled/disabled based on the presence of the toggle).
That toggle still needs to be present while there is a possible time
zone detection mechanism. All the (quite complex) logic around this is
already considered by the TimeManager API.
Possible side effects:
This change decouples the "does the toggle show true or false?"
(isEnabled()) from the "should the toggle be shown at all?"
(isAvailable()) logic by removing a call to isAvailable() inside of
isEnabled(). This is to avoid making multiple (probably more expensive
than what it was doing before) calls to the time_zone_detector service,
and avoid the extra complexity of caching / cache invalidation that
would be needed to mitigate it. Previously, as a result of the call to
isAvailable(), isEnabled() would always return false when mIsFromSUW is
true, but now it will return the underlying value of the device's
auto_time_zone setting. This means that if the UI is changed in future
to render a visible-but-can't-be-changed-by-the-user toggle for auto
time zone, it will display the current setting value, which is perfectly
reasonable. It is assumed it will have no other side effects.
The AutoTimeZonePreferenceControllerTest.isFromSUW_notEnable test has
been changed to reflect the change in behavior. Various name changes
made to tests to reflect the new behavior.
Bug: 228247623
Bug: 186625820
Bug: 172891783
Test: treehugger
Test: Manual test on a device with telephony
Test: m ROBOTEST_FILTER=AutoTimeZonePreferenceControllerTest RunSettingsRoboTests -j40
Test: m ROBOTEST_FILTER=TimeZonePreferenceControllerTest RunSettingsRoboTests -j40
Change-Id: I4c7608e8645eee5994c8ecf85a14a27d3278ac04
(cherry picked from commit 7a8ac683d4)
config_showOperatorNameInStatusBar has moved to
CarrierConfigManager.KEY_SHOW_OPERATOR_NAME_IN_STATUSBAR_BOOL
Bug: 116847905
Test: Build Product
Change-Id: Ia5e7b5e498ce33ffe58ff922ab3799a1b263a88b
ManageStoragePreferenceController should only consume click
event when its preference key matches the key of the clicked
preference.
Bug: 228970667
Test: atest ManageStoragePreferenceControllerTest
Change-Id: Ia6c62cf457fc4cadc27dc160dbd9b04ec3392d68
Prior to this cl, slice provider always exposes wifi slice
to calling package without confirming any wifi permissions.
For current solution, we will check calling package's permission state
and decide whether slice provider should expose wifi slice or not.
Because settings search is a part of settings app,
this permission checker won't be applied to settings intelligence.
Test: manual, robotest, cts
Also run manul
Bug: 178014725
Change-Id: I2770b5b43366a5aa65c7519efc4243d350a21b26
We determine if the visibility should be updated by mIsFirstLaunch, and
mIsFirstLaunch is set to false in onStop(). This breaks the updatability
if there's a change before onStop() gets called.
So we move the value assignment to the end of checkUiBlocker() because
at that time, all blocker work should be either finished or timeout.
Also remove mIsFirstLaunch since mUiBlockerFinished can cover the
determination with the new design.
Fixes: 229565193
Test: Toggle Use Location in the location page and see the Recent used
section react accordingly.
Change-Id: Id6005e5b8b29cb8a6309068d0a2177489a3fb2f4
Root cause: Override the padding by phone padding to caues inconsisstent
behahvior.
Solution: Remove the attributes
Bug: 229106829
Test: Manual testing in t6 (tablet) and raven (phone)
Change-Id: I583626a00088d36bda311087e8830f47e49a1152
Biometric fingerprint flow is abnormal because BiometricEnrollActivity
is relaunched during SUW because diplay or orientation is changed.
Bug: 205059704
Bug: 228812876
Test: atest BiometricEnrollActivityTest
Test: Before clicking "No thanks" manully unfold or rotate device on the
fingerprint setup screen of SUW
Change-Id: If0abe785c74c7fb40da779af166d79eeba6ad57f
Root cause: Show default status until setting key changed. It does not
show latest status when created.
Solution: Update the status when created.
Bug: 229566130
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FloatingMenuTransparencyPreferenceControllerTest
Change-Id: Ia25fe5cec0444c1771e8ce31aae2a4cb3b0405a1
Config if operator name should be in status bar is now read
from carrier config. For dual sim devices we use data sim.
Bug: 116847905
Test: Add item for carrier in vendor.xml and swap sim cards
between ones that have the item enabled and disabled. We have
also tested to swap data sim cards on dual sim device.
Test: m RunSettingsRoboTests ROBOTEST_FILTER="ShowOperatorNamePreferenceControllerTest"
Change-Id: I03311b96ee660aed80ec867b05aa0a34cfc15f54
Test: During SUW verified Fingerprint enrollment
comes before face.
Test: During SUW enrolled multiple fingerprints than 1 face.
Test: Skipped and cancelled on every possible screen to ensure behavior
was correct.
Bug: 228607474
Change-Id: I4c50763a804fe4eb9d62451eb2f957545857723e