discord-jadx/app/src/main/java/androidx/activity/contextaware/ContextAwareHelper.java

39 lines
1.3 KiB
Java

package androidx.activity.contextaware;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
public final class ContextAwareHelper {
private volatile Context mContext;
private final Set<OnContextAvailableListener> mListeners = new CopyOnWriteArraySet();
public void addOnContextAvailableListener(@NonNull OnContextAvailableListener onContextAvailableListener) {
if (this.mContext != null) {
onContextAvailableListener.onContextAvailable(this.mContext);
}
this.mListeners.add(onContextAvailableListener);
}
public void clearAvailableContext() {
this.mContext = null;
}
public void dispatchOnContextAvailable(@NonNull Context context) {
this.mContext = context;
for (OnContextAvailableListener onContextAvailableListener : this.mListeners) {
onContextAvailableListener.onContextAvailable(context);
}
}
@Nullable
public Context peekAvailableContext() {
return this.mContext;
}
public void removeOnContextAvailableListener(@NonNull OnContextAvailableListener onContextAvailableListener) {
this.mListeners.remove(onContextAvailableListener);
}
}