Skip to content

Commit 320588f

Browse files
clipboard api allow setting sensitive content
1 parent a5d1d4d commit 320588f

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

app/src/main/java/com/termux/api/apis/ClipboardAPI.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.content.ClipboardManager;
66
import android.content.Context;
77
import android.content.Intent;
8+
import android.os.PersistableBundle;
89
import android.text.TextUtils;
910

1011
import com.termux.api.TermuxApiReceiver;
@@ -26,6 +27,7 @@ public static void onReceive(TermuxApiReceiver apiReceiver, final Context contex
2627
boolean version2 = "2".equals(intent.getStringExtra("api_version"));
2728
if (version2) {
2829
boolean set = intent.getBooleanExtra("set", false);
30+
boolean sensitive = intent.getBooleanExtra("sensitive", false);
2931
if (set) {
3032
ResultReturner.returnData(apiReceiver, intent, new ResultReturner.WithStringInput() {
3133
@Override
@@ -35,7 +37,14 @@ protected boolean trimInput() {
3537

3638
@Override
3739
public void writeResult(PrintWriter out) {
38-
clipboard.setPrimaryClip(ClipData.newPlainText("", inputString));
40+
var clipData = ClipData.newPlainText("", inputString);
41+
if (sensitive) {
42+
var extras = new PersistableBundle();
43+
// extras.putBoolean(ClipDescription.EXTRA_IS_SENSITIVE, true);
44+
extras.putBoolean("android.content.extra.IS_SENSITIVE", true);
45+
clipData.getDescription().setExtras(extras);
46+
}
47+
clipboard.setPrimaryClip(clipData);
3948
}
4049
});
4150
} else {

0 commit comments

Comments
 (0)