diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java deleted file mode 100644 index 4fc43031f..000000000 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (C) 2016 Álinson Santos Xavier - * - * This file is part of Loop Habit Tracker. - * - * Loop Habit Tracker is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by the - * Free Software Foundation, either version 3 of the License, or (at your - * option) any later version. - * - * Loop Habit Tracker is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package org.isoron.uhabits.activities.habits.show.views; - -import android.annotation.*; -import android.content.*; -import android.content.res.*; -import android.util.*; -import android.widget.*; - -import org.isoron.uhabits.R; -import org.isoron.uhabits.core.models.*; -import org.isoron.uhabits.core.tasks.*; -import org.isoron.uhabits.utils.*; - -import butterknife.*; - -public class SubtitleCard extends HabitCard -{ - @BindView(R.id.questionLabel) - TextView questionLabel; - - @BindView(R.id.frequencyLabel) - TextView frequencyLabel; - - @BindView(R.id.reminderLabel) - TextView reminderLabel; - - public SubtitleCard(Context context, AttributeSet attrs) - { - super(context, attrs); - init(); - } - - @Override - protected void refreshData() - { - Habit habit = getHabit(); - int color = PaletteUtils.getColor(getContext(), habit.getColor()); - - reminderLabel.setText(getResources().getString(R.string.reminder_off)); - questionLabel.setVisibility(VISIBLE); - - questionLabel.setTextColor(color); - questionLabel.setText(habit.getQuestion()); - frequencyLabel.setText(toText(habit.getFrequency())); - - if (habit.hasReminder()) updateReminderText(habit.getReminder()); - - if (habit.getQuestion().isEmpty()) questionLabel.setVisibility(GONE); - - invalidate(); - } - - private void init() - { - inflate(getContext(), R.layout.show_habit_subtitle, this); - ButterKnife.bind(this); - - if (isInEditMode()) initEditMode(); - } - - @SuppressLint("SetTextI18n") - private void initEditMode() - { - questionLabel.setTextColor(PaletteUtils.getAndroidTestColor(1)); - questionLabel.setText("Have you meditated today?"); - reminderLabel.setText("08:00"); - } - - private String toText(Frequency freq) - { - Resources resources = getResources(); - Integer num = freq.getNumerator(); - Integer den = freq.getDenominator(); - - if (num.equals(den)) return resources.getString(R.string.every_day); - - if (num == 1) - { - if (den == 7) return resources.getString(R.string.every_week); - if (den % 7 == 0) - return resources.getString(R.string.every_x_weeks, den / 7); - return resources.getString(R.string.every_x_days, den); - } - - String times_every = resources.getString(R.string.times_every); - return String.format("%d %s %d %s", num, times_every, den, - resources.getString(R.string.days)); - } - - private void updateReminderText(Reminder reminder) - { - reminderLabel.setText( - AndroidDateUtils.formatTime(getContext(), reminder.getHour(), - reminder.getMinute())); - } - - @Override - protected Task createRefreshTask() { - // Never called - throw new IllegalStateException(); - } -} diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.kt new file mode 100644 index 000000000..869b86fa9 --- /dev/null +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.kt @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2016 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package org.isoron.uhabits.activities.habits.show.views + +import android.annotation.* +import android.content.* +import android.util.* +import android.view.* +import org.isoron.androidbase.utils.* +import org.isoron.uhabits.* +import org.isoron.uhabits.activities.habits.list.views.* +import org.isoron.uhabits.core.models.* +import org.isoron.uhabits.core.tasks.* +import org.isoron.uhabits.databinding.* +import org.isoron.uhabits.utils.* +import org.isoron.uhabits.utils.PaletteUtils.getAndroidTestColor +import org.isoron.uhabits.utils.PaletteUtils.getColor +import java.util.* + +class SubtitleCard(context: Context?, attrs: AttributeSet?) : HabitCard(context, attrs) { + + init { + init() + } + + private lateinit var binding: ShowHabitSubtitleBinding + + public override fun refreshData() { + val habit = habit + val color = getColor(context, habit.color) + if (habit.isNumerical) { + binding.targetText.text = "${habit.targetValue.toShortString()} ${habit.unit}" + } else { + binding.targetIcon.visibility = View.GONE + binding.targetText.visibility = View.GONE + } + binding.reminderLabel.text = resources.getString(R.string.reminder_off) + binding.questionLabel.visibility = View.VISIBLE + binding.questionLabel.setTextColor(color) + binding.questionLabel.text = habit.question + binding.frequencyLabel.text = toText(habit.frequency) + if (habit.hasReminder()) updateReminderText(habit.reminder) + if (habit.question.isEmpty()) binding.questionLabel.visibility = View.GONE + invalidate() + } + + private fun init() { + val fontAwesome = InterfaceUtils.getFontAwesome(context) + binding = ShowHabitSubtitleBinding.inflate(LayoutInflater.from(context), this) + binding.targetIcon.typeface = fontAwesome + binding.frequencyIcon.typeface = fontAwesome + binding.reminderIcon.typeface = fontAwesome + if (isInEditMode) initEditMode() + } + + @SuppressLint("SetTextI18n") + private fun initEditMode() { + binding.questionLabel.setTextColor(getAndroidTestColor(1)) + binding.questionLabel.text = "Have you meditated today?" + binding.reminderLabel.text = "08:00" + } + + private fun toText(freq: Frequency): String { + val resources = resources + val num = freq.numerator + val den = freq.denominator + if (num == den) return resources.getString(R.string.every_day) + if (num == 1) { + if (den == 7) return resources.getString(R.string.every_week) + if (den % 7 == 0) return resources.getString(R.string.every_x_weeks, den / 7) + return if (den >= 30) resources.getString(R.string.every_month) else resources.getString(R.string.every_x_days, den) + } + val times_every = resources.getString(R.string.times_every) + return String.format(Locale.US, "%d %s %d %s", num, times_every, den, + resources.getString(R.string.days)) + } + + private fun updateReminderText(reminder: Reminder) { + binding.reminderLabel.text = AndroidDateUtils.formatTime(context, reminder.hour, + reminder.minute) + } + + override fun createRefreshTask(): Task { + // Never called + throw IllegalStateException() + } + +} \ No newline at end of file diff --git a/android/uhabits-android/src/main/res/drawable-hdpi/ic_alarm_black.png b/android/uhabits-android/src/main/res/drawable-hdpi/ic_alarm_black.png deleted file mode 100644 index 907491104..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-hdpi/ic_alarm_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-hdpi/ic_alarm_white.png b/android/uhabits-android/src/main/res/drawable-hdpi/ic_alarm_white.png deleted file mode 100644 index 6dc94d2b5..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-hdpi/ic_alarm_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-hdpi/ic_repeat_black.png b/android/uhabits-android/src/main/res/drawable-hdpi/ic_repeat_black.png deleted file mode 100644 index d8b42bbe4..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-hdpi/ic_repeat_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-hdpi/ic_repeat_white.png b/android/uhabits-android/src/main/res/drawable-hdpi/ic_repeat_white.png deleted file mode 100644 index 81c5be793..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-hdpi/ic_repeat_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-mdpi/ic_alarm_black.png b/android/uhabits-android/src/main/res/drawable-mdpi/ic_alarm_black.png deleted file mode 100644 index ed2f90aee..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-mdpi/ic_alarm_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-mdpi/ic_alarm_white.png b/android/uhabits-android/src/main/res/drawable-mdpi/ic_alarm_white.png deleted file mode 100644 index ca4f94707..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-mdpi/ic_alarm_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-mdpi/ic_repeat_black.png b/android/uhabits-android/src/main/res/drawable-mdpi/ic_repeat_black.png deleted file mode 100644 index c00a24ebf..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-mdpi/ic_repeat_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-mdpi/ic_repeat_white.png b/android/uhabits-android/src/main/res/drawable-mdpi/ic_repeat_white.png deleted file mode 100644 index b1c2e04ab..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-mdpi/ic_repeat_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xhdpi/ic_alarm_black.png b/android/uhabits-android/src/main/res/drawable-xhdpi/ic_alarm_black.png deleted file mode 100644 index e37eab0e4..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xhdpi/ic_alarm_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xhdpi/ic_alarm_white.png b/android/uhabits-android/src/main/res/drawable-xhdpi/ic_alarm_white.png deleted file mode 100644 index 280e09df3..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xhdpi/ic_alarm_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xhdpi/ic_repeat_black.png b/android/uhabits-android/src/main/res/drawable-xhdpi/ic_repeat_black.png deleted file mode 100644 index 75ecb0462..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xhdpi/ic_repeat_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xhdpi/ic_repeat_white.png b/android/uhabits-android/src/main/res/drawable-xhdpi/ic_repeat_white.png deleted file mode 100644 index ad8b8c0df..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xhdpi/ic_repeat_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_alarm_black.png b/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_alarm_black.png deleted file mode 100644 index eb1d08d7a..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_alarm_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_alarm_white.png b/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_alarm_white.png deleted file mode 100644 index 75e5a46ee..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_alarm_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_repeat_black.png b/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_repeat_black.png deleted file mode 100644 index 965a319ff..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_repeat_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_repeat_white.png b/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_repeat_white.png deleted file mode 100644 index 5de7a2951..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xxhdpi/ic_repeat_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_alarm_black.png b/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_alarm_black.png deleted file mode 100644 index 04b6c71d7..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_alarm_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_alarm_white.png b/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_alarm_white.png deleted file mode 100644 index aa8102fd2..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_alarm_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_repeat_black.png b/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_repeat_black.png deleted file mode 100644 index fd4d0c028..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_repeat_black.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_repeat_white.png b/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_repeat_white.png deleted file mode 100644 index c7f3072ee..000000000 Binary files a/android/uhabits-android/src/main/res/drawable-xxxhdpi/ic_repeat_white.png and /dev/null differ diff --git a/android/uhabits-android/src/main/res/layout/show_habit_subtitle.xml b/android/uhabits-android/src/main/res/layout/show_habit_subtitle.xml index 9533a5f54..7fa3445d8 100644 --- a/android/uhabits-android/src/main/res/layout/show_habit_subtitle.xml +++ b/android/uhabits-android/src/main/res/layout/show_habit_subtitle.xml @@ -24,6 +24,7 @@ tools:orientation="vertical" tools:layout_width="match_parent" tools:layout_height="wrap_content"> + - + + + + + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/fa_calendar" + android:textColor="?mediumContrastTextColor" + android:textSize="@dimen/smallTextSize" /> - + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/fa_bell_o" + android:textColor="?mediumContrastTextColor" + android:textSize="@dimen/smallTextSize" /> diff --git a/android/uhabits-android/src/main/res/values/attrs.xml b/android/uhabits-android/src/main/res/values/attrs.xml index a6a431075..4fb100075 100644 --- a/android/uhabits-android/src/main/res/values/attrs.xml +++ b/android/uhabits-android/src/main/res/values/attrs.xml @@ -41,8 +41,6 @@ - - diff --git a/android/uhabits-android/src/main/res/values/fontawesome.xml b/android/uhabits-android/src/main/res/values/fontawesome.xml index 964b03954..ff6aef460 100644 --- a/android/uhabits-android/src/main/res/values/fontawesome.xml +++ b/android/uhabits-android/src/main/res/values/fontawesome.xml @@ -21,11 +21,16 @@ - + + + + + + @@ -131,13 +136,11 @@ - - @@ -174,7 +177,6 @@ - @@ -182,7 +184,6 @@ - @@ -238,7 +239,6 @@ - diff --git a/android/uhabits-android/src/main/res/values/styles.xml b/android/uhabits-android/src/main/res/values/styles.xml index 7f4f4291c..0e7035784 100644 --- a/android/uhabits-android/src/main/res/values/styles.xml +++ b/android/uhabits-android/src/main/res/values/styles.xml @@ -58,8 +58,6 @@ @drawable/ic_action_unarchive_dark @drawable/ic_action_color_dark @drawable/ic_action_filter_dark - @drawable/ic_repeat_black - @drawable/ic_alarm_black @drawable/ic_action_color_light @style/ThemeOverlay.AppCompat.Light @@ -112,8 +110,6 @@ @drawable/ic_action_filter_dark @drawable/ic_action_color_dark @drawable/ic_action_color_dark - @drawable/ic_repeat_white - @drawable/ic_alarm_white @style/ThemeOverlay.AppCompat