From 36bede6201713f2a73bf1de36fc66d5270cedb73 Mon Sep 17 00:00:00 2001 From: denizk0461 Date: Sun, 4 Jun 2023 12:27:21 +0200 Subject: [PATCH] Enabled Jetifier since third-party libraries may require it; in-development options for events are now hidden if the user has not explicitly enabled them --- .../weserplaner/sheet/EventActionSheet.kt | 12 ++++++++++++ .../weserplaner/viewmodel/EventActionViewModel.kt | 15 +++++++++++++++ app/src/main/res/layout/sheet_event_action.xml | 3 +++ app/src/main/res/values-de/strings.xml | 8 ++++---- app/src/main/res/values/strings.xml | 10 +++++----- build.gradle.kts | 4 ++-- gradle.properties | 5 ++++- 7 files changed, 45 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/com/denizk0461/weserplaner/viewmodel/EventActionViewModel.kt diff --git a/app/src/main/java/com/denizk0461/weserplaner/sheet/EventActionSheet.kt b/app/src/main/java/com/denizk0461/weserplaner/sheet/EventActionSheet.kt index 771ab87..b6ba3eb 100644 --- a/app/src/main/java/com/denizk0461/weserplaner/sheet/EventActionSheet.kt +++ b/app/src/main/java/com/denizk0461/weserplaner/sheet/EventActionSheet.kt @@ -2,12 +2,14 @@ package com.denizk0461.weserplaner.sheet import android.os.Bundle import android.view.View +import androidx.fragment.app.viewModels import com.denizk0461.weserplaner.R import com.denizk0461.weserplaner.data.getParcelableCompat import com.denizk0461.weserplaner.data.viewBinding import com.denizk0461.weserplaner.databinding.SheetEventActionBinding import com.denizk0461.weserplaner.fragment.EventPageFragment import com.denizk0461.weserplaner.model.StudIPEvent +import com.denizk0461.weserplaner.viewmodel.EventActionViewModel /** * Sheet used to display actions available for a given event to the user. @@ -17,6 +19,9 @@ class EventActionSheet : AppSheet(R.layout.sheet_event_action) { // View binding private val binding: SheetEventActionBinding by viewBinding(SheetEventActionBinding::bind) + // View model + private val viewModel: EventActionViewModel by viewModels() + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -32,6 +37,13 @@ class EventActionSheet : AppSheet(R.layout.sheet_event_action) { dismiss() } + // Show in-development options if the user has enabled them + if (viewModel.preferenceBetaScreensEnabled) { + binding.buttonAddTask.visibility = View.VISIBLE + binding.buttonViewTasks.visibility = View.VISIBLE + binding.buttonFindRoom.visibility = View.VISIBLE + } + // Set up button to edit the event binding.buttonEditEvent.setOnClickListener { // Open editing sheet diff --git a/app/src/main/java/com/denizk0461/weserplaner/viewmodel/EventActionViewModel.kt b/app/src/main/java/com/denizk0461/weserplaner/viewmodel/EventActionViewModel.kt new file mode 100644 index 0000000..4b218bf --- /dev/null +++ b/app/src/main/java/com/denizk0461/weserplaner/viewmodel/EventActionViewModel.kt @@ -0,0 +1,15 @@ +package com.denizk0461.weserplaner.viewmodel + +import android.app.Application + +/** + * View model class for [com.denizk0461.weserplaner.sheet.EventActionSheet]. + */ +class EventActionViewModel(application: Application) : AppViewModel(application) { + + /** + * This value determines whether the user has enabled experimental settings. + */ + val preferenceBetaScreensEnabled: Boolean + get() = repo.getPreferenceBetaScreensEnabled() +} \ No newline at end of file diff --git a/app/src/main/res/layout/sheet_event_action.xml b/app/src/main/res/layout/sheet_event_action.xml index ddca601..32e2f67 100644 --- a/app/src/main/res/layout/sheet_event_action.xml +++ b/app/src/main/res/layout/sheet_event_action.xml @@ -84,6 +84,7 @@ Erstellungszeit Abgabezeit - %s um %s + %1$s um %2$s Du wirst nicht benachrichtigt. - Du wirst am %s um %s benachrichtigt. - Du wurdest am %s um %s benachrichtigt. + Du wirst am %1$s um %2$s benachrichtigt. + Du wurdest am %1$s um %2$s benachrichtigt. Aufgaben sind noch nicht implementiert! Aufgabe hinzufügen @@ -278,7 +278,7 @@ Gradle Build-Code & Zeit - Zeige Beta-Bildschirme + Zeige in-Entwicklung-Bildschirme Erfordert einen App-Neustart Entwicklercodes diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 85c147d..c315d4c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -92,12 +92,12 @@ Date created Date due - %s, %s - %s at %s + %1$s, %2$s + %1$s at %2$s You won\'t be notified - You will be notified on %s at %s. - You were notified on %s at %s. + You will be notified on %1$s at %2$s. + You were notified on %1$s at %2$s. Tasks are not yet implemented! Add task @@ -289,7 +289,7 @@ Gradle build code & time - Show beta screens + Show in-development screens Requires an app restart Development codes diff --git a/build.gradle.kts b/build.gradle.kts index ff05ca1..857d518 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,6 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id("com.android.application") version "8.0.1" apply false - id("com.android.library") version "8.0.1" apply false + id("com.android.application") version "8.0.2" apply false + id("com.android.library") version "8.0.2" apply false id("org.jetbrains.kotlin.android") version "1.8.21" apply false } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index a2e90d8..baa4c32 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,4 +22,7 @@ kotlin.code.style=official # thereby reducing the size of the R class for that library android.nonTransitiveRClass=true android.defaults.buildfeatures.buildconfig=true -android.nonFinalResIds=false \ No newline at end of file +android.nonFinalResIds=false + +# Required since libraries may still rely on Android support libraries +android.enableJetifier=true \ No newline at end of file