diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/SettingsActivity.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/SettingsActivity.kt index e9bf0c3e4..375e6574e 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/SettingsActivity.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/SettingsActivity.kt @@ -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() { override val viewModel: SettingsViewModel by viewModels() @@ -118,14 +120,20 @@ class SettingsActivity: BaseActivity } 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() } + + } \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/SettingsAdapter.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/SettingsAdapter.kt index 6eecc08f7..4516d9bc9 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/SettingsAdapter.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/SettingsAdapter.kt @@ -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(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)) diff --git a/wearos/src/main/res/drawable/cancel.png b/wearos/src/main/res/drawable/cancel.png new file mode 100644 index 000000000..101f14c55 Binary files /dev/null and b/wearos/src/main/res/drawable/cancel.png differ diff --git a/wearos/src/main/res/drawable/logout.png b/wearos/src/main/res/drawable/logout.png new file mode 100644 index 000000000..83725cd51 Binary files /dev/null and b/wearos/src/main/res/drawable/logout.png differ diff --git a/wearos/src/main/res/layout/logout_layout.xml b/wearos/src/main/res/layout/logout_layout.xml new file mode 100644 index 000000000..fbd0a7f17 --- /dev/null +++ b/wearos/src/main/res/layout/logout_layout.xml @@ -0,0 +1,42 @@ + + + + + + + +