diff options
| author | 2019-04-08 22:03:14 +0100 | |
|---|---|---|
| committer | 2019-04-09 09:09:35 +0100 | |
| commit | 62af80f9c81dd27c94e1e9a15e752acb680bcac4 (patch) | |
| tree | d518e8bd9c622357e1ed1d3b6547b3e79070fea0 | |
| parent | 5b3a0d18ae31413e61a0647860f093ab6fffaff6 (diff) | |
Switch to HexEncoding from ByteStringUtils
Migration in preparation for deletion of ByteStringUtils.
Bug: 124232146
Test: build only
Merged-In: I07983ca596443a3e00616b63355c6504376f3e7c
Change-Id: I07983ca596443a3e00616b63355c6504376f3e7c
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 960d30524b95..b389e041adbe 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -70,7 +70,6 @@ import android.provider.SettingsValidators; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; -import android.util.ByteStringUtils; import android.util.Slog; import android.util.SparseArray; import android.util.SparseBooleanArray; @@ -83,6 +82,8 @@ import com.android.providers.settings.SettingsState.Setting; import com.android.server.LocalServices; import com.android.server.SystemConfig; +import libcore.util.HexEncoding; + import java.io.File; import java.io.FileDescriptor; import java.io.FileNotFoundException; @@ -96,7 +97,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.regex.Pattern; @@ -2144,7 +2144,7 @@ public class SettingsProvider extends ContentProvider { rand.nextBytes(keyBytes); // Convert to string for storage in settings table. - final String userKey = ByteStringUtils.toHexString(keyBytes); + final String userKey = HexEncoding.encodeToString(keyBytes, true /* upperCase */); // Store the key in the ssaid table. final SettingsState ssaidSettings = getSettingsLocked(SETTINGS_TYPE_SSAID, userId); @@ -2174,13 +2174,16 @@ public class SettingsProvider extends ContentProvider { } } final String userKey = userKeySetting.getValue(); + if (userKey == null || userKey.length() % 2 != 0) { + throw new IllegalStateException("User key invalid"); + } // Convert the user's key back to a byte array. - final byte[] keyBytes = ByteStringUtils.fromHexToByteArray(userKey); + final byte[] keyBytes = HexEncoding.decode(userKey); // Validate that the key is of expected length. // Keys are currently 32 bytes, but were once 16 bytes during Android O development. - if (keyBytes == null || (keyBytes.length != 16 && keyBytes.length != 32)) { + if (keyBytes.length != 16 && keyBytes.length != 32) { throw new IllegalStateException("User key invalid"); } @@ -2202,8 +2205,8 @@ public class SettingsProvider extends ContentProvider { } // Convert result to a string for storage in settings table. Only want first 64 bits. - final String ssaid = ByteStringUtils.toHexString(m.doFinal()).substring(0, 16) - .toLowerCase(Locale.US); + final String ssaid = HexEncoding.encodeToString(m.doFinal(), false /* upperCase */) + .substring(0, 16); // Save the ssaid in the ssaid table. final String uid = Integer.toString(callingPkg.applicationInfo.uid); |