Merge changes from topic "vpn_data_accn_tests"

* changes:
  Add one more test for VPN usage stats.
  Addressing comments for http://ag/7700679.
diff --git a/services/core/java/com/android/server/pm/InstantAppRegistry.java b/services/core/java/com/android/server/pm/InstantAppRegistry.java
index fde13ac..eb883c9 100644
--- a/services/core/java/com/android/server/pm/InstantAppRegistry.java
+++ b/services/core/java/com/android/server/pm/InstantAppRegistry.java
@@ -38,7 +38,6 @@
 import android.provider.Settings;
 import android.util.ArrayMap;
 import android.util.AtomicFile;
-import android.util.ByteStringUtils;
 import android.util.PackageUtils;
 import android.util.Slog;
 import android.util.SparseArray;
@@ -52,6 +51,7 @@
 import com.android.internal.util.XmlUtils;
 
 import libcore.io.IoUtils;
+import libcore.util.HexEncoding;
 
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
@@ -66,7 +66,6 @@
 import java.security.SecureRandom;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Locale;
 import java.util.Set;
 import java.util.function.Predicate;
 
@@ -232,7 +231,7 @@
                                                 @UserIdInt int userId) {
         byte[] randomBytes = new byte[8];
         new SecureRandom().nextBytes(randomBytes);
-        String id = ByteStringUtils.toHexString(randomBytes).toLowerCase(Locale.US);
+        String id = HexEncoding.encodeToString(randomBytes, false /* upperCase */);
         File appDir = getInstantApplicationDir(packageName, userId);
         if (!appDir.exists() && !appDir.mkdirs()) {
             Slog.e(LOG_TAG, "Cannot create instant app cookie directory");
diff --git a/services/core/java/com/android/server/pm/dex/DexLogger.java b/services/core/java/com/android/server/pm/dex/DexLogger.java
index 88d9e52..9de6469 100644
--- a/services/core/java/com/android/server/pm/dex/DexLogger.java
+++ b/services/core/java/com/android/server/pm/dex/DexLogger.java
@@ -16,12 +16,12 @@
 
 package com.android.server.pm.dex;
 
+import static com.android.server.pm.dex.PackageDexUsage.DexUseInfo;
+
 import android.content.pm.ApplicationInfo;
 import android.content.pm.IPackageManager;
 import android.os.RemoteException;
-
 import android.util.ArraySet;
-import android.util.ByteStringUtils;
 import android.util.EventLog;
 import android.util.PackageUtils;
 import android.util.Slog;
@@ -31,11 +31,11 @@
 import com.android.server.pm.Installer;
 import com.android.server.pm.Installer.InstallerException;
 
+import libcore.util.HexEncoding;
+
 import java.io.File;
 import java.util.Set;
 
-import static com.android.server.pm.dex.PackageDexUsage.DexUseInfo;
-
 /**
  * This class is responsible for logging data about secondary dex files.
  * The data logged includes hashes of the name and content of each file.
@@ -91,7 +91,7 @@
         String message = PackageUtils.computeSha256Digest(dexFileName.getBytes());
         // Valid SHA256 will be 256 bits, 32 bytes.
         if (hash.length == 32) {
-            message = message + ' ' + ByteStringUtils.toHexString(hash);
+            message = message + ' ' + HexEncoding.encodeToString(hash);
         }
 
         writeDclEvent(ownerUid, message);