Use clearPrimaryClip() on Android 9 and newer

Fixes https://github.com/libsdl-org/SDL/issues/8355

(cherry picked from commit 34b09be6a5)
This commit is contained in:
Sam Lantinga
2025-09-21 23:04:08 -07:00
parent 936d94c2ee
commit c3480ca99c

View File

@@ -2196,7 +2196,11 @@ class SDLClipboardHandler implements
}
public boolean clipboardHasText() {
if (Build.VERSION.SDK_INT >= 28 /* Android 9 (P) */) {
return mClipMgr.hasPrimaryClip();
} else {
return mClipMgr.hasText();
}
}
public String clipboardGetText() {
@@ -2215,8 +2219,17 @@ class SDLClipboardHandler implements
public void clipboardSetText(String string) {
mClipMgr.removePrimaryClipChangedListener(this);
if (string.isEmpty()) {
if (Build.VERSION.SDK_INT >= 28 /* Android 9 (P) */) {
mClipMgr.clearPrimaryClip();
} else {
ClipData clip = ClipData.newPlainText(null, "");
mClipMgr.setPrimaryClip(clip);
}
} else {
ClipData clip = ClipData.newPlainText(null, string);
mClipMgr.setPrimaryClip(clip);
}
mClipMgr.addPrimaryClipChangedListener(this);
}