diff --git a/app/build.gradle b/app/build.gradle index 26c7fc2d..8424d39b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,7 +41,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:3.14.13' + implementation 'com.simplemobiletools:commons:3.14.17' implementation 'com.facebook.stetho:stetho:1.5.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' } diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt b/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt new file mode 100644 index 00000000..b7e74255 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt @@ -0,0 +1,80 @@ +package com.simplemobiletools.clock.dialogs + +import android.support.v7.app.AlertDialog +import android.widget.TextView +import com.simplemobiletools.clock.R +import com.simplemobiletools.clock.activities.SimpleActivity +import com.simplemobiletools.clock.extensions.config +import com.simplemobiletools.clock.extensions.formatAlarmTime +import com.simplemobiletools.clock.models.Alarm +import com.simplemobiletools.commons.extensions.applyColorFilter +import com.simplemobiletools.commons.extensions.moveLastItemToFront +import com.simplemobiletools.commons.extensions.setupDialogStuff +import kotlinx.android.synthetic.main.dialog_edit_alarm.view.* + +class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callback: () -> Unit) { + val view = activity.layoutInflater.inflate(R.layout.dialog_edit_alarm, null) + + init { + val textColor = activity.config.textColor + view.apply { + edit_alarm_time.text = alarm.timeInMinutes.formatAlarmTime() + edit_alarm_time.setOnClickListener { + + } + + colorLeftDrawable(edit_alarm_sound, textColor) + edit_alarm_sound.text = "Default alarm" + edit_alarm_sound.setOnClickListener { + + } + + colorLeftDrawable(edit_alarm_vibrate, textColor) + edit_alarm_vibrate.isChecked = alarm.vibrate + edit_alarm_vibrate_holder.setOnClickListener { + edit_alarm_vibrate.toggle() + } + + edit_alarm_label_image.applyColorFilter(textColor) + + val dayLetters = activity.resources.getStringArray(R.array.week_day_letters).toList() as ArrayList + if (activity.config.isSundayFirst) { + dayLetters.moveLastItemToFront() + } + + for (i in 0..6) { + val pow = Math.pow(2.0, i.toDouble()).toInt() + val day = activity.layoutInflater.inflate(R.layout.alarm_day, edit_alarm_days_holder, false) as TextView + day.text = dayLetters[i] + + val isDayChecked = alarm.days and pow != 0 + val drawableId = if (isDayChecked) R.drawable.circle_background_filled else R.drawable.circle_background_stroke + val drawable = activity.resources.getDrawable(drawableId) + drawable.applyColorFilter(textColor) + day.background = drawable + + day.setTextColor(if (isDayChecked) context.config.backgroundColor else textColor) + edit_alarm_days_holder.addView(day) + } + } + + AlertDialog.Builder(activity) + .setPositiveButton(R.string.ok, { dialog, which -> dialogConfirmed() }) + .setNegativeButton(R.string.cancel, null) + .create().apply { + activity.setupDialogStuff(view, this) { + + } + } + } + + private fun dialogConfirmed() { + callback() + } + + private fun colorLeftDrawable(textView: TextView, color: Int) { + val leftImage = textView.compoundDrawables.first() + leftImage.applyColorFilter(color) + textView.setCompoundDrawables(leftImage, null, null, null) + } +} diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/AlarmFragment.kt b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/AlarmFragment.kt index df7c7e87..7ad797c7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/AlarmFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/AlarmFragment.kt @@ -8,11 +8,15 @@ import android.view.ViewGroup import com.simplemobiletools.clock.R import com.simplemobiletools.clock.activities.SimpleActivity import com.simplemobiletools.clock.adapters.AlarmsAdapter +import com.simplemobiletools.clock.dialogs.EditAlarmDialog import com.simplemobiletools.clock.extensions.dbHelper +import com.simplemobiletools.clock.models.Alarm import com.simplemobiletools.commons.extensions.updateTextColors import kotlinx.android.synthetic.main.fragment_alarm.view.* class AlarmFragment : Fragment() { + private val DEFAULT_ALARM_MINUTES = 480 + lateinit var view: ViewGroup override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { @@ -29,7 +33,8 @@ class AlarmFragment : Fragment() { view.apply { context!!.updateTextColors(alarm_fragment) alarm_fab.setOnClickListener { - fabClicked() + val newAlarm = Alarm(0, DEFAULT_ALARM_MINUTES, 0, false, false, "", "") + openEditAlarm(newAlarm) } } @@ -41,7 +46,7 @@ class AlarmFragment : Fragment() { val currAdapter = view.alarms_list.adapter if (currAdapter == null) { val alarmsAdapter = AlarmsAdapter(activity as SimpleActivity, alarms, view.alarms_list) { - + openEditAlarm(it as Alarm) } view.alarms_list.adapter = alarmsAdapter } else { @@ -49,7 +54,9 @@ class AlarmFragment : Fragment() { } } - private fun fabClicked() { + private fun openEditAlarm(alarm: Alarm) { + EditAlarmDialog(activity as SimpleActivity, alarm) { + } } } diff --git a/app/src/main/res/drawable/circle_background_filled.xml b/app/src/main/res/drawable/circle_background_filled.xml new file mode 100644 index 00000000..653e6ea5 --- /dev/null +++ b/app/src/main/res/drawable/circle_background_filled.xml @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/circle_background_stroke.xml b/app/src/main/res/drawable/circle_background_stroke.xml new file mode 100644 index 00000000..62a4697a --- /dev/null +++ b/app/src/main/res/drawable/circle_background_stroke.xml @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/alarm_day.xml b/app/src/main/res/layout/alarm_day.xml new file mode 100644 index 00000000..704b8ce8 --- /dev/null +++ b/app/src/main/res/layout/alarm_day.xml @@ -0,0 +1,12 @@ + + diff --git a/app/src/main/res/layout/dialog_edit_alarm.xml b/app/src/main/res/layout/dialog_edit_alarm.xml new file mode 100644 index 00000000..deaf7c1e --- /dev/null +++ b/app/src/main/res/layout/dialog_edit_alarm.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_alarm.xml b/app/src/main/res/layout/item_alarm.xml index d8619a85..05354402 100644 --- a/app/src/main/res/layout/item_alarm.xml +++ b/app/src/main/res/layout/item_alarm.xml @@ -24,7 +24,7 @@ android:maxLines="1" android:paddingTop="@dimen/normal_margin" android:textSize="@dimen/alarm_text_size" - tools:text="7:00"/> + tools:text="07:00"/> Simple Clock Relógio Fuso horário + Vibrate + Label Relógio diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index d4c275e0..b88c1908 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -2,6 +2,8 @@ Jednoduché hodinky Hodinky Časové pásmo + Vibrovanie + Štítok Okno s časom diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index dbd6ca8e..1b256b91 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,4 +1,6 @@ + 38dp + 70sp 46sp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 039c812f..711decc2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,6 +2,8 @@ Simple Clock Clock Time zone + Vibrate + Label Clock tab