PhoneAccount.Builder


public static class PhoneAccount.Builder
extends Object

java.lang.Object
   ↳ android.telecom.PhoneAccount.Builder


Helper class for creating a PhoneAccount.

Summary

Public constructors

Builder(PhoneAccountHandle accountHandle, CharSequence label)

Creates a builder with the specified PhoneAccountHandle and label.

Builder(PhoneAccount phoneAccount)

Creates an instance of the PhoneAccount.Builder from an existing PhoneAccount.

Public methods

PhoneAccount.Builder addSupportedUriScheme(String uriScheme)

Specifies an additional URI scheme supported by the PhoneAccount.

PhoneAccount build()

Creates an instance of a PhoneAccount based on the current builder settings.

PhoneAccount.Builder clearSimultaneousCallingRestriction()

Clears a previously set simultaneous calling restriction set when PhoneAccount.Builder#Builder(PhoneAccount) is used to create a new PhoneAccount from an existing one.

PhoneAccount.Builder setAddress(Uri value)

Sets the address.

PhoneAccount.Builder setCapabilities(int value)

Sets the capabilities.

PhoneAccount.Builder setExtras(Bundle extras)

Specifies the extras associated with the PhoneAccount.

PhoneAccount.Builder setHighlightColor(int value)

Sets the highlight color.

PhoneAccount.Builder setIcon(Icon icon)

Sets the icon.

PhoneAccount.Builder setShortDescription(CharSequence value)

Sets the short description.

PhoneAccount.Builder setSimultaneousCallingRestriction(Set<PhoneAccountHandle> handles)

Restricts the ability of this PhoneAccount to ONLY support simultaneous calling with the other PhoneAccountHandles in this Set.

PhoneAccount.Builder setSubscriptionAddress(Uri value)

Sets the subscription address.

PhoneAccount.Builder setSupportedUriSchemes(List<String> uriSchemes)

Specifies the URI schemes supported by the PhoneAccount.

Inherited methods

Public constructors

Builder

Added in API level 23
public Builder (PhoneAccountHandle accountHandle, 
                CharSequence label)

Creates a builder with the specified PhoneAccountHandle and label.

Note: each CharSequence or String field is limited to 256 characters. This check is enforced when registering the PhoneAccount via TelecomManager#registerPhoneAccount(PhoneAccount) and will cause an IllegalArgumentException to be thrown if the character field limit is over 256.

Parameters
accountHandle PhoneAccountHandle

label CharSequence

Builder

Added in API level 23
public Builder (PhoneAccount phoneAccount)

Creates an instance of the PhoneAccount.Builder from an existing PhoneAccount.

Parameters
phoneAccount PhoneAccount: The PhoneAccount used to initialize the builder.

Public methods

addSupportedUriScheme

Added in API level 23
public PhoneAccount.Builder addSupportedUriScheme (String uriScheme)

Specifies an additional URI scheme supported by the PhoneAccount.

Each URI scheme is limited to 256 characters. Adding a scheme over 256 characters will cause an IllegalArgumentException to be thrown when the account is registered.

Parameters
uriScheme String: The URI scheme.

Returns
PhoneAccount.Builder The builder.

build

Added in API level 23
public PhoneAccount build ()

Creates an instance of a PhoneAccount based on the current builder settings.

Returns
PhoneAccount The PhoneAccount.

clearSimultaneousCallingRestriction

public PhoneAccount.Builder clearSimultaneousCallingRestriction ()

Clears a previously set simultaneous calling restriction set when PhoneAccount.Builder#Builder(PhoneAccount) is used to create a new PhoneAccount from an existing one.

Returns
PhoneAccount.Builder The Builder used to set up the new PhoneAccount. This value cannot be null.

setAddress

Added in API level 23
public PhoneAccount.Builder setAddress (Uri value)

Sets the address. See PhoneAccount#getAddress.

Note: The entire URI value is limited to 256 characters. This check is enforced when registering the PhoneAccount via TelecomManager#registerPhoneAccount(PhoneAccount) and will cause an IllegalArgumentException to be thrown if URI is over 256.

Parameters
value Uri: The address of the phone account.

Returns
PhoneAccount.Builder The builder.

setCapabilities

Added in API level 23
public PhoneAccount.Builder setCapabilities (int value)

