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
This commit is contained in:
2026-02-18 15:48:36 -08:00
parent c19eb3d7ff
commit c080f0d97f
26930 changed files with 2529574 additions and 0 deletions

View File

@@ -0,0 +1,159 @@
package androidx.browser.customtabs;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.support.customtabs.ICustomTabsCallback;
import android.support.customtabs.IPostMessageService;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
/* loaded from: classes.dex */
public abstract class PostMessageServiceConnection implements PostMessageBackend, ServiceConnection {
private static final String TAG = "PostMessageServConn";
private final Object mLock = new Object();
private boolean mMessageChannelCreated;
@Nullable
private String mPackageName;
@Nullable
private IPostMessageService mService;
private final ICustomTabsCallback mSessionBinder;
private boolean isBoundToService() {
return this.mService != null;
}
public void onPostMessageServiceDisconnected() {
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public void setPackageName(@NonNull String str) {
this.mPackageName = str;
}
public PostMessageServiceConnection(@NonNull CustomTabsSessionToken customTabsSessionToken) {
IBinder callbackBinder = customTabsSessionToken.getCallbackBinder();
if (callbackBinder == null) {
throw new IllegalArgumentException("Provided session must have binder.");
}
this.mSessionBinder = ICustomTabsCallback.Stub.asInterface(callbackBinder);
}
public boolean bindSessionToPostMessageService(@NonNull Context context, @NonNull String str) {
Intent intent = new Intent();
intent.setClassName(str, PostMessageService.class.getName());
boolean bindService = context.bindService(intent, this, 1);
if (!bindService) {
Log.w(TAG, "Could not bind to PostMessageService in client.");
}
return bindService;
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public boolean bindSessionToPostMessageService(@NonNull Context context) {
String str = this.mPackageName;
if (str == null) {
throw new IllegalStateException("setPackageName must be called before bindSessionToPostMessageService.");
}
return bindSessionToPostMessageService(context, str);
}
public void unbindFromContext(@NonNull Context context) {
if (isBoundToService()) {
context.unbindService(this);
this.mService = null;
}
}
@Override // android.content.ServiceConnection
public final void onServiceConnected(@NonNull ComponentName componentName, @NonNull IBinder iBinder) {
this.mService = IPostMessageService.Stub.asInterface(iBinder);
onPostMessageServiceConnected();
}
@Override // android.content.ServiceConnection
public final void onServiceDisconnected(@NonNull ComponentName componentName) {
this.mService = null;
onPostMessageServiceDisconnected();
}
@Override // androidx.browser.customtabs.PostMessageBackend
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final boolean onNotifyMessageChannelReady(@Nullable Bundle bundle) {
return notifyMessageChannelReady(bundle);
}
public final boolean notifyMessageChannelReady(@Nullable Bundle bundle) {
this.mMessageChannelCreated = true;
return notifyMessageChannelReadyInternal(bundle);
}
private boolean notifyMessageChannelReadyInternal(@Nullable Bundle bundle) {
if (this.mService == null) {
return false;
}
synchronized (this.mLock) {
try {
try {
this.mService.onMessageChannelReady(this.mSessionBinder, bundle);
} catch (RemoteException unused) {
return false;
}
} catch (Throwable th) {
throw th;
}
}
return true;
}
@Override // androidx.browser.customtabs.PostMessageBackend
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final boolean onPostMessage(@NonNull String str, @Nullable Bundle bundle) {
return postMessage(str, bundle);
}
public final boolean postMessage(@NonNull String str, @Nullable Bundle bundle) {
if (this.mService == null) {
return false;
}
synchronized (this.mLock) {
try {
try {
this.mService.onPostMessage(this.mSessionBinder, str, bundle);
} catch (RemoteException unused) {
return false;
}
} catch (Throwable th) {
throw th;
}
}
return true;
}
@Override // androidx.browser.customtabs.PostMessageBackend
@RestrictTo({RestrictTo.Scope.LIBRARY})
public void onDisconnectChannel(@NonNull Context context) {
unbindFromContext(context);
}
public void onPostMessageServiceConnected() {
if (this.mMessageChannelCreated) {
notifyMessageChannelReadyInternal(null);
}
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public void cleanup(@NonNull Context context) {
if (isBoundToService()) {
unbindFromContext(context);
}
}
}