Contrast aan/uit: blauwe kaart = aan, grijze kaart = uit + contrastrijke switch-kleuren
This commit is contained in:
parent
0092f29740
commit
15bd0cdbfb
5 changed files with 33 additions and 3 deletions
|
|
@ -16,6 +16,10 @@ automatisch zet op basis van de Nextcloud CalDAV-agenda **EBS-Diensten**.
|
||||||
- **Wally** — 1,5 uur vóór aanvang
|
- **Wally** — 1,5 uur vóór aanvang
|
||||||
- **Vertrek** — 0,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.
|
- 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
|
- De wekker gaat volwaardig af (geluid + trillen, volledig scherm) **ook bij een
|
||||||
vergrendeld scherm**, met snooze (10 min) en "wekker uit".
|
vergrendeld scherm**, met snooze (10 min) en "wekker uit".
|
||||||
- Het toestel mag daarvoor **mobiele data** verbruiken en taken op de
|
- Het toestel mag daarvoor **mobiele data** verbruiken en taken op de
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import android.widget.Toast
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
|
import com.google.android.material.card.MaterialCardView
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import nl.eddydevink.buschauffeurswekker.core.AlarmScheduler
|
import nl.eddydevink.buschauffeurswekker.core.AlarmScheduler
|
||||||
import nl.eddydevink.buschauffeurswekker.core.AlarmSpec
|
import nl.eddydevink.buschauffeurswekker.core.AlarmSpec
|
||||||
|
|
@ -126,11 +127,20 @@ class MainActivity : AppCompatActivity() {
|
||||||
val card = inflater.inflate(R.layout.item_alarm_card, container, false)
|
val card = inflater.inflate(R.layout.item_alarm_card, container, false)
|
||||||
card.findViewById<TextView>(R.id.tv_day).text = dayLabel
|
card.findViewById<TextView>(R.id.tv_day).text = dayLabel
|
||||||
card.findViewById<TextView>(R.id.tv_name).text = spec.name
|
card.findViewById<TextView>(R.id.tv_name).text = spec.name
|
||||||
card.findViewById<TextView>(R.id.tv_time).text = TIME.format(spec.time)
|
val timeView = card.findViewById<TextView>(R.id.tv_time)
|
||||||
|
timeView.text = TIME.format(spec.time)
|
||||||
val switch = card.findViewById<Switch>(R.id.switch_alarm)
|
val switch = card.findViewById<Switch>(R.id.switch_alarm)
|
||||||
switch.setOnCheckedChangeListener(null)
|
switch.setOnCheckedChangeListener(null)
|
||||||
switch.isChecked = !disabled
|
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 ->
|
switch.setOnCheckedChangeListener { _, checked ->
|
||||||
toggleAlarm(spec, checked)
|
toggleAlarm(spec, checked)
|
||||||
renderStatus()
|
renderStatus()
|
||||||
|
|
|
||||||
7
app/src/main/res/color/switch_thumb.xml
Normal file
7
app/src/main/res/color/switch_thumb.xml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<!-- aan: donkere knop op witte track -->
|
||||||
|
<item android:state_checked="true" android:color="#0A0A0C" />
|
||||||
|
<!-- uit: lichte grijze knop op donkere track -->
|
||||||
|
<item android:color="#9AA0A6" />
|
||||||
|
</selector>
|
||||||
7
app/src/main/res/color/switch_track.xml
Normal file
7
app/src/main/res/color/switch_track.xml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<!-- helder: track wit als de wekker aan staat -->
|
||||||
|
<item android:state_checked="true" android:color="#FFFFFF" />
|
||||||
|
<!-- uit: donkergrijze track die op de grijze kaart nog zichtbaar is -->
|
||||||
|
<item android:color="#4A4A50" />
|
||||||
|
</selector>
|
||||||
|
|
@ -59,6 +59,8 @@
|
||||||
android:id="@+id/switch_alarm"
|
android:id="@+id/switch_alarm"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="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" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
Loading…
Reference in a new issue