Sets the capabilities. See PhoneAccount#getCapabilities.

Parameters
value int: The capabilities to set.

Returns
PhoneAccount.Builder The builder.

setExtras

Added in API level 24
public PhoneAccount.Builder setExtras (Bundle extras)

Specifies the extras associated with the PhoneAccount.

PhoneAccounts only support extra values of type: String, Integer, and Boolean. Extras which are not of these types are ignored.

Note: Each Bundle (Key, Value) String field is limited to 256 characters. Additionally, the bundle is limited to 100 (Key, Value) pairs total. This check is enforced when registering the PhoneAccount via TelecomManager#registerPhoneAccount(PhoneAccount) and will cause an IllegalArgumentException to be thrown if the character field limit is over 256 or more than 100 (Key, Value) pairs are in the Bundle.

Returns
PhoneAccount.Builder

setHighlightColor

Added in API level 23
public PhoneAccount.Builder setHighlightColor (int value)

Sets the highlight color. See PhoneAccount#getHighlightColor.

Parameters
value int: The highlight color.

Returns
PhoneAccount.Builder The builder.

setIcon

Added in API level 23
public PhoneAccount.Builder setIcon (Icon icon)

Sets the icon. See PhoneAccount#getIcon.

Note: An IllegalArgumentException if the Icon cannot be written to memory. This check is enforced when registering the PhoneAccount via TelecomManager#registerPhoneAccount(PhoneAccount)

Parameters
icon Icon: The icon to set.

Returns
PhoneAccount.Builder

setShortDescription

Added in API level 23
public PhoneAccount.Builder setShortDescription (CharSequence value)

Sets the short description. See PhoneAccount#getShortDescription.

Note: Each CharSequence or String field is limited to 256 characters. This check is enforced when registering the PhoneAccount via TelecomManager#registerPhoneAccount(PhoneAccount) and will cause an IllegalArgumentException to be thrown if the character field limit is over 256.

Parameters
value CharSequence: The short description.

Returns
PhoneAccount.Builder The builder.

setSimultaneousCallingRestriction

public PhoneAccount.Builder setSimultaneousCallingRestriction (Set<PhoneAccountHandle> handles)

Restricts the ability of this PhoneAccount to ONLY support simultaneous calling with the other PhoneAccountHandles in this Set.

If two or more PhoneAccounts support calling simultaneously, it means that Telecom allows the user to place additional outgoing calls and receive additional incoming calls using other PhoneAccounts while this PhoneAccount also has one or more active calls.

If this setter method is never called or cleared using clearSimultaneousCallingRestriction(), there is no restriction and all PhoneAccounts registered to Telecom by this package support simultaneous calling. If this setter is called and set as an empty Set, then this PhoneAccount does not support simultaneous calling with any other PhoneAccounts registered by the same application.

Note: Simultaneous calling restrictions can only be placed on PhoneAccounts that were registered by the same application. Simultaneous calling across applications is always possible as long as the Connection supports hold. If a PhoneAccountHandle is included here and the package name doesn't match this application's package name, TelecomManager#registerPhoneAccount(PhoneAccount) will throw a SecurityException.

Parameters
handles Set: The other PhoneAccountHandles that support calling simultaneously with this one. Use clearSimultaneousCallingRestriction() to remove the restriction and allow simultaneous calling to be supported across all PhoneAccounts registered by this package. This value cannot be null.

Returns
PhoneAccount.Builder The Builder used to set up the new PhoneAccount. This value cannot be null.

setSubscriptionAddress

Added in API level 23
public PhoneAccount.Builder setSubscriptionAddress (Uri value)

Sets the subscription address. See PhoneAccount#getSubscriptionAddress.

Parameters
value Uri: The subscription address.

Returns
PhoneAccount.Builder The builder.

setSupportedUriSchemes

Added in API level 23
public PhoneAccount.Builder setSupportedUriSchemes (List<String> uriSchemes)

Specifies the URI schemes supported by the PhoneAccount.

A max of 10 URI schemes can be added per account. Additionally, each URI scheme is limited to 256 characters. Adding more than 10 URI schemes or 256 characters on any scheme will cause an IllegalArgumentException to be thrown when the account is registered.

Parameters
uriSchemes List: The URI schemes.

Returns
PhoneAccount.Builder The builder.