Rabbit-R1/android (non root)/java/sources/androidx/work/Data.java

552 lines
18 KiB
Java
Raw Normal View History

2024-05-21 16:08:36 -05:00
package androidx.work;
import android.util.Log;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/* loaded from: classes2.dex */
public final class Data {
public static final int MAX_DATA_BYTES = 10240;
Map<String, Object> mValues;
private static final String TAG = Logger.tagWithPrefix("Data");
public static final Data EMPTY = new Builder().build();
Data() {
}
public Data(Data other) {
this.mValues = new HashMap(other.mValues);
}
public Data(Map<String, ?> values) {
this.mValues = new HashMap(values);
}
public boolean getBoolean(String key, boolean defaultValue) {
Object obj = this.mValues.get(key);
return obj instanceof Boolean ? ((Boolean) obj).booleanValue() : defaultValue;
}
public boolean[] getBooleanArray(String key) {
Object obj = this.mValues.get(key);
if (obj instanceof Boolean[]) {
return convertToPrimitiveArray((Boolean[]) obj);
}
return null;
}
public byte getByte(String key, byte defaultValue) {
Object obj = this.mValues.get(key);
return obj instanceof Byte ? ((Byte) obj).byteValue() : defaultValue;
}
public byte[] getByteArray(String key) {
Object obj = this.mValues.get(key);
if (obj instanceof Byte[]) {
return convertToPrimitiveArray((Byte[]) obj);
}
return null;
}
public int getInt(String key, int defaultValue) {
Object obj = this.mValues.get(key);
return obj instanceof Integer ? ((Integer) obj).intValue() : defaultValue;
}
public int[] getIntArray(String key) {
Object obj = this.mValues.get(key);
if (obj instanceof Integer[]) {
return convertToPrimitiveArray((Integer[]) obj);
}
return null;
}
public long getLong(String key, long defaultValue) {
Object obj = this.mValues.get(key);
return obj instanceof Long ? ((Long) obj).longValue() : defaultValue;
}
public long[] getLongArray(String key) {
Object obj = this.mValues.get(key);
if (obj instanceof Long[]) {
return convertToPrimitiveArray((Long[]) obj);
}
return null;
}
public float getFloat(String key, float defaultValue) {
Object obj = this.mValues.get(key);
return obj instanceof Float ? ((Float) obj).floatValue() : defaultValue;
}
public float[] getFloatArray(String key) {
Object obj = this.mValues.get(key);
if (obj instanceof Float[]) {
return convertToPrimitiveArray((Float[]) obj);
}
return null;
}
public double getDouble(String key, double defaultValue) {
Object obj = this.mValues.get(key);
return obj instanceof Double ? ((Double) obj).doubleValue() : defaultValue;
}
public double[] getDoubleArray(String key) {
Object obj = this.mValues.get(key);
if (obj instanceof Double[]) {
return convertToPrimitiveArray((Double[]) obj);
}
return null;
}
public String getString(String key) {
Object obj = this.mValues.get(key);
if (obj instanceof String) {
return (String) obj;
}
return null;
}
public String[] getStringArray(String key) {
Object obj = this.mValues.get(key);
if (obj instanceof String[]) {
return (String[]) obj;
}
return null;
}
public Map<String, Object> getKeyValueMap() {
return Collections.unmodifiableMap(this.mValues);
}
public byte[] toByteArray() {
return toByteArrayInternal(this);
}
public <T> boolean hasKeyWithValueOfType(String key, Class<T> klass) {
Object obj = this.mValues.get(key);
return obj != null && klass.isAssignableFrom(obj.getClass());
}
public int size() {
return this.mValues.size();
}
public static byte[] toByteArrayInternal(Data data) {
ObjectOutputStream objectOutputStream;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream2 = null;
try {
try {
objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
} catch (Throwable th) {
th = th;
}
} catch (IOException e) {
e = e;
}
try {
objectOutputStream.writeInt(data.size());
for (Map.Entry<String, Object> entry : data.mValues.entrySet()) {
objectOutputStream.writeUTF(entry.getKey());
objectOutputStream.writeObject(entry.getValue());
}
try {
objectOutputStream.close();
} catch (IOException e2) {
Log.e(TAG, "Error in Data#toByteArray: ", e2);
}
try {
byteArrayOutputStream.close();
} catch (IOException e3) {
Log.e(TAG, "Error in Data#toByteArray: ", e3);
}
if (byteArrayOutputStream.size() > 10240) {
throw new IllegalStateException("Data cannot occupy more than 10240 bytes when serialized");
}
return byteArrayOutputStream.toByteArray();
} catch (IOException e4) {
e = e4;
objectOutputStream2 = objectOutputStream;
Log.e(TAG, "Error in Data#toByteArray: ", e);
byte[] byteArray = byteArrayOutputStream.toByteArray();
if (objectOutputStream2 != null) {
try {
objectOutputStream2.close();
} catch (IOException e5) {
Log.e(TAG, "Error in Data#toByteArray: ", e5);
}
}
try {
byteArrayOutputStream.close();
} catch (IOException e6) {
Log.e(TAG, "Error in Data#toByteArray: ", e6);
}
return byteArray;
} catch (Throwable th2) {
th = th2;
objectOutputStream2 = objectOutputStream;
if (objectOutputStream2 != null) {
try {
objectOutputStream2.close();
} catch (IOException e7) {
Log.e(TAG, "Error in Data#toByteArray: ", e7);
}
}
try {
byteArrayOutputStream.close();
throw th;
} catch (IOException e8) {
Log.e(TAG, "Error in Data#toByteArray: ", e8);
throw th;
}
}
}
/* JADX WARN: Unsupported multi-entry loop pattern (BACK_EDGE: B:34:0x0059 -> B:16:0x005e). Please report as a decompilation issue!!! */
public static Data fromByteArray(byte[] bytes) {
ObjectInputStream objectInputStream;
Throwable e;
if (bytes.length > 10240) {
throw new IllegalStateException("Data cannot occupy more than 10240 bytes when serialized");
}
HashMap hashMap = new HashMap();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
ObjectInputStream objectInputStream2 = null;
try {
} catch (Throwable th) {
th = th;
}
try {
try {
objectInputStream = new ObjectInputStream(byteArrayInputStream);
} catch (IOException e2) {
Log.e(TAG, "Error in Data#fromByteArray: ", e2);
}
try {
for (int readInt = objectInputStream.readInt(); readInt > 0; readInt--) {
hashMap.put(objectInputStream.readUTF(), objectInputStream.readObject());
}
try {
objectInputStream.close();
} catch (IOException e3) {
Log.e(TAG, "Error in Data#fromByteArray: ", e3);
}
byteArrayInputStream.close();
} catch (IOException | ClassNotFoundException e4) {
e = e4;
Log.e(TAG, "Error in Data#fromByteArray: ", e);
if (objectInputStream != null) {
try {
objectInputStream.close();
} catch (IOException e5) {
Log.e(TAG, "Error in Data#fromByteArray: ", e5);
}
}
byteArrayInputStream.close();
return new Data(hashMap);
}
} catch (IOException | ClassNotFoundException e6) {
objectInputStream = null;
e = e6;
} catch (Throwable th2) {
th = th2;
if (0 != 0) {
try {
objectInputStream2.close();
} catch (IOException e7) {
Log.e(TAG, "Error in Data#fromByteArray: ", e7);
}
}
try {
byteArrayInputStream.close();
throw th;
} catch (IOException e8) {
Log.e(TAG, "Error in Data#fromByteArray: ", e8);
throw th;
}
}
return new Data(hashMap);
}
public boolean equals(Object o) {
boolean equals;
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Data data = (Data) o;
Set<String> keySet = this.mValues.keySet();
if (!keySet.equals(data.mValues.keySet())) {
return false;
}
for (String str : keySet) {
Object obj = this.mValues.get(str);
Object obj2 = data.mValues.get(str);
if (obj == null || obj2 == null) {
if (obj != obj2) {
return false;
}
} else {
if ((obj instanceof Object[]) && (obj2 instanceof Object[])) {
equals = Arrays.deepEquals((Object[]) obj, (Object[]) obj2);
} else {
equals = obj.equals(obj2);
}
if (!equals) {
return false;
}
}
}
return true;
}
public int hashCode() {
return this.mValues.hashCode() * 31;
}
public String toString() {
StringBuilder sb = new StringBuilder("Data {");
if (!this.mValues.isEmpty()) {
for (String str : this.mValues.keySet()) {
sb.append(str).append(" : ");
Object obj = this.mValues.get(str);
if (obj instanceof Object[]) {
sb.append(Arrays.toString((Object[]) obj));
} else {
sb.append(obj);
}
sb.append(", ");
}
}
sb.append("}");
return sb.toString();
}
public static Boolean[] convertPrimitiveBooleanArray(boolean[] value) {
Boolean[] boolArr = new Boolean[value.length];
for (int i = 0; i < value.length; i++) {
boolArr[i] = Boolean.valueOf(value[i]);
}
return boolArr;
}
public static Byte[] convertPrimitiveByteArray(byte[] value) {
Byte[] bArr = new Byte[value.length];
for (int i = 0; i < value.length; i++) {
bArr[i] = Byte.valueOf(value[i]);
}
return bArr;
}
public static Integer[] convertPrimitiveIntArray(int[] value) {
Integer[] numArr = new Integer[value.length];
for (int i = 0; i < value.length; i++) {
numArr[i] = Integer.valueOf(value[i]);
}
return numArr;
}
public static Long[] convertPrimitiveLongArray(long[] value) {
Long[] lArr = new Long[value.length];
for (int i = 0; i < value.length; i++) {
lArr[i] = Long.valueOf(value[i]);
}
return lArr;
}
public static Float[] convertPrimitiveFloatArray(float[] value) {
Float[] fArr = new Float[value.length];
for (int i = 0; i < value.length; i++) {
fArr[i] = Float.valueOf(value[i]);
}
return fArr;
}
public static Double[] convertPrimitiveDoubleArray(double[] value) {
Double[] dArr = new Double[value.length];
for (int i = 0; i < value.length; i++) {
dArr[i] = Double.valueOf(value[i]);
}
return dArr;
}
public static boolean[] convertToPrimitiveArray(Boolean[] array) {
boolean[] zArr = new boolean[array.length];
for (int i = 0; i < array.length; i++) {
zArr[i] = array[i].booleanValue();
}
return zArr;
}
public static byte[] convertToPrimitiveArray(Byte[] array) {
byte[] bArr = new byte[array.length];
for (int i = 0; i < array.length; i++) {
bArr[i] = array[i].byteValue();
}
return bArr;
}
public static int[] convertToPrimitiveArray(Integer[] array) {
int[] iArr = new int[array.length];
for (int i = 0; i < array.length; i++) {
iArr[i] = array[i].intValue();
}
return iArr;
}
public static long[] convertToPrimitiveArray(Long[] array) {
long[] jArr = new long[array.length];
for (int i = 0; i < array.length; i++) {
jArr[i] = array[i].longValue();
}
return jArr;
}
public static float[] convertToPrimitiveArray(Float[] array) {
float[] fArr = new float[array.length];
for (int i = 0; i < array.length; i++) {
fArr[i] = array[i].floatValue();
}
return fArr;
}
public static double[] convertToPrimitiveArray(Double[] array) {
double[] dArr = new double[array.length];
for (int i = 0; i < array.length; i++) {
dArr[i] = array[i].doubleValue();
}
return dArr;
}
/* loaded from: classes2.dex */
public static final class Builder {
private Map<String, Object> mValues = new HashMap();
public Builder putBoolean(String key, boolean value) {
this.mValues.put(key, Boolean.valueOf(value));
return this;
}
public Builder putBooleanArray(String key, boolean[] value) {
this.mValues.put(key, Data.convertPrimitiveBooleanArray(value));
return this;
}
public Builder putByte(String key, byte value) {
this.mValues.put(key, Byte.valueOf(value));
return this;
}
public Builder putByteArray(String key, byte[] value) {
this.mValues.put(key, Data.convertPrimitiveByteArray(value));
return this;
}
public Builder putInt(String key, int value) {
this.mValues.put(key, Integer.valueOf(value));
return this;
}
public Builder putIntArray(String key, int[] value) {
this.mValues.put(key, Data.convertPrimitiveIntArray(value));
return this;
}
public Builder putLong(String key, long value) {
this.mValues.put(key, Long.valueOf(value));
return this;
}
public Builder putLongArray(String key, long[] value) {
this.mValues.put(key, Data.convertPrimitiveLongArray(value));
return this;
}
public Builder putFloat(String key, float value) {
this.mValues.put(key, Float.valueOf(value));
return this;
}
public Builder putFloatArray(String key, float[] value) {
this.mValues.put(key, Data.convertPrimitiveFloatArray(value));
return this;
}
public Builder putDouble(String key, double value) {
this.mValues.put(key, Double.valueOf(value));
return this;
}
public Builder putDoubleArray(String key, double[] value) {
this.mValues.put(key, Data.convertPrimitiveDoubleArray(value));
return this;
}
public Builder putString(String key, String value) {
this.mValues.put(key, value);
return this;
}
public Builder putStringArray(String key, String[] value) {
this.mValues.put(key, value);
return this;
}
public Builder putAll(Data data) {
putAll(data.mValues);
return this;
}
public Builder putAll(Map<String, Object> values) {
for (Map.Entry<String, Object> entry : values.entrySet()) {
put(entry.getKey(), entry.getValue());
}
return this;
}
public Builder put(String key, Object value) {
if (value == null) {
this.mValues.put(key, null);
} else {
Class<?> cls = value.getClass();
if (cls == Boolean.class || cls == Byte.class || cls == Integer.class || cls == Long.class || cls == Float.class || cls == Double.class || cls == String.class || cls == Boolean[].class || cls == Byte[].class || cls == Integer[].class || cls == Long[].class || cls == Float[].class || cls == Double[].class || cls == String[].class) {
this.mValues.put(key, value);
} else if (cls == boolean[].class) {
this.mValues.put(key, Data.convertPrimitiveBooleanArray((boolean[]) value));
} else if (cls == byte[].class) {
this.mValues.put(key, Data.convertPrimitiveByteArray((byte[]) value));
} else if (cls == int[].class) {
this.mValues.put(key, Data.convertPrimitiveIntArray((int[]) value));
} else if (cls == long[].class) {
this.mValues.put(key, Data.convertPrimitiveLongArray((long[]) value));
} else if (cls == float[].class) {
this.mValues.put(key, Data.convertPrimitiveFloatArray((float[]) value));
} else if (cls == double[].class) {
this.mValues.put(key, Data.convertPrimitiveDoubleArray((double[]) value));
} else {
throw new IllegalArgumentException("Key " + key + " has invalid type " + cls);
}
}
return this;
}
public Data build() {
Data data = new Data((Map<String, ?>) this.mValues);
Data.toByteArrayInternal(data);
return data;
}
}
}