Skip to content

Commit 2a1f81a

Browse files
feat: Copy deeplink on long press (#25)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
1 parent 78794d5 commit 2a1f81a

File tree

1 file changed

+18
-5
lines changed
  • app/src/main/java/com/yogeshpaliyal/deepr/ui/screens

1 file changed

+18
-5
lines changed

app/src/main/java/com/yogeshpaliyal/deepr/ui/screens/Home.kt

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import android.content.ClipboardManager
55
import android.content.Context
66
import android.widget.Toast
77
import androidx.compose.animation.AnimatedVisibility
8-
import androidx.compose.foundation.clickable
8+
import androidx.compose.foundation.combinedClickable
99
import androidx.compose.foundation.layout.Arrangement
1010
import androidx.compose.foundation.layout.Box
1111
import androidx.compose.foundation.layout.Column
@@ -215,6 +215,13 @@ fun Content(viewModel: AccountViewModel) {
215215
},
216216
onShortcutClick = {
217217
showShortcutDialog = it
218+
},
219+
onItemLongClick = {
220+
val clipboard =
221+
context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
222+
val clip = ClipData.newPlainText("Link copied", it.link)
223+
clipboard.setPrimaryClip(clip)
224+
Toast.makeText(context, "Link copied", Toast.LENGTH_SHORT).show()
218225
}
219226
)
220227

@@ -296,7 +303,8 @@ fun DeeprList(
296303
accounts: List<Deepr>,
297304
onItemClick: (Deepr) -> Unit,
298305
onRemoveClick: (Deepr) -> Unit,
299-
onShortcutClick: (Deepr) -> Unit
306+
onShortcutClick: (Deepr) -> Unit,
307+
onItemLongClick: (Deepr) -> Unit
300308
) {
301309
LazyColumn(modifier = modifier, contentPadding = PaddingValues(vertical = 8.dp)) {
302310
if (accounts.isEmpty()) {
@@ -309,20 +317,23 @@ fun DeeprList(
309317
account = account,
310318
onItemClick = onItemClick,
311319
onRemoveClick = onRemoveClick,
312-
onShortcutClick = onShortcutClick
320+
onShortcutClick = onShortcutClick,
321+
onItemLongClick = onItemLongClick
313322
)
314323
}
315324
}
316325
}
317326
}
318327

328+
@OptIn(androidx.compose.foundation.ExperimentalFoundationApi::class)
319329
@Composable
320330
fun DeeprItem(
321331
modifier: Modifier = Modifier,
322332
account: Deepr,
323333
onItemClick: (Deepr) -> Unit,
324334
onRemoveClick: (Deepr) -> Unit,
325-
onShortcutClick: (Deepr) -> Unit
335+
onShortcutClick: (Deepr) -> Unit,
336+
onItemLongClick: (Deepr) -> Unit
326337
) {
327338
var expanded by remember { mutableStateOf(false) }
328339
val context = LocalContext.current
@@ -331,7 +342,9 @@ fun DeeprItem(
331342
modifier = modifier
332343
.fillMaxWidth()
333344
.padding(vertical = 4.dp)
334-
.clickable { onItemClick(account) }
345+
.combinedClickable(onClick = { onItemClick(account) }, onLongClick = {
346+
onItemLongClick(account)
347+
})
335348
) {
336349
Row(
337350
modifier = Modifier

0 commit comments

Comments
 (0)