New cache system

Refactoring
Separation into libraries
This commit is contained in:
2021-03-17 19:47:53 +03:00
parent 2004cb7c5e
commit 84d812a6d6
198 changed files with 4892 additions and 3477 deletions
@@ -8,6 +8,7 @@ import android.content.Context
import android.content.SharedPreferences
import android.content.pm.PackageManager
import android.content.res.Resources
import android.database.sqlite.SQLiteDatabase
import android.net.ConnectivityManager
import android.os.Handler
import android.view.WindowManager
@@ -15,13 +16,12 @@ import android.view.inputmethod.InputMethodManager
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.content.pm.PackageInfoCompat
import androidx.preference.PreferenceManager
import androidx.room.Room
import com.facebook.drawee.backends.pipeline.Fresco
import com.meloda.fast.BuildConfig
import com.meloda.fast.R
import com.meloda.fast.api.UserConfig
import com.meloda.fast.database.AppDatabase
import com.meloda.fast.database.MemoryCache
import com.meloda.fast.UserConfig
import com.meloda.fast.database.CacheStorage
import com.meloda.fast.database.DatabaseHelper
import com.meloda.fast.fragment.SettingsFragment
import com.meloda.fast.util.AndroidUtils
import com.meloda.mvp.MvpBase
@@ -59,9 +59,11 @@ class AppGlobal : Application() {
lateinit var handler: Handler
lateinit var resources: Resources
lateinit var packageName: String
lateinit var database: AppDatabase
lateinit var instance: AppGlobal
lateinit var dbHelper: DatabaseHelper
lateinit var database: SQLiteDatabase
lateinit var packageManager: PackageManager
var versionName = ""
@@ -89,14 +91,13 @@ class AppGlobal : Application() {
Fresco.initialize(this)
database = Room.databaseBuilder(this, AppDatabase::class.java, "cache")
.fallbackToDestructiveMigration()
.build()
preferences = PreferenceManager.getDefaultSharedPreferences(this)
handler = Handler(mainLooper)
locale = Locale.getDefault()
dbHelper = DatabaseHelper(this)
database = dbHelper.writableDatabase
val info = packageManager.getPackageInfo(this.packageName, PackageManager.GET_ACTIVITIES)
versionName = info.versionName
versionCode = PackageInfoCompat.getLongVersionCode(info)
@@ -118,19 +119,23 @@ class AppGlobal : Application() {
MvpBase.init(handler)
logDatabase()
fillMemoryCache()
applyNightMode()
}
private fun fillMemoryCache() {
TaskManager.execute {
val users = database.users.getAll()
val groups = database.groups.getAll()
private fun logDatabase() {
val users = CacheStorage.usersStorage.getAllValues()
val groups = CacheStorage.groupsStorage.getAllValues()
val chats = CacheStorage.chatsStorage.getAllValues()
val messages = CacheStorage.messagesStorage.getAllValues()
return
}
private fun fillMemoryCache() {
MemoryCache.appendUsers(users)
MemoryCache.appendGroups(groups)
}
}
fun applyNightMode(value: String? = null): Int {