The TelephonyManager doesn't like have "too many" listeners
registered on int at any given time. It will actually throw
exceptions when this happens. To lighten the load from the SystemUI
side, TelephonyListenerManager now ensures that only one listener is
ever subscribed at any point.
SystemUI can now use this class instead, piggy-backing on the
possibly already subscribed listener to retrieve the events it cares
about.
Also, use Executors in CarrierTextController instead of Handlers.
Bug: 179775696
Test: atest SystemUITests
Change-Id: I626e80a91396161022e1fc6387598521f77bf4fc
Revert submission 13536242-b179775696-depenency-get-keyguard
Reason for revert: Candidate reversion for broken tests: b/180440298
Reverted Changes:
I6d0271692:Add ViewController to CarrierText.
I4d9a4a21f:Add Controller for Emergency Button.
I4c76d99f9:Remove Dependency.get from KeyguardSliceTextView.
I730593fcf:Add injection to ClockProvider.
Ifbb93e624:Remove Dependency.get from KeyguardStatusView.
I237215456:Remove final calls to Dependency.get from keyguard...
Change-Id: I3022b0e18b4a40a407de7177be6c94c602f9fcb1
Rename CarrierTextController to CarrierTextManager to avoid confusion.
Removes several calls to Dependency.get(). This was the primary
impetus for this change.
Bug: 179775696
Test: atest SystemUITests
Change-Id: I6d027169247e8b93fe979e54c04a61bbacb4cca5
Test: presubmit setup on source branch
Bug: 130289146 Create a Gradle build for SystemUI
Bug: 136279712 Daggerize FalsingManager
Bug: 137324767 "Unable to instantiate service com.android.systemui.doze.DozeService" exception breaks launcher tests
Bug: 137563419 Remove Bouncer reveal delay from bypass flow
Bug: 138787339 Allow Services and Activities to be injected into directly.
Bug: 139128921 [AS 3.5 RC2, SDK API 29 rev 2] Overload resolution ambiguity: while removing element from HashMap
Bug: 64712476 Import translations for dev branches
Change-Id: Ib7fd4706c070907fd556c3532957f3b1b046de6d
QSFooter now shows up to two subscriptions with corresponding signal
rate graphic.
Modified CarrierTextCallback to pass an info struct.
Pending design guidelines.
Test: manual using DSDS
Bug: 113343186
Change-Id: Ic98d52ae59139132533a86fcc279a4f64c98c91e
CarrierTextController logic is separate from CarrierText, who now is a
TextView that has an associated controller. It's behavior should be the
same as before, but it allows to have CarrierTextControllers without the
View.
Test: manual
Change-Id: I7da71e603e09ac5cb85baeedfa85d2764b58e774
Keyguard default show NO SIM earlier than Telephony/Subscription callback
Refactor CarrierText & KeyguardUpdateMonitor
- Replace setup flag by resource attr(showMissingSim/showAirplaneMode)
- Remove setDiplayFlags API, and add mTelephonyCapable flag
- Implement MSG_TELEPHONY_CAPABLE in KeyguardUpdateMonitor
- Default do not show AirplaneMode & NO_SIM label unless define in xml
Bug: 109731429
Test: atest SystemUITests
atest frameworks/base/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
Manual:
1) Insert SIM and reboot device, only show "No Service"->"Operator"
2) Remove SIM and reboot device, only show "No SIM"
3) Enable AirplaneMode reboot, only show "Airplane mode"
4) Insert SIM and trigger sysui crash, state same as 1)
5) Remove SIM and trigger sysui crash, state same as 2)
6) Enable APM trigger sysui crash, state same as 3)
7) Enable APM & WFC, turn on wifi in keyguard showing
-> "Airplane mode" -> "" -> "WiFi Calling"
8) Enable APM & WFC, turn off wifi in keyguard showing
-> "Wifi Calling" -> "Airplane mode"
Change-Id: I4459997420484431751a4c088aa3856724affe6a
This message appears in the QS footer when the SIM has been
disabled permanently (IccCardConstants.State.PERM_DISABLED).
Required in Australia, harmless elsewhere.
Test: runtest systemui
Bug: 109874640
Change-Id: Ib2b3fcf2bd84c54b61f0bd45fe0b83209d9c9bd0
- Change mobile data tile to a static icon with mobile data indicators
- Add the status bar mobile network signal icon to QS footer
- Show SIM status in the carrier text in the QS footer only if the
status is not simply "No SIM card" since that status is shown in the
secondary text of the mobile data tile
Bug: 72540392
Test: visual && runtest systemui
Change-Id: I6fee19887decf68db5084edc8c0e2d23bb1938d1
The marquee text in the notification shade "No SIM sim card..." is shown
and animates even when the text is invisible when no sim is inserted.
The marque only shows on smaller devices such as android go devices.
This would lead to sysui scheduling unneccessary frames. Show the marquee
in CarrierText only when it is visible.
Later this should be removed and actual fix should go into TextView.
Bug: 68812918
Test: systrace sysui when launching settings from notification, no
frames are scheduled after notification is invisible
Change-Id: Iaa53345e8b4ba13b368dbdf3c04691a5fd89ad97
(cherry picked from commit 58cf4c1463c480d1e83c9db0eea8917e0304b552)
Add change to show "Invalid card" on UI on CARD_IO_ERROR when
erroneous SIM card is inserted
Bug: 23147806
Change-Id: Ibaacf06f2aad8f206095783cc431a87485f1c2ad