summaryrefslogtreecommitdiff
path: root/telecomm/java/android/telecom/DefaultDialerManager.java
AgeCommit message (Collapse)Author
2020-10-06Tighten up Binder.clearCallingIdentity() usage.Jeff Sharkey
The recently added AndroidFrameworkBinderIdentity Error Prone checker examines code to ensure that any cleared identities are restored to avoid obscure security vulnerabilities. This change is a purely mechanical refactoring that adds the "final" keyword to the cleared identity to ensure that it's not accidentally modified before eventually being cleared. Here's the exact command used to generate this CL: $ find . -name "*.java" -exec sed -Ei \ 's/ (long \w+ = .+?clearCallingIdentity)/ final \1/' \ {} \; Bug: 155703208 Test: make Exempt-From-Owner-Approval: trivial refactoring Change-Id: I832c9d70c3dfcd8d669cf71939d97837becc973a
2019-03-08Use a boolean Consumer instead of RoleManagerCallback.Hai Zhang
And use RemoteCallback for it under the hood. This removes one AIDL interface and allows using lambda, while aligning with what PermissionControllerService does. Bug: 127691087 Test: manual Change-Id: Ia94e5bac59773380b2a4764d766bf6ff1dd5b7ff
2019-02-11Merge "Revert "Make getInstalledDialerApplications() require an InCallService.""TreeHugger Robot
2019-02-11Revert "Make getInstalledDialerApplications() require an InCallService."Hai Zhang
This reverts commit b73ec01a17bd26e3f403b09aa77f41edc7feec67. Reason for revert: Dialer actually don't require an InCallService. Bug: 124238689 Change-Id: Idba1af59ad39da87cf3c77c9c5e31843ce2d78d1
2019-02-05Add flags parameter for managing role holders.Hai Zhang
This change allows passing a flag parameter when managing role holders, including a DONT_KILL_APP flag that can be used by the request role dialog. Bug: 123429697 Test: manual Change-Id: I57b690dcdfbf6fd13940cf45d392a48adeccdfaa
2019-02-01Merge "Fix dialer cts test"Eugene Susla
2019-01-31Fix dialer cts testEugene Susla
Whether setting default dialer succeeds is propagated all the way to API, and (apparently) enforced by cts, so it looks like we should wait for it Fixes: 123718729 Test: atest android.telecom.cts.DefaultDialerOperationsTest#testSetDefaultDialerNoDialIntent_notSupported Change-Id: I2f7b8d4a32d1b570d0aba8cc4cc529f58a9dbc20
2019-01-30Make getInstalledDialerApplications() require an InCallService.Hai Zhang
So that the old default dialer app picker don't show apps that don't qualify for this new requirement in dialer role. Bug: 110557011 Test: manual Change-Id: Iafb33c7ee0f865991822013c839890d2fe18c692
2019-01-25Migrate dialer to RoleManagerEugene Susla
Test: ensure settings UI is ok, ensure stock dialer can still make a call Change-Id: Iab835939fbb92af06d9440910fbde2725ca66f70
2018-12-16Retrieve packages for the specified user.Nicholas Sauer
DefaultDialerManager#setDefaultDialerApplication is meant to execute on the current user. However it retreives packages for the user specified in the context -- which can be different than the user specified in the method call. As a result, calls to setDefaultDialerApplication can be successful even if the component is disabled in the current (secondary) user. bug: 121094764 Test: via CTS adb shell am switch-user 10 cts-tradefed run cts-dev -a arm64-v8a -m CtsTelecomTestCases -t android.telecom.cts.DefaultDialerOpest#testSetDefaultDialerNoDialIntent_notSupported adb shell am switch-user 0 cts-tradefed run cts-dev -a arm64-v8a -m CtsTelecomTestCases -t android.telecom.cts.DefaultDialerOpest#testSetDefaultDialerNoDialIntent_notSupported Change-Id: I0992594f8791791eacba43e03ca1c293832eddcf
2017-09-15getInstalledDialerApplications should not count ForwardIntentToParentTony Mak
Issues: 1. Work profile call is logged into work profile side even there is no work profile dialer. 2. In Settings, "Android" is shown as the default work profile dialer. Cause: When are querying installed dialers in work profile, getInstalledDialerApplications return android/ForwardIntentToParent because we forward calls to personal side if work dialer is absent. But apparently, ForwardIntentToParent is not an installed dialer in work profile. So Settings shows "Android" as default work dialer and Telecom wrongly think that we have work dialer and insert calllog in to work profile side. Solution: Ignore cross profile resolver by checking targetUserId. Test: Manual 1. Check Settings, no longer see "Android" is set as work dialer. 2. Make a phone call using work contacts, observed that the call is inserted into persoonal side. 3. Make a phone call using personal side, observed that the call is inserted into personal side. BUG: 65672386 Change-Id: I13d4234ad1684f714e1b4d7704f2413d903a0179
2017-09-01Prevent INTERACT_ACROSS_USERS exception in DefaultDialerManager.Tyler Gunn
When TelecomManager methods perform a read phonestate check from a work profile user, it is possible to get an INTERACT_ACROSS_USERS exception. This is due to the fact that the filterByIntent method was not calling queryIntentActivitiesAsUser. Test: Manual Bug: 31304557 Change-Id: I2a1869162e5a52aed986a99cc378a6c630af4a70
2016-12-08Make use of user id in getDefaultDialerApplicationHall Liu
In the version of getDefaultDialerApplication that has an argument for user id, make use of it when querying the list of installed dialer packages. Otherwise, a secondary user may find their default dialer pointing to an app that they had disabled. Test: manual Change-Id: Id85ff730b820741cddb6afee8af095232d3dae0f
2016-01-19Make getInstalledDialerApplications to query for specific userTony Mak
BUG=26634502 Change-Id: I8fe5506589bae85e3babba1aaab3b737cd12543b
2016-01-04More work towards triaging missing app behavior.Jeff Sharkey
Many places across the platform query package details without gracefully handling packages or components that go missing for various reasons. This can cause annoying user data loss, such as resetting back to built-in apps or dropping of accounts, etc. This change verifies that system callers have thought about these edge cases by logging if they use default matching behaviors without explicitly marking themselves as being "triaged." (The logging is currently disabled by default.) Also creates explicit definitions of supported flags for various incoming PackageManager calls, and defines a clear distinction between flag types: -- GET-style flags are used to request additional data that may have been elided to save wire space. -- MATCH-style flags are used to include components or packages that would have otherwise been omitted from a result set by current system state. There are a handful of existing GET flags that better fit under the MATCH definition, so this change clones them to new constants and marks the old ones as deprecated. Fixes bug in JobSchedulerService to consider jobs from apps on external storage. Revert some dialer behavior back to being untriaged. Change-Id: I9b6ab0968241e3479bddbd78de0c51e3b9917318
2015-12-19Better named encryption flags, start triaging.Jeff Sharkey
Create distinct flags for encryption aware, unaware, and both, and name them like the other MATCH_ flags. Start adding logic to help triage all system internal callers to verify that they've done their homework and thought about how to handle apps while locked. Call sites in the system should either ask for explicit matching behavior, or explicitly use the DEFAULT match flag to indicate that they've been triaged to use the default state-based matching. Bug: 26250295 Change-Id: I86214e5c4f71a6dc72f06930800388713aecd107
2015-08-12Add GTS test to ensure valid default permission grants - frameworkSvet Ganov
The platform grants runtime permissions by default to apps on the system image that provide core device use cases which a user expects to work out-of-the-box. We are now adding a test to ensure that OEMs cannot pregrant premissions on non approved components. bug:23043018 Change-Id: Id76717cce0ee59678956bd0be347d3c045fe4c51
2015-06-02Allow default dialer changes and phone account enable/disable via ADBYorke Lee
Add commands accessible via adb shell that can be used for CTS tests without the need for adb root *set-phone-account-enabled *set-phone-account-disabled *set-default-dialer *get-default-dialer Modify enablePhoneAccount/setDefaultDialer to indicate success. Remove now unused functionality in ProtectedEnableAccountPreferenceActivity and ProtectedChangeDefaultDialerActivity. Bug: 21583012 Change-Id: I542d145cc969334c004b8344fbbb01f278256f9d
2015-05-07Merge "Filter list of possible default dialers" into mnc-devYorke Lee
2015-05-04Add hidden methods to set/get default dialer across usersYorke Lee
First part of a set of changes to make the default dialer work across multiple users. This initial CL should not affect any user-facing behavior, just add new methods. Bug: 20696062 Change-Id: If1651240e185b4c09e960260c822c9265069fb9a
2015-04-28Filter list of possible default dialersYorke Lee
Make sure they handle the ACTION_DIAL intent with the tel scheme Bug: 20304411 Change-Id: I1822eff8bc014d4679352165ebe2bc819b82f75b
2015-04-28Merge "Simplify DefaultDialerManager" into mnc-devYorke Lee
2015-04-28Simplify DefaultDialerManagerYorke Lee
The previous code worked with ComponentNames because it was based off existing code for the default SMS application. We only really need the package name however, so simplify the code by storing and retrieving the package name directly. Bug: 20304458 Change-Id: Icabd3a9f0f8166c105360494b601160d13767fad
2015-04-27Merge "Rename setDefaultDialerApplication for consistency" into mnc-devYorke Lee
2015-04-27Rename setDefaultDialerApplication for consistencyYorke Lee
Change-Id: I8227df913bdb0ed5e1b3472f9d4ebea1158b366b
2015-04-27Add utility method isDefaultOrSystemDialerYorke Lee
Will be used by various system components to determine if a given package name is a privileged Dialer Bug: 20333102 Bug: 20304411 Change-Id: I1e5bcbde8ee9a5dc6936b118b1b78f32d97737a6
2015-04-24Add APIs to getDefaultDialerPackage and getSystemDialerPackageYorke Lee
getDefaultDialerPackage is a public API and will be used by apps to determine if they are the default dialer. getSystemDialerPackage is a hidden API and is only used by system components. Also add new public string constants to allow apps to show a dialog requesting that the user change the current default dialer. Bug: 20304458 Change-Id: I121d36741474c1fe171c372fb766a6c128228c9c
2015-04-23Add hidden class in framework for managing the default dialer settingsYorke Lee
Bug: 20303635 Change-Id: I7e7318086ade9531fb85f08b8e3f1f001ee0a8d9