From cd771fa4b5d2762478099afdb445578de0fbe2df Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Fri, 14 Mar 2025 05:51:17 +0000
Subject: [PATCH] 代码补充

---
 libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt |  137 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 97 insertions(+), 40 deletions(-)

diff --git a/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt b/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt
index 4076d40..20db9c3 100644
--- a/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt
+++ b/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt
@@ -1,9 +1,8 @@
 package com.runt.open.mvi.base
 
-import android.Manifest
+import android.app.ActivityManager
 import android.content.Context
 import android.content.Intent
-import android.content.pm.ActivityInfo
 import android.content.pm.PackageManager
 import android.os.Build
 import android.os.Bundle
@@ -23,6 +22,7 @@
 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
@@ -241,6 +241,16 @@
         return result
     }
 
+    @Suppress("DEPRECATION")
+    protected fun isMyServiceRunning(serviceClass: Class<*>): Boolean {
+        val manager = getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
+        for (service in manager.getRunningServices(Integer.MAX_VALUE)) {
+            if (serviceClass.name == service.service.className) {
+                return true
+            }
+        }
+        return false
+    }
 
     /**
      * 检查权限
@@ -325,109 +335,156 @@
 
     //===========================================
     //以下为preferences操作
-    fun getBooleanUserPrefrence(key : String?) : Boolean {
-        return PreferencesUtils.getBoolean(this , key , false , PreferencesUtils.USER)
+    fun getBooleanUserPrefrence(key : String) : Boolean {
+        return getBooleanUserPrefrence(key,false)
     }
 
-    fun getBooleanProjectPrefrence(key : String?) : Boolean {
-        return PreferencesUtils.getBoolean(this , key , false , PreferencesUtils.PROJECT)
+    fun getBooleanUserPrefrence(key : String,value : Boolean) : Boolean {
+        return PreferencesUtils.getBoolean(this , key , value , PreferencesUtils.USER)
     }
 
-    fun getStringUserPrefrence(key : String?) : String {
-        return PreferencesUtils.getString(this , key , "" , PreferencesUtils.USER)
+    fun getBooleanProjectPrefrence(key : String) : Boolean {
+        return getBooleanProjectPrefrence(key,false)
     }
 
-    fun getStringProjectPrefrence(key : String?) : String {
-        return PreferencesUtils.getString(this , key , "" , PreferencesUtils.PROJECT)
+    fun getBooleanProjectPrefrence(key : String,value : Boolean) : Boolean {
+        return PreferencesUtils.getBoolean(this , key , value , PreferencesUtils.USER)
     }
 
-    fun getIntProjectPrefrence(key : String?) : Int {
-        return PreferencesUtils.getInt(this , key , 0 , PreferencesUtils.PROJECT)
+    fun getStringUserPrefrence(key : String) : String {
+        return getStringUserPrefrence(key,"");
     }
 
-    fun getLongProjectPrefrence(key : String?) : Long {
-        return PreferencesUtils.getLong(this , key , 0 , PreferencesUtils.PROJECT)
+    fun getStringUserPrefrence(key : String,value : String?) : String {
+        return PreferencesUtils.getString(this , key , value, PreferencesUtils.PROJECT)
     }
 
-    fun getFloatProjectPrefrence(key : String?) : Float {
-        return PreferencesUtils.getFloat(this , key , 0f , PreferencesUtils.PROJECT)
+    fun getStringProjectPrefrence(key : String) : String {
+        return getStringProjectPrefrence(key,"");
     }
 
-    fun getStringSetProjectPrefrence(key : String?) : Set<*> {
-        return PreferencesUtils.getStringSet(this , key , PreferencesUtils.PROJECT)
+    fun getStringProjectPrefrence(key : String,value : String?) : String {
+        return PreferencesUtils.getString(this , key , value, PreferencesUtils.PROJECT)
     }
 
-    fun getIntUserPrefrence(key : String?) : Int {
-        return PreferencesUtils.getInt(this , key , 0 , PreferencesUtils.USER)
+    fun getIntProjectPrefrence(key : String) : Int {
+        return getIntProjectPrefrence(key,0);
     }
 
-    fun getLongUserPrefrence(key : String?) : Long {
-        return PreferencesUtils.getLong(this , key , 0 , PreferencesUtils.USER)
+    fun getIntProjectPrefrence(key : String,value : Int) : Int {
+        return PreferencesUtils.getInt(this , key , value , PreferencesUtils.PROJECT)
     }
 
-    fun getFloatUserPrefrence(key : String?) : Float {
-        return PreferencesUtils.getFloat(this , key , 0f , PreferencesUtils.USER)
+    fun getLongProjectPrefrence(key : String) : Long {
+        return getLongProjectPrefrence(key,0);
     }
 
-    fun getStringSetUserPrefrence(key : String?) : Set<*> {
-        return PreferencesUtils.getStringSet(this , key , PreferencesUtils.USER)
+    fun getLongProjectPrefrence(key : String,value : Long) : Long {
+        return PreferencesUtils.getLong(this , key , value , PreferencesUtils.PROJECT)
     }
 
+    fun getFloatProjectPrefrence(key : String) : Float {
+        return getFloatProjectPrefrence(key,0f);
+    }
 
-    fun putBooleanUserPrefrence(key : String? , value : Boolean) {
+    fun getFloatProjectPrefrence(key : String,value : Float) : Float {
+        return PreferencesUtils.getFloat(this , key , value , PreferencesUtils.PROJECT)
+    }
+
+    fun getStringSetProjectPrefrence(key : String) : Set<*> {
+        return getStringSetProjectPrefrence(key, ArraySet<Any?>() )
+    }
+
+    fun getStringSetProjectPrefrence(key : String,value : Set<*>?) : Set<*> {
+        return PreferencesUtils.getStringSet(this , key ,value, PreferencesUtils.PROJECT)
+    }
+
+    fun getIntUserPrefrence(key : String) : Int {
+        return getIntUserPrefrence(key,0)
+    }
+
+    fun getIntUserPrefrence(key : String,value : Int) : Int {
+        return PreferencesUtils.getInt(this , key , value , PreferencesUtils.USER)
+    }
+
+    fun getLongUserPrefrence(key : String) : Long {
+        return getLongUserPrefrence(key,0)
+    }
+
+    fun getLongUserPrefrence(key : String,value : Long) : Long {
+        return PreferencesUtils.getLong(this , key , value , PreferencesUtils.USER)
+    }
+
+    fun getFloatUserPrefrence(key : String) : Float {
+        return getFloatUserPrefrence(key,0f)
+    }
+
+    fun getFloatUserPrefrence(key : String,value : Float) : Float {
+        return PreferencesUtils.getFloat(this , key , value , PreferencesUtils.USER)
+    }
+
+    fun getStringSetUserPrefrence(key : String) : Set<*> {
+        return getStringSetUserPrefrence(key,ArraySet<Any?>())
+    }
+
+    fun getStringSetUserPrefrence(key : String,value : Set<*>) : Set<*> {
+        return PreferencesUtils.getStringSet(this , key ,value, PreferencesUtils.USER)
+    }
+
+    fun putBooleanUserPrefrence(key : String , value : Boolean) {
         PreferencesUtils.putBoolean(this , key , value , PreferencesUtils.USER)
     }
 
-    fun putBooleanProjectPrefrence(key : String? , value : Boolean) {
+    fun putBooleanProjectPrefrence(key : String , value : Boolean) {
         PreferencesUtils.putBoolean(this , key , value , PreferencesUtils.PROJECT)
     }
 
-    fun putStringUserPrefrence(key : String? , value : String?) {
+    fun putStringUserPrefrence(key : String , value : String?) {
         PreferencesUtils.putString(this , key , value , PreferencesUtils.USER)
     }
 
-    fun putStringProjectPrefrence(key : String? , value : String?) {
+    fun putStringProjectPrefrence(key : String , value : String?) {
         PreferencesUtils.putString(this , key , value , PreferencesUtils.PROJECT)
     }
 
-    fun putIntProjectPrefrence(key : String? , value : Int) {
+    fun putIntProjectPrefrence(key : String , value : Int) {
         PreferencesUtils.putInt(this , key , value , PreferencesUtils.PROJECT)
     }
 
-    fun putLongProjectPrefrence(key : String? , value : Long) {
+    fun putLongProjectPrefrence(key : String , value : Long) {
         PreferencesUtils.putLong(this , key , value , PreferencesUtils.PROJECT)
     }
 
-    fun putFloatProjectPrefrence(key : String? , value : Float) {
+    fun putFloatProjectPrefrence(key : String , value : Float) {
         PreferencesUtils.putFloat(this , key , value , PreferencesUtils.PROJECT)
     }
 
-    fun putStringSetProjectPrefrence(key : String? , value : Set<*>?) {
+    fun putStringSetProjectPrefrence(key : String , value : Set<*>?) {
         PreferencesUtils.putStringSet(this , key , value , PreferencesUtils.PROJECT)
     }
 
-    fun putIntUserPrefrence(key : String? , value : Int) {
+    fun putIntUserPrefrence(key : String , value : Int) {
         PreferencesUtils.putInt(this , key , value , PreferencesUtils.USER)
     }
 
-    fun putLongUserPrefrence(key : String? , value : Long) {
+    fun putLongUserPrefrence(key : String , value : Long) {
         PreferencesUtils.putLong(this , key , value , PreferencesUtils.USER)
     }
 
-    fun putFloatUserPrefrence(key : String? , value : Float) {
+    fun putFloatUserPrefrence(key : String , value : Float) {
         PreferencesUtils.putFloat(this , key , value , PreferencesUtils.USER)
     }
 
-    fun putStringSetUserPrefrence(key : String? , value : Set<*>?) {
+    fun putStringSetUserPrefrence(key : String , value : Set<*>?) {
         PreferencesUtils.putStringSet(this , key , value , PreferencesUtils.USER)
     }
 
 
-    fun removeUserKey(key : String?) {
+    fun removeUserKey(key : String) {
         PreferencesUtils.removeKey(this , key , PreferencesUtils.USER)
     }
 
-    fun removeProjectKey(key : String?) {
+    fun removeProjectKey(key : String) {
         PreferencesUtils.removeKey(this , key , PreferencesUtils.PROJECT)
     }
 

--
Gitblit v1.9.1