Loading src/com/android/server/telecom/PhoneAccountRegistrar.java +32 −2 Original line number Diff line number Diff line Loading @@ -479,7 +479,9 @@ public final class PhoneAccountRegistrar { public List<PhoneAccountHandle> getCallCapablePhoneAccounts( String uriScheme, boolean includeDisabledAccounts) { return getPhoneAccountHandles( PhoneAccount.CAPABILITY_CALL_PROVIDER, uriScheme, null, includeDisabledAccounts); PhoneAccount.CAPABILITY_CALL_PROVIDER, PhoneAccount.CAPABILITY_EMERGENCY_CALLS_ONLY /*excludedCapabilities*/, uriScheme, null, includeDisabledAccounts); } /** Loading Loading @@ -716,35 +718,58 @@ public final class PhoneAccountRegistrar { return null; } private List<PhoneAccountHandle> getPhoneAccountHandles( int capabilities, String uriScheme, String packageName, boolean includeDisabledAccounts) { return getPhoneAccountHandles(capabilities, 0 /*excludedCapabilities*/, uriScheme, packageName, includeDisabledAccounts); } /** * Returns a list of phone account handles with the specified capabilities, uri scheme, * and package name. */ private List<PhoneAccountHandle> getPhoneAccountHandles( int capabilities, int excludedCapabilities, String uriScheme, String packageName, boolean includeDisabledAccounts) { List<PhoneAccountHandle> handles = new ArrayList<>(); for (PhoneAccount account : getPhoneAccounts( capabilities, uriScheme, packageName, includeDisabledAccounts)) { capabilities, excludedCapabilities, uriScheme, packageName, includeDisabledAccounts)) { handles.add(account.getAccountHandle()); } return handles; } private List<PhoneAccount> getPhoneAccounts( int capabilities, String uriScheme, String packageName, boolean includeDisabledAccounts) { return getPhoneAccounts(capabilities, 0 /*excludedCapabilities*/, uriScheme, packageName, includeDisabledAccounts); } /** * Returns a list of phone account handles with the specified flag, supporting the specified * URI scheme, within the specified package name. * * @param capabilities Capabilities which the {@code PhoneAccount} must have. Ignored if 0. * @param excludedCapabilities Capabilities which the {@code PhoneAccount} must not have. * Ignored if 0. * @param uriScheme URI schemes the PhoneAccount must handle. {@code null} bypasses the * URI scheme check. * @param packageName Package name of the PhoneAccount. {@code null} bypasses packageName check. */ private List<PhoneAccount> getPhoneAccounts( int capabilities, int excludedCapabilities, String uriScheme, String packageName, boolean includeDisabledAccounts) { Loading @@ -755,6 +780,11 @@ public final class PhoneAccountRegistrar { continue; } if ((m.getCapabilities() & excludedCapabilities) != 0) { // If an excluded capability is present, skip. continue; } if (capabilities != 0 && !m.hasCapabilities(capabilities)) { // Account doesn't have the right capabilities; skip this one. continue; Loading Loading
src/com/android/server/telecom/PhoneAccountRegistrar.java +32 −2 Original line number Diff line number Diff line Loading @@ -479,7 +479,9 @@ public final class PhoneAccountRegistrar { public List<PhoneAccountHandle> getCallCapablePhoneAccounts( String uriScheme, boolean includeDisabledAccounts) { return getPhoneAccountHandles( PhoneAccount.CAPABILITY_CALL_PROVIDER, uriScheme, null, includeDisabledAccounts); PhoneAccount.CAPABILITY_CALL_PROVIDER, PhoneAccount.CAPABILITY_EMERGENCY_CALLS_ONLY /*excludedCapabilities*/, uriScheme, null, includeDisabledAccounts); } /** Loading Loading @@ -716,35 +718,58 @@ public final class PhoneAccountRegistrar { return null; } private List<PhoneAccountHandle> getPhoneAccountHandles( int capabilities, String uriScheme, String packageName, boolean includeDisabledAccounts) { return getPhoneAccountHandles(capabilities, 0 /*excludedCapabilities*/, uriScheme, packageName, includeDisabledAccounts); } /** * Returns a list of phone account handles with the specified capabilities, uri scheme, * and package name. */ private List<PhoneAccountHandle> getPhoneAccountHandles( int capabilities, int excludedCapabilities, String uriScheme, String packageName, boolean includeDisabledAccounts) { List<PhoneAccountHandle> handles = new ArrayList<>(); for (PhoneAccount account : getPhoneAccounts( capabilities, uriScheme, packageName, includeDisabledAccounts)) { capabilities, excludedCapabilities, uriScheme, packageName, includeDisabledAccounts)) { handles.add(account.getAccountHandle()); } return handles; } private List<PhoneAccount> getPhoneAccounts( int capabilities, String uriScheme, String packageName, boolean includeDisabledAccounts) { return getPhoneAccounts(capabilities, 0 /*excludedCapabilities*/, uriScheme, packageName, includeDisabledAccounts); } /** * Returns a list of phone account handles with the specified flag, supporting the specified * URI scheme, within the specified package name. * * @param capabilities Capabilities which the {@code PhoneAccount} must have. Ignored if 0. * @param excludedCapabilities Capabilities which the {@code PhoneAccount} must not have. * Ignored if 0. * @param uriScheme URI schemes the PhoneAccount must handle. {@code null} bypasses the * URI scheme check. * @param packageName Package name of the PhoneAccount. {@code null} bypasses packageName check. */ private List<PhoneAccount> getPhoneAccounts( int capabilities, int excludedCapabilities, String uriScheme, String packageName, boolean includeDisabledAccounts) { Loading @@ -755,6 +780,11 @@ public final class PhoneAccountRegistrar { continue; } if ((m.getCapabilities() & excludedCapabilities) != 0) { // If an excluded capability is present, skip. continue; } if (capabilities != 0 && !m.hasCapabilities(capabilities)) { // Account doesn't have the right capabilities; skip this one. continue; Loading