Settings Panels as a dialog have a default animation for entering the
screen, but Slices complicate the animation. While the dialog enters the
screen, Slices begin to bind, thus changing the height of the dialog as
it enters, causing perceived bounce / jank in the animation.
This CL is cherry-picked/based on ag/6671083 but do the following modification:
(See the original commit message for the whole concept)
When trying to load all the Slices, there are few possible situations:
1. Slice starts loading slowly, starting at state LOADED_NONE
2. Slice is loading in progress, having state LOADED_PARTIAL
3. Slice is loaded, but there's error return from the Slice data (We don't
need to show the Slice in this case)
4. Slice is loaded, progress to state LOADED_ALL
5. Slice starts from state LOADED_NONE, but never progress to the next state
because it crashes at setting backend.
Notice that there are two cases that the state will stay at LOADED_NONE and
we can't distinguish them.
Hence, we decide to do the following:
If Slice is with error (case 3) we remove the slice from the list and mark it
loaded.
If Slice is loaded with LOADED_ALL (case 4, which is the ideal case), we mark
it as loaded.
In the other cases, we fire a handler to mark the slice loaded anyway after
250ms timeout.
When all the slices are marked loaded (which should happen after 250ms timeout,
we will animate the panel out. Although there might be slices which are still
partial loaded, we can still have the slice in the panel once it is ready.
The panel might bounce/jank in this case, but at least it will still showing
correctly, and should show up smoothly in most cases.
The solution to this problem is twofold:
1. Load all Slices first
2. Create a custom animation to draw the panel once the recyclerview has
been laid out.
Test: Manual/Visual inspection
Test: make -j40 RunSettingsRobotests
Bug: 123942159
Change-Id: I639a707aa4ba3f906bd6f9752c92727aaba28142
When you add/remove a SIM, telephony notifies settings and we pop up a
notification. Tapping on that notification was still leading to our old
SIM cards page, but should instead lead to the Network & internet page
where we've added a bunch of new UI for doing the same sorts of
operations.
Bug: 128859223
Test: manual (remove a SIM or add a SIM in DSDS mode; a notification
telling you that sim cards have changed should pop up, clicking that
should lead to Network & internet page in settings)
Change-Id: I9c1e656dcc3e8fc9147bb99861d8fdc15ed09be9
Just add a spinner to the top of the screen which lets you select the
phoneIndex. Upating this value updates the mTelephonyManager
mImsManager, and mPhoneStateListener to use the selected phoneIndex and
the subscription associated with it.
Also adds fields for current subId and default data sim subId.
Due to b/117555407, the same PhoneStateListener object can not be used
to register on different subIds, so we workaround this by recreating
the PhoneStateListener when reregistering.
Test: manual test (on single sim)
Fixes: 128033739
Change-Id: I9d6631da628351511e285afeb5b6d4331aaab7e5
Merged-In: I9d6631da628351511e285afeb5b6d4331aaab7e5
- Turn off DEBUG log flag, it's spammy and is a potential PII risk.
- Save search bar expand state so it stays open during screen rotation.
- Introduce a intent extra so callers can deep link into this UI with
search bar pre-expanded.
Fixes: 130422388
Test: robotest
Change-Id: Ib81080733707306de516c49340571c543e70874e
The old logging only include see_more, done, and clicked_out when hiding
the panel page. We were missing many cases that user might use back
button, app switch button to close the page.
Update the hide page keys to change the clicked_out to others to
include all the other cases which hide the page.
Test: Manual verification
Test: atest PanelFragmentTest SettingsPanelActivityTest
Fixes: 130169553
Change-Id: Icede9a8dcb84565cba183963c9fb554507631c98
App name of the dialog msg is null because getCallingPackage() is null
when calling activity does not use startActvitiyForResult().
Bug: 112248584
Test: manual
Change-Id: If5ba9eb62f895c66ac1839b4be5c372ecba6699c
When using old api, disable icon because data in CellInfo is wrong.
Fixes: 128393160
Test: RunSettingsRoboTests
Change-Id: Ide5b424e86d2f0a19cf1e0e6bf22edb270822690
Settings will not refresh conditionals status if there is no condition
card in homepage when Settings homepage gets in/out of window focus.
Whether or not there are conditional cards in the homepage, Settings
should always refresh conditional cards.
Fixes: 129725565
Test: robotests, visual
Change-Id: I1ed309d3fd4f7a2ba911097ea6b049c2aff48c8a
Adds more people who can approve changes to the VPN Settings UI.
Test: repo upload .
Fix: 130346282
Change-Id: I8bb8a7559b5967189476406a00467c6b8bcdc52e
ThemedBatteryDrawable will no longer need it due to drawing more
betterer
Test: battery should look the same
Bug: 129014647
Change-Id: I6706cec2b3c3bfbdc0e0456c58191bc7152783e7
Add flag to allow KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING
intent. This is needed
as the receiver service is modified to use
latest target version SDK which introduces Background
broadcast limitations.
Bug: 78634470
Test: On Device, verified that the intents are
received by the service
Change-Id: I140c1988b241885a737413bd5f0b9c3cc63c4ea8