handle 'SEND' intent by copying to clipboard, make Activity subclass ContextWrapper, code style fixes

This commit is contained in:
Mis012
2024-02-10 20:37:28 +01:00
parent 50ba9b952a
commit 056b911637
7 changed files with 69 additions and 29 deletions

View File

@@ -393,12 +393,17 @@ public class Context extends Object {
public void startActivity(Intent intent) {
Slog.i(TAG, "startActivity(" + intent + ") called");
if ("android.intent.action.CHOOSER".equals(intent.getAction())) {
if (intent.getAction() != null && intent.getAction().equals("android.intent.action.CHOOSER")) {
intent = (Intent) intent.getExtras().get("android.intent.extra.INTENT");
}
if (intent.getComponent() == null) {
Slog.i(TAG, "starting extern activity with intent: " + intent);
Activity.nativeOpenURI(String.valueOf(intent.getData()));
if(intent.getAction() != null && intent.getAction().equals("android.intent.action.SEND")) {
Slog.i(TAG, "starting extern activity with intent: " + intent);
Activity.nativeShare((String) intent.getExtras().get("android.intent.extra.TEXT"));
} else if (intent.getData() != null) {
Slog.i(TAG, "starting extern activity with intent: " + intent);
Activity.nativeOpenURI(String.valueOf(intent.getData()));
}
return;
}
try {

View File

@@ -10,5 +10,4 @@ public class ContextWrapper extends Context {
public Context getBaseContext() {
return baseContext;
}
}

View File

@@ -11,6 +11,7 @@ public class Intent {
private String action;
private Uri data;
private int flags;
private String type;
public Intent() {}
public Intent(Intent o) {
@@ -43,10 +44,20 @@ public class Intent {
this.flags = flags;
return this;
}
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);
return this;
@@ -220,7 +231,7 @@ public class Intent {
this.component = component;
return this;
}
public ComponentName getComponent() {
return component;
}
@@ -255,15 +266,10 @@ public class Intent {
@Override
public String toString() {
return "Intent [component=" + component + ", extras=" + extras + ", action=" + action + ", uri=" + data + "]";
return "Intent [component=" + component + ", extras=" + extras + ", action=" + action + ", type=" + type + ", uri=" + data + "]";
}
public static Intent createChooser(Intent target, CharSequence title) {
return target;
}
public int getFlags() {
return flags;
}
}