Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba6c21ca authored by Thomas Stuart's avatar Thomas Stuart
Browse files

enforce stricter rules when registering phoneAccounts

- include disable accounts when looking up accounts for a package to
  check if the limit is reached (10)
- put a new limit of 10 supported schemes
- put a new limit of 256 characters per scheme
- put a new limit of 256 characters per address
- ensure the Icon can write to memory w/o throwing an exception

bug: 259064622
Test: cts + unit
Change-Id: Ia7d8d00d9de0fb6694ded6a80c40bd55d7fdf7a7
parent 476b5433
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -592,6 +592,11 @@ public final class PhoneAccount implements Parcelable {

        /**
         * Sets the address. See {@link PhoneAccount#getAddress}.
         * <p>
         * Note: The entire URI value is limited to 256 characters. This check is
         * enforced when registering the PhoneAccount via
         * {@link TelecomManager#registerPhoneAccount(PhoneAccount)} and will cause an
         * {@link IllegalArgumentException} to be thrown if URI is over 256.
         *
         * @param value The address of the phone account.
         * @return The builder.
@@ -625,6 +630,10 @@ public final class PhoneAccount implements Parcelable {

        /**
         * Sets the icon. See {@link PhoneAccount#getIcon}.
         * <p>
         * Note: An {@link IllegalArgumentException} if the Icon cannot be written to memory.
         * This check is enforced when registering the PhoneAccount via
         * {@link TelecomManager#registerPhoneAccount(PhoneAccount)}
         *
         * @param icon The icon to set.
         */
@@ -663,6 +672,10 @@ public final class PhoneAccount implements Parcelable {
        /**
         * Specifies an additional URI scheme supported by the {@link PhoneAccount}.
         *
         * <p>
         * Each URI scheme is limited to 256 characters.  Adding a scheme over 256 characters will
         * cause an {@link IllegalArgumentException} to be thrown when the account is registered.
         *
         * @param uriScheme The URI scheme.
         * @return The builder.
         */
@@ -676,6 +689,12 @@ public final class PhoneAccount implements Parcelable {
        /**
         * Specifies the URI schemes supported by the {@link PhoneAccount}.
         *
         * <p>
         * 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 {@link IllegalArgumentException} to be thrown when the account
         * is registered.
         *
         * @param uriSchemes The URI schemes.
         * @return The builder.
         */