simplifying base models
new attachments
This commit is contained in:
@@ -7,15 +7,16 @@ import android.content.SharedPreferences
|
||||
import android.content.pm.PackageManager
|
||||
import android.content.res.Resources
|
||||
import android.net.ConnectivityManager
|
||||
import android.util.Log
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import androidx.core.content.pm.PackageInfoCompat
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.room.Room
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.database.AppDatabase
|
||||
import com.meloda.fast.util.AndroidUtils
|
||||
import dagger.hilt.android.HiltAndroidApp
|
||||
import org.acra.ACRA
|
||||
import kotlin.math.sqrt
|
||||
|
||||
@HiltAndroidApp
|
||||
class AppGlobal : Application() {
|
||||
@@ -66,8 +67,24 @@ class AppGlobal : Application() {
|
||||
Companion.packageName = packageName
|
||||
Companion.packageManager = packageManager
|
||||
|
||||
screenWidth = AndroidUtils.getDisplayWidth()
|
||||
screenHeight = AndroidUtils.getDisplayHeight()
|
||||
screenWidth = resources.displayMetrics.widthPixels
|
||||
screenHeight = resources.displayMetrics.heightPixels
|
||||
|
||||
val density = resources.displayMetrics.density
|
||||
val densityDpi = resources.displayMetrics.densityDpi
|
||||
val densityScaled = resources.displayMetrics.scaledDensity
|
||||
val xDpi = resources.displayMetrics.xdpi
|
||||
val yDpi = resources.displayMetrics.ydpi
|
||||
|
||||
val diagonal = sqrt(
|
||||
(screenWidth * screenWidth - screenHeight * screenHeight).toFloat()
|
||||
)
|
||||
|
||||
Log.i(
|
||||
"Fast::DeviceInfo",
|
||||
"width: $screenWidth; height: $screenHeight; density: $density; diagonal: $diagonal; dpiDensity: $densityDpi; scaledDensity: $densityScaled; xDpi: $xDpi; yDpi: $yDpi"
|
||||
)
|
||||
|
||||
|
||||
inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
|
||||
connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.meloda.fast.common
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.core.DataStore
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import androidx.datastore.preferences.core.booleanPreferencesKey
|
||||
import androidx.datastore.preferences.preferencesDataStore
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.Job
|
||||
|
||||
|
||||
object AppSettings {
|
||||
|
||||
val keyIsMultilineEnabled = booleanPreferencesKey("isMultilineEnabled")
|
||||
}
|
||||
|
||||
val Context.dataStore: DataStore<Preferences> by preferencesDataStore(
|
||||
name = "settings",
|
||||
corruptionHandler = null,
|
||||
scope = CoroutineScope(Dispatchers.IO + Job())
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user