credstore: Pass additional information to Identity Credential HAL.

Without this extra information passed upfront it's not practical to
implement a HAL which incrementally builds up cryptographically
authenticated data.

This information is conveyed by using two new methods on version 2 of
the Identity Credential HAL. If these methods are not implemented (if
a version 1 HAL is running) the invocation fails and we handle this
gracefully by just ignoring the error.

Bug: 154631410
Test: atest VtsHalIdentityTargetTest
Test: atest android.security.identity.cts

Change-Id: I17d516e41e800f58daa4c11dcca0305c80740d5b
diff --git a/identity/WritableCredential.h b/identity/WritableCredential.h
index 8b5e19e..eb63aca 100644
--- a/identity/WritableCredential.h
+++ b/identity/WritableCredential.h
@@ -50,10 +50,15 @@
   private:
     string dataPath_;
     string credentialName_;
+    string docType_;
     size_t dataChunkSize_;
     sp<IWritableIdentityCredential> halBinder_;
     vector<uint8_t> attestationCertificate_;
 
+    ssize_t calcExpectedProofOfProvisioningSize(
+        const vector<AccessControlProfileParcel>& accessControlProfiles,
+        const vector<EntryNamespaceParcel>& entryNamespaces);
+
     Status ensureAttestationCertificateExists(const vector<uint8_t>& challenge);
 };