pref: 适配 Android 13 剪贴板

This commit is contained in:
HuanCheng65 2022-08-31 09:42:00 +08:00
parent c7c142920e
commit 819a88ba62
No known key found for this signature in database
GPG Key ID: E9031EF91A805148
1 changed files with 16 additions and 7 deletions

View File

@ -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