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

Commit 79e57edb authored by Tingting's avatar Tingting
Browse files

Add default account call methods APIs.

Test: use it in CP2 and verified.

Bug: 188347310
Change-Id: Iad4a84d8a39a9fd0f3c2d695499f819b2eb926d0
parent 37539f2d
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -34900,6 +34900,7 @@ package android.provider {
  }
  }
  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
    method @Nullable public static android.accounts.Account getDefaultAccount(@NonNull android.content.ContentResolver);
    field public static final String ACTION_SET_DEFAULT_ACCOUNT = "android.provider.action.SET_DEFAULT_ACCOUNT";
    field public static final String ACTION_SET_DEFAULT_ACCOUNT = "android.provider.action.SET_DEFAULT_ACCOUNT";
    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/setting";
    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/setting";
    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/setting";
    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/setting";
+5 −0
Original line number Original line Diff line number Diff line
@@ -261,6 +261,7 @@ package android {
    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
    field public static final String SET_DEFAULT_ACCOUNT_FOR_CONTACTS = "android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS";
    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
@@ -9117,6 +9118,10 @@ package android.provider {
    field @Deprecated public static final String STATE = "state";
    field @Deprecated public static final String STATE = "state";
  }
  }
  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
    method @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static void setDefaultAccount(@NonNull android.content.ContentResolver, @Nullable android.accounts.Account);
  }
  public static final class ContactsContract.SimContacts {
  public static final class ContactsContract.SimContacts {
    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
+50 −0
Original line number Original line Diff line number Diff line
@@ -8697,6 +8697,56 @@ public final class ContactsContract {
        @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
        @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
        public static final String ACTION_SET_DEFAULT_ACCOUNT =
        public static final String ACTION_SET_DEFAULT_ACCOUNT =
                "android.provider.action.SET_DEFAULT_ACCOUNT";
                "android.provider.action.SET_DEFAULT_ACCOUNT";

        /**
         * The method to invoke in order to set the default account for new contacts.
         *
         * @hide
         */
        public static final String SET_DEFAULT_ACCOUNT_METHOD = "setDefaultAccount";

        /**
         * The method to invoke in order to query the default account for new contacts.
         *
         * @hide
         */
        public static final String QUERY_DEFAULT_ACCOUNT_METHOD = "queryDefaultAccount";

        /**
         * Key in the incoming Bundle for the default account.
         *
         * @hide
         */
        public static final String KEY_DEFAULT_ACCOUNT = "key_default_account";

        /**
         * Return the account that was set to default account for new contacts.
         */
        @Nullable
        public static Account getDefaultAccount(@NonNull ContentResolver resolver) {
            Bundle response = resolver.call(ContactsContract.AUTHORITY_URI,
                    QUERY_DEFAULT_ACCOUNT_METHOD, null, null);
            return response.getParcelable(KEY_DEFAULT_ACCOUNT);
        }

        /**
         * Set the account to be the default account for new contacts.
         *
         * @param account the account to be set to default.
         * @hide
         */
        @SystemApi
        @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS)
        public static void setDefaultAccount(@NonNull ContentResolver resolver,
                @Nullable Account account) {
            Bundle extras = new Bundle();
            if (account != null) {
                extras.putString(ACCOUNT_NAME, account.name);
                extras.putString(ACCOUNT_TYPE, account.type);
            }

            resolver.call(ContactsContract.AUTHORITY_URI, SET_DEFAULT_ACCOUNT_METHOD, null, extras);
        }
    }
    }


    /**
    /**
+10 −1
Original line number Original line Diff line number Diff line
@@ -748,6 +748,15 @@
        android:description="@string/permdesc_writeContacts"
        android:description="@string/permdesc_writeContacts"
      android:protectionLevel="dangerous" />
      android:protectionLevel="dangerous" />


    <!-- Allows an application to set default account for new contacts.
        <p> This permission is only granted to system applications fulfilling the Contacts app role.
        <p>Protection level: internal|role
        @SystemApi
        @hide
    -->
    <permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"
        android:protectionLevel="internal|role" />

    <!-- ====================================================================== -->
    <!-- ====================================================================== -->
    <!-- Permissions for accessing user's calendar                              -->
    <!-- Permissions for accessing user's calendar                              -->
    <!-- ====================================================================== -->
    <!-- ====================================================================== -->