Skip to content

Commit

Permalink
Update kotlin and android target version
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Styk committed Dec 28, 2023
1 parent 5521615 commit 8c31f0a
Show file tree
Hide file tree
Showing 18 changed files with 57 additions and 40 deletions.
10 changes: 10 additions & 0 deletions .idea/deploymentTargetDropDown.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/migrations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ android {
buildFeatures {
viewBinding = true
dataBinding = true
buildConfig = true
}
lint {
disable += "MissingTranslation"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,14 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.components.ActivityComponent
import dagger.hilt.android.scopes.ActivityScoped
import sk.styk.martin.apkanalyzer.core.common.coroutines.DispatcherProvider
import sk.styk.martin.apkanalyzer.manager.analytics.AnalyticsTracker
import sk.styk.martin.apkanalyzer.manager.analytics.FragmentScreenTracker
import sk.styk.martin.apkanalyzer.manager.navigationdrawer.ForegroundFragmentWatcher
import sk.styk.martin.apkanalyzer.manager.permission.PermissionManager
import sk.styk.martin.apkanalyzer.manager.permission.PermissionsManagerImpl
import sk.styk.martin.apkanalyzer.manager.promo.UserReviewManager
import sk.styk.martin.apkanalyzer.manager.resources.ActivityColorThemeManager
import sk.styk.martin.apkanalyzer.manager.resources.ColorThemeManager
import sk.styk.martin.apkanalyzer.core.common.coroutines.DispatcherProvider

@InstallIn(ActivityComponent::class)
@Module
Expand Down Expand Up @@ -51,14 +50,14 @@ class ActivityCommonModule {

@Provides
@ActivityScoped
fun provideColorThemeManager(activity: AppCompatActivity, applicationColorThemeManager: ColorThemeManager): ActivityColorThemeManager {
fun provideColorThemeManager(activity: AppCompatActivity): ActivityColorThemeManager {
val activityColorThemeManager: ActivityColorThemeManager =
ViewModelProvider(
activity,
object : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
@Suppress("UNCHECKED_CAST")
return ActivityColorThemeManager(applicationColorThemeManager) as T
return ActivityColorThemeManager() as T
}
},
)[ActivityColorThemeManager::class.java]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import android.app.NotificationManager
import android.content.ContentResolver
import android.content.Context
import android.content.SharedPreferences
import android.content.pm.PackageManager
import androidx.preference.PreferenceManager
import com.google.android.play.core.review.ReviewManager
import com.google.android.play.core.review.ReviewManagerFactory
Expand All @@ -15,8 +14,6 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import sk.styk.martin.apkanalyzer.manager.resources.ColorThemeManager
import sk.styk.martin.apkanalyzer.manager.resources.ColorThemeManagerImpl
import javax.inject.Singleton

@InstallIn(SingletonComponent::class)
Expand All @@ -35,9 +32,6 @@ class ApplicationModule {
fun provideNotificationManager(@ApplicationContext context: Context): NotificationManager =
context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

@Provides
fun provideColorThemeManagerImpl(colorThemeManagerImpl: ColorThemeManagerImpl): ColorThemeManager = colorThemeManagerImpl

@Provides
fun provideFirebaseAnalytics(@ApplicationContext context: Context): FirebaseAnalytics = FirebaseAnalytics.getInstance(context)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ private const val APP_START_NUMBER = "app_start_number"
class PersistenceManager @Inject constructor(
private val sharedPreferences: SharedPreferences,
) {

var isOnboardingRequired: Boolean
get() = sharedPreferences.getBoolean(FIRST_APP_START, true)
set(value) = sharedPreferences.edit().putBoolean(FIRST_APP_START, value).apply()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package sk.styk.martin.apkanalyzer.manager.persistence
import android.content.SharedPreferences
import javax.inject.Inject

private const val DAY_NIGHT_KEY = "dayNightPref"
const val DAY_NIGHT_KEY = "dayNightPref"

class SettingsManager @Inject constructor(
private val sharedPreferences: SharedPreferences,
Expand All @@ -17,7 +17,7 @@ class SettingsManager @Inject constructor(
fun persist() = persisted

companion object {
fun from(persisted: String) = values()
fun from(persisted: String) = entries
.firstOrNull { it.persisted == persisted }
?: DEFAULT
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import androidx.lifecycle.ViewModel
import java.lang.ref.WeakReference
import javax.inject.Inject

class ActivityColorThemeManager @Inject constructor(private val colorThemeManager: ColorThemeManager) : ViewModel(), ColorThemeManager by colorThemeManager {
class ActivityColorThemeManager @Inject constructor() : ViewModel() {

private var activity: WeakReference<Activity>? = null

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
package sk.styk.martin.apkanalyzer.manager.resources

interface ColorThemeManager {
import androidx.appcompat.app.AppCompatDelegate
import sk.styk.martin.apkanalyzer.manager.persistence.SettingsManager
import javax.inject.Inject
import javax.inject.Singleton

fun setTheme()
@Singleton
class ColorThemeManager @Inject constructor(
private val settingsManager: SettingsManager,
) {
fun setTheme() {
when (settingsManager.colorScheme) {
SettingsManager.ColorScheme.LIGHT -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
SettingsManager.ColorScheme.DARK -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
SettingsManager.ColorScheme.DEFAULT -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,21 @@ package sk.styk.martin.apkanalyzer.ui.settings

import android.content.SharedPreferences
import android.os.Bundle
import androidx.preference.ListPreference
import androidx.preference.PreferenceFragmentCompat
import dagger.hilt.android.AndroidEntryPoint
import sk.styk.martin.apkanalyzer.R
import sk.styk.martin.apkanalyzer.manager.persistence.DAY_NIGHT_KEY
import sk.styk.martin.apkanalyzer.manager.persistence.SettingsManager
import sk.styk.martin.apkanalyzer.manager.resources.ColorThemeManager
import javax.inject.Inject

@AndroidEntryPoint
class MainSettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSharedPreferenceChangeListener {

@Inject
lateinit var settingsManager: SettingsManager

@Inject
lateinit var colorThemeManager: ColorThemeManager

Expand All @@ -21,14 +27,15 @@ class MainSettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSha
override fun onStart() {
super.onStart()
preferenceManager.sharedPreferences?.registerOnSharedPreferenceChangeListener(this)
(findPreference(DAY_NIGHT_KEY) as? ListPreference)?.setDefaultValue(settingsManager.colorScheme.persist())
}

override fun onStop() {
preferenceManager.sharedPreferences?.unregisterOnSharedPreferenceChangeListener(this)
super.onStop()
}

override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) {
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String?) {
colorThemeManager.setTheme()
}
}
1 change: 1 addition & 0 deletions app/src/main/res/layout/list_item_application.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:colorBackground"
android:gravity="center_vertical"
android:clickable="true"
android:focusable="true"
android:foreground="?android:selectableItemBackground"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sk.styk.martin.apkanalyzer

const val TargetSdk = 33
const val TargetSdk = 34
const val MinSdk = 21
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile


internal fun Project.configureKotlin(
commonExtension: CommonExtension<*, *, *, *>
commonExtension: CommonExtension<*, *, *, *, *>,
) {
commonExtension.compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
Expand Down
1 change: 0 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,5 @@
org.gradle.jvmargs=-Xmx2g
android.useAndroidX=true
android.enableJetifier=true
android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[versions]
kotlin = "1.8.21"
gradle-plugin = "8.0.2"
kotlin = "1.9.10"
gradle-plugin = "8.2.0"
hilt = "2.46.1"
lifecycle = "2.6.1"
coroutines = "1.7.1"
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Mon Apr 17 20:31:51 CEST 2023
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

0 comments on commit 8c31f0a

Please sign in to comment.