pref: 适配 Android 13 剪贴板
This commit is contained in:
parent
c7c142920e
commit
819a88ba62
|
|
@ -2,10 +2,9 @@ package com.huanchengfly.tieba.post.utils
|
||||||
|
|
||||||
import android.app.AlarmManager
|
import android.app.AlarmManager
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.content.ClipData
|
import android.content.*
|
||||||
import android.content.ClipboardManager
|
import android.os.Build
|
||||||
import android.content.Context
|
import android.os.PersistableBundle
|
||||||
import android.content.Intent
|
|
||||||
import androidx.work.ExistingWorkPolicy
|
import androidx.work.ExistingWorkPolicy
|
||||||
import androidx.work.OneTimeWorkRequestBuilder
|
import androidx.work.OneTimeWorkRequestBuilder
|
||||||
import androidx.work.OutOfQuotaPolicy
|
import androidx.work.OutOfQuotaPolicy
|
||||||
|
|
@ -25,18 +24,28 @@ import retrofit2.Response
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
object TiebaUtil {
|
object TiebaUtil {
|
||||||
|
private fun ClipData.setIsSensitive(isSensitive: Boolean): ClipData {
|
||||||
|
description.extras = PersistableBundle().apply {
|
||||||
|
putBoolean(ClipDescription.EXTRA_IS_SENSITIVE, isSensitive)
|
||||||
|
}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@JvmOverloads
|
@JvmOverloads
|
||||||
fun copyText(
|
fun copyText(
|
||||||
context: Context,
|
context: Context,
|
||||||
text: String?,
|
text: String?,
|
||||||
toast: String = context.getString(R.string.toast_copy_success)
|
toast: String = context.getString(R.string.toast_copy_success),
|
||||||
|
isSensitive: Boolean = false
|
||||||
) {
|
) {
|
||||||
val cm = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
val cm = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||||
val clipData = ClipData.newPlainText("Tieba Lite", text)
|
val clipData = ClipData.newPlainText("Tieba Lite", text).setIsSensitive(isSensitive)
|
||||||
cm.setPrimaryClip(clipData)
|
cm.setPrimaryClip(clipData)
|
||||||
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.S_V2) {
|
||||||
context.toastShort(toast)
|
context.toastShort(toast)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun initAutoSign(context: Context) {
|
fun initAutoSign(context: Context) {
|
||||||
val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue