small code cleanup

This commit is contained in:
Phillip Thelen 2023-04-27 11:25:23 +02:00
parent 9923f9c7f3
commit 4289042d9f
14 changed files with 51 additions and 53 deletions

View file

@ -168,7 +168,7 @@ android {
}
composeOptions {
kotlinCompilerExtensionVersion = "1.4.4"
kotlinCompilerExtensionVersion = "1.4.6"
}
signingConfigs {
@ -271,15 +271,14 @@ android {
compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
jvmTarget = JavaVersion.VERSION_11.toString()
}
bundle {
language {
// Specifies that the app bundle should not support

View file

@ -10,8 +10,8 @@ import com.habitrpg.android.habitica.extensions.inflate
class SimpleSpinnerAdapter(context: Context, resource: Int) : ArrayAdapter<CharSequence>(context, resource, R.id.textView, context.resources.getTextArray(resource)) {
override fun getDropDownView(position: Int, convertView: View?, parent: ViewGroup?): View {
val view = parent?.inflate(R.layout.spinner_item, false) ?: View(context)
override fun getDropDownView(position : Int, convertView : View?, parent : ViewGroup) : View? {
val view = parent.inflate(R.layout.spinner_item, false) ?: View(context)
(view as? TextView)?.text = getItem(position)
return view
}

View file

@ -20,7 +20,7 @@ class PartyMemberRecyclerViewAdapter : BaseRecyclerViewAdapter<Member, GroupMemb
override fun onBindViewHolder(holder: GroupMemberViewHolder, position: Int) {
holder.bind(data[position], leaderID, null)
holder.onClickEvent = {
onUserClicked?.invoke(data[position].id ?: "")
onUserClicked?.invoke(data[position].id)
}
}
}

View file

@ -36,16 +36,6 @@ class NewsFragment : BaseMainFragment<FragmentNewsBinding>() {
}
private val webviewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
if (url?.contains("/static/new-stuff") == true) {
view?.loadUrl(url)
} else if (url != null) {
MainNavigationController.navigate(url)
}
return true
}
override fun shouldOverrideUrlLoading(
view: WebView?,
request: WebResourceRequest?

View file

@ -38,7 +38,7 @@ class HabiticaAccountDialog(private var thisContext: Context) : DialogFragment(R
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
activity?.let { activity ->
activity?.let { _ ->
ViewCompat.getWindowInsetsController(view)?.isAppearanceLightStatusBars = true
}

View file

@ -8,7 +8,9 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.recyclerview.widget.LinearLayoutManager
import com.habitrpg.android.habitica.MainNavDirections
import com.habitrpg.android.habitica.R
@ -28,9 +30,9 @@ import com.habitrpg.android.habitica.ui.viewmodels.GroupViewModel
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.Companion.showSnackbar
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.SnackbarDisplayType
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
import com.habitrpg.common.habitica.helpers.launchCatching
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import javax.inject.Inject
import kotlin.time.DurationUnit
import kotlin.time.toDuration
@ -119,10 +121,12 @@ class ChatFragment : BaseFragment<FragmentChatBinding>() {
it?.flags?.communityGuidelinesAccepted == true
}
lifecycleScope.launchWhenResumed {
while (true) {
refresh()
delay(30.toDuration(DurationUnit.SECONDS))
lifecycleScope.launchCatching {
repeatOnLifecycle(Lifecycle.State.RESUMED) {
while (true) {
refresh()
delay(30.toDuration(DurationUnit.SECONDS))
}
}
}
}

View file

@ -276,7 +276,7 @@ class PartyDetailFragment : BaseFragment<FragmentPartyDetailBinding>() {
val viewHolder = GroupMemberViewHolder(memberView)
viewHolder.bind(member, leaderID ?: "", viewModel?.user?.value?.id)
viewHolder.onClickEvent = {
FullProfileActivity.open(member.id ?: "")
FullProfileActivity.open(member.id)
}
viewHolder.sendMessageEvent = {
member.id.let { showSendMessageToUserDialog(it, member.displayName) }

View file

@ -9,7 +9,6 @@ import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.IntrinsicSize
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
@ -93,7 +92,7 @@ class PartySeekingViewModel @Inject constructor(
suspend fun inviteUser(member : Member) : InviteResponse? {
return socialRepository.inviteToGroup(
"party", mapOf(
"uuids" to listOf(member.id ?: "")
"uuids" to listOf(member.id)
)
)?.firstOrNull()
}

View file

@ -72,7 +72,7 @@ class AuthenticationViewModel @Inject constructor(
) {
val scopesString = Scopes.PROFILE + " " + Scopes.EMAIL
val scopes = "oauth2:$scopesString"
var newUser = false
var newUser : Boolean
CoroutineScope(Dispatchers.IO).launchCatching({ throwable ->
if (recoverFromPlayServicesErrorResult == null) return@launchCatching
if (throwable is GoogleAuthException) {

View file

@ -145,7 +145,7 @@ class StableViewModel @Inject constructor(
}
items.add(0, "header")
items.removeAll { it is StableSection && (it.key as? String) == "special" && it.ownedCount == 0 }
items.removeAll { it is StableSection && it.key == "special" && it.ownedCount == 0 }
return items
}
}

View file

@ -60,9 +60,9 @@ fun GroupPlanMemberList(
?: emptyList()
) {
item {
val role = if (group?.isLeader(member.id ?: "") == true) {
val role = if (group?.isLeader(member.id) == true) {
stringResource(R.string.owner)
} else if (group?.isManager(member.id ?: "") == true) {
} else if (group?.isManager(member.id) == true) {
stringResource(R.string.manager)
} else {
stringResource(R.string.member)

View file

@ -117,3 +117,9 @@ tasks.named("detekt").configure {
task allUnitTests(type: GradleBuild) {
tasks = [':Habitica:testProdDebugUnitTest', ':wearos:testProdDebugUnitTest', ':common:testProdDebugUnitTest', ':shared:testDebugUnitTest']
}
subprojects {
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions.jvmTarget = "11"
}
}

View file

@ -1,5 +1,5 @@
import java.util.Properties
import java.io.FileInputStream
import java.util.Properties
plugins {
id("com.android.library")
@ -13,7 +13,6 @@ android {
defaultConfig {
minSdk = rootExtra.get("min_sdk") as Int
targetSdkVersion(rootExtra.get("target_sdk") as Int)
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
@ -35,12 +34,12 @@ android {
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
kotlin {
jvmToolchain(11)
}
namespace = "com.habitrpg.common.habitica"
@ -78,12 +77,12 @@ android {
}
}
val core_ktx_version = rootExtra.get("core_ktx_version")
val appcompat_version = rootExtra.get("appcompat_version")
val markwon_version = rootExtra.get("markwon_version")
val coil_version = rootExtra.get("coil_version")
val mockk_version = rootExtra.get("mockk_version")
val kotest_version = rootExtra.get("kotest_version")
val core_ktx_version: String by rootExtra
val appcompat_version: String by rootExtra
val markwon_version: String by rootExtra
val coil_version: String by rootExtra
val mockk_version: String by rootExtra
val kotest_version: String by rootExtra
dependencies {
implementation(fileTree(mapOf("include" to listOf("*.jar"), "dir" to "libs")))
@ -122,17 +121,13 @@ android.testOptions {
// Add Habitica Properties to buildConfigField
val HRPG_PROPS_FILE = File(projectDir.absolutePath + "/../habitica.properties")
if (HRPG_PROPS_FILE.canRead()) {
val HRPG_PROPS = Properties()
HRPG_PROPS.load(FileInputStream(HRPG_PROPS_FILE))
val hrpgProps = Properties()
hrpgProps.load(FileInputStream(HRPG_PROPS_FILE))
if (HRPG_PROPS != null) {
android.buildTypes.configureEach {
HRPG_PROPS.forEach { property ->
buildConfigField("String", property.key as String, "\"${property.value}\"")
}
android.buildTypes.configureEach {
hrpgProps.forEach { property ->
buildConfigField("String", property.key as String, "\"${property.value}\"")
}
} else {
throw InvalidUserDataException("habitica.properties found but some entries are missing")
}
} else {
throw MissingResourceException("habitica.properties not found")

View file

@ -20,7 +20,7 @@ kotlin {
sourceSets {
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:${rootProject.extra.get("coroutines_version")}")
}
}
val commonTest by getting {
@ -47,5 +47,10 @@ android {
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
namespace = "com.habitrpg.shared.habitica"
}