mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
Merge branch 'hafiz/task-rewards-row' into hafiz/settings-updates
This commit is contained in:
commit
62c0dffc38
6 changed files with 68 additions and 16 deletions
|
|
@ -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()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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))
|
||||
|
|
|
|||
BIN
wearos/src/main/res/drawable/cancel.png
Normal file
BIN
wearos/src/main/res/drawable/cancel.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 233 B |
BIN
wearos/src/main/res/drawable/logout.png
Normal file
BIN
wearos/src/main/res/drawable/logout.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 345 B |
42
wearos/src/main/res/layout/logout_layout.xml
Normal file
42
wearos/src/main/res/layout/logout_layout.xml
Normal 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>
|
||||
|
|
@ -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>
|
||||
Loading…
Reference in a new issue