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

This commit is contained in:
denizk0461
2023-06-04 12:27:21 +02:00
parent 98a3a13623
commit 36bede6201
7 changed files with 45 additions and 12 deletions
@@ -2,12 +2,14 @@ package com.denizk0461.weserplaner.sheet
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.fragment.app.viewModels
import com.denizk0461.weserplaner.R import com.denizk0461.weserplaner.R
import com.denizk0461.weserplaner.data.getParcelableCompat import com.denizk0461.weserplaner.data.getParcelableCompat
import com.denizk0461.weserplaner.data.viewBinding import com.denizk0461.weserplaner.data.viewBinding
import com.denizk0461.weserplaner.databinding.SheetEventActionBinding import com.denizk0461.weserplaner.databinding.SheetEventActionBinding
import com.denizk0461.weserplaner.fragment.EventPageFragment import com.denizk0461.weserplaner.fragment.EventPageFragment
import com.denizk0461.weserplaner.model.StudIPEvent 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. * 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 // View binding
private val binding: SheetEventActionBinding by viewBinding(SheetEventActionBinding::bind) private val binding: SheetEventActionBinding by viewBinding(SheetEventActionBinding::bind)
// View model
private val viewModel: EventActionViewModel by viewModels()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
@@ -32,6 +37,13 @@ class EventActionSheet : AppSheet(R.layout.sheet_event_action) {
dismiss() 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 // Set up button to edit the event
binding.buttonEditEvent.setOnClickListener { binding.buttonEditEvent.setOnClickListener {
// Open editing sheet // Open editing sheet
@@ -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()
}
@@ -84,6 +84,7 @@
<!-- Add task --> <!-- Add task -->
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:visibility="gone"
android:id="@+id/button_add_task" android:id="@+id/button_add_task"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -113,6 +114,7 @@
<!-- View tasks --> <!-- View tasks -->
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:visibility="gone"
android:id="@+id/button_view_tasks" android:id="@+id/button_view_tasks"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -142,6 +144,7 @@
<!-- Find room --> <!-- Find room -->
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:visibility="gone"
android:id="@+id/button_find_room" android:id="@+id/button_find_room"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
+4 -4
View File
@@ -91,11 +91,11 @@
<string name="task_order_menu_date_created">Erstellungszeit</string> <string name="task_order_menu_date_created">Erstellungszeit</string>
<string name="task_order_menu_date_due">Abgabezeit</string> <string name="task_order_menu_date_due">Abgabezeit</string>
<string name="formatted_date_string_localised">%s um %s</string> <string name="formatted_date_string_localised">%1$s um %2$s</string>
<string name="task_item_notification_none">Du wirst nicht benachrichtigt.</string> <string name="task_item_notification_none">Du wirst nicht benachrichtigt.</string>
<string name="task_item_notification_active_future">Du wirst am %s um %s benachrichtigt.</string> <string name="task_item_notification_active_future">Du wirst am %1$s um %2$s benachrichtigt.</string>
<string name="task_item_notification_active_past">Du wurdest am %s um %s benachrichtigt.</string> <string name="task_item_notification_active_past">Du wurdest am %1$s um %2$s benachrichtigt.</string>
<string name="task_overview_snack_unimplemented">Aufgaben sind noch nicht implementiert!</string> <string name="task_overview_snack_unimplemented">Aufgaben sind noch nicht implementiert!</string>
<string name="task_overview_fab_add_task">Aufgabe hinzufügen</string> <string name="task_overview_fab_add_task">Aufgabe hinzufügen</string>
@@ -278,7 +278,7 @@
<string name="settings_build_time">Gradle Build-Code &amp; Zeit</string> <string name="settings_build_time">Gradle Build-Code &amp; Zeit</string>
<string name="settings_beta_nav_title">Zeige Beta-Bildschirme</string> <string name="settings_beta_nav_title">Zeige in-Entwicklung-Bildschirme</string>
<string name="settings_beta_nav_subtitle">Erfordert einen App-Neustart</string> <string name="settings_beta_nav_subtitle">Erfordert einen App-Neustart</string>
<string name="settings_dev_codes_title">Entwicklercodes</string> <string name="settings_dev_codes_title">Entwicklercodes</string>
+5 -5
View File
@@ -92,12 +92,12 @@
<string name="task_order_menu_date_created">Date created</string> <string name="task_order_menu_date_created">Date created</string>
<string name="task_order_menu_date_due">Date due</string> <string name="task_order_menu_date_due">Date due</string>
<string name="formatted_date_string_comma" translatable="false">%s, %s</string> <string name="formatted_date_string_comma" translatable="false">%1$s, %2$s</string>
<string name="formatted_date_string_localised">%s at %s</string> <string name="formatted_date_string_localised">%1$s at %2$s</string>
<string name="task_item_notification_none">You won\'t be notified</string> <string name="task_item_notification_none">You won\'t be notified</string>
<string name="task_item_notification_active_future">You will be notified on %s at %s.</string> <string name="task_item_notification_active_future">You will be notified on %1$s at %2$s.</string>
<string name="task_item_notification_active_past">You were notified on %s at %s.</string> <string name="task_item_notification_active_past">You were notified on %1$s at %2$s.</string>
<string name="task_overview_snack_unimplemented">Tasks are not yet implemented!</string> <string name="task_overview_snack_unimplemented">Tasks are not yet implemented!</string>
<string name="task_overview_fab_add_task">Add task</string> <string name="task_overview_fab_add_task">Add task</string>
@@ -289,7 +289,7 @@
<string name="settings_build_time">Gradle build code &amp; time</string> <string name="settings_build_time">Gradle build code &amp; time</string>
<string name="settings_beta_nav_title">Show beta screens</string> <string name="settings_beta_nav_title">Show in-development screens</string>
<string name="settings_beta_nav_subtitle">Requires an app restart</string> <string name="settings_beta_nav_subtitle">Requires an app restart</string>
<string name="settings_dev_codes_title">Development codes</string> <string name="settings_dev_codes_title">Development codes</string>
+2 -2
View File
@@ -1,6 +1,6 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins { plugins {
id("com.android.application") version "8.0.1" apply false id("com.android.application") version "8.0.2" apply false
id("com.android.library") version "8.0.1" apply false id("com.android.library") version "8.0.2" apply false
id("org.jetbrains.kotlin.android") version "1.8.21" apply false id("org.jetbrains.kotlin.android") version "1.8.21" apply false
} }
+3
View File
@@ -23,3 +23,6 @@ kotlin.code.style=official
android.nonTransitiveRClass=true android.nonTransitiveRClass=true
android.defaults.buildfeatures.buildconfig=true android.defaults.buildfeatures.buildconfig=true
android.nonFinalResIds=false android.nonFinalResIds=false
# Required since libraries may still rely on Android support libraries
android.enableJetifier=true