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

Commit ed6f93a3 authored by Sergei Makarov's avatar Sergei Makarov Committed by Android (Google) Code Review
Browse files

Merge "Add ContactKeysManager for contact keys." into main

parents 038c071e c57ecbaf
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -20,5 +20,15 @@
        "core/tests/coretests/src/com/android/internal/inputmethod/.*"
      ]
    }
  ],
  "postsubmit": [
      {
        "name": "ContactKeysManagerTest",
        "options": [
          {
            "include-filter": "android.provider.cts.contactkeys."
          }
        ]
      }
    ]
}
+49 −0
Original line number Diff line number Diff line
@@ -10604,6 +10604,7 @@ package android.content {
    field public static final String CONNECTIVITY_DIAGNOSTICS_SERVICE = "connectivity_diagnostics";
    field public static final String CONNECTIVITY_SERVICE = "connectivity";
    field public static final String CONSUMER_IR_SERVICE = "consumer_ir";
    field @FlaggedApi("android.provider.user_keys") public static final String CONTACT_KEYS_SERVICE = "contact_keys";
    field public static final int CONTEXT_IGNORE_SECURITY = 2; // 0x2
    field public static final int CONTEXT_INCLUDE_CODE = 1; // 0x1
    field public static final int CONTEXT_RESTRICTED = 4; // 0x4
@@ -35231,6 +35232,54 @@ package android.provider {
    field public static final String LONGITUDE = "longitude";
  }
  @FlaggedApi("android.provider.user_keys") public class ContactKeysManager {
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.ContactKeysManager.ContactKey> getAllContactKeys(@NonNull String);
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.ContactKeysManager.SelfKey> getAllSelfKeys();
    method @Nullable @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public android.provider.ContactKeysManager.ContactKey getContactKey(@NonNull String, @NonNull String, @NonNull String);
    method public static int getMaxKeySizeBytes();
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.ContactKeysManager.ContactKey> getOwnerContactKeys(@NonNull String);
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.ContactKeysManager.SelfKey> getOwnerSelfKeys();
    method @Nullable @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public android.provider.ContactKeysManager.SelfKey getSelfKey(@NonNull String, @NonNull String);
    method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean removeContactKey(@NonNull String, @NonNull String, @NonNull String);
    method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean removeSelfKey(@NonNull String, @NonNull String);
    method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateContactKeyLocalVerificationState(@NonNull String, @NonNull String, @NonNull String, int);
    method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateContactKeyRemoteVerificationState(@NonNull String, @NonNull String, @NonNull String, int);
    method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public void updateOrInsertContactKey(@NonNull String, @NonNull String, @NonNull String, @NonNull byte[]);
    method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateOrInsertSelfKey(@NonNull String, @NonNull String, @NonNull byte[]);
    method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateSelfKeyRemoteVerificationState(@NonNull String, @NonNull String, int);
    field public static final int UNVERIFIED = 0; // 0x0
    field public static final int VERIFICATION_FAILED = 1; // 0x1
    field public static final int VERIFIED = 2; // 0x2
  }
  public static final class ContactKeysManager.ContactKey implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public String getAccountId();
    method @Nullable public String getDeviceId();
    method @Nullable public String getDisplayName();
    method @Nullable public String getEmailAddress();
    method @Nullable public byte[] getKeyValue();
    method public int getLocalVerificationState();
    method @NonNull public String getOwnerPackageName();
    method @Nullable public String getPhoneNumber();
    method public int getRemoteVerificationState();
    method public long getTimeUpdated();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.provider.ContactKeysManager.ContactKey> CREATOR;
  }
  public static final class ContactKeysManager.SelfKey implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public String getAccountId();
    method @Nullable public String getDeviceId();
    method @Nullable public byte[] getKeyValue();
    method @NonNull public String getOwnerPackageName();
    method public int getRemoteVerificationState();
    method public long getTimeUpdated();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.provider.ContactKeysManager.SelfKey> CREATOR;
  }
  @Deprecated public class Contacts {
    field @Deprecated public static final String AUTHORITY = "contacts";
    field @Deprecated public static final android.net.Uri CONTENT_URI;
+13 −0
Original line number Diff line number Diff line
@@ -210,6 +210,7 @@ import android.permission.PermissionControllerManager;
import android.permission.PermissionManager;
import android.print.IPrintManager;
import android.print.PrintManager;
import android.provider.ContactKeysManager;
import android.safetycenter.SafetyCenterFrameworkInitializer;
import android.scheduling.SchedulingFrameworkInitializer;
import android.security.FileIntegrityManager;
@@ -1604,6 +1605,18 @@ public final class SystemServiceRegistry {
                    }
                });

        registerService(Context.CONTACT_KEYS_SERVICE, ContactKeysManager.class,
                new CachedServiceFetcher<ContactKeysManager>() {
                    @Override
                    public ContactKeysManager createService(ContextImpl ctx)
                            throws ServiceNotFoundException {
                        if (!android.provider.Flags.userKeys()) {
                            throw new ServiceNotFoundException(
                                    "ContactKeysManager is not supported");
                        }
                        return new ContactKeysManager(ctx);
                    }});

        sInitializing = true;
        try {
            // Note: the following functions need to be @SystemApis, once they become mainline
+11 −0
Original line number Diff line number Diff line
@@ -4243,6 +4243,7 @@ public abstract class Context {
            GRAMMATICAL_INFLECTION_SERVICE,
            SECURITY_STATE_SERVICE,
           //@hide: ECM_ENHANCED_CONFIRMATION_SERVICE,
            CONTACT_KEYS_SERVICE,

    })
    @Retention(RetentionPolicy.SOURCE)
@@ -6541,6 +6542,16 @@ public abstract class Context {
    @SystemApi
    public static final String ECM_ENHANCED_CONFIRMATION_SERVICE = "ecm_enhanced_confirmation";

    /**
     * Use with {@link #getSystemService(String)} to retrieve a
     * {@link android.provider.ContactKeysManager} to managing contact keys.
     *
     * @see #getSystemService(String)
     * @see android.provider.ContactKeysManager
     */
    @FlaggedApi(android.provider.Flags.FLAG_USER_KEYS)
    public static final String CONTACT_KEYS_SERVICE = "contact_keys";

    /**
     * Determine whether the given permission is allowed for a particular
     * process and user ID running in the system.
+1129 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading