Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -30323,6 +30323,7 @@ package android.telecom { method public android.net.Uri getSubscriptionAddress(); method public java.util.List<java.lang.String> getSupportedUriSchemes(); method public boolean hasCapabilities(int); method public boolean isEnabled(); method public boolean supportsUriScheme(java.lang.String); method public android.telecom.PhoneAccount.Builder toBuilder(); method public void writeToParcel(android.os.Parcel, int); api/system-current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -32509,6 +32509,7 @@ package android.telecom { method public android.net.Uri getSubscriptionAddress(); method public java.util.List<java.lang.String> getSupportedUriSchemes(); method public boolean hasCapabilities(int); method public boolean isEnabled(); method public boolean supportsUriScheme(java.lang.String); method public android.telecom.PhoneAccount.Builder toBuilder(); method public void writeToParcel(android.os.Parcel, int); Loading Loading @@ -32650,6 +32651,7 @@ package android.telecom { method public void cancelMissedCallsNotification(); method public deprecated void clearAccounts(); method public void clearPhoneAccounts(); method public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean); method public boolean endCall(); method public android.net.Uri getAdnUriForPhoneAccount(android.telecom.PhoneAccountHandle); method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles(); Loading @@ -32665,7 +32667,6 @@ package android.telecom { method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle); method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage(); method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsSupportingScheme(java.lang.String); method public java.util.List<android.telecom.PhoneAccountHandle> getRegisteredConnectionManagers(); method public android.telecom.PhoneAccountHandle getSimCallManager(); method public java.lang.String getVoiceMailNumber(android.telecom.PhoneAccountHandle); method public boolean handleMmi(java.lang.String); telecomm/java/android/telecom/PhoneAccount.java +43 −3 Original line number Diff line number Diff line Loading @@ -151,6 +151,7 @@ public final class PhoneAccount implements Parcelable { private final CharSequence mShortDescription; private final List<String> mSupportedUriSchemes; private final Icon mIcon; private boolean mIsEnabled; /** * Helper class for creating a {@link PhoneAccount}. Loading @@ -165,6 +166,7 @@ public final class PhoneAccount implements Parcelable { private CharSequence mShortDescription; private List<String> mSupportedUriSchemes = new ArrayList<String>(); private Icon mIcon; private boolean mIsEnabled = false; /** * Creates a builder with the specified {@link PhoneAccountHandle} and label. Loading @@ -190,6 +192,7 @@ public final class PhoneAccount implements Parcelable { mShortDescription = phoneAccount.getShortDescription(); mSupportedUriSchemes.addAll(phoneAccount.getSupportedUriSchemes()); mIcon = phoneAccount.getIcon(); mIsEnabled = phoneAccount.isEnabled(); } /** Loading Loading @@ -287,6 +290,18 @@ public final class PhoneAccount implements Parcelable { return this; } /** * Sets the enabled state of the phone account. * * @param isEnabled The enabled state. * @return The builder. * @hide */ public Builder setIsEnabled(boolean isEnabled) { mIsEnabled = isEnabled; return this; } /** * Creates an instance of a {@link PhoneAccount} based on the current builder settings. * Loading @@ -307,7 +322,8 @@ public final class PhoneAccount implements Parcelable { mHighlightColor, mLabel, mShortDescription, mSupportedUriSchemes); mSupportedUriSchemes, mIsEnabled); } } Loading @@ -320,7 +336,8 @@ public final class PhoneAccount implements Parcelable { int highlightColor, CharSequence label, CharSequence shortDescription, List<String> supportedUriSchemes) { List<String> supportedUriSchemes, boolean isEnabled) { mAccountHandle = account; mAddress = address; mSubscriptionAddress = subscriptionAddress; Loading @@ -330,6 +347,7 @@ public final class PhoneAccount implements Parcelable { mLabel = label; mShortDescription = shortDescription; mSupportedUriSchemes = Collections.unmodifiableList(supportedUriSchemes); mIsEnabled = isEnabled; } public static Builder builder( Loading Loading @@ -436,6 +454,15 @@ public final class PhoneAccount implements Parcelable { return mIcon; } /** * Indicates whether the user has enabled this phone account or not {@code PhoneAccounts}. * * @return The {@code true} if the account is enabled by the user, {@code false} otherwise. */ public boolean isEnabled() { return mIsEnabled; } /** * Determines if the {@link PhoneAccount} supports calls to/from addresses with a specified URI * scheme. Loading Loading @@ -466,6 +493,14 @@ public final class PhoneAccount implements Parcelable { return mHighlightColor; } /** * Sets the enabled state of the phone account. * @hide */ public void setIsEnabled(boolean isEnabled) { mIsEnabled = isEnabled; } // // Parcelable implementation // Loading Loading @@ -500,12 +535,14 @@ public final class PhoneAccount implements Parcelable { out.writeCharSequence(mLabel); out.writeCharSequence(mShortDescription); out.writeStringList(mSupportedUriSchemes); if (mIcon == null) { out.writeInt(0); } else { out.writeInt(1); mIcon.writeToParcel(out, flags); } out.writeByte((byte) (mIsEnabled ? 1 : 0)); } public static final Creator<PhoneAccount> CREATOR Loading Loading @@ -547,11 +584,14 @@ public final class PhoneAccount implements Parcelable { } else { mIcon = null; } mIsEnabled = in.readByte() == 1; } @Override public String toString() { StringBuilder sb = new StringBuilder().append("[PhoneAccount: ") StringBuilder sb = new StringBuilder().append("[[") .append(mIsEnabled ? 'X' : ' ') .append("] PhoneAccount: ") .append(mAccountHandle) .append(" Capabilities: ") .append(mCapabilities) Loading telecomm/java/android/telecom/TelecomManager.java +57 −24 Original line number Diff line number Diff line Loading @@ -377,15 +377,23 @@ public class TelecomManager { } /** * Return the {@link PhoneAccount} which is the user-chosen default for making outgoing phone * calls with a specified URI scheme. * <p> * Apps must be prepared for this method to return {@code null}, indicating that there currently * exists no user-chosen default {@code PhoneAccount}. * Return the {@link PhoneAccount} which will be used to place outgoing calls to addresses with * the specified {@code uriScheme}. This {@link PhoneAccount} will always be a member of the * list which is returned from invoking {@link #getCallCapablePhoneAccounts()}. The specific * account returned depends on the following priorities: * <ul> * <li> If the user-selected default {@link PhoneAccount} supports the specified scheme, it will * be returned. * </li> * <li> If there exists only one {@link PhoneAccount} that supports the specified scheme, it * will be returned. * </li> * </ul> * <p> * If no {@link PhoneAccount} fits the criteria above, this method will return {@code null}. * * @param uriScheme The URI scheme. * @return The {@link PhoneAccountHandle} corresponding to the user-chosen default for outgoing * phone calls for a specified URI scheme. * @return The {@link PhoneAccountHandle} corresponding to the account to be used. */ public PhoneAccountHandle getDefaultOutgoingPhoneAccount(String uriScheme) { try { Loading @@ -403,7 +411,7 @@ public class TelecomManager { * Return the {@link PhoneAccount} which is the user-chosen default for making outgoing phone * calls. This {@code PhoneAccount} will always be a member of the list which is returned from * calling {@link #getCallCapablePhoneAccounts()} * * <p> * Apps must be prepared for this method to return {@code null}, indicating that there currently * exists no user-chosen default {@code PhoneAccount}. * Loading @@ -422,7 +430,7 @@ public class TelecomManager { } /** * Sets the default account for making outgoing phone calls. * Sets the user-chosen default for making outgoing phone calls. * @hide */ public void setUserSelectedOutgoingPhoneAccount(PhoneAccountHandle accountHandle) { Loading @@ -439,6 +447,7 @@ public class TelecomManager { * Returns the current SIM call manager. Apps must be prepared for this method to return * {@code null}, indicating that there currently exists no user-chosen default * {@code PhoneAccount}. * * @return The phone account handle of the current sim call manager. */ public PhoneAccountHandle getSimCallManager() { Loading @@ -454,6 +463,7 @@ public class TelecomManager { /** * Sets the SIM call manager to the specified phone account. * * @param accountHandle The phone account handle of the account to set as the sim call manager. * @hide */ Loading @@ -469,6 +479,7 @@ public class TelecomManager { /** * Returns the list of registered SIM call managers. * * @return List of registered SIM call managers. * @hide */ Loading Loading @@ -496,16 +507,6 @@ public class TelecomManager { return getSimCallManager(); } /** * Returns the list of registered SIM call managers. * @return List of registered SIM call managers. * @hide */ @SystemApi public List<PhoneAccountHandle> getRegisteredConnectionManagers() { return getSimCallManagers(); } /** * Returns a list of the {@link PhoneAccountHandle}s which can be used to make and receive phone * calls which support the specified URI scheme. Loading Loading @@ -534,20 +535,33 @@ public class TelecomManager { /** * Return a list of {@link PhoneAccountHandle}s which can be used to make and receive phone * calls. * Returns a list of {@link PhoneAccountHandle}s which can be used to make and receive phone * calls. The returned list includes only those accounts which have been explicitly enabled * by the user. * * @see #EXTRA_PHONE_ACCOUNT_HANDLE * @return A list of {@code PhoneAccountHandle} objects. * */ public List<PhoneAccountHandle> getCallCapablePhoneAccounts() { return getCallCapablePhoneAccounts(false); } /** * Returns a list of {@link PhoneAccountHandle}s including those which have not been enabled * by the user. * * @return A list of {@code PhoneAccountHandle} objects. * @hide */ public List<PhoneAccountHandle> getCallCapablePhoneAccounts(boolean includeDisabledAccounts) { try { if (isServiceConnected()) { return getTelecomService().getCallCapablePhoneAccounts(mContext.getOpPackageName()); return getTelecomService().getCallCapablePhoneAccounts( includeDisabledAccounts, mContext.getOpPackageName()); } } catch (RemoteException e) { Log.e(TAG, "Error calling ITelecomService#getCallCapablePhoneAccounts", e); Log.e(TAG, "Error calling ITelecomService#getCallCapablePhoneAccounts(" + includeDisabledAccounts + ")", e); } return new ArrayList<>(); } Loading Loading @@ -1163,6 +1177,25 @@ public class TelecomManager { } } /** * Enables and disables specified phone account. * * @param handle Handle to the phone account. * @param isEnabled Enable state of the phone account. * @hide */ @SystemApi public void enablePhoneAccount(PhoneAccountHandle handle, boolean isEnabled) { ITelecomService service = getTelecomService(); if (service != null) { try { service.enablePhoneAccount(handle, isEnabled); } catch (RemoteException e) { Log.e(TAG, "Error enablePhoneAbbount", e); } } } private ITelecomService getTelecomService() { return ITelecomService.Stub.asInterface(ServiceManager.getService(Context.TELECOM_SERVICE)); } Loading telecomm/java/com/android/internal/telecom/ITelecomService.aidl +7 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,8 @@ interface ITelecomService { /** * @see TelecomServiceImpl#getCallCapablePhoneAccounts */ List<PhoneAccountHandle> getCallCapablePhoneAccounts(String callingPackage); List<PhoneAccountHandle> getCallCapablePhoneAccounts( boolean includeDisabledAccounts, String callingPackage); /** * @see TelecomManager#getPhoneAccountsSupportingScheme Loading Loading @@ -226,4 +227,9 @@ interface ITelecomService { * @see TelecomServiceImpl#placeCall */ void placeCall(in Uri handle, in Bundle extras, String callingPackage); /** * @see TelecomServiceImpl#enablePhoneAccount */ void enablePhoneAccount(in PhoneAccountHandle accountHandle, boolean isEnabled); } Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -30323,6 +30323,7 @@ package android.telecom { method public android.net.Uri getSubscriptionAddress(); method public java.util.List<java.lang.String> getSupportedUriSchemes(); method public boolean hasCapabilities(int); method public boolean isEnabled(); method public boolean supportsUriScheme(java.lang.String); method public android.telecom.PhoneAccount.Builder toBuilder(); method public void writeToParcel(android.os.Parcel, int);
api/system-current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -32509,6 +32509,7 @@ package android.telecom { method public android.net.Uri getSubscriptionAddress(); method public java.util.List<java.lang.String> getSupportedUriSchemes(); method public boolean hasCapabilities(int); method public boolean isEnabled(); method public boolean supportsUriScheme(java.lang.String); method public android.telecom.PhoneAccount.Builder toBuilder(); method public void writeToParcel(android.os.Parcel, int); Loading Loading @@ -32650,6 +32651,7 @@ package android.telecom { method public void cancelMissedCallsNotification(); method public deprecated void clearAccounts(); method public void clearPhoneAccounts(); method public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean); method public boolean endCall(); method public android.net.Uri getAdnUriForPhoneAccount(android.telecom.PhoneAccountHandle); method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles(); Loading @@ -32665,7 +32667,6 @@ package android.telecom { method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle); method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage(); method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsSupportingScheme(java.lang.String); method public java.util.List<android.telecom.PhoneAccountHandle> getRegisteredConnectionManagers(); method public android.telecom.PhoneAccountHandle getSimCallManager(); method public java.lang.String getVoiceMailNumber(android.telecom.PhoneAccountHandle); method public boolean handleMmi(java.lang.String);
telecomm/java/android/telecom/PhoneAccount.java +43 −3 Original line number Diff line number Diff line Loading @@ -151,6 +151,7 @@ public final class PhoneAccount implements Parcelable { private final CharSequence mShortDescription; private final List<String> mSupportedUriSchemes; private final Icon mIcon; private boolean mIsEnabled; /** * Helper class for creating a {@link PhoneAccount}. Loading @@ -165,6 +166,7 @@ public final class PhoneAccount implements Parcelable { private CharSequence mShortDescription; private List<String> mSupportedUriSchemes = new ArrayList<String>(); private Icon mIcon; private boolean mIsEnabled = false; /** * Creates a builder with the specified {@link PhoneAccountHandle} and label. Loading @@ -190,6 +192,7 @@ public final class PhoneAccount implements Parcelable { mShortDescription = phoneAccount.getShortDescription(); mSupportedUriSchemes.addAll(phoneAccount.getSupportedUriSchemes()); mIcon = phoneAccount.getIcon(); mIsEnabled = phoneAccount.isEnabled(); } /** Loading Loading @@ -287,6 +290,18 @@ public final class PhoneAccount implements Parcelable { return this; } /** * Sets the enabled state of the phone account. * * @param isEnabled The enabled state. * @return The builder. * @hide */ public Builder setIsEnabled(boolean isEnabled) { mIsEnabled = isEnabled; return this; } /** * Creates an instance of a {@link PhoneAccount} based on the current builder settings. * Loading @@ -307,7 +322,8 @@ public final class PhoneAccount implements Parcelable { mHighlightColor, mLabel, mShortDescription, mSupportedUriSchemes); mSupportedUriSchemes, mIsEnabled); } } Loading @@ -320,7 +336,8 @@ public final class PhoneAccount implements Parcelable { int highlightColor, CharSequence label, CharSequence shortDescription, List<String> supportedUriSchemes) { List<String> supportedUriSchemes, boolean isEnabled) { mAccountHandle = account; mAddress = address; mSubscriptionAddress = subscriptionAddress; Loading @@ -330,6 +347,7 @@ public final class PhoneAccount implements Parcelable { mLabel = label; mShortDescription = shortDescription; mSupportedUriSchemes = Collections.unmodifiableList(supportedUriSchemes); mIsEnabled = isEnabled; } public static Builder builder( Loading Loading @@ -436,6 +454,15 @@ public final class PhoneAccount implements Parcelable { return mIcon; } /** * Indicates whether the user has enabled this phone account or not {@code PhoneAccounts}. * * @return The {@code true} if the account is enabled by the user, {@code false} otherwise. */ public boolean isEnabled() { return mIsEnabled; } /** * Determines if the {@link PhoneAccount} supports calls to/from addresses with a specified URI * scheme. Loading Loading @@ -466,6 +493,14 @@ public final class PhoneAccount implements Parcelable { return mHighlightColor; } /** * Sets the enabled state of the phone account. * @hide */ public void setIsEnabled(boolean isEnabled) { mIsEnabled = isEnabled; } // // Parcelable implementation // Loading Loading @@ -500,12 +535,14 @@ public final class PhoneAccount implements Parcelable { out.writeCharSequence(mLabel); out.writeCharSequence(mShortDescription); out.writeStringList(mSupportedUriSchemes); if (mIcon == null) { out.writeInt(0); } else { out.writeInt(1); mIcon.writeToParcel(out, flags); } out.writeByte((byte) (mIsEnabled ? 1 : 0)); } public static final Creator<PhoneAccount> CREATOR Loading Loading @@ -547,11 +584,14 @@ public final class PhoneAccount implements Parcelable { } else { mIcon = null; } mIsEnabled = in.readByte() == 1; } @Override public String toString() { StringBuilder sb = new StringBuilder().append("[PhoneAccount: ") StringBuilder sb = new StringBuilder().append("[[") .append(mIsEnabled ? 'X' : ' ') .append("] PhoneAccount: ") .append(mAccountHandle) .append(" Capabilities: ") .append(mCapabilities) Loading
telecomm/java/android/telecom/TelecomManager.java +57 −24 Original line number Diff line number Diff line Loading @@ -377,15 +377,23 @@ public class TelecomManager { } /** * Return the {@link PhoneAccount} which is the user-chosen default for making outgoing phone * calls with a specified URI scheme. * <p> * Apps must be prepared for this method to return {@code null}, indicating that there currently * exists no user-chosen default {@code PhoneAccount}. * Return the {@link PhoneAccount} which will be used to place outgoing calls to addresses with * the specified {@code uriScheme}. This {@link PhoneAccount} will always be a member of the * list which is returned from invoking {@link #getCallCapablePhoneAccounts()}. The specific * account returned depends on the following priorities: * <ul> * <li> If the user-selected default {@link PhoneAccount} supports the specified scheme, it will * be returned. * </li> * <li> If there exists only one {@link PhoneAccount} that supports the specified scheme, it * will be returned. * </li> * </ul> * <p> * If no {@link PhoneAccount} fits the criteria above, this method will return {@code null}. * * @param uriScheme The URI scheme. * @return The {@link PhoneAccountHandle} corresponding to the user-chosen default for outgoing * phone calls for a specified URI scheme. * @return The {@link PhoneAccountHandle} corresponding to the account to be used. */ public PhoneAccountHandle getDefaultOutgoingPhoneAccount(String uriScheme) { try { Loading @@ -403,7 +411,7 @@ public class TelecomManager { * Return the {@link PhoneAccount} which is the user-chosen default for making outgoing phone * calls. This {@code PhoneAccount} will always be a member of the list which is returned from * calling {@link #getCallCapablePhoneAccounts()} * * <p> * Apps must be prepared for this method to return {@code null}, indicating that there currently * exists no user-chosen default {@code PhoneAccount}. * Loading @@ -422,7 +430,7 @@ public class TelecomManager { } /** * Sets the default account for making outgoing phone calls. * Sets the user-chosen default for making outgoing phone calls. * @hide */ public void setUserSelectedOutgoingPhoneAccount(PhoneAccountHandle accountHandle) { Loading @@ -439,6 +447,7 @@ public class TelecomManager { * Returns the current SIM call manager. Apps must be prepared for this method to return * {@code null}, indicating that there currently exists no user-chosen default * {@code PhoneAccount}. * * @return The phone account handle of the current sim call manager. */ public PhoneAccountHandle getSimCallManager() { Loading @@ -454,6 +463,7 @@ public class TelecomManager { /** * Sets the SIM call manager to the specified phone account. * * @param accountHandle The phone account handle of the account to set as the sim call manager. * @hide */ Loading @@ -469,6 +479,7 @@ public class TelecomManager { /** * Returns the list of registered SIM call managers. * * @return List of registered SIM call managers. * @hide */ Loading Loading @@ -496,16 +507,6 @@ public class TelecomManager { return getSimCallManager(); } /** * Returns the list of registered SIM call managers. * @return List of registered SIM call managers. * @hide */ @SystemApi public List<PhoneAccountHandle> getRegisteredConnectionManagers() { return getSimCallManagers(); } /** * Returns a list of the {@link PhoneAccountHandle}s which can be used to make and receive phone * calls which support the specified URI scheme. Loading Loading @@ -534,20 +535,33 @@ public class TelecomManager { /** * Return a list of {@link PhoneAccountHandle}s which can be used to make and receive phone * calls. * Returns a list of {@link PhoneAccountHandle}s which can be used to make and receive phone * calls. The returned list includes only those accounts which have been explicitly enabled * by the user. * * @see #EXTRA_PHONE_ACCOUNT_HANDLE * @return A list of {@code PhoneAccountHandle} objects. * */ public List<PhoneAccountHandle> getCallCapablePhoneAccounts() { return getCallCapablePhoneAccounts(false); } /** * Returns a list of {@link PhoneAccountHandle}s including those which have not been enabled * by the user. * * @return A list of {@code PhoneAccountHandle} objects. * @hide */ public List<PhoneAccountHandle> getCallCapablePhoneAccounts(boolean includeDisabledAccounts) { try { if (isServiceConnected()) { return getTelecomService().getCallCapablePhoneAccounts(mContext.getOpPackageName()); return getTelecomService().getCallCapablePhoneAccounts( includeDisabledAccounts, mContext.getOpPackageName()); } } catch (RemoteException e) { Log.e(TAG, "Error calling ITelecomService#getCallCapablePhoneAccounts", e); Log.e(TAG, "Error calling ITelecomService#getCallCapablePhoneAccounts(" + includeDisabledAccounts + ")", e); } return new ArrayList<>(); } Loading Loading @@ -1163,6 +1177,25 @@ public class TelecomManager { } } /** * Enables and disables specified phone account. * * @param handle Handle to the phone account. * @param isEnabled Enable state of the phone account. * @hide */ @SystemApi public void enablePhoneAccount(PhoneAccountHandle handle, boolean isEnabled) { ITelecomService service = getTelecomService(); if (service != null) { try { service.enablePhoneAccount(handle, isEnabled); } catch (RemoteException e) { Log.e(TAG, "Error enablePhoneAbbount", e); } } } private ITelecomService getTelecomService() { return ITelecomService.Stub.asInterface(ServiceManager.getService(Context.TELECOM_SERVICE)); } Loading
telecomm/java/com/android/internal/telecom/ITelecomService.aidl +7 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,8 @@ interface ITelecomService { /** * @see TelecomServiceImpl#getCallCapablePhoneAccounts */ List<PhoneAccountHandle> getCallCapablePhoneAccounts(String callingPackage); List<PhoneAccountHandle> getCallCapablePhoneAccounts( boolean includeDisabledAccounts, String callingPackage); /** * @see TelecomManager#getPhoneAccountsSupportingScheme Loading Loading @@ -226,4 +227,9 @@ interface ITelecomService { * @see TelecomServiceImpl#placeCall */ void placeCall(in Uri handle, in Bundle extras, String callingPackage); /** * @see TelecomServiceImpl#enablePhoneAccount */ void enablePhoneAccount(in PhoneAccountHandle accountHandle, boolean isEnabled); }