package o; import android.content.SharedPreferences; import android.util.Pair; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicBoolean; /* loaded from: classes.dex */ public final class mwP implements SharedPreferences { final CopyOnWriteArrayList a = new CopyOnWriteArrayList<>(); final String b; final String c; final SharedPreferences d; final GHh e; final InterfaceC4280bVg h; public mwP(String str, String str2, SharedPreferences sharedPreferences, InterfaceC4280bVg interfaceC4280bVg, GHh gHh) { this.c = str; this.d = sharedPreferences; this.b = str2; this.h = interfaceC4280bVg; this.e = gHh; } /* loaded from: classes.dex */ public enum IeS { AES256_SIV; public final String mDeterministicAeadKeyTemplateName; IeS() { this.mDeterministicAeadKeyTemplateName = r3; } } /* loaded from: classes.dex */ public enum LWm { AES256_GCM; public final String mAeadKeyTemplateName; LWm() { this.mAeadKeyTemplateName = r3; } } /* loaded from: classes.dex */ static final class Sts implements SharedPreferences.Editor { private final SharedPreferences.Editor c; private final mwP e; private AtomicBoolean d = new AtomicBoolean(false); private final List a = new CopyOnWriteArrayList(); Sts(mwP mwp, SharedPreferences.Editor editor) { this.e = mwp; this.c = editor; } @Override // android.content.SharedPreferences.Editor public final SharedPreferences.Editor putString(String str, String str2) { if (str2 == null) { str2 = "__NULL__"; } byte[] bytes = str2.getBytes(StandardCharsets.UTF_8); int length = bytes.length; ByteBuffer allocate = ByteBuffer.allocate(length + 8); allocate.putInt(RVV.STRING.mId); allocate.putInt(length); allocate.put(bytes); c(str, allocate.array()); return this; } @Override // android.content.SharedPreferences.Editor public final SharedPreferences.Editor putStringSet(String str, Set set) { if (set == null) { set = new wnv<>(); set.add("__NULL__"); } ArrayList arrayList = new ArrayList(set.size()); int size = set.size() << 2; Iterator it = set.iterator(); while (it.hasNext()) { byte[] bytes = it.next().getBytes(StandardCharsets.UTF_8); arrayList.add(bytes); size += bytes.length; } ByteBuffer allocate = ByteBuffer.allocate(size + 4); allocate.putInt(RVV.STRING_SET.mId); for (byte[] bArr : arrayList) { allocate.putInt(bArr.length); allocate.put(bArr); } c(str, allocate.array()); return this; } @Override // android.content.SharedPreferences.Editor public final SharedPreferences.Editor putInt(String str, int i) { ByteBuffer allocate = ByteBuffer.allocate(8); allocate.putInt(RVV.INT.mId); allocate.putInt(i); c(str, allocate.array()); return this; } @Override // android.content.SharedPreferences.Editor public final SharedPreferences.Editor putLong(String str, long j) { ByteBuffer allocate = ByteBuffer.allocate(12); allocate.putInt(RVV.LONG.mId); allocate.putLong(j); c(str, allocate.array()); return this; } @Override // android.content.SharedPreferences.Editor public final SharedPreferences.Editor putFloat(String str, float f) { ByteBuffer allocate = ByteBuffer.allocate(8); allocate.putInt(RVV.FLOAT.mId); allocate.putFloat(f); c(str, allocate.array()); return this; } @Override // android.content.SharedPreferences.Editor public final SharedPreferences.Editor putBoolean(String str, boolean z) { ByteBuffer allocate = ByteBuffer.allocate(5); allocate.putInt(RVV.BOOLEAN.mId); allocate.put(z ? (byte) 1 : (byte) 0); c(str, allocate.array()); return this; } @Override // android.content.SharedPreferences.Editor public final SharedPreferences.Editor clear() { this.d.set(true); return this; } @Override // android.content.SharedPreferences.Editor public final boolean commit() { c(); try { return this.c.commit(); } finally { e(); this.a.clear(); } } @Override // android.content.SharedPreferences.Editor public final void apply() { c(); this.c.apply(); e(); this.a.clear(); } private void c() { if (this.d.getAndSet(false)) { for (String str : this.e.getAll().keySet()) { if (!this.a.contains(str) && !"__androidx_security_crypto_encrypted_prefs_key_keyset__".equals(str) && !"__androidx_security_crypto_encrypted_prefs_value_keyset__".equals(str)) { this.c.remove(this.e.d(str)); } } } } private void e() { Iterator it = this.e.a.iterator(); while (it.hasNext()) { SharedPreferences.OnSharedPreferenceChangeListener next = it.next(); Iterator it2 = this.a.iterator(); while (it2.hasNext()) { next.onSharedPreferenceChanged(this.e, it2.next()); } } } private void c(String str, byte[] bArr) { if ("__androidx_security_crypto_encrypted_prefs_key_keyset__".equals(str) || "__androidx_security_crypto_encrypted_prefs_value_keyset__".equals(str)) { StringBuilder sb = new StringBuilder(); sb.append(str); sb.append(" is a reserved key for the encryption keyset."); throw new SecurityException(sb.toString()); } this.a.add(str); if (str == null) { str = "__NULL__"; } try { mwP mwp = this.e; String d = mwp.d(str); Pair pair = new Pair(d, xTi.d(mwp.h.b(bArr, d.getBytes(StandardCharsets.UTF_8)))); this.c.putString((String) pair.first, (String) pair.second); } catch (GeneralSecurityException e) { StringBuilder sb2 = new StringBuilder("Could not encrypt data: "); sb2.append(e.getMessage()); throw new SecurityException(sb2.toString(), e); } } @Override // android.content.SharedPreferences.Editor public final SharedPreferences.Editor remove(String str) { if ("__androidx_security_crypto_encrypted_prefs_key_keyset__".equals(str) || "__androidx_security_crypto_encrypted_prefs_value_keyset__".equals(str)) { StringBuilder sb = new StringBuilder(); sb.append(str); sb.append(" is a reserved key for the encryption keyset."); throw new SecurityException(sb.toString()); } this.c.remove(this.e.d(str)); this.a.add(str); return this; } } @Override // android.content.SharedPreferences public final Map getAll() { HashMap hashMap = new HashMap(); for (Map.Entry entry : this.d.getAll().entrySet()) { String key = entry.getKey(); if (!"__androidx_security_crypto_encrypted_prefs_key_keyset__".equals(key) && !"__androidx_security_crypto_encrypted_prefs_value_keyset__".equals(key)) { String a = a(entry.getKey()); hashMap.put(a, e(a)); } } return hashMap; } @Override // android.content.SharedPreferences public final String getString(String str, String str2) { Object e = e(str); return (e == null || !(e instanceof String)) ? str2 : (String) e; } @Override // android.content.SharedPreferences public final Set getStringSet(String str, Set set) { Set wnvVar; Object e = e(str); if (e instanceof Set) { wnvVar = (Set) e; } else { wnvVar = new wnv<>(); } return wnvVar.size() > 0 ? wnvVar : set; } @Override // android.content.SharedPreferences public final int getInt(String str, int i) { Object e = e(str); return (e == null || !(e instanceof Integer)) ? i : ((Integer) e).intValue(); } @Override // android.content.SharedPreferences public final long getLong(String str, long j) { Object e = e(str); return (e == null || !(e instanceof Long)) ? j : ((Long) e).longValue(); } @Override // android.content.SharedPreferences public final float getFloat(String str, float f) { Object e = e(str); return (e == null || !(e instanceof Float)) ? f : ((Float) e).floatValue(); } @Override // android.content.SharedPreferences public final boolean getBoolean(String str, boolean z) { Object e = e(str); return (e == null || !(e instanceof Boolean)) ? z : ((Boolean) e).booleanValue(); } @Override // android.content.SharedPreferences public final SharedPreferences.Editor edit() { return new Sts(this, this.d.edit()); } @Override // android.content.SharedPreferences public final void registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener onSharedPreferenceChangeListener) { this.a.add(onSharedPreferenceChangeListener); } @Override // android.content.SharedPreferences public final void unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener onSharedPreferenceChangeListener) { this.a.remove(onSharedPreferenceChangeListener); } /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes.dex */ public enum RVV { STRING(0), STRING_SET(1), INT(2), LONG(3), FLOAT(4), BOOLEAN(5); final int mId; RVV(int i) { this.mId = i; } public static RVV d(int i) { if (i == 0) { return STRING; } if (i == 1) { return STRING_SET; } if (i == 2) { return INT; } if (i == 3) { return LONG; } if (i == 4) { return FLOAT; } if (i != 5) { return null; } return BOOLEAN; } } /* JADX INFO: Access modifiers changed from: package-private */ /* renamed from: o.mwP$4, reason: invalid class name */ /* loaded from: classes.dex */ public static /* synthetic */ class AnonymousClass4 { static final int[] a; static { int[] iArr = new int[RVV.values().length]; a = iArr; try { iArr[RVV.STRING.ordinal()] = 1; } catch (NoSuchFieldError unused) { } try { a[RVV.INT.ordinal()] = 2; } catch (NoSuchFieldError unused2) { } try { a[RVV.LONG.ordinal()] = 3; } catch (NoSuchFieldError unused3) { } try { a[RVV.FLOAT.ordinal()] = 4; } catch (NoSuchFieldError unused4) { } try { a[RVV.BOOLEAN.ordinal()] = 5; } catch (NoSuchFieldError unused5) { } try { a[RVV.STRING_SET.ordinal()] = 6; } catch (NoSuchFieldError unused6) { } } } final String d(String str) { if (str == null) { str = "__NULL__"; } try { return xTi.d(this.e.e(str.getBytes(StandardCharsets.UTF_8), this.c.getBytes())); } catch (GeneralSecurityException e) { StringBuilder sb = new StringBuilder("Could not encrypt key. "); sb.append(e.getMessage()); throw new SecurityException(sb.toString(), e); } } private String a(String str) { try { String str2 = new String(this.e.a(xTi.e(str), this.c.getBytes()), StandardCharsets.UTF_8); if (str2.equals("__NULL__")) { return null; } return str2; } catch (GeneralSecurityException e) { StringBuilder sb = new StringBuilder("Could not decrypt key. "); sb.append(e.getMessage()); throw new SecurityException(sb.toString(), e); } } private Object e(String str) throws SecurityException { if ("__androidx_security_crypto_encrypted_prefs_key_keyset__".equals(str) || "__androidx_security_crypto_encrypted_prefs_value_keyset__".equals(str)) { StringBuilder sb = new StringBuilder(); sb.append(str); sb.append(" is a reserved key for the encryption keyset."); throw new SecurityException(sb.toString()); } if (str == null) { str = "__NULL__"; } try { String d = d(str); String string = this.d.getString(d, null); if (string == null) { return null; } ByteBuffer wrap = ByteBuffer.wrap(this.h.d(xTi.e(string), d.getBytes(StandardCharsets.UTF_8))); wrap.position(0); int i = wrap.getInt(); RVV d2 = RVV.d(i); if (d2 == null) { StringBuilder sb2 = new StringBuilder("Unknown type ID for encrypted pref value: "); sb2.append(i); throw new SecurityException(sb2.toString()); } switch (AnonymousClass4.a[d2.ordinal()]) { case 1: int i2 = wrap.getInt(); ByteBuffer slice = wrap.slice(); wrap.limit(i2); String obj = StandardCharsets.UTF_8.decode(slice).toString(); if (obj.equals("__NULL__")) { return null; } return obj; case 2: return Integer.valueOf(wrap.getInt()); case 3: return Long.valueOf(wrap.getLong()); case 4: return Float.valueOf(wrap.getFloat()); case 5: return Boolean.valueOf(wrap.get() != 0); case 6: wnv wnvVar = new wnv(); while (wrap.hasRemaining()) { int i3 = wrap.getInt(); ByteBuffer slice2 = wrap.slice(); slice2.limit(i3); wrap.position(wrap.position() + i3); wnvVar.add(StandardCharsets.UTF_8.decode(slice2).toString()); } if (wnvVar.size() == 1 && "__NULL__".equals(wnvVar.a[0])) { return null; } return wnvVar; default: StringBuilder sb3 = new StringBuilder("Unhandled type for encrypted pref value: "); sb3.append(d2); throw new SecurityException(sb3.toString()); } } catch (GeneralSecurityException e) { StringBuilder sb4 = new StringBuilder("Could not decrypt value. "); sb4.append(e.getMessage()); throw new SecurityException(sb4.toString(), e); } } @Override // android.content.SharedPreferences public final boolean contains(String str) { if ("__androidx_security_crypto_encrypted_prefs_key_keyset__".equals(str) || "__androidx_security_crypto_encrypted_prefs_value_keyset__".equals(str)) { StringBuilder sb = new StringBuilder(); sb.append(str); sb.append(" is a reserved key for the encryption keyset."); throw new SecurityException(sb.toString()); } return this.d.contains(d(str)); } }