Files
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

138 lines
5.6 KiB
Java

package androidx.core.view;
import android.annotation.SuppressLint;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleEventObserver;
import androidx.lifecycle.LifecycleOwner;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
/* loaded from: classes.dex */
public class MenuHostHelper {
private final Runnable mOnInvalidateMenuCallback;
private final CopyOnWriteArrayList<MenuProvider> mMenuProviders = new CopyOnWriteArrayList<>();
private final Map<MenuProvider, LifecycleContainer> mProviderToLifecycleContainers = new HashMap();
public MenuHostHelper(@NonNull Runnable runnable) {
this.mOnInvalidateMenuCallback = runnable;
}
public void onPrepareMenu(@NonNull Menu menu) {
Iterator<MenuProvider> it = this.mMenuProviders.iterator();
while (it.hasNext()) {
it.next().onPrepareMenu(menu);
}
}
public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater) {
Iterator<MenuProvider> it = this.mMenuProviders.iterator();
while (it.hasNext()) {
it.next().onCreateMenu(menu, menuInflater);
}
}
public boolean onMenuItemSelected(@NonNull MenuItem menuItem) {
Iterator<MenuProvider> it = this.mMenuProviders.iterator();
while (it.hasNext()) {
if (it.next().onMenuItemSelected(menuItem)) {
return true;
}
}
return false;
}
public void onMenuClosed(@NonNull Menu menu) {
Iterator<MenuProvider> it = this.mMenuProviders.iterator();
while (it.hasNext()) {
it.next().onMenuClosed(menu);
}
}
public void addMenuProvider(@NonNull MenuProvider menuProvider) {
this.mMenuProviders.add(menuProvider);
this.mOnInvalidateMenuCallback.run();
}
public void addMenuProvider(@NonNull final MenuProvider menuProvider, @NonNull LifecycleOwner lifecycleOwner) {
addMenuProvider(menuProvider);
Lifecycle lifecycle = lifecycleOwner.getLifecycle();
LifecycleContainer remove = this.mProviderToLifecycleContainers.remove(menuProvider);
if (remove != null) {
remove.clearObservers();
}
this.mProviderToLifecycleContainers.put(menuProvider, new LifecycleContainer(lifecycle, new LifecycleEventObserver() { // from class: androidx.core.view.MenuHostHelper$$ExternalSyntheticLambda0
@Override // androidx.lifecycle.LifecycleEventObserver
public final void onStateChanged(LifecycleOwner lifecycleOwner2, Lifecycle.Event event) {
MenuHostHelper.this.lambda$addMenuProvider$0(menuProvider, lifecycleOwner2, event);
}
}));
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$addMenuProvider$0(MenuProvider menuProvider, LifecycleOwner lifecycleOwner, Lifecycle.Event event) {
if (event == Lifecycle.Event.ON_DESTROY) {
removeMenuProvider(menuProvider);
}
}
@SuppressLint({"LambdaLast"})
public void addMenuProvider(@NonNull final MenuProvider menuProvider, @NonNull LifecycleOwner lifecycleOwner, @NonNull final Lifecycle.State state) {
Lifecycle lifecycle = lifecycleOwner.getLifecycle();
LifecycleContainer remove = this.mProviderToLifecycleContainers.remove(menuProvider);
if (remove != null) {
remove.clearObservers();
}
this.mProviderToLifecycleContainers.put(menuProvider, new LifecycleContainer(lifecycle, new LifecycleEventObserver() { // from class: androidx.core.view.MenuHostHelper$$ExternalSyntheticLambda1
@Override // androidx.lifecycle.LifecycleEventObserver
public final void onStateChanged(LifecycleOwner lifecycleOwner2, Lifecycle.Event event) {
MenuHostHelper.this.lambda$addMenuProvider$1(state, menuProvider, lifecycleOwner2, event);
}
}));
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$addMenuProvider$1(Lifecycle.State state, MenuProvider menuProvider, LifecycleOwner lifecycleOwner, Lifecycle.Event event) {
if (event == Lifecycle.Event.upTo(state)) {
addMenuProvider(menuProvider);
return;
}
if (event == Lifecycle.Event.ON_DESTROY) {
removeMenuProvider(menuProvider);
} else if (event == Lifecycle.Event.downFrom(state)) {
this.mMenuProviders.remove(menuProvider);
this.mOnInvalidateMenuCallback.run();
}
}
public void removeMenuProvider(@NonNull MenuProvider menuProvider) {
this.mMenuProviders.remove(menuProvider);
LifecycleContainer remove = this.mProviderToLifecycleContainers.remove(menuProvider);
if (remove != null) {
remove.clearObservers();
}
this.mOnInvalidateMenuCallback.run();
}
public static class LifecycleContainer {
final Lifecycle mLifecycle;
private LifecycleEventObserver mObserver;
public LifecycleContainer(@NonNull Lifecycle lifecycle, @NonNull LifecycleEventObserver lifecycleEventObserver) {
this.mLifecycle = lifecycle;
this.mObserver = lifecycleEventObserver;
lifecycle.addObserver(lifecycleEventObserver);
}
public void clearObservers() {
this.mLifecycle.removeObserver(this.mObserver);
this.mObserver = null;
}
}
}