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

Commit a66a3156 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
bug: 256819769
Test: cts + unit
Change-Id: Ia7d8d00d9de0fb6694ded6a80c40bd55d7fdf7a7
Merged-In: Ia7d8d00d9de0fb6694ded6a80c40bd55d7fdf7a7
parent 62c12ffd
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -483,6 +483,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.
@@ -516,6 +521,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.
         */
@@ -549,6 +558,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.
         */
@@ -562,6 +575,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.
         */