diff --git a/README.md b/README.md index a6b4d3e..d53d366 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,10 @@ automatisch zet op basis van de Nextcloud CalDAV-agenda **EBS-Diensten**. - **Wally** — 1,5 uur vóór aanvang - **Vertrek** — 0,5 uur vóór aanvang - Staat er **geen dienst** in de agenda voor morgen, dan worden **geen wekkers** gezet. +- Per wekker is een **aan/uit-schakelaar** op het hoofdscherm: uitgezet blijft uit + (ook de dagelijkse 12:00-controle plant hem niet opnieuw) tot je hem weer aanzet. +- In **Instellingen → Wekkergeluiden** kun je per wekker een eigen geluid kiezen + via de systeem-ringtone-kiezer; standaard is het systeem-alarmgeluid. - De wekker gaat volwaardig af (geluid + trillen, volledig scherm) **ook bij een vergrendeld scherm**, met snooze (10 min) en "wekker uit". - Het toestel mag daarvoor **mobiele data** verbruiken en taken op de diff --git a/app/src/main/java/nl/eddydevink/buschauffeurswekker/MainActivity.kt b/app/src/main/java/nl/eddydevink/buschauffeurswekker/MainActivity.kt index 02fe2f6..f95ec48 100644 --- a/app/src/main/java/nl/eddydevink/buschauffeurswekker/MainActivity.kt +++ b/app/src/main/java/nl/eddydevink/buschauffeurswekker/MainActivity.kt @@ -15,6 +15,7 @@ import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.lifecycle.lifecycleScope +import com.google.android.material.card.MaterialCardView import kotlinx.coroutines.launch import nl.eddydevink.buschauffeurswekker.core.AlarmScheduler import nl.eddydevink.buschauffeurswekker.core.AlarmSpec @@ -126,11 +127,20 @@ class MainActivity : AppCompatActivity() { val card = inflater.inflate(R.layout.item_alarm_card, container, false) card.findViewById(R.id.tv_day).text = dayLabel card.findViewById(R.id.tv_name).text = spec.name - card.findViewById(R.id.tv_time).text = TIME.format(spec.time) + val timeView = card.findViewById(R.id.tv_time) + timeView.text = TIME.format(spec.time) val switch = card.findViewById(R.id.switch_alarm) switch.setOnCheckedChangeListener(null) switch.isChecked = !disabled - card.alpha = if (disabled) 0.5f else 1f + // Helder onderscheid: blauw = aan, grijs = uit (zoals de systeemwekker). + val cardView = card as MaterialCardView + if (disabled) { + cardView.setCardBackgroundColor(ContextCompat.getColor(this, R.color.card_idle)) + timeView.setTextColor(ContextCompat.getColor(this, R.color.text_muted)) + } else { + cardView.setCardBackgroundColor(ContextCompat.getColor(this, R.color.card_active)) + timeView.setTextColor(ContextCompat.getColor(this, R.color.text_bright)) + } switch.setOnCheckedChangeListener { _, checked -> toggleAlarm(spec, checked) renderStatus() diff --git a/app/src/main/res/color/switch_thumb.xml b/app/src/main/res/color/switch_thumb.xml new file mode 100644 index 0000000..7c645d2 --- /dev/null +++ b/app/src/main/res/color/switch_thumb.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/color/switch_track.xml b/app/src/main/res/color/switch_track.xml new file mode 100644 index 0000000..87408a1 --- /dev/null +++ b/app/src/main/res/color/switch_track.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_alarm_card.xml b/app/src/main/res/layout/item_alarm_card.xml index 80a34b0..c688f5e 100644 --- a/app/src/main/res/layout/item_alarm_card.xml +++ b/app/src/main/res/layout/item_alarm_card.xml @@ -59,6 +59,8 @@ android:id="@+id/switch_alarm" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:contentDescription="Wekker aan of uit" /> + android:contentDescription="Wekker aan of uit" + android:thumbTint="@color/switch_thumb" + android:trackTint="@color/switch_track" /> \ No newline at end of file