package com.lody.virtual.client.stub;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.os.Parcelable;
import android.text.TextUtils;
import com.lody.virtual.R;
import com.lody.virtual.client.env.Constants;
import com.lody.virtual.helper.utils.VLog;
import com.lody.virtual.os.VUserHandle;
public class ChooserActivity extends ResolverActivity {
public static final String EXTRA_DATA = "android.intent.extra.virtual.data";
public static final String EXTRA_WHO = "android.intent.extra.virtual.who";
public static final String EXTRA_REQUEST_CODE = "android.intent.extra.virtual.request_code";
public static final String ACTION;
static {
Intent target = new Intent();
Intent intent = Intent.createChooser(target, "");
ACTION = intent.getAction();
}
public static boolean check(Intent intent) {
try {
return TextUtils.equals(ACTION, intent.getAction())
||TextUtils.equals(Intent.ACTION_CHOOSER, intent.getAction());
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
@SuppressLint("MissingSuperCall")
@Override
protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
int userId = intent.getIntExtra(Constants.EXTRA_USER_HANDLE, VUserHandle.getCallingUserId());
mOptions = intent.getParcelableExtra(EXTRA_DATA);
mResultWho = intent.getStringExtra(EXTRA_WHO);
mRequestCode = intent.getIntExtra(EXTRA_REQUEST_CODE, 0);
Parcelable targetParcelable = intent.getParcelableExtra(Intent.EXTRA_INTENT);
if (!(targetParcelable instanceof Intent)) {
VLog.w("ChooseActivity", "Target is not an intent: " + targetParcelable);
finish();
return;
}
Intent target = (Intent) targetParcelable;
CharSequence title = intent.getCharSequenceExtra(Intent.EXTRA_TITLE);
if (title == null) {
title = getString(R.string.choose);
}
Parcelable[] pa = intent.getParcelableArrayExtra(Intent.EXTRA_INITIAL_INTENTS);
Intent[] initialIntents = null;
if (pa != null) {
initialIntents = new Intent[pa.length];
for (int i = 0; i < pa.length; i++) {
if (!(pa[i] instanceof Intent)) {
VLog.w("ChooseActivity", "Initial intent #" + i
+ " not an Intent: " + pa[i]);
finish();
return;
}
initialIntents[i] = (Intent) pa[i];
}
}
super.onCreate(savedInstanceState, target, title, initialIntents, null, false, userId);
}
}