- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
97 lines
2.9 KiB
Java
97 lines
2.9 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.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.RestrictTo;
|
|
|
|
/* loaded from: classes.dex */
|
|
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 z);
|
|
}
|
|
|
|
public interface VisibilityListener {
|
|
void onActionProviderVisibilityChanged(boolean z);
|
|
}
|
|
|
|
@NonNull
|
|
public Context getContext() {
|
|
return this.mContext;
|
|
}
|
|
|
|
public boolean hasSubMenu() {
|
|
return false;
|
|
}
|
|
|
|
public boolean isVisible() {
|
|
return true;
|
|
}
|
|
|
|
@NonNull
|
|
public abstract View onCreateActionView();
|
|
|
|
public boolean onPerformDefaultAction() {
|
|
return false;
|
|
}
|
|
|
|
public void onPrepareSubMenu(@NonNull SubMenu subMenu) {
|
|
}
|
|
|
|
public boolean overridesItemVisibility() {
|
|
return false;
|
|
}
|
|
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public void reset() {
|
|
this.mVisibilityListener = null;
|
|
this.mSubUiVisibilityListener = null;
|
|
}
|
|
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public void setSubUiVisibilityListener(@Nullable SubUiVisibilityListener subUiVisibilityListener) {
|
|
this.mSubUiVisibilityListener = subUiVisibilityListener;
|
|
}
|
|
|
|
public ActionProvider(@NonNull Context context) {
|
|
this.mContext = context;
|
|
}
|
|
|
|
@NonNull
|
|
public View onCreateActionView(@NonNull MenuItem menuItem) {
|
|
return onCreateActionView();
|
|
}
|
|
|
|
public void refreshVisibility() {
|
|
if (this.mVisibilityListener == null || !overridesItemVisibility()) {
|
|
return;
|
|
}
|
|
this.mVisibilityListener.onActionProviderVisibilityChanged(isVisible());
|
|
}
|
|
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public void subUiVisibilityChanged(boolean z) {
|
|
SubUiVisibilityListener subUiVisibilityListener = this.mSubUiVisibilityListener;
|
|
if (subUiVisibilityListener != null) {
|
|
subUiVisibilityListener.onSubUiVisibilityChanged(z);
|
|
}
|
|
}
|
|
|
|
public void setVisibilityListener(@Nullable VisibilityListener visibilityListener) {
|
|
if (this.mVisibilityListener != null && visibilityListener != null) {
|
|
Log.w(TAG, "setVisibilityListener: Setting a new ActionProvider.VisibilityListener when one is already set. Are you reusing this " + getClass().getSimpleName() + " instance while it is still in use somewhere else?");
|
|
}
|
|
this.mVisibilityListener = visibilityListener;
|
|
}
|
|
}
|