55import android .content .ClipboardManager ;
66import android .content .Context ;
77import android .content .Intent ;
8+ import android .os .PersistableBundle ;
89import android .text .TextUtils ;
910
1011import 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