chinwag-android/app
Konrad Pozniak d554d71958
inject SharedPreferences (#4441)
(this one is for @charlag)

Calling `PreferenceManager.getDefaultSharedPreferences()` will read the
preference file from disk every time. This PR makes `SharedPreferences`
a singleton so they will only be created once at appstart (with a few
exceptions where it is hard to inject, e.g. in the `openLink` helper)
which should help getting our ANRs down.

```
StrictMode policy violation; ~duration=285 ms: android.os.strictmode.DiskReadViolation
    at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1666)
    at libcore.io.BlockGuardOs.access(BlockGuardOs.java:74)
    at libcore.io.ForwardingOs.access(ForwardingOs.java:128)
    at android.app.ActivityThread$AndroidOs.access(ActivityThread.java:8054)
    at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:313)
    at java.io.File.exists(File.java:813)
    at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:790)
    at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:781)
    at android.app.ContextImpl.getPreferencesDir(ContextImpl.java:737)
    at android.app.ContextImpl.getSharedPreferencesPath(ContextImpl.java:962)
    at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:583)
    at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:221)
    at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:221)
    at androidx.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:119)
    at com.keylesspalace.tusky.BaseActivity.onCreate(BaseActivity.java:96)
   ...
```
2024-05-24 08:05:09 +02:00
..
schemas/com.keylesspalace.tusky.db.AppDatabase Refactor notifications to Kotlin & paging (#4026) 2024-05-03 18:27:10 +02:00
src inject SharedPreferences (#4441) 2024-05-24 08:05:09 +02:00
build.gradle Replace Dagger-Android with Hilt and remove Kapt (#4423) 2024-05-10 15:55:07 +02:00
getGitSha.gradle Previous attempt to fix git sha on non-git build broke git build. (#3322) 2023-02-16 20:20:52 +01:00
lint-baseline.xml Refactor notifications to Kotlin & paging (#4026) 2024-05-03 18:27:10 +02:00
lint.xml Fix some warnings & recreate lint-baseline.xml (#4278) 2024-02-25 16:20:26 +01:00
proguard-rules.pro Replace Gson library with Moshi (#4309) 2024-04-02 21:01:04 +02:00