Only use new ClipData constructor on O devices.
Bug: 34818475
Change-Id: I6dbe776f482c362315556f555847303e7ef9f017
Test: Build with O features disable + drag/drop.
(cherry picked from commit de67a7b3accafc82a7c75eea8348cfdd90ed373e)
diff --git a/src/com/android/documentsui/clipping/DocumentClipper.java b/src/com/android/documentsui/clipping/DocumentClipper.java
index f864fd1..2ec65d1 100644
--- a/src/com/android/documentsui/clipping/DocumentClipper.java
+++ b/src/com/android/documentsui/clipping/DocumentClipper.java
@@ -136,7 +136,7 @@
clipTypes.toArray(new String[0]));
description.setExtras(bundle);
- return new ClipData(description, clipItems);
+ return createClipData(description, clipItems);
}
/**
@@ -182,7 +182,7 @@
clipTypes.toArray(new String[0]));
description.setExtras(bundle);
- return new ClipData(description, clipItems);
+ return createClipData(description, clipItems);
}
/**
@@ -333,4 +333,18 @@
private static @OpType int getOpType(PersistableBundle bundle) {
return bundle.getInt(OP_TYPE_KEY);
}
+
+ private static ClipData createClipData(
+ ClipDescription description, ArrayList<ClipData.Item> clipItems) {
+
+ if (Shared.ENABLE_OMC_API_FEATURES) {
+ return new ClipData(description, clipItems);
+ }
+
+ ClipData clip = new ClipData(description, clipItems.get(0));
+ for (int i = 1; i < clipItems.size(); i++) {
+ clip.addItem(clipItems.get(i));
+ }
+ return clip;
+ }
}