@@ -94,8 +94,10 @@ inline fun <reified T> clipDataOf(
9494 l : List <T >,
9595 label : String = "",
9696 cr : ContentResolver ? = null
97- ): ClipData = when {
98- Uri ::class .java.isAssignableFrom(T ::class .java) ->
97+ ): ClipData = if (l.isEmpty()) {
98+ throw IllegalArgumentException (" Illegal argument, list cannot be empty." )
99+ } else when {
100+ Uri ::class .java.isAssignableFrom(T ::class .java) ->
99101 if (cr == null ) {
100102 ClipData .newRawUri(label, l[0 ] as Uri ).apply {
101103 l.forEachIndexed { index, item ->
@@ -109,19 +111,17 @@ inline fun <reified T> clipDataOf(
109111 }
110112 }
111113 }
112- CharSequence ::class .java.isAssignableFrom(T ::class .java) ->
114+ CharSequence ::class .java.isAssignableFrom(T ::class .java) ->
113115 ClipData .newPlainText(label, l[0 ] as CharSequence ).apply {
114116 l.forEachIndexed { index, item ->
115117 if (index > 0 ) addItem(ClipData .Item (item as CharSequence ))
116118 }
117119 }
118- Intent ::class .java.isAssignableFrom(T ::class .java) ->
120+ Intent ::class .java.isAssignableFrom(T ::class .java) ->
119121 ClipData .newIntent(label, l[0 ] as Intent ).apply {
120122 l.forEachIndexed { index, item ->
121123 if (index > 0 ) addItem(ClipData .Item (item as Intent ))
122124 }
123125 }
124- else ->
125- throw IllegalArgumentException (" Illegal type for $label and " +
126- " items: ${T ::class .java.canonicalName} " )
127- }
126+ else -> throw IllegalArgumentException (" Illegal type: ${T ::class .java.canonicalName} " )
127+ }
0 commit comments