Merge branch 'hafiz/task-rewards-row' into hafiz/settings-updates

This commit is contained in:
Hafiz 2022-06-28 12:22:53 -04:00
commit 62c0dffc38
6 changed files with 68 additions and 16 deletions

View file

@ -1,9 +1,10 @@
package com.habitrpg.wearos.habitica.ui.activities
import android.app.AlertDialog
import android.app.Dialog
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import android.widget.Button
import androidx.activity.viewModels
import androidx.wear.widget.WearableLinearLayoutManager
import com.habitrpg.android.habitica.R
@ -14,6 +15,7 @@ import com.habitrpg.wearos.habitica.ui.viewmodels.SettingsViewModel
import com.habitrpg.wearos.habitica.util.HabiticaScrollingLayoutCallback
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
class SettingsActivity: BaseActivity<ActivitySettingsBinding, SettingsViewModel>() {
override val viewModel: SettingsViewModel by viewModels()
@ -118,14 +120,20 @@ class SettingsActivity: BaseActivity<ActivitySettingsBinding, SettingsViewModel>
}
private fun showLogoutConfirmation() {
AlertDialog.Builder(this)
.setTitle(R.string.are_you_sure)
.setPositiveButton(R.string.logout) { alert, _ ->
logout()
alert.dismiss()
}
.setPositiveButton(R.string.action_cancel) { alert, _ ->
alert.dismiss()
}.show()
val logoutDialog = Dialog(this)
val myLayout = layoutInflater.inflate(R.layout.logout_layout, null)
val positiveButton: Button = myLayout.findViewById(R.id.logout_button)
positiveButton.setOnClickListener {
logout()
logoutDialog.dismiss()
}
val negativeButton: Button = myLayout.findViewById(R.id.cancel_button)
negativeButton.setOnClickListener {
logoutDialog.dismiss()
}
logoutDialog.setContentView(myLayout)
logoutDialog.show()
}
}

View file

@ -3,7 +3,7 @@ package com.habitrpg.wearos.habitica.ui.adapters
import android.content.res.ColorStateList
import android.view.View
import android.view.ViewGroup
import android.widget.RadioButton
import android.widget.Switch
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.habitrpg.android.habitica.R
@ -81,11 +81,12 @@ class SettingsViewHolder(itemView: View) : BindableViewHolder<SettingsItem>(item
}
if (data.type == SettingsItem.Types.TOGGLE) {
val radio = RadioButton(itemView.context)
radio.isChecked = data.value as? Boolean == true
radio.isEnabled = false
widget = radio
binding.row.addView(radio)
val switch = Switch(itemView.context)
switch.isChecked = data.value as? Boolean == true
switch.isClickable = false
switch.showText = false
widget = switch
binding.row.addView(switch)
if (data.value as? Boolean == true) {
binding.row.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.watch_purple_100))

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

View file

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<com.habitrpg.wearos.habitica.ui.views.HabiticaScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/description_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="18sp"
android:text="@string/log_out_of_habitica"
android:fontFamily="sans-serif-medium"
android:textColor="@color/white"
android:layout_marginBottom="18dp"/>
<Button
android:id="@+id/logout_button"
style="@style/ChipButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_small"
android:drawableStart="@drawable/logout"
android:text="@string/logout" />
<Button
android:id="@+id/cancel_button"
style="@style/ChipButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableStart="@drawable/cancel"
android:text="@string/action_cancel" />
</LinearLayout>
</com.habitrpg.wearos.habitica.ui.views.HabiticaScrollView>

View file

@ -30,4 +30,5 @@
<string name="sync_data">Sync Data</string>
<string name="hide_task_rewards">Hide task rewards</string>
<string name="version_info">Version %1$s (%2$d)</string>
<string name="log_out_of_habitica">Log out of Habitica?</string>
</resources>