InitialLockSetupHelper: fix chars <=> bytes conversion am: d890ee393b am: d4969d6e72 am: 899c141878
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/car/setupwizard/+/2700613
Change-Id: I04c27ea6d0621b6864f5a17a9602915d74fae3cf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/library/utils/src/com/android/car/setupwizardlib/InitialLockSetupHelper.java b/library/utils/src/com/android/car/setupwizardlib/InitialLockSetupHelper.java
index 191ddbc..f4c6385 100644
--- a/library/utils/src/com/android/car/setupwizardlib/InitialLockSetupHelper.java
+++ b/library/utils/src/com/android/car/setupwizardlib/InitialLockSetupHelper.java
@@ -18,6 +18,8 @@
import com.android.car.setupwizardlib.InitialLockSetupConstants.ValidateLockFlags;
+import java.nio.charset.StandardCharsets;
+
/**
* Provides helper methods for the usage of the InitialLockSetupService.
*/
@@ -54,18 +56,13 @@
}
/**
- * Converts a {@link CharSequence} into an array of bytes. This is for security reasons to avoid
- * storing strings in memory.
+ * Converts a {@link CharSequence} into an array of bytes.
*/
public static byte[] charSequenceToByteArray(CharSequence chars) {
if (chars == null) {
return null;
}
- byte[] byteArray = new byte[chars.length()];
- for (int i = 0; i < chars.length(); i++) {
- byteArray[i] = (byte) chars.charAt(i);
- }
- return byteArray;
+ return chars.toString().getBytes(StandardCharsets.UTF_8);
}
/**
@@ -75,11 +72,7 @@
if (input == null) {
return null;
}
- StringBuffer charSequence = new StringBuffer();
- for (int i = 0; i < input.length; i++) {
- charSequence.append((char) input[i]);
- }
- return charSequence;
+ return new String(input, StandardCharsets.UTF_8);
}
/** Return an ASCII-equivalent array of character digits for a numeric byte input. */