- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
80 lines
2.7 KiB
Java
80 lines
2.7 KiB
Java
package csdk.gluads.util.broadcastmanager;
|
|
|
|
import android.content.BroadcastReceiver;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.IntentFilter;
|
|
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
|
import csdk.gluads.util.Common;
|
|
import java.lang.ref.Reference;
|
|
import java.lang.ref.WeakReference;
|
|
import java.util.Iterator;
|
|
|
|
/* loaded from: classes4.dex */
|
|
public class GluBroadcastManager implements IBroadcastManger {
|
|
private static volatile IBroadcastManger sInstance;
|
|
private final LocalBroadcastManager mLbm;
|
|
private BroadcastReceiver mReceiver;
|
|
|
|
public static boolean isSupported() {
|
|
return true;
|
|
}
|
|
|
|
public GluBroadcastManager(Context context) {
|
|
this.mLbm = LocalBroadcastManager.getInstance(context);
|
|
}
|
|
|
|
public static IBroadcastManger getInstance(Context context) {
|
|
Common.require(context != null, "context can't be null.");
|
|
if (sInstance == null) {
|
|
synchronized (GluBroadcastManager.class) {
|
|
try {
|
|
if (sInstance == null) {
|
|
sInstance = new GluBroadcastManager(context);
|
|
}
|
|
} finally {
|
|
}
|
|
}
|
|
}
|
|
return sInstance;
|
|
}
|
|
|
|
@Override // csdk.gluads.util.broadcastmanager.IBroadcastManger
|
|
public void subscribe(ISubscriber iSubscriber, Iterable<IntentFilter> iterable) {
|
|
Common.require(iSubscriber != null, "weakSubscriber can't be null.");
|
|
Common.require(iterable != null, "filters can't be null.");
|
|
unsubscribe();
|
|
this.mReceiver = new SubscriberAdapter(iSubscriber);
|
|
Iterator<IntentFilter> it = iterable.iterator();
|
|
while (it.hasNext()) {
|
|
this.mLbm.registerReceiver(this.mReceiver, it.next());
|
|
}
|
|
}
|
|
|
|
@Override // csdk.gluads.util.broadcastmanager.IBroadcastManger
|
|
public void unsubscribe() {
|
|
BroadcastReceiver broadcastReceiver = this.mReceiver;
|
|
if (broadcastReceiver != null) {
|
|
this.mLbm.unregisterReceiver(broadcastReceiver);
|
|
}
|
|
}
|
|
|
|
public class SubscriberAdapter extends BroadcastReceiver {
|
|
private final Reference<ISubscriber> mSubscriber;
|
|
|
|
public SubscriberAdapter(ISubscriber iSubscriber) {
|
|
this.mSubscriber = new WeakReference(iSubscriber);
|
|
}
|
|
|
|
@Override // android.content.BroadcastReceiver
|
|
public void onReceive(Context context, Intent intent) {
|
|
ISubscriber iSubscriber = this.mSubscriber.get();
|
|
if (iSubscriber != null) {
|
|
iSubscriber.onReceive(GluBroadcastManager.this, intent);
|
|
} else {
|
|
GluBroadcastManager.this.unsubscribe();
|
|
}
|
|
}
|
|
}
|
|
}
|