Files
rr3-apk/decompiled-community/sources/csdk/glucentralservices/kvstore/StringStore.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

118 lines
4.4 KiB
Java

package csdk.glucentralservices.kvstore;
import java.util.HashMap;
import java.util.HashSet;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
/* loaded from: classes4.dex */
public class StringStore {
private static volatile StringStore sInstance;
private HashMap<String, String> mStore = new HashMap<>();
private HashSet<String> mInitializedPlugins = new HashSet<>();
private ReadWriteLock mLock = new ReentrantReadWriteLock();
private final HashSet<String> mPluginNames = new HashSet<String>() { // from class: csdk.glucentralservices.kvstore.StringStore.1
{
add("gluads");
add("gluanalytics");
add("gluapptracking");
add("glucentralservices");
add("gluiap");
add("glumarketing");
add("glucustomersupport");
add("starlightsecurity");
}
};
private final HashMap<String, SetStringHandler> mHandlers = new HashMap<String, SetStringHandler>() { // from class: csdk.glucentralservices.kvstore.StringStore.2
{
put("*init", new SetStringHandler() { // from class: csdk.glucentralservices.kvstore.StringStore.2.1
@Override // csdk.glucentralservices.kvstore.StringStore.SetStringHandler
public void process(String str) {
if (StringStore.this.mPluginNames.contains(str)) {
if (!StringStore.this.mInitializedPlugins.contains(str)) {
StringStore.this.mInitializedPlugins.add(str);
return;
}
StringBuilder sb = new StringBuilder();
sb.append(str);
sb.append(" is already initialized");
return;
}
StringBuilder sb2 = new StringBuilder();
sb2.append("Unsupported plugin: ");
sb2.append(str);
}
});
put("*destroy", new SetStringHandler() { // from class: csdk.glucentralservices.kvstore.StringStore.2.2
@Override // csdk.glucentralservices.kvstore.StringStore.SetStringHandler
public void process(String str) {
if (StringStore.this.mPluginNames.contains(str)) {
if (StringStore.this.mInitializedPlugins.contains(str)) {
StringStore.this.mInitializedPlugins.remove(str);
} else {
StringBuilder sb = new StringBuilder();
sb.append(str);
sb.append(" has not been initialized");
}
if (StringStore.this.mInitializedPlugins.size() == 0) {
StringStore.this.mStore.clear();
return;
}
return;
}
StringBuilder sb2 = new StringBuilder();
sb2.append("Unsupported plugin: ");
sb2.append(str);
}
});
}
};
public interface SetStringHandler {
void process(String str);
}
private static StringStore Instance() {
if (sInstance == null) {
synchronized (StringStore.class) {
try {
if (sInstance == null) {
sInstance = new StringStore();
}
} finally {
}
}
}
return sInstance;
}
private StringStore() {
}
private String getValue(String str) {
this.mLock.readLock().lock();
String str2 = this.mStore.get(str);
this.mLock.readLock().unlock();
return str2;
}
private void setKeyValue(String str, String str2) {
this.mLock.writeLock().lock();
SetStringHandler setStringHandler = this.mHandlers.get(str);
if (setStringHandler == null) {
this.mStore.put(str, str2);
} else {
setStringHandler.process(str2);
}
this.mLock.writeLock().unlock();
}
public static String get(String str) {
return Instance().getValue(str);
}
public static void set(String str, String str2) {
Instance().setKeyValue(str, str2);
}
}