discord-jadx/app/src/main/java/androidx/core/view/ActionProvider.java

93 lines
2.8 KiB
Java

package androidx.core.view;
import android.content.Context;
import android.util.Log;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import androidx.annotation.RestrictTo;
import c.d.b.a.a;
public abstract class ActionProvider {
private static final String TAG = "ActionProvider(support)";
private final Context mContext;
private SubUiVisibilityListener mSubUiVisibilityListener;
private VisibilityListener mVisibilityListener;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public interface SubUiVisibilityListener {
void onSubUiVisibilityChanged(boolean z2);
}
public interface VisibilityListener {
void onActionProviderVisibilityChanged(boolean z2);
}
public ActionProvider(Context context) {
this.mContext = context;
}
public Context getContext() {
return this.mContext;
}
public boolean hasSubMenu() {
return false;
}
public boolean isVisible() {
return true;
}
public abstract View onCreateActionView();
public View onCreateActionView(MenuItem menuItem) {
return onCreateActionView();
}
public boolean onPerformDefaultAction() {
return false;
}
public void onPrepareSubMenu(SubMenu subMenu) {
}
public boolean overridesItemVisibility() {
return false;
}
public void refreshVisibility() {
if (this.mVisibilityListener != null && overridesItemVisibility()) {
this.mVisibilityListener.onActionProviderVisibilityChanged(isVisible());
}
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public void reset() {
this.mVisibilityListener = null;
this.mSubUiVisibilityListener = null;
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public void setSubUiVisibilityListener(SubUiVisibilityListener subUiVisibilityListener) {
this.mSubUiVisibilityListener = subUiVisibilityListener;
}
public void setVisibilityListener(VisibilityListener visibilityListener) {
if (!(this.mVisibilityListener == null || visibilityListener == null)) {
StringBuilder L = a.L("setVisibilityListener: Setting a new ActionProvider.VisibilityListener when one is already set. Are you reusing this ");
L.append(getClass().getSimpleName());
L.append(" instance while it is still in use somewhere else?");
Log.w(TAG, L.toString());
}
this.mVisibilityListener = visibilityListener;
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public void subUiVisibilityChanged(boolean z2) {
SubUiVisibilityListener subUiVisibilityListener = this.mSubUiVisibilityListener;
if (subUiVisibilityListener != null) {
subUiVisibilityListener.onSubUiVisibilityChanged(z2);
}
}
}