When "Add guest" got tapped multiple times then the first click starts
the guest creation process which blocks the UI thread for around 2-3
seconds, then triggers the open guest details intent, and the second
tap event starts another guest creation, but it fails (since there
can't be more than 1 guest on the device) and returns null, and in the
openUserDetails we get NullPointerException.
Test: manual test
Video: http://shortn/_i4Dce33yhl
Bug: 160267016
Change-Id: I9a4f0a91295e336d246abe5f5470682a14cb510f
- ag/11612781 added filterTouchesWhenObscured to toggle widget
can't prevent the click behavior pass through the overlapped view.
- Due to click events was handled by SwitchPreference instead of the
toggle widget.
- Enable the filterTouchesWhenObscured attribute on all
SwitchPreferences in all pages of the special app access.
Bug: 155288585
Test: manual test
Here is the test steps
1.Create an overlapped view's app and launch it to overlap the
other apps.
2.Launch Settings
3.Goto Apps & notification > Advanced > Special app access
4.Click any toggle under Special app access to monitor it can be
switched or not. It must be not switched.
Change-Id: I9c9cf4719153292ed03f55a6eb9d3a308677aee3
The feature will always be available, even for users who disabled it
on Beta 1.
Bug: 160826507
Test: manual
Test: MediaControlsParentPreferenceControllerTest
Test: MediaControlsPreferenceControllerTest
Change-Id: Ia2835e7c8156d753a8f8fbf248f2509003309fd2
- Sometimes unregistering a Slice callback will have no permission to
unpin the Slice uri and throw an exception.
- Guard against the exception as the first solution.
Bug: 159722324
Test: robotest
Change-Id: Ic227331fef64c3fa6fe3e4442fba2a9b754d520d
The controller can't be created when Settings Search gets the
non-indexable keys. So Settings Search can't get the correct value
from it.
The controller creates the Handler without the parameter in constructor
and causes the exception. It should use the main Looper of Context as
the parameter to create the Handler.
Fixes: 160179400
Test: run robotest and observe the search result
Change-Id: I6f9bf6de087ae776e8d531ff59d28966aee96b7b
- ArrayMap is not thread-safe.
- When accessing the map across threads at the same time, the map may
throw a ConcurrentModificationException.
- Convert the map to a synchronizedMap to avoid the exception.
Fixes: 159813482
Test: robotest
Change-Id: I3b8bdd435c7c546acf736fa8aafd2ceaed94d081
Aissign the value of mPrefrence when displayPrefrence() being called.
This can fix the preference doesn't get updated bug. Added test to
ensure it.
Bug: 160169699
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=AllInOneTetherPreferenceController
Change-Id: If0e7ce421cc46cff2b92837d2d07ea0ff4dc5fd9
- This problem causes the TwilightLocationPreferenceController too late
to decide the preference display or not.
- Move the display criteria into the getAvailabilityStatus
Fixes: 159032276
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.display
Test: manual review
Change-Id: I5850479e8a891f837c0e6772ad1096e702f95e34
This reverts commit 73afb042dc.
Reason for revert: Publish the fix in Slice lib and revert the workaround.
Bug: 157387583
Change-Id: Icb150b4f69bffe8af4c3fcb26501020c8fe8432b
Learn more wording with link only help people when configured.
When no link available, these wording had better removed to avoid from
confusing people.
Bug: 159510116
Test: manual
Change-Id: I36b74b2b4586546090fb88562e8f4f052a877709
Use WifiTrackerLib, we can use WifiEntry.getPrivacy()
to get the value for a Passpoint network.
Bug: 159672621
Test: manual visual
Switch Privacy setting in Wi-Fi detail page, observe
MAC address title.
Change-Id: I5411e727c5f48dc0d65a05706194569ca3bbebdc
Since voice calls on NR NSA use LTE, the voice network type
should not be updated to be NR NSA.
Test: manual testing
Bug: 159382203
Change-Id: I77d92fab0020da356ae43293016237be7494c1e2
Controller can't find the target preference to handle the click event.
Store the preference keys to match the clicked item.
Fixes: 158716163
Test: run robotest and manually test the click behavior
Change-Id: Ie243206ceffef013c56c4ea29c14fe56da510fb6
When a client registers a SliceCallback, it starts to observe Slice
changes. The observer is running in the main looper and binds Slice
in AsyncTask.
However, when the client unregisters the callback, it unpins the Slice
in the client's thread. Thus, if the AsyncTask has pinned the slice but
hasn't bound it yet, it may be unpinned by the client, and an exception
occurs.
This fix is to unpin the Slice in the same SerialExecutor of AsyncTask,
which is to ensure bindSlice() and unpinSlice() are called in the same
thread one after another without the race condition.
Bug: 157387583
Test: robotest
Change-Id: If5f4b4bc0d8c5a2800cad8ff2afd7084426a6c96
When users go to a sub page in Settings and come back to the homepage
again, those sticky cards flicker which makes the UI janky. This is
because we rebind sticky cards to ensure it's always up-to-date, where
the recyclerView has its default animation while notifyItemInserted(),
ane thus introduce the jank.
Fixes: 158627602
Test: Open Settings -> go to sub pages -> back to the homepage -> cards
are not flickering.
Change-Id: I2104dbe0bed8b2486c35521bcc0b5c8b54efb995
Postpone setTheme to decrease memory usage of Settings for the test
android.platform.test.scenario.sleep.Idle
Bug: 156631776
Test: forrest test
Change-Id: I4178eae0832e15c9d6da4a0f1f2898f5c797d388
Fixs when disable component during system busy, the framework have high possibility to force closing activities on the same task.
test
1. setup a pin code and go through to the anything else page. click "control info on lock screen".
>> The SetupRedactionInterstitial not been disabled.
>> The lock screen can be setup repeatedly.
2. into home screen. using adb command to start SetupRedactionInterstitial.
>> the screen not shown.
3. using adb command to start RedactionInterstitial and click "done".
>> the activity existed normally.
Bug: 158961310
Test: Manual
Change-Id: I09fe95db591d3d3603b2c13623a0873bfab3bac0
Sometimes Settings Search show the items that are not supported by
the hardware. e.g. FaceLock.
Add log to check the HW status when the problem occurred.
Bug: 156667203
Test: watch the log output.
Change-Id: Ie6a89f338aac6f7bdefc69fc84cfa5bf848ed015
ContextualCardLoader was waiting for eligible card checkers with a 300
ms timeout one by one in a loop. So if more than four checkers expire,
the total waiting time will exceed the 1 sec homepage content loading
timeout, which causes no card shows up.
The solution is to leverage all the checkers' timeout starting time,
and increase the timeout for all checkers. So that ContextualCardLoader
just needs to wait for all checkers for at most 400 ms and then can get
the results.
Bug: 159236069
Test: robotest
Change-Id: I601ac4151bf8be68b30eaabdb45a4e1ace95653f