Skip to content

Commit

Permalink
fix crashes
Browse files Browse the repository at this point in the history
  • Loading branch information
phillipthelen committed Apr 19, 2024
1 parent cfbbe09 commit 695076b
Show file tree
Hide file tree
Showing 11 changed files with 920 additions and 518 deletions.
16 changes: 15 additions & 1 deletion Habitica/res/navigation/navigation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@
android:name="com.habitrpg.android.habitica.ui.fragments.inventory.customization.AvatarOverviewFragment"
android:label="@string/sidebar_avatar" >
<deepLink app:uri="habitica.com/user/avatar" />
<action
android:id="@+id/openComposeAvatarDetail"
app:destination="@id/ComposeAvatarCustomizationFragment" />
<action
android:id="@+id/openAvatarDetail"
app:destination="@id/avatarCustomizationFragment" />
Expand Down Expand Up @@ -132,7 +135,7 @@
android:label="@string/sidebar_equipment" >
<action
android:id="@+id/openAvatarDetail"
app:destination="@id/avatarCustomizationFragment" />
app:destination="@id/ComposeAvatarCustomizationFragment" />
<action
android:id="@+id/openEquipmentDetail"
app:destination="@id/equipmentDetailFragment" />
Expand Down Expand Up @@ -298,6 +301,17 @@
app:argType="integer"
android:defaultValue="0"/>
</fragment>
<fragment
android:id="@+id/ComposeAvatarCustomizationFragment"
android:name="com.habitrpg.android.habitica.ui.fragments.inventory.customization.ComposeAvatarCustomizationFragment"
android:label="@string/sidebar_avatar" >
<argument
android:name="type"
app:argType="string" />
<argument
android:name="category"
app:argType="string" />
</fragment>
<fragment
android:id="@+id/avatarCustomizationFragment"
android:name="com.habitrpg.android.habitica.ui.fragments.inventory.customization.AvatarCustomizationFragment"
Expand Down
2 changes: 1 addition & 1 deletion Habitica/res/xml/remote_config_defaults.xml
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@
</entry>
<entry>
<key>enableCustomizationShop</key>
<value>true</value>
<value>false</value>
</entry>
</defaultsMap>
<!-- END xml_defaults -->
Original file line number Diff line number Diff line change
Expand Up @@ -230,13 +230,14 @@ class UserRepositoryImpl(
override suspend fun changeCustomDayStart(dayStartTime: Int): User? {
val updateObject = HashMap<String, Any>()
updateObject["dayStart"] = dayStartTime
return apiClient.changeCustomDayStart(updateObject)
val newUser = apiClient.changeCustomDayStart(updateObject)
return mergeWithExistingUser(newUser)
}

override suspend fun updateLanguage(languageCode: String): User? {
val user = updateUser("preferences.language", languageCode)
apiClient.languageCode = languageCode
return user
return mergeWithExistingUser(user)
}

override suspend fun resetAccount(password: String): User? {
Expand Down Expand Up @@ -439,6 +440,14 @@ class UserRepositoryImpl(
return localRepository.getLiveObject(user)
}

private suspend fun mergeWithExistingUser(newUser: User?): User? {
val oldUser = localRepository.getUser(currentUserID).firstOrNull()
if (newUser == null) {
return oldUser
}
return mergeUser(oldUser, newUser)
}

private fun mergeUser(oldUser: User?, newUser: User): User {
if (oldUser == null || !oldUser.isValid) {
return oldUser ?: newUser
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ class NavigationDrawerFragment : DialogFragment() {
.collect { pair ->
val gearEvent = pair.first.events.firstOrNull { it.gear }
createUpdatingJob("seasonal", {
if (gearEvent?.isValid == false) return@createUpdatingJob false
gearEvent?.isCurrentlyActive == true || pair.second.isNotEmpty()
}, {
val diff = (gearEvent?.end?.time ?: 0) - Date().time
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,20 @@ import android.webkit.WebResourceRequest
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.lifecycle.lifecycleScope
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.databinding.FragmentNewsBinding
import com.habitrpg.common.habitica.helpers.MainNavigationController
import com.habitrpg.common.habitica.api.HostConfig
import com.habitrpg.common.habitica.helpers.ExceptionHandler
import com.habitrpg.common.habitica.helpers.MainNavigationController
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import javax.inject.Inject

@AndroidEntryPoint
class NewsFragment : BaseMainFragment<FragmentNewsBinding>() {

@Inject
lateinit var hostConfig: HostConfig

override var binding: FragmentNewsBinding? = null

override fun createBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentNewsBinding {
Expand Down Expand Up @@ -52,14 +56,13 @@ class NewsFragment : BaseMainFragment<FragmentNewsBinding>() {
@SuppressLint("SetJavaScriptEnabled")
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val address = context?.getString(R.string.base_url)
val webSettings = binding?.newsWebview?.settings
webSettings?.javaScriptEnabled = true
webSettings?.domStorageEnabled = true
binding?.newsWebview?.webViewClient = webviewClient
binding?.newsWebview?.webChromeClient = object : WebChromeClient() {
}
binding?.newsWebview?.loadUrl("$address/static/new-stuff")
binding?.newsWebview?.loadUrl("${hostConfig.address}/static/new-stuff")
}

override fun onResume() {
Expand Down
Loading

0 comments on commit 695076b

Please sign in to comment.