Runt
2025-08-07 7bfcd06377cfb0c798b7260361f4a10b420a1eb5
libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt
@@ -2,10 +2,14 @@
import android.Manifest
import android.app.ActivityManager
import android.app.UiModeManager
import android.content.ClipData
import android.content.ClipboardManager
import android.content.ContentResolver
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.content.res.Configuration
import android.net.Uri
import android.os.Build
import android.os.Bundle
@@ -29,7 +33,6 @@
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.ColorRes
import androidx.annotation.StringRes
import androidx.collection.ArraySet
import androidx.core.content.ContextCompat
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
@@ -472,6 +475,14 @@
        showToast(getString(msg))
    }
    fun copyStr(str:String){
        // 获取系统剪贴板
        val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
        // 创建一个剪贴数据集,包含一个普通文本数据条目(需要复制的数据)
        val clipData = ClipData.newPlainText(null ,str)
        // 把数据集设置(复制)到剪贴板
        clipboard.setPrimaryClip(clipData)
    }
    /**
     * 获取文件保存路径 sdcard根目录/download/文件名称
     * @param fileUrl
@@ -485,6 +496,12 @@
            appDir.mkdirs()
        }
        return storePath + File.separator + fileName
    }
    fun isTabletDevice(): Boolean {
        val uiModeManager = getSystemService(Context.UI_MODE_SERVICE) as UiModeManager
        return (uiModeManager.currentModeType == Configuration.UI_MODE_TYPE_TELEVISION).not() &&
                (resources.configuration.screenLayout and Configuration.SCREENLAYOUT_SIZE_MASK >= Configuration.SCREENLAYOUT_SIZE_LARGE)
    }
    //===========================================
@@ -546,7 +563,7 @@
    }
    fun getStringSetProjectPrefrence(key : String) : Set<*> {
        return getStringSetProjectPrefrence(key, ArraySet<Any?>() )
        return getStringSetProjectPrefrence(key, HashSet<Any?>() )
    }
    fun getStringSetProjectPrefrence(key : String,value : Set<*>?) : Set<*> {
@@ -578,7 +595,7 @@
    }
    fun getStringSetUserPrefrence(key : String) : Set<*> {
        return getStringSetUserPrefrence(key,ArraySet<Any?>())
        return getStringSetUserPrefrence(key,HashSet<Any?>())
    }
    fun getStringSetUserPrefrence(key : String,value : Set<*>) : Set<*> {