android_translation_layer/src/api-impl/android/content/Intent.java

354 lines
7.4 KiB
Java
Raw Normal View History

package android.content;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcelable;
import java.io.Serializable;
import java.util.ArrayList;
public class Intent implements Parcelable {
2024-11-30 18:49:11 +01:00
public static final String ACTION_MAIN = "android.intent.action.MAIN";
public static final int FLAG_ACTIVITY_NEW_TASK = 0x10000000;
2023-08-10 11:07:03 +02:00
private ComponentName component;
private Bundle extras = new Bundle();
2023-09-01 16:03:31 +02:00
private String action;
private Uri data;
2023-09-19 23:22:21 +02:00
private int flags;
private String type;
2023-08-10 11:07:03 +02:00
public Intent() {}
2023-09-01 16:03:31 +02:00
public Intent(Intent o) {
this.action = o.action;
this.data = o.data;
this.extras = o.extras;
this.component = o.component;
}
public Intent(String action) {
this.action = action;
}
public Intent(String action, Uri uri) {
this.action = action;
this.data = uri;
}
2023-08-10 11:07:03 +02:00
public Intent(Context packageContext, Class<?> cls) {
setClass(packageContext, cls);
}
2023-09-01 16:03:31 +02:00
public Intent(String action, Uri uri, Context packageContext, Class<?> cls) {
this(action, uri);
setClass(packageContext, cls);
}
2023-08-12 13:09:33 +02:00
public Intent addFlags(int flags) {
2023-09-19 23:22:21 +02:00
this.flags |= flags;
return this;
2023-08-12 13:09:33 +02:00
}
2023-01-14 14:32:37 +01:00
public Intent setFlags(int flags) {
2023-09-19 23:22:21 +02:00
this.flags = flags;
return this;
2023-01-14 14:32:37 +01:00
}
public int getFlags() {
return flags;
}
public Intent setPackage(String packageName) {
return this; //??
}
public Intent setType(String type) {
this.type = type;
return this;
}
public Intent putExtra(String name, Parcelable value) {
extras.putParcelable(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, long[] value) {
extras.putLongArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, byte value) {
extras.putByte(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, double[] value) {
extras.putDoubleArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, CharSequence value) {
extras.putCharSequence(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, boolean[] value) {
extras.putBooleanArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, int value) {
extras.putInt(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, char[] value) {
extras.putCharArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, byte[] value) {
extras.putByteArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, Parcelable[] value) {
extras.putParcelableArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, Bundle value) {
extras.putBundle(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, CharSequence[] value) {
extras.putCharSequenceArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, float[] value) {
extras.putFloatArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, double value) {
extras.putDouble(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, int[] value) {
extras.putIntArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, String[] value) {
extras.putStringArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, short[] value) {
extras.putShortArray(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, boolean value) {
extras.putBoolean(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, String value) {
extras.putString(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, long value) {
extras.putLong(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, char value) {
extras.putChar(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, Serializable value) {
extras.putSerializable(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, float value) {
extras.putFloat(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtra(String name, short value) {
extras.putShort(name, value);
2023-08-10 11:07:03 +02:00
return this;
}
public Intent putExtras(Intent src) {
// FIXME HACK
this.extras = src.getExtras();
return this;
}
public Intent putExtras(Bundle extras) {
// FIXME HACK
this.extras = extras;
return this;
}
public Intent replaceExtras(Bundle extras) {
this.extras = extras;
return this;
}
2022-11-24 23:10:27 +01:00
public Intent setClass(Context packageContext, Class<?> cls) {
2023-08-10 11:07:03 +02:00
setComponent(new ComponentName(packageContext, cls));
return this;
}
public Intent setClassName(String packageName, String className) {
setComponent(new ComponentName(packageName, className));
return this;
}
2022-11-24 23:10:27 +01:00
public String getStringExtra(String name) {
2023-08-10 11:07:03 +02:00
return (String)extras.get(name);
2022-11-24 23:10:27 +01:00
}
public Uri getData() {
2023-09-01 16:03:31 +02:00
return data;
2022-11-24 23:10:27 +01:00
}
public String getDataString () {
if (data == null)
return "";
return data.toString();
}
2022-11-24 23:10:27 +01:00
public boolean getBooleanExtra(String name, boolean defaultValue) {
return defaultValue;
}
2023-08-10 11:07:03 +02:00
2023-10-08 22:33:47 +02:00
public Intent setAction(String action) {
this.action = action;
return this;
2023-10-08 22:33:47 +02:00
}
2023-08-10 11:07:03 +02:00
public String getAction() {
2023-09-19 23:22:21 +02:00
return action;
2023-08-10 11:07:03 +02:00
}
public Bundle getBundleExtra(String name) {
return (Bundle)extras.get(name);
}
public Intent setComponent(ComponentName component) {
this.component = component;
return this;
}
2023-08-10 11:07:03 +02:00
public ComponentName getComponent() {
return component;
}
public boolean hasExtra(String name) {
return extras.containsKey(name);
}
public Serializable getSerializableExtra(String name) {
return (Serializable)extras.get(name);
}
public Parcelable getParcelableExtra(String name) {
return extras.getParcelable(name);
}
public String[] getStringArrayExtra(String name) {
return extras.getStringArray(name);
}
public int getIntExtra(String name, int def) {
return extras.getInt(name, def);
}
public Bundle getExtras() {
return extras;
}
2023-10-08 22:33:47 +02:00
public Intent addCategory(String action) {
return this;
}
2023-08-10 11:07:03 +02:00
@Override
public String toString() {
return "Intent [component=" + component + ", extras=" + extras + ", action=" + action + ", type=" + type + ", uri=" + data + "]";
2023-09-01 16:03:31 +02:00
}
public static Intent createChooser(Intent target, CharSequence title) {
return target;
2023-08-10 11:07:03 +02:00
}
2024-02-16 11:30:34 +01:00
public Intent setDataAndType(Uri uri, String type) {
this.data = uri;
this.type = type;
return this;
}
2024-03-16 12:49:28 +01:00
public long getLongExtra(String name, long def) {
return extras.getLong(name, def);
}
public char getCharExtra(String name, char def) {
return extras.getChar(name, def);
}
public Parcelable[] getParcelableArrayExtra(String name) {
return extras.getParcelableArray(name);
}
public String getType() {
return type;
}
2024-03-20 23:05:17 +01:00
public Intent setData(Uri uri) {
this.data = uri;
return this;
}
public ArrayList<Parcelable> getParcelableArrayListExtra(String name) {
return extras.getParcelableArrayList(name);
}
public String getPackage() {
return component == null ? null : component.getPackageName();
}
public String getScheme() {
return data == null ? null : data.getScheme();
}
public Intent putStringArrayListExtra(String name, ArrayList<String> value) {
extras.putStringArrayList(name, value);
return this;
}
public ArrayList<String> getStringArrayListExtra(String name) {
return extras.getStringArrayList(name);
}
public ClipData getClipData() {
return null;
}
public static class ShortcutIconResource {
public static ShortcutIconResource fromContext(Context context, int id) {
return new ShortcutIconResource();
}
}
public void setExtrasClassLoader(ClassLoader loader) {}
public Intent setClassName(Context packageContext, String className) {
return this;
}
}