mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
149 lines
6.8 KiB
Java
149 lines
6.8 KiB
Java
package androidx.appcompat.widget;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.pm.PackageManager;
|
|
import android.content.pm.ResolveInfo;
|
|
import android.util.TypedValue;
|
|
import android.view.MenuItem;
|
|
import android.view.SubMenu;
|
|
import android.view.View;
|
|
import androidx.appcompat.R;
|
|
import androidx.appcompat.content.res.AppCompatResources;
|
|
import androidx.appcompat.widget.ActivityChooserModel;
|
|
import androidx.core.view.ActionProvider;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class ShareActionProvider extends ActionProvider {
|
|
private static final int DEFAULT_INITIAL_ACTIVITY_COUNT = 4;
|
|
public static final String DEFAULT_SHARE_HISTORY_FILE_NAME = "share_history.xml";
|
|
final Context mContext;
|
|
private int mMaxShownActivityCount;
|
|
private ActivityChooserModel.OnChooseActivityListener mOnChooseActivityListener;
|
|
private final ShareMenuItemOnMenuItemClickListener mOnMenuItemClickListener;
|
|
OnShareTargetSelectedListener mOnShareTargetSelectedListener;
|
|
String mShareHistoryFileName;
|
|
|
|
/* loaded from: classes.dex */
|
|
public interface OnShareTargetSelectedListener {
|
|
boolean onShareTargetSelected(ShareActionProvider shareActionProvider, Intent intent);
|
|
}
|
|
|
|
@Override // androidx.core.view.ActionProvider
|
|
public boolean hasSubMenu() {
|
|
return true;
|
|
}
|
|
|
|
public ShareActionProvider(Context context) {
|
|
super(context);
|
|
this.mMaxShownActivityCount = 4;
|
|
this.mOnMenuItemClickListener = new ShareMenuItemOnMenuItemClickListener();
|
|
this.mShareHistoryFileName = DEFAULT_SHARE_HISTORY_FILE_NAME;
|
|
this.mContext = context;
|
|
}
|
|
|
|
public void setOnShareTargetSelectedListener(OnShareTargetSelectedListener onShareTargetSelectedListener) {
|
|
this.mOnShareTargetSelectedListener = onShareTargetSelectedListener;
|
|
setActivityChooserPolicyIfNeeded();
|
|
}
|
|
|
|
@Override // androidx.core.view.ActionProvider
|
|
public View onCreateActionView() {
|
|
ActivityChooserView activityChooserView = new ActivityChooserView(this.mContext);
|
|
if (!activityChooserView.isInEditMode()) {
|
|
activityChooserView.setActivityChooserModel(ActivityChooserModel.get(this.mContext, this.mShareHistoryFileName));
|
|
}
|
|
TypedValue typedValue = new TypedValue();
|
|
this.mContext.getTheme().resolveAttribute(R.attr.actionModeShareDrawable, typedValue, true);
|
|
activityChooserView.setExpandActivityOverflowButtonDrawable(AppCompatResources.getDrawable(this.mContext, typedValue.resourceId));
|
|
activityChooserView.setProvider(this);
|
|
activityChooserView.setDefaultActionButtonContentDescription(R.string.abc_shareactionprovider_share_with_application);
|
|
activityChooserView.setExpandActivityOverflowButtonContentDescription(R.string.abc_shareactionprovider_share_with);
|
|
return activityChooserView;
|
|
}
|
|
|
|
@Override // androidx.core.view.ActionProvider
|
|
public void onPrepareSubMenu(SubMenu subMenu) {
|
|
subMenu.clear();
|
|
ActivityChooserModel activityChooserModel = ActivityChooserModel.get(this.mContext, this.mShareHistoryFileName);
|
|
PackageManager packageManager = this.mContext.getPackageManager();
|
|
int activityCount = activityChooserModel.getActivityCount();
|
|
int min = Math.min(activityCount, this.mMaxShownActivityCount);
|
|
for (int i = 0; i < min; i++) {
|
|
ResolveInfo activity = activityChooserModel.getActivity(i);
|
|
subMenu.add(0, i, i, activity.loadLabel(packageManager)).setIcon(activity.loadIcon(packageManager)).setOnMenuItemClickListener(this.mOnMenuItemClickListener);
|
|
}
|
|
if (min < activityCount) {
|
|
SubMenu addSubMenu = subMenu.addSubMenu(0, min, min, this.mContext.getString(R.string.abc_activity_chooser_view_see_all));
|
|
for (int i2 = 0; i2 < activityCount; i2++) {
|
|
ResolveInfo activity2 = activityChooserModel.getActivity(i2);
|
|
addSubMenu.add(0, i2, i2, activity2.loadLabel(packageManager)).setIcon(activity2.loadIcon(packageManager)).setOnMenuItemClickListener(this.mOnMenuItemClickListener);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void setShareHistoryFileName(String str) {
|
|
this.mShareHistoryFileName = str;
|
|
setActivityChooserPolicyIfNeeded();
|
|
}
|
|
|
|
public void setShareIntent(Intent intent) {
|
|
if (intent != null) {
|
|
String action = intent.getAction();
|
|
if ("android.intent.action.SEND".equals(action) || "android.intent.action.SEND_MULTIPLE".equals(action)) {
|
|
updateIntent(intent);
|
|
}
|
|
}
|
|
ActivityChooserModel.get(this.mContext, this.mShareHistoryFileName).setIntent(intent);
|
|
}
|
|
|
|
/* loaded from: classes.dex */
|
|
private class ShareMenuItemOnMenuItemClickListener implements MenuItem.OnMenuItemClickListener {
|
|
ShareMenuItemOnMenuItemClickListener() {
|
|
}
|
|
|
|
@Override // android.view.MenuItem.OnMenuItemClickListener
|
|
public boolean onMenuItemClick(MenuItem menuItem) {
|
|
Intent chooseActivity = ActivityChooserModel.get(ShareActionProvider.this.mContext, ShareActionProvider.this.mShareHistoryFileName).chooseActivity(menuItem.getItemId());
|
|
if (chooseActivity == null) {
|
|
return true;
|
|
}
|
|
String action = chooseActivity.getAction();
|
|
if ("android.intent.action.SEND".equals(action) || "android.intent.action.SEND_MULTIPLE".equals(action)) {
|
|
ShareActionProvider.this.updateIntent(chooseActivity);
|
|
}
|
|
ShareActionProvider.this.mContext.startActivity(chooseActivity);
|
|
return true;
|
|
}
|
|
}
|
|
|
|
private void setActivityChooserPolicyIfNeeded() {
|
|
if (this.mOnShareTargetSelectedListener == null) {
|
|
return;
|
|
}
|
|
if (this.mOnChooseActivityListener == null) {
|
|
this.mOnChooseActivityListener = new ShareActivityChooserModelPolicy();
|
|
}
|
|
ActivityChooserModel.get(this.mContext, this.mShareHistoryFileName).setOnChooseActivityListener(this.mOnChooseActivityListener);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
/* loaded from: classes.dex */
|
|
public class ShareActivityChooserModelPolicy implements ActivityChooserModel.OnChooseActivityListener {
|
|
ShareActivityChooserModelPolicy() {
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.ActivityChooserModel.OnChooseActivityListener
|
|
public boolean onChooseActivity(ActivityChooserModel activityChooserModel, Intent intent) {
|
|
if (ShareActionProvider.this.mOnShareTargetSelectedListener == null) {
|
|
return false;
|
|
}
|
|
ShareActionProvider.this.mOnShareTargetSelectedListener.onShareTargetSelected(ShareActionProvider.this, intent);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
void updateIntent(Intent intent) {
|
|
intent.addFlags(134742016);
|
|
}
|
|
}
|