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