diff --git a/Habitica/res/layout/activity_fixcharacter.xml b/Habitica/res/layout/activity_fixcharacter.xml index a8b63e48d..9df314257 100644 --- a/Habitica/res/layout/activity_fixcharacter.xml +++ b/Habitica/res/layout/activity_fixcharacter.xml @@ -5,7 +5,8 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context="com.habitrpg.android.habitica.ui.activities.FixCharacterValuesActivity"> + tools:context="com.habitrpg.android.habitica.ui.activities.FixCharacterValuesActivity" + android:background="@color/white"> @@ -30,152 +31,77 @@ android:id="@+id/textView5" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="@dimen/outer_inset" - android:text="@string/fix_character_description" /> + android:padding="@dimen/outer_inset" + android:text="@string/fix_character_description" + android:background="@color/gray_700" + android:layout_marginBottom="16dp" + /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="wrap_content" + app:title="@string/HP_default" + app:fixIconName="health" + app:hintStyle="@style/RedTextLabel" + android:layout_marginLeft="16dp" + android:layout_marginRight="16dp" + android:layout_marginBottom="12dp" + app:iconBgColor="@color/red_500"/> + + + + + \ No newline at end of file diff --git a/Habitica/res/layout/fixvalues_edittext.xml b/Habitica/res/layout/fixvalues_edittext.xml new file mode 100644 index 000000000..80cd9a26c --- /dev/null +++ b/Habitica/res/layout/fixvalues_edittext.xml @@ -0,0 +1,38 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Habitica/res/values/attrs.xml b/Habitica/res/values/attrs.xml index cf889605d..c4ab9508c 100644 --- a/Habitica/res/values/attrs.xml +++ b/Habitica/res/values/attrs.xml @@ -42,4 +42,10 @@ + + + + + + diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index da8e71baf..ff503a0eb 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -668,7 +668,7 @@ Level 21-Day Streaks Stats - If you\'ve encountered a bug or made a mistake that unfairly changed your character (damage you shouldn\'t have taken, Gold you didn\'t really earn, etc.), you can manually correct your numbers here. Yes, this makes it possible to cheat: use this feature wisely, or you\'ll sabotage your own habit-building! + If you’ve encountered a bug or made a mistake that unfairly changed your character, you can manually correct those values here. Fix Character Values Saving Email a Password Reset Link @@ -688,4 +688,5 @@ Change Email Address Change Login Name Change + Character Level diff --git a/Habitica/res/values/styles.xml b/Habitica/res/values/styles.xml index 19ddbca72..002a8e4df 100644 --- a/Habitica/res/values/styles.xml +++ b/Habitica/res/values/styles.xml @@ -409,4 +409,18 @@ + + + + + + \ No newline at end of file diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FixCharacterValuesActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FixCharacterValuesActivity.kt index 322259d19..b4e372802 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FixCharacterValuesActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FixCharacterValuesActivity.kt @@ -12,6 +12,7 @@ import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.modules.AppModule +import com.habitrpg.android.habitica.ui.views.settings.FixValuesEditText import kotlinx.android.synthetic.main.activity_fixcharacter.* import rx.functions.Action0 import rx.functions.Action1 @@ -78,16 +79,16 @@ class FixCharacterValuesActivity: BaseActivity() { } private fun updateFields(user: User) { - healthEditText.setText(user.stats?.hp.toString()) - experienceEditText.setText(user.stats?.exp.toString()) - goldEditText.setText(user.stats?.gp.toString()) - manaEditText.setText(user.stats?.mp.toString()) - levelEditText.setText(user.stats?.lvl.toString()) - streakEditText.setText(user.streakCount.toString()) + healthEditText.text = user.stats?.hp.toString() + experienceEditText.text = user.stats?.exp.toString() + goldEditText.text = user.stats?.gp.toString() + manaEditText.text = user.stats?.mp.toString() + levelEditText.text = user.stats?.lvl.toString() + streakEditText.text = user.streakCount.toString() } - fun EditText.getDoubleValue(): Double { - val stringValue = this.text.toString() + fun FixValuesEditText.getDoubleValue(): Double { + val stringValue = this.text return stringValue.toDouble() } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.kt index 2a4afc149..8c93c2018 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.kt @@ -14,12 +14,10 @@ import butterknife.BindView import com.habitrpg.android.habitica.ui.fragments.preferences.APIPreferenceFragment import com.habitrpg.android.habitica.ui.fragments.preferences.AuthenticationPreferenceFragment import com.habitrpg.android.habitica.ui.fragments.preferences.ProfilePreferencesFragment +import kotlinx.android.synthetic.main.activity_prefs.* class PrefsActivity : BaseActivity(), PreferenceFragmentCompat.OnPreferenceStartScreenCallback { - @BindView(R.id.toolbar) - lateinit var toolbar: Toolbar - override fun getLayoutResId(): Int = R.layout.activity_prefs override fun onCreate(savedInstanceState: Bundle?) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt new file mode 100644 index 000000000..2b82510d2 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt @@ -0,0 +1,61 @@ +package com.habitrpg.android.habitica.ui.views.settings + +import android.content.Context +import android.content.res.TypedArray +import android.graphics.PorterDuff +import android.support.v4.content.ContextCompat +import android.util.AttributeSet +import android.view.View +import android.widget.EditText +import android.widget.FrameLayout +import android.widget.ImageView +import android.widget.LinearLayout + +import com.habitrpg.android.habitica.R + +import butterknife.BindView +import butterknife.ButterKnife +import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper +import kotlinx.android.synthetic.main.fixvalues_edittext.view.* + +class FixValuesEditText(context: Context, attrs: AttributeSet) : FrameLayout(context, attrs) { + + var text: String + get() = editText?.text.toString() + set(value) { + editText?.setText(value) + } + + init { + View.inflate(context, R.layout.fixvalues_edittext, this) + ButterKnife.bind(this) + + val attributes = context.theme.obtainStyledAttributes( + attrs, + R.styleable.FixValuesEditText, + 0, 0) + + editText.hint = attributes.getString(R.styleable.FixValuesEditText_title) + editTextWrapper.hint = editText.hint + editTextWrapper.setHintTextAppearance(attributes.getInteger(R.styleable.FixValuesEditText_hintStyle, R.style.PurpleTextLabel)) + val backgroundDrawable = ContextCompat.getDrawable(context, R.drawable.layout_rounded_bg) + backgroundDrawable.setColorFilter(attributes.getColor(R.styleable.FixValuesEditText_iconBgColor, 0), PorterDuff.Mode.MULTIPLY) + backgroundDrawable.alpha = 50 + + iconBackgroundView.background = backgroundDrawable + + val iconName = attributes.getString(R.styleable.FixValuesEditText_fixIconName) + if (iconName == "health") { + iconView.setImageBitmap(HabiticaIconsHelper.imageOfHeartLightBg()) + } else if (iconName == "experience") { + iconView.setImageBitmap(HabiticaIconsHelper.imageOfExperience()) + } else if (iconName == "mana") { + iconView.setImageBitmap(HabiticaIconsHelper.imageOfMagic()) + } else if (iconName == "gold") { + iconView.setImageBitmap(HabiticaIconsHelper.imageOfGold()) + } else if (iconName == "level") { + iconView.setImageBitmap(HabiticaIconsHelper.imageOfRogueLightBg()) + } else if (iconName == "streak") { + } + } +}