summaryrefslogtreecommitdiff
path: root/apex/blobstore/framework/java
diff options
context:
space:
mode:
authorSudheer Shanka <sudheersai@google.com>2020-02-01 12:54:33 -0800
committerSudheer Shanka <sudheersai@google.com>2020-02-01 19:34:38 -0800
commit5caeed5d6ce3a757c318fea859d2761b151965b7 (patch)
treedba2245af245ee274782b8ff6993c7cf79a2d14d /apex/blobstore/framework/java
parent7469bbce8e7240617112d07b87945a0f71e351f9 (diff)
Add shell command to clear blobs data.
+ Add arguments to allow blobstore dump data to be filtered. Test: manual Change-Id: Ida26ce1d3a09aa457885a869efc13f8d06781bd5
Diffstat (limited to 'apex/blobstore/framework/java')
-rw-r--r--apex/blobstore/framework/java/android/app/blob/BlobHandle.java36
1 files changed, 30 insertions, 6 deletions
diff --git a/apex/blobstore/framework/java/android/app/blob/BlobHandle.java b/apex/blobstore/framework/java/android/app/blob/BlobHandle.java
index ee0ee9894d4b..f110b36c7e90 100644
--- a/apex/blobstore/framework/java/android/app/blob/BlobHandle.java
+++ b/apex/blobstore/framework/java/android/app/blob/BlobHandle.java
@@ -214,12 +214,16 @@ public final class BlobHandle implements Parcelable {
}
/** @hide */
- public void dump(IndentingPrintWriter fout) {
- fout.println("algo: " + algorithm);
- fout.println("digest: " + Base64.encodeToString(digest, Base64.NO_WRAP));
- fout.println("label: " + label);
- fout.println("expiryMs: " + expiryTimeMillis);
- fout.println("tag: " + tag);
+ public void dump(IndentingPrintWriter fout, boolean dumpFull) {
+ if (dumpFull) {
+ fout.println("algo: " + algorithm);
+ fout.println("digest: " + (dumpFull ? encodeDigest() : safeDigest()));
+ fout.println("label: " + label);
+ fout.println("expiryMs: " + expiryTimeMillis);
+ fout.println("tag: " + tag);
+ } else {
+ fout.println(toString());
+ }
}
/** @hide */
@@ -233,6 +237,26 @@ public final class BlobHandle implements Parcelable {
Preconditions.checkArgument(tag.length() <= LIMIT_BLOB_TAG_LENGTH, "tag too long");
}
+ @Override
+ public String toString() {
+ return "BlobHandle {"
+ + "algo:" + algorithm + ","
+ + "digest:" + safeDigest() + ","
+ + "label:" + label + ","
+ + "expiryMs:" + expiryTimeMillis + ","
+ + "tag:" + tag
+ + "}";
+ }
+
+ private String safeDigest() {
+ final String digestStr = encodeDigest();
+ return digestStr.substring(0, 2) + ".." + digestStr.substring(digestStr.length() - 2);
+ }
+
+ private String encodeDigest() {
+ return Base64.encodeToString(digest, Base64.NO_WRAP);
+ }
+
public static final @NonNull Creator<BlobHandle> CREATOR = new Creator<BlobHandle>() {
@Override
public @NonNull BlobHandle createFromParcel(@NonNull Parcel source) {