summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/precall/impl/CallingAccountSelector.java
AgeCommit message (Collapse)Author
2018-06-01Inlined ConfigProviderBindings.get() and removed ConfigProviderBindings.zachh
It no longer provides any value, so just use dagger directly. Bug: 80441695 Test: tap PiperOrigin-RevId: 198806461 Change-Id: Id607abb65b77633bce511ad0c943ac19453a85d5
2018-05-11Don't show select SIM dialog after the pre call action has been discardedtwyen
If the PreferredAccountWorker completed after a rotation, it might show a dialog from the previous action which is no longer valid. TEST=TAP Bug: 79530586 Test: TAP PiperOrigin-RevId: 196306574 Change-Id: I1d64eb63ad4f0bbe0ccdb7b8f73f638f67c56070
2018-04-30Refactor PreferredAccountWorker to provide the dialog to be shown.twyen
When dual SIM selection support is added to In Call UI it was a rush order and codes are duplicated. This CL moves the duplicated logic into PreferredAccountWorker so the same dialog can be shown for both. TEST=manual Bug: 69675796,72618783 Test: manual PiperOrigin-RevId: 194845320 Change-Id: Id283ca7616580b0efd4e8f02e63691c70ee7f93c
2018-04-25Disable entries in CallingAccountSelector that are not selectabletwyen
This CL also unifies the disabled color for primary and secondary text. The in call UI dialog will be implemented in a followup CL. TEST=TAP DEFAULT_VALUE_OK=no server. Bug: 69675796,72618783 Test: TAP PiperOrigin-RevId: 194147061 Change-Id: I5be5a45a7df09061a3bf391f6ae2a32d9c73b6e3
2018-04-25Add "enabled" to SelectPhoneAccountDialogFragment.twyen
This is used to inform the user an account cannot be used right now. On most dual SIM devices, only a single SIM can make calls at the same time. The UI will be implemented in a followup CL. This CL also packs the parameters of SelectPhoneAccountDialogFragment into a proto. There are too many arguments and it needs structured representation. TEST=TAP Bug: 69675796,72618783 Test: TAP PiperOrigin-RevId: 194139636 Change-Id: I7d9f92c73b650654fff28ba625a2c8e3dfa0b96c
2018-04-24Don't show SIM selection and swap SIM for emergency calls.twyen
TEST=TAP Bug: 73012833,73718978 Test: TAP PiperOrigin-RevId: 194110263 Change-Id: I54dbbaada89e4974030e0b3a397040d4d686bcae
2018-03-26Forward extras from pre call external receivers to placeCall().twyen
All extras that CallIntentBuilder handles will be stripped and read into the builder. Other entries will be send to telecom when the intent is build. Renamed CallIntentBuilder.outGoingCallExtras for clarity. Bug: 72877810 Test: Unit tests PiperOrigin-RevId: 190301333 Change-Id: I9a8bf6664b270078d91dbfb3398f8990d243b9f8
2018-03-26Show SIM auto select reason in in call UItwyen
The assisted dialed string will also along show with the "calling via" label. To handle the long string, Top row is now a marquee. Bug: 72571130 Test: Unit tests PiperOrigin-RevId: 190156719 Change-Id: I18a13712bdc9d780f744ef65a1773d249e40fb15
2018-03-07Handle preferred SIM for ACTION_CALLtwyen
Previously preferred SIM is handled only by precall, which covers dialing with dialer or with the special receiver contacts uses. If a third party app uses ACTION_CALL or telecomManager.placeCall(), then the in call UI will be launched directly and the old account selection dialog will be used without preferred SIM support. In this CL logic from CallingAccountSelector is refactored out so InCallActivity can use it for the dialog. Bug: 73718976 Test: Unit tests, In call UI not covered. PiperOrigin-RevId: 188214007 Change-Id: Ifaacf982a3e98601dc362b649c3501d4ee96e63e
2018-03-06Make user able to set default sim when there is no account.yueg
Test: CallingAccountSelectorTest, manual PiperOrigin-RevId: 188089149 Change-Id: Id1be88124e243e46ac9b0277f40de142af6bb5a9
2018-02-06Fix NPE when querying preferred without an accounttwyen
Bug: 72986691 Test: Unit tests PiperOrigin-RevId: 184743227 Change-Id: I2e37c2916ce05a72324f68c4530b7f6f3daf23eb
2018-02-02Exit early when phone_lookup returned duplicated results for Preferred SIMtwyen
Previously all results are validated then checked if there are duplicate. In this CL once duplicates are found it will exit early. Bug: 72873001 Test: Existing unit tests. No behavior changes except query counts and latency which we don't test. PiperOrigin-RevId: 184355913 Change-Id: I5ef89c25b100752d939daba69fcfeca3c9d32521
2018-02-01Add suggestion reason ACCOUNTtwyen
Bug: 72817785 Test: Unit tests PiperOrigin-RevId: 184178722 Change-Id: I7154058ab7ac1a94adc781a1aa9a49a3f13c1599
2018-02-01Handle missing contact permission for preferred SIMtwyen
Bug: 72163953,72749906 Test: Unit tests PiperOrigin-RevId: 184167756 Change-Id: I19f4a71fb443fbb31960be486c3c5e996535fc32
2018-01-25Update preferred SIM SuggestionProvidertwyen
"remember this SIM" checkbox state is reported to the provider. The other SIM is reported to the provider when "change SIM" is used Bug: 70503524 Test: Unit tests PiperOrigin-RevId: 183308581 Change-Id: I3d097d14a503c759f130044c9a9c48c420eee19d
2018-01-09Allow SimSuggestionProvider to auto select phone account.twyen
Bug: 70503524 Test: Unit tests. PiperOrigin-RevId: 181400523 Change-Id: I07f2f2cd7c1402d1acb6bfbde9db8d90c888edf6
2018-01-03Only consider writable accounts for preferred SIMtwyen
Some apps will add their own account to contacts and cause PhoneLookup to return multiple accounts. Since Contacts cannot write to these accounts the preferred SIM settings on them does not make sense. In this CL a reduced version of AccountTypeManager is used to determine if the account is writable. External accounts (which capabilities are determined by parsing their sync adapter) are not supported. Bug: 70689051 Test: CallingAccountSelectorTest PiperOrigin-RevId: 180693656 Change-Id: I24e93860cd576777c6d3861f65f75baa234dac87
2017-11-29Add impressions for dual sim featurestwyen
Bug: 69618691 Test: CallingAccountSelectorTest PiperOrigin-RevId: 177062349 Change-Id: I4bc9098d06c541b607cca293269cf3489077b6c2
2017-11-22Prevent SIM selection and change SIM from showing when there are active callstwyen
Most devices are DSDS (dual SIM dual standby) which only one SIM can have active calls at a time. Telecom will ignore the phone account handle and use the current active SIM. The SIM selection dialog has no effect, and the change SIM button will just redial with the same SIM. Bug: 69417430 Test: CallingAccountSelectorTest, CallButtonPresenterTest PiperOrigin-RevId: 176718021 Change-Id: I231cfeaa5ff77c29cdaf8e0865d096c85cfb7fc4
2017-11-22Fix showing CallingAccountSelector in lock screentwyen
FLAG_SHOW_WHEN_LOCKED is added to PreCallActivity so it can be launched in lockscreen. PreCallCoordinator now grabs new instances of PreCallActions onResume so the state can be flushed. If it is reused states like PendingAction might be used after it is discarded. Added null check before discarding fragment because it might not be created yet due to background query. Bug: 69570769 Test: CallingAccountSelectorTest PiperOrigin-RevId: 176714225 Change-Id: I8b09441bd1cdb8df835978a1d82b53a3d3d056e0
2017-11-22Automated rollback of changelist 176587256twyen
Bug: 69570769 Test: CallingAccountSelectorTest PiperOrigin-RevId: 176706378 Change-Id: I50da0d2dd40a83ae6c1189fed2693368369849d3
2017-11-22Check Contacts support for preferred SIMtwyen
Preferred SIM can only be enabled when both dialer and the system contact app supports it. This CL checks if the app for ACTION_QUICK_CONTACT has the metadata supports_per_number_preferred_account. Also added a flag to disable the whole preferred SIM feature. Bug: 69638458 Test: CallingAccountSelectorTest PiperOrigin-RevId: 176687062 Change-Id: Id00debe2393068a422907a9eff2ac4ef0fcf6f8e
2017-11-22Fix showing CallingAccountSelector in lock screentwyen
android:showWhenLocked and FLAG_SHOW_WHEN_LOCKED is added to PreCallActivity so it can be launched in lockscreen. PreCallCoordinator now grabs new instances of PreCallActions onResume so the state can be flushed. If it is reused states like PendingAction might be used after it is discarded. Added null check before discarding fragment because it might not be created yet due to background query. Bug: 69570769 Test: CallingAccountSelectorTest PiperOrigin-RevId: 176587256 Change-Id: Iaa7145e860136e9177f568e2c84461ed5efa12a1
2017-11-21Require N for preferred SIM querytwyen
PhoneLookup.DATA_ID is only available after N. The fallback database should address this in a future CL. Bug: 69420158 Test: CallingAccountSelectorTest PiperOrigin-RevId: 176534281 Change-Id: I51ae1705fce6d7d4138b41fbd00d131447e49786
2017-11-20Implement SIM selection dialogtwyen
Bug: 64216442,64214592,64213352 Test: N/A PiperOrigin-RevId: 176424724 Change-Id: I1709156098a14ac3bd35d98b913e7b881fcd9b2b
2017-11-20Add config flag for CallingAccountSelectortwyen
Since CallingAccountSelector is currently the only action that requires a UI, disabling it will effectively revert the PreCall behavior back to pre-PreCall era, sending intents to telecom directly. Bug: 68953196 Test: CallingAccountSelectorTest PiperOrigin-RevId: 176398440 Change-Id: I612a56bc66f32cf72779bd7c507de6a0784f1298
2017-11-18Implement suggested SIMtwyen
This CL adds a module that can query providers to aid users choosing which SIM to call with. Bug: 64214592 Test: MotoSuggestionProviderTest PiperOrigin-RevId: 176129303 Change-Id: Idb6314ad7f5a1bcd20b5b9173d3bfd873383cc84
2017-11-18Implement headless PreCalltwyen
If no actions require an activity, instead of launching the PreCallActivity, all actions will be performed immediately, and the call intent will be sent to telecom directly. This reduces the latency & risk when mutli SIM is not supported. Bug: 68953196 Test: PreCallImplTest, HeadlessPreCallCoordinatorTest PiperOrigin-RevId: 176032790 Change-Id: I03258e8643f18c65a8e5b1a84b18b71b30638044
2017-11-18Implement preferred SIMtwyen
Before prompting the user to select the SIM, CallingAccountSelector will lookup the fallback preferred SIM database to see if a preferred SIM is already set and bypass the selection. If the number is in contacts the user will also have the option to store the selected SIM as preferred. Bug: 64213352 Test: CallingAccountSelectorTest PiperOrigin-RevId: 175592732 Change-Id: I6a5a8ad8772eccfb4a119c529dcd3945b9dc0b1e
2017-11-11Implement CallingAccountSelector and AssistedDialActionZachary Heidepriem
CallingAccountSelector examines the CallIntentBuilder, and if the PhoneAccountHandle is missing on a multi-SIM device while the default is not set, it will show a dialog to let the user select it. This step used to be after the in call UI is launched and telecom wants dialer to disambiguate. This step is moved to pre call as dialer need more control, like voicemail calls should always prompt, or the preferred SIM info might be available. This also allows telecom to send the selected PhoneAccountHandle to other apps so they have more information on how to rewrite numbers. AssistedDialAction replaces the step previously in CallIntentBuilder.build(), and rewrites the URI. Pre-call actions are not hooked up for dialing in this CL yet, assisted dialing will still be broken. Bug: 64216442 Test: CallingAccountSelectorTest, AssistedDialActionTest PiperOrigin-RevId: 174917321 Change-Id: Iba2e9092f83c036b402d4044a48ff5c44e806210