From ccd77a5daff0228ef0996095efa42e6cb7ed1302 Mon Sep 17 00:00:00 2001 From: denizk0461 Date: Thu, 27 Apr 2023 20:27:42 +0200 Subject: [PATCH] Made further documentation and safety changes. Scraper classes (StudIPParser.kt, StwParser.kt) still need to be checked for safety. --- app/src/main/AndroidManifest.xml | 2 + app/src/main/ic_launcher-playstore.png | Bin 0 -> 24353 bytes .../main/ic_launcher_very_wow-playstore.png | Bin 0 -> 17795 bytes .../studip/activity/FetcherActivity.kt | 3 +- .../data/FragmentViewBindingDelegate.kt | 2 +- .../java/com/denizk0461/studip/data/Misc.kt | 80 +++++++--- .../com/denizk0461/studip/data/StwParser.kt | 2 +- .../com/denizk0461/studip/db/AppDatabase.kt | 4 +- .../com/denizk0461/studip/db/AppRepository.kt | 23 +-- .../studip/dialog/TimePickerFragment.kt | 31 +++- .../AcademicQuarterNotApplicableException.kt | 9 ++ .../studip/fragment/CanteenFragment.kt | 22 +-- .../studip/fragment/EventFragment.kt | 1 - .../studip/fragment/SettingsFragment.kt | 2 +- .../com/denizk0461/studip/model/Allergens.kt | 4 + .../denizk0461/studip/model/CanteenOffer.kt | 2 +- .../studip/model/CanteenOfferGroupElement.kt | 6 +- .../studip/model/DietaryPrefObject.kt | 81 ---------- .../studip/model/DietaryPreferences.kt | 147 +++++++++++++++++- .../com/denizk0461/studip/model/OfferItem.kt | 2 +- .../studip/model/SettingsPreferences.kt | 22 ++- .../com/denizk0461/studip/sheet/AppSheet.kt | 5 +- .../studip/sheet/ScheduleUpdateSheet.kt | 13 +- .../com/denizk0461/studip/sheet/TextSheet.kt | 1 - .../studip/viewmodel/AppViewModel.kt | 4 +- .../studip/viewmodel/CanteenViewModel.kt | 13 +- .../drawable-v24/ic_launcher_foreground.xml | 30 ---- app/src/main/res/drawable/flatware.xml | 5 - .../res/drawable/ic_launcher_foreground.xml | 18 +++ app/src/main/res/layout/fragment_canteen.xml | 1 - app/src/main/res/layout/item_canteen_line.xml | 3 +- .../res/mipmap-anydpi-v26/ic_launcher.xml | 4 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 4 +- .../res/mipmap-anydpi-v33/ic_launcher.xml | 6 - app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4376 bytes app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 1404 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4376 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 2898 -> 0 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2681 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 982 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2681 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 1772 -> 0 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 6315 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 1900 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6315 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 3918 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 9984 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 2884 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 9984 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 5914 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 14351 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 3844 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 14351 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 7778 -> 0 bytes app/src/main/res/values-v29/themes.xml | 3 +- .../res/values/ic_launcher_background.xml | 4 + app/src/main/res/values/strings.xml | 3 - 57 files changed, 349 insertions(+), 213 deletions(-) create mode 100644 app/src/main/ic_launcher-playstore.png create mode 100644 app/src/main/ic_launcher_very_wow-playstore.png create mode 100644 app/src/main/java/com/denizk0461/studip/exception/AcademicQuarterNotApplicableException.kt delete mode 100644 app/src/main/java/com/denizk0461/studip/model/DietaryPrefObject.kt delete mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 app/src/main/res/drawable/flatware.xml create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml delete mode 100644 app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/values/ic_launcher_background.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3aecceb..a5e3a03 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,6 +14,7 @@ android:supportsRtl="true" android:theme="@style/Theme.StudIPTimetable" tools:targetApi="31"> + + MNf{Y8-3Zwa1Eu9=MwilLvNjl-qKor#$?C@18N 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 } } -fun Fragment.viewBinding(viewBindingFactory: (View) -> T) = +fun Fragment.viewBinding(viewBindingFactory: (View) -> T): FragmentViewBindingDelegate = FragmentViewBindingDelegate(this, viewBindingFactory) \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/data/Misc.kt b/app/src/main/java/com/denizk0461/studip/data/Misc.kt index 2aeea6b..092ce7e 100644 --- a/app/src/main/java/com/denizk0461/studip/data/Misc.kt +++ b/app/src/main/java/com/denizk0461/studip/data/Misc.kt @@ -5,7 +5,8 @@ import android.content.res.Resources import android.util.TypedValue import android.widget.Toast import androidx.annotation.AttrRes -import com.denizk0461.studip.R +import com.denizk0461.studip.exception.AcademicQuarterNotApplicableException +import kotlin.jvm.Throws /** * Miscellaneous functions and variables that don't belong into any specific class. @@ -45,7 +46,9 @@ fun showToast(context: Context, text: String) { * Provides a conversion method between a timestamp ending in a full hour, and one with an academic * quarter applied. */ -val timeslotsAcademicQuarter = listOf( +val timeslotsAcademicQuarter: List = listOf( + "0:00", + "2:00", "4:00", "6:00", "8:00", @@ -56,28 +59,57 @@ val timeslotsAcademicQuarter = listOf( "18:00", "20:00", "22:00", + "24:00", ) -val timeslotsAcademicQuarterStart = mapOf( - "4:00" to "4:15", - "6:00" to "6:15", - "8:00" to "8:15", - "10:00" to "10:15", - "12:00" to "12:15", - "14:00" to "14:15", - "16:00" to "16:15", - "18:00" to "18:15", - "20:00" to "20:15", -) +/** + * Provides a means of converting from a timestamp ending in a full hour to a timestamp that takes + * the academic quarter into account. Should only be used on events where it can be assumed that the + * academic quarter was implied in the timestamp. Use this for the beginning of an event. + * + * @param input timestamp to apply the academic quarter to + * @return timestamp with the academic quarter applied to it + */ +@Throws(AcademicQuarterNotApplicableException::class) +fun getTimestampAcademicQuarterStart(input: String): String = when (input) { + "0:00" -> "0:15" + "2:00" -> "2:15" + "4:00" -> "4:15" + "6:00" -> "6:15" + "8:00" -> "8:15" + "10:00" -> "10:15" + "12:00" -> "12:15" + "14:00" -> "14:15" + "16:00" -> "16:15" + "18:00" -> "18:15" + "20:00" -> "20:15" + "22:00" -> "22:15" + "24:00" -> "0:15" + else -> throw AcademicQuarterNotApplicableException() +} -val timeslotsAcademicQuarterEnd = mapOf( - "6:00" to "5:45", - "8:00" to "7:45", - "10:00" to "9:45", - "12:00" to "11:45", - "14:00" to "13:45", - "16:00" to "15:45", - "18:00" to "17:45", - "20:00" to "19:45", - "22:00" to "21:45", -) \ No newline at end of file +/** + * Provides a means of converting from a timestamp ending in a full hour to a timestamp that takes + * the academic quarter into account. Should only be used on events where it can be assumed that the + * academic quarter was implied in the timestamp. Use this for the end of an event. + * + * @param input timestamp to apply the academic quarter to + * @return timestamp with the academic quarter applied to it + */ +@Throws(AcademicQuarterNotApplicableException::class) +fun getTimestampAcademicQuarterEnd(input: String): String = when (input) { + "0:00" -> "23:45" + "2:00" -> "1:45" + "4:00" -> "3:45" + "6:00" -> "5:45" + "8:00" -> "7:45" + "10:00" -> "9:45" + "12:00" -> "11:45" + "14:00" -> "13:45" + "16:00" -> "15:45" + "18:00" -> "17:45" + "20:00" -> "19:45" + "22:00" -> "21:45" + "24:00" -> "23:45" + else -> throw AcademicQuarterNotApplicableException() +} \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/data/StwParser.kt b/app/src/main/java/com/denizk0461/studip/data/StwParser.kt index 4807d82..19fc18e 100644 --- a/app/src/main/java/com/denizk0461/studip/data/StwParser.kt +++ b/app/src/main/java/com/denizk0461/studip/data/StwParser.kt @@ -180,7 +180,7 @@ class StwParser { .getElementsByClass("field field-name-field-food-types")[0] // Parse the preferences into a string for the database - val prefString = DietaryPrefObject( + val prefString = DietaryPreferences.Object( isFair = prefs.isDietaryPreferenceMet(imageLinkPrefFair), isFish = prefs.isDietaryPreferenceMet(imageLinkPrefFish), isPoultry = prefs.isDietaryPreferenceMet(imageLinkPrefPoultry), diff --git a/app/src/main/java/com/denizk0461/studip/db/AppDatabase.kt b/app/src/main/java/com/denizk0461/studip/db/AppDatabase.kt index d3afc20..4c86893 100644 --- a/app/src/main/java/com/denizk0461/studip/db/AppDatabase.kt +++ b/app/src/main/java/com/denizk0461/studip/db/AppDatabase.kt @@ -21,7 +21,9 @@ import com.denizk0461.studip.model.* ) abstract class AppDatabase : RoomDatabase() { - // The database access object + /** + * The database access object. Database transactions go through this. + */ abstract fun dao(): AppDAO companion object { diff --git a/app/src/main/java/com/denizk0461/studip/db/AppRepository.kt b/app/src/main/java/com/denizk0461/studip/db/AppRepository.kt index 30e593e..a03bac2 100644 --- a/app/src/main/java/com/denizk0461/studip/db/AppRepository.kt +++ b/app/src/main/java/com/denizk0461/studip/db/AppRepository.kt @@ -23,7 +23,7 @@ class AppRepository(app: Application) { private val dietaryPrefString = "prefs_obj" // Blank dietary preference regular expression - private val blankDietaryPrefs: String = DietaryPrefObject.C_FALSE.toString().repeat(10) + private val blankDietaryPrefs: String = DietaryPreferences.C_FALSE.toString().repeat(10) /** * Retrieves all Stud.IP events. @@ -49,7 +49,7 @@ class AppRepository(app: Application) { * * @return opening hours */ - fun getCanteenOpeningHours() = dao.getCanteenOpeningHours() + fun getCanteenOpeningHours(): String = dao.getCanteenOpeningHours() /** * Retrieves all canteen offers. @@ -89,16 +89,17 @@ class AppRepository(app: Application) { * * @return dietary preferences as a regular expression string */ - private fun getDietaryPrefs(): String { + private fun getDietaryPrefsAsString(): String { return prefs.getString(dietaryPrefString, blankDietaryPrefs) ?: blankDietaryPrefs } /** - * Retrieve the user's dietary preferences as a DietaryPrefObject. + * Retrieve the user's dietary preferences as a [DietaryPreferences.Object]. * - * @return dietary preferences as an instance of DietaryPrefObject.kt + * @return dietary preferences as an instance of [DietaryPreferences.Object] */ - fun getDietaryPrefsAsObj(): DietaryPrefObject = DietaryPrefObject.construct(getDietaryPrefs()) + fun getDietaryPrefsAsObject(): DietaryPreferences.Object = + DietaryPreferences.construct(getDietaryPrefsAsString()) /** * Updates a given dietary preference to a new value. @@ -107,7 +108,7 @@ class AppRepository(app: Application) { * @param newValue value to set the preference to */ fun setPreference(pref: DietaryPreferences, newValue: Boolean) { - val oldString = getDietaryPrefs().toMutableList() + val oldString = getDietaryPrefsAsString().toMutableList() oldString[pref.ordinal] = newValue.toChar() val newString = oldString.joinToString("") @@ -120,7 +121,11 @@ class AppRepository(app: Application) { * * @return char denoting whether a preference needs to be met */ - private fun Boolean.toChar() = if (this) DietaryPrefObject.C_TRUE else DietaryPrefObject.C_FALSE + private fun Boolean.toChar() = if (this) { + DietaryPreferences.C_TRUE + } else { + DietaryPreferences.C_FALSE + } /** * Retrieves a single user-specified dietary preference. @@ -129,7 +134,7 @@ class AppRepository(app: Application) { * @return whether the preference needs to be met1 */ fun getBooleanPreference(pref: DietaryPreferences): Boolean = - getDietaryPrefs()[pref.ordinal] == DietaryPrefObject.C_TRUE + getDietaryPrefsAsString()[pref.ordinal] == DietaryPreferences.C_TRUE /** * Deletes all canteen offers from the database. diff --git a/app/src/main/java/com/denizk0461/studip/dialog/TimePickerFragment.kt b/app/src/main/java/com/denizk0461/studip/dialog/TimePickerFragment.kt index 87b802d..0cd2ed1 100644 --- a/app/src/main/java/com/denizk0461/studip/dialog/TimePickerFragment.kt +++ b/app/src/main/java/com/denizk0461/studip/dialog/TimePickerFragment.kt @@ -6,6 +6,13 @@ import android.app.TimePickerDialog import android.os.Bundle import android.widget.TimePicker +/** + * Dialogue used for letting the user pick a timestamp. + * + * @param timestamp timestamp that is to be edited + * @param listener listener for when the user finishes setting a time + * @param isEventStart whether the timestamp to be edited is the start of the event + */ class TimePickerFragment( private val timestamp: String, private val listener: OnTimeSetListener, @@ -14,14 +21,36 @@ class TimePickerFragment( override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val timestampSplit = timestamp.split(":") - return TimePickerDialog(activity, this, timestampSplit[0].toInt(), timestampSplit[1].toInt(), true) + return TimePickerDialog( + activity, + this, + timestampSplit[0].toInt(), + timestampSplit[1].toInt(), + true, + ) } + /** + * Custom implementation of TimePickerDialog#OnTimeSetListener that includes a boolean to find + * out whether the start or the end timestamp has been edited. + */ interface OnTimeSetListener { + + /** + * Timestamp has been edited by the user. + * + * @param hours hour of the timestamp + * @param minutes minute of the timestamp + * @param isEventStart whether the timestamp to be edited is the start of the event + */ fun onTimeSet(hours: Int, minutes: Int, isEventStart: Boolean) } + /** + * Override the implementation of TimePickerDialog#OnTimeSetListener. + */ override fun onTimeSet(picker: TimePicker?, hours: Int, minutes: Int) { + // Use custom implementation of OnTimeSetListener listener.onTimeSet(hours, minutes, isEventStart) } } \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/exception/AcademicQuarterNotApplicableException.kt b/app/src/main/java/com/denizk0461/studip/exception/AcademicQuarterNotApplicableException.kt new file mode 100644 index 0000000..cdac01e --- /dev/null +++ b/app/src/main/java/com/denizk0461/studip/exception/AcademicQuarterNotApplicableException.kt @@ -0,0 +1,9 @@ +package com.denizk0461.studip.exception + +import java.io.IOException + +/** + * This exception should be used when a conversion to an academic quarter is attempted to be applied + * to a timestamp that is not meant for it. + */ +class AcademicQuarterNotApplicableException : IOException() \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/fragment/CanteenFragment.kt b/app/src/main/java/com/denizk0461/studip/fragment/CanteenFragment.kt index 52655a0..482f689 100644 --- a/app/src/main/java/com/denizk0461/studip/fragment/CanteenFragment.kt +++ b/app/src/main/java/com/denizk0461/studip/fragment/CanteenFragment.kt @@ -108,7 +108,7 @@ class CanteenFragment : AppFragment(), CanteenOfferItemAdapter.OnClickListener { // Assign a preference value to every button to filter for dietary preferences val chipMap = mapOf( - binding.chipPrefFair to DietaryPreferences.FAIR, + binding.chipPrefFair to DietaryPreferences.WELFARE, binding.chipPrefFish to DietaryPreferences.FISH, binding.chipPrefPoultry to DietaryPreferences.POULTRY, binding.chipPrefLamb to DietaryPreferences.LAMB, @@ -255,7 +255,7 @@ class CanteenFragment : AppFragment(), CanteenOfferItemAdapter.OnClickListener { // Find all preferences that need to be met prefs.forEachIndexed { index, c -> - if (c == DietaryPrefObject.C_TRUE) indices.add(index) + if (c == DietaryPreferences.C_TRUE) indices.add(index) } // Needs to be set to correctly assemble the regular expression @@ -268,7 +268,7 @@ class CanteenFragment : AppFragment(), CanteenOfferItemAdapter.OnClickListener { // Add the expression looking for the single preference to the entire string regexString += emptyPreferenceRegex.substring(0 until index) + - DietaryPrefObject.C_TRUE + + DietaryPreferences.C_TRUE + emptyPreferenceRegex.substring(index+1) // Ensure that OR statements will be placed between the individual expressions @@ -290,7 +290,7 @@ class CanteenFragment : AppFragment(), CanteenOfferItemAdapter.OnClickListener { // Get dietary preference regex val prefsRegex = getPrefRegex() - val filteredForPreferences = if (prefsRegex.toString() == emptyPreferenceRegex) { + val filteredForPrefs = if (prefsRegex.toString() == emptyPreferenceRegex) { // Show all elements and skip filtering if no preference is set this } else { @@ -300,15 +300,15 @@ class CanteenFragment : AppFragment(), CanteenOfferItemAdapter.OnClickListener { } } - return filteredForPreferences.map { offer -> + return filteredForPrefs.map { (_, date, dateId, category, _, canteen, _, _, _, _, _) -> // Create new group elements to group the already filtered elements by their categories CanteenOfferGroup( - offer.date, - offer.dateId, - offer.category, - offer.canteen, - filteredForPreferences.filter { - it.category == offer.category && it.date == offer.date && it.canteen == offer.canteen + date, + dateId, + category, + canteen, + filteredForPrefs.filter { + it.category == category && it.date == date && it.canteen == canteen }.map { // Map the individual items to their respective groups CanteenOfferGroupElement( diff --git a/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt b/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt index 73f16b1..4eda2ae 100644 --- a/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt +++ b/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt @@ -11,7 +11,6 @@ import com.denizk0461.studip.adapter.StudIPEventPageAdapter import com.denizk0461.studip.databinding.FragmentEventBinding import com.denizk0461.studip.model.StudIPEvent import com.denizk0461.studip.sheet.ScheduleUpdateSheet -import com.denizk0461.studip.sheet.TextSheet import com.denizk0461.studip.viewmodel.EventViewModel import com.google.android.material.tabs.TabLayoutMediator import java.util.* diff --git a/app/src/main/java/com/denizk0461/studip/fragment/SettingsFragment.kt b/app/src/main/java/com/denizk0461/studip/fragment/SettingsFragment.kt index f3d0556..63d7812 100644 --- a/app/src/main/java/com/denizk0461/studip/fragment/SettingsFragment.kt +++ b/app/src/main/java/com/denizk0461/studip/fragment/SettingsFragment.kt @@ -137,7 +137,7 @@ class SettingsFragment : AppFragment() { binding.appVersionText.text = "${BuildConfig.VERSION_NAME}-${ if (BuildConfig.DEBUG) - "dev-[${SimpleDateFormat("yyyy-MM-dd, HH:mm:ss.SSS").format(Date(BuildConfig.TIMESTAMP))}]" + "dev-[${SimpleDateFormat("yyyy-MM-dd, HH:mm:ss.SSS", Locale.GERMANY).format(Date(BuildConfig.TIMESTAMP))}]" else "release" }" diff --git a/app/src/main/java/com/denizk0461/studip/model/Allergens.kt b/app/src/main/java/com/denizk0461/studip/model/Allergens.kt index e1ef3d1..f69dd01 100644 --- a/app/src/main/java/com/denizk0461/studip/model/Allergens.kt +++ b/app/src/main/java/com/denizk0461/studip/model/Allergens.kt @@ -2,7 +2,11 @@ package com.denizk0461.studip.model import com.denizk0461.studip.R +/** + * This class provides static functions for dealing with allergens present in a canteen offer. + */ object Allergens { + /** * Converts an allergen into the string ID for its localised full-text version. Elements are * derived from the website of the Studierendenwerk Bremen: diff --git a/app/src/main/java/com/denizk0461/studip/model/CanteenOffer.kt b/app/src/main/java/com/denizk0461/studip/model/CanteenOffer.kt index 57d1d09..3619e9a 100644 --- a/app/src/main/java/com/denizk0461/studip/model/CanteenOffer.kt +++ b/app/src/main/java/com/denizk0461/studip/model/CanteenOffer.kt @@ -18,7 +18,7 @@ import androidx.room.ColumnInfo * @param title text content of the individual canteen offer * @param price students' price for the individual canteen offer * @param dietaryPreferences dietary preferences used to filter for the user's needs - see - * DietaryPrefObject.kt + * [DietaryPreferences] * @param allergens allergens and additives that are present in the item */ data class CanteenOffer( diff --git a/app/src/main/java/com/denizk0461/studip/model/CanteenOfferGroupElement.kt b/app/src/main/java/com/denizk0461/studip/model/CanteenOfferGroupElement.kt index e1e18fe..11cf27b 100644 --- a/app/src/main/java/com/denizk0461/studip/model/CanteenOfferGroupElement.kt +++ b/app/src/main/java/com/denizk0461/studip/model/CanteenOfferGroupElement.kt @@ -5,10 +5,10 @@ package com.denizk0461.studip.model * this are assigned to corresponding date, canteen, and category via an instance of * CanteenOfferGroup.kt. * - * @param title text content of the individual canteen offer - * @param price students' price for the individual canteen offer + * @param title text content of the individual canteen offer + * @param price students' price for the individual canteen offer * @param dietaryPreferences dietary preferences used to filter for the user's needs - see - * DietaryPrefObject.kt + * [DietaryPreferences] * @param allergens allergens and additives that are present in the item */ data class CanteenOfferGroupElement( diff --git a/app/src/main/java/com/denizk0461/studip/model/DietaryPrefObject.kt b/app/src/main/java/com/denizk0461/studip/model/DietaryPrefObject.kt deleted file mode 100644 index 3d3e1c9..0000000 --- a/app/src/main/java/com/denizk0461/studip/model/DietaryPrefObject.kt +++ /dev/null @@ -1,81 +0,0 @@ -package com.denizk0461.studip.model - -/** - * Object that holds dietary preferences. Can be used to hold both the user-set values as well as - * the values of an individual canteen item. - * - * @param isFair item contains meat from fairly-treated animals (lol sure) - * @param isFish item contains fish - * @param isPoultry item contains chicken - * @param isLamb item contains lamb - * @param isVital i don't actually know - * @param isBeef item contains beef - * @param isPork item contains pork - * @param isVegan item is plant-based; contains no animal-derived ingredients - * @param isVegetarian item is vegetarian; contains no animal parts - * @param isGame item contains game meat (e.g. deer) - */ -data class DietaryPrefObject( - val isFair: Boolean, - val isFish: Boolean, - val isPoultry: Boolean, - val isLamb: Boolean, - val isVital: Boolean, - val isBeef: Boolean, - val isPork: Boolean, - val isVegan: Boolean, - val isVegetarian: Boolean, - val isGame: Boolean, -) { - companion object { - // Char used to construct a regex to denote that a preference is met - const val C_TRUE = 't' - // Char used to construct a regex to denote that a preference is not met - const val C_FALSE = '.' - - /** - * Constructs a DietaryPrefObject from a regex string. String must be 10 characters long. - * A char equal to C_TRUE is treated as a true boolean value. Any other char is treated as a - * false boolean value. - * - * @param values the regex string - * @return an instance of DietaryPrefObject - */ - fun construct(values: String) = DietaryPrefObject( - isFair = values[0] == C_TRUE, - isFish = values[1] == C_TRUE, - isPoultry = values[2] == C_TRUE, - isLamb = values[3] == C_TRUE, - isVital = values[4] == C_TRUE, - isBeef = values[5] == C_TRUE, - isPork = values[6] == C_TRUE, - isVegan = values[7] == C_TRUE, - isVegetarian = values[8] == C_TRUE, - isGame = values[9] == C_TRUE, - ) - } - - /** - * Constructs a regular expression string from a DietaryPrefObject. This can be used to filter for specific - * preferences. Example: - * .......t.. - * This expression filters for items that are vegan ('t' in position 8) and ignores all other - * preference options ('.' in all other positions). - * - * @return a 10-character long regular expression - */ - fun deconstruct() = String( - charArrayOf( - if (this.isFair) C_TRUE else C_FALSE, - if (this.isFish) C_TRUE else C_FALSE, - if (this.isPoultry) C_TRUE else C_FALSE, - if (this.isLamb) C_TRUE else C_FALSE, - if (this.isVital) C_TRUE else C_FALSE, - if (this.isBeef) C_TRUE else C_FALSE, - if (this.isPork) C_TRUE else C_FALSE, - if (this.isVegan) C_TRUE else C_FALSE, - if (this.isVegetarian) C_TRUE else C_FALSE, - if (this.isGame) C_TRUE else C_FALSE, - ) - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/model/DietaryPreferences.kt b/app/src/main/java/com/denizk0461/studip/model/DietaryPreferences.kt index d236961..2c5c536 100644 --- a/app/src/main/java/com/denizk0461/studip/model/DietaryPreferences.kt +++ b/app/src/main/java/com/denizk0461/studip/model/DietaryPreferences.kt @@ -3,35 +3,170 @@ package com.denizk0461.studip.model import com.denizk0461.studip.R /** - * Enumeration that can be used in conjunction with DietaryPrefObject.kt to more concisely look up, - * specify, and iterate through dietary preferences. Order of these elements matches the order used - * on the website of the Studierendenwerk Bremen. + * Enumeration for more concisely looking up, specifying, and iterating through dietary preferences. + * Order of these elements matches the order used on the website of the Studierendenwerk Bremen. * * @param value string value that can be used where the enum value itself cannot be used (e.g. * SharedPreferences) */ enum class DietaryPreferences(val value: String) { - FAIR("isFair"), + /** + * Offer contains meat for which animal welfare standards were upheld. + */ + WELFARE("isFair"), + + /** + * Offer contains fish products. + */ FISH("isFish"), + + /** + * Offer contains poultry (chicken) products. + */ POULTRY("isPoultry"), + + /** + * Offer contains lamb products. + */ LAMB("isLamb"), + + /** + * Offer contains products that are good for ur health i guess? + */ VITAL("isVital"), + + /** + * Offer contains beef (cow) products. + */ BEEF("isBeef"), + + /** + * Offer contains pork (pig) products. + */ PORK("isPork"), + + /** + * Offer contains no animal products and is fully plant-based (vegan). + */ VEGAN("isVegan"), + + /** + * Offer contains no animal parts and is vegetarian. + */ VEGETARIAN("isVegetarian"), + + /** + * Offer contains game (wild animals such as deer, gosh, is that not barbaric? Sorry for being + * dramatic, but I didn't even know that was served at our canteens until I started making this + * app). + */ GAME("isGame"), + + /** + * Offer doesn't fulfil any of the dietary preferences listed above. + */ NONE("hasNone"), + + /** + * Offer has encountered an error. + */ ERROR("onError") ; + /** + * Object that holds dietary preferences. Can be used to hold both the user-set values as well as + * the values of an individual canteen item. + * + * @param isFair item contains meat from fairly-treated animals (lol sure) + * @param isFish item contains fish + * @param isPoultry item contains chicken + * @param isLamb item contains lamb + * @param isVital i don't actually know + * @param isBeef item contains beef + * @param isPork item contains pork + * @param isVegan item is plant-based; contains no animal-derived ingredients + * @param isVegetarian item is vegetarian; contains no animal parts + * @param isGame item contains game meat (e.g. deer) + */ + data class Object( + val isFair: Boolean, + val isFish: Boolean, + val isPoultry: Boolean, + val isLamb: Boolean, + val isVital: Boolean, + val isBeef: Boolean, + val isPork: Boolean, + val isVegan: Boolean, + val isVegetarian: Boolean, + val isGame: Boolean, + ) { + /** + * Constructs a regular expression string from a DietaryPrefObject. This can be used to filter for specific + * preferences. Example: + * .......t.. + * This expression filters for items that are vegan ('t' in position 8) and ignores all other + * preference options ('.' in all other positions). + * + * @return a 10-character long regular expression + */ + fun deconstruct(): String = String( + charArrayOf( + if (this.isFair) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + if (this.isFish) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + if (this.isPoultry) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + if (this.isLamb) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + if (this.isVital) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + if (this.isBeef) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + if (this.isPork) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + if (this.isVegan) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + if (this.isVegetarian) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + if (this.isGame) DietaryPreferences.C_TRUE else DietaryPreferences.C_FALSE, + ) + ) + } + companion object { /** - * Provides a converting function between + * Char used to construct a regex to denote that a preference is met + */ + const val C_TRUE: Char = 't' + + /** + * Char used to construct a regex to denote that a preference is not met + */ + const val C_FALSE: Char = '.' + + /** + * Constructs a DietaryPrefObject from a regex string. String must be 10 characters long. + * A char equal to C_TRUE is treated as a true boolean value. Any other char is treated as a + * false boolean value. + * + * @param values the regex string + * @return an instance of DietaryPrefObject + */ + fun construct(values: String): Object = Object( + isFair = values[0] == DietaryPreferences.C_TRUE, + isFish = values[1] == DietaryPreferences.C_TRUE, + isPoultry = values[2] == DietaryPreferences.C_TRUE, + isLamb = values[3] == DietaryPreferences.C_TRUE, + isVital = values[4] == DietaryPreferences.C_TRUE, + isBeef = values[5] == DietaryPreferences.C_TRUE, + isPork = values[6] == DietaryPreferences.C_TRUE, + isVegan = values[7] == DietaryPreferences.C_TRUE, + isVegetarian = values[8] == DietaryPreferences.C_TRUE, + isGame = values[9] == DietaryPreferences.C_TRUE, + ) + + /** + * Provides a converting function between the ordinals of the enumeration and corresponding + * string and drawable values. + * + * @param index ordinal of the enum item + * @return string resource ID and drawable resource ID as a pair */ fun getData(index: Int): Pair = when (index) { - FAIR.ordinal -> Pair(R.string.pref_fair, R.drawable.handshake) + WELFARE.ordinal -> Pair(R.string.pref_fair, R.drawable.handshake) FISH.ordinal -> Pair(R.string.pref_fish, R.drawable.fish) POULTRY.ordinal -> Pair(R.string.pref_poultry, R.drawable.chicken) LAMB.ordinal -> Pair(R.string.pref_lamb, R.drawable.sheep) diff --git a/app/src/main/java/com/denizk0461/studip/model/OfferItem.kt b/app/src/main/java/com/denizk0461/studip/model/OfferItem.kt index 5b12364..af36d26 100644 --- a/app/src/main/java/com/denizk0461/studip/model/OfferItem.kt +++ b/app/src/main/java/com/denizk0461/studip/model/OfferItem.kt @@ -13,7 +13,7 @@ import androidx.room.PrimaryKey * @param title text content of the individual canteen offer * @param price students' price for the individual canteen offer * @param dietaryPreferences dietary preferences used to filter for the user's needs - see - * DietaryPrefObject.kt + * [DietaryPreferences] * @param allergens allergens and additives that are present in the item */ @Entity( diff --git a/app/src/main/java/com/denizk0461/studip/model/SettingsPreferences.kt b/app/src/main/java/com/denizk0461/studip/model/SettingsPreferences.kt index 85d339c..20a136f 100644 --- a/app/src/main/java/com/denizk0461/studip/model/SettingsPreferences.kt +++ b/app/src/main/java/com/denizk0461/studip/model/SettingsPreferences.kt @@ -7,13 +7,29 @@ package com.denizk0461.studip.model * @param key key for the SharedPreferences transaction */ enum class SettingsPreferences(val key: String) { - // Whether the user wants to have allergens displayed in the canteen overview + + /** + * Whether the user wants to have allergens displayed in the canteen overview. + */ ALLERGEN("setting_allergen"), - // Whether the user wants the next course in his schedule to be highlighted + + /** + * Whether the user wants the next course in his schedule to be highlighted. + */ COURSE_HIGHLIGHTING("setting_highlight"), + /** + * Whether the user wants the app to launch with the canteen fragment. + */ LAUNCH_CANTEEN_ON_START("settings_launch_canteen"), - // Whether the user opts into sending crash report + + /** + * Whether the user opts into sending crash report. + */ DATA_HANDLING("setting_data_handling"), + + /** + * The canteen the user has picked. + */ CANTEEN("setting_canteen"), ; } \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/sheet/AppSheet.kt b/app/src/main/java/com/denizk0461/studip/sheet/AppSheet.kt index 46ce437..de0cc16 100644 --- a/app/src/main/java/com/denizk0461/studip/sheet/AppSheet.kt +++ b/app/src/main/java/com/denizk0461/studip/sheet/AppSheet.kt @@ -19,7 +19,9 @@ open class AppSheet(@LayoutRes private val layoutId: Int) : BottomSheetDialogFra // Internal context object private lateinit var _context: Context - // Get non-null context. Only valid after onAttach() + /** + * Get non-null context. Only valid after onAttach(). + */ override fun getContext(): Context = _context override fun onAttach(context: Context) { @@ -27,7 +29,6 @@ open class AppSheet(@LayoutRes private val layoutId: Int) : BottomSheetDialogFra _context = context } - // Inflate the given layout override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View = LayoutInflater.from(context).inflate(layoutId, container, false) } \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/sheet/ScheduleUpdateSheet.kt b/app/src/main/java/com/denizk0461/studip/sheet/ScheduleUpdateSheet.kt index fa7fae9..2b1ec6b 100644 --- a/app/src/main/java/com/denizk0461/studip/sheet/ScheduleUpdateSheet.kt +++ b/app/src/main/java/com/denizk0461/studip/sheet/ScheduleUpdateSheet.kt @@ -6,14 +6,15 @@ import android.view.ViewGroup import androidx.fragment.app.FragmentActivity import androidx.transition.TransitionManager import com.denizk0461.studip.R +import com.denizk0461.studip.data.getTimestampAcademicQuarterEnd +import com.denizk0461.studip.data.getTimestampAcademicQuarterStart import com.denizk0461.studip.data.parseToMinutes import com.denizk0461.studip.data.showToast import com.denizk0461.studip.data.timeslotsAcademicQuarter -import com.denizk0461.studip.data.timeslotsAcademicQuarterEnd -import com.denizk0461.studip.data.timeslotsAcademicQuarterStart import com.denizk0461.studip.data.viewBinding import com.denizk0461.studip.databinding.SheetScheduleUpdateBinding import com.denizk0461.studip.dialog.TimePickerFragment +import com.denizk0461.studip.exception.AcademicQuarterNotApplicableException import com.denizk0461.studip.model.StudIPEvent /** @@ -60,10 +61,8 @@ class ScheduleUpdateSheet( binding.buttonAcademicQuarter.setOnClickListener { try { // Retrieve new timestamps with the academic quarter applied, or throw a tantrum - val newStart = timeslotsAcademicQuarterStart[timeslotStart] - ?: throw NullPointerException() - val newEnd = timeslotsAcademicQuarterEnd[timeslotEnd] - ?: throw NullPointerException() + val newStart = getTimestampAcademicQuarterStart(timeslotStart) + val newEnd = getTimestampAcademicQuarterEnd(timeslotEnd) // Set the buttons to the new timesatmps timeslotStart = newStart @@ -79,7 +78,7 @@ class ScheduleUpdateSheet( binding.buttonAcademicQuarter.visibility = View.GONE // Catch if a timeslot couldn't be found in the list, and tell the user - } catch (e: NullPointerException) { + } catch (e: AcademicQuarterNotApplicableException) { showToast(context, getString(R.string.sheet_schedule_update_hint_quarter_error)) } } diff --git a/app/src/main/java/com/denizk0461/studip/sheet/TextSheet.kt b/app/src/main/java/com/denizk0461/studip/sheet/TextSheet.kt index 5f2fc75..9879af5 100644 --- a/app/src/main/java/com/denizk0461/studip/sheet/TextSheet.kt +++ b/app/src/main/java/com/denizk0461/studip/sheet/TextSheet.kt @@ -2,7 +2,6 @@ package com.denizk0461.studip.sheet import android.os.Bundle import android.view.View -import androidx.annotation.StringRes import com.denizk0461.studip.R import com.denizk0461.studip.data.viewBinding import com.denizk0461.studip.databinding.SheetTextBinding diff --git a/app/src/main/java/com/denizk0461/studip/viewmodel/AppViewModel.kt b/app/src/main/java/com/denizk0461/studip/viewmodel/AppViewModel.kt index 7d77b20..5dc9ef6 100644 --- a/app/src/main/java/com/denizk0461/studip/viewmodel/AppViewModel.kt +++ b/app/src/main/java/com/denizk0461/studip/viewmodel/AppViewModel.kt @@ -18,7 +18,9 @@ import kotlinx.coroutines.runBlocking */ open class AppViewModel(app: Application) : AndroidViewModel(app) { - // Reference to the app's repository for database transactions + /** + * Reference to the app's repository for database transactions. + */ protected val repo: AppRepository = Dependencies.repo /** diff --git a/app/src/main/java/com/denizk0461/studip/viewmodel/CanteenViewModel.kt b/app/src/main/java/com/denizk0461/studip/viewmodel/CanteenViewModel.kt index f617da4..2a4ac1c 100644 --- a/app/src/main/java/com/denizk0461/studip/viewmodel/CanteenViewModel.kt +++ b/app/src/main/java/com/denizk0461/studip/viewmodel/CanteenViewModel.kt @@ -27,7 +27,7 @@ class CanteenViewModel(app: Application) : AppViewModel(app) { * * @return dietary preferences */ - fun getDietaryPrefs(): DietaryPrefObject = repo.getDietaryPrefsAsObj() + fun getDietaryPrefs(): DietaryPreferences.Object = repo.getDietaryPrefsAsObject() /** * Retrieves all canteen offer date objects. @@ -43,7 +43,13 @@ class CanteenViewModel(app: Application) : AppViewModel(app) { */ fun getCanteenOpeningHours(): String = returnBlocking { repo.getCanteenOpeningHours() } - // Fetch the canteen offers asynchronously. Updates will be provided through a LiveData object. + /** + * Fetch the canteen offers asynchronously. Updates will be provided through a LiveData object. + * + * @param canteen canteen from which to fetch offers from + * @param onRefreshUpdate action to execute when a status update is available + * @param onFinish action to execute when the operation has finished + */ fun fetchOffers(canteen: Int, onRefreshUpdate: (status: Int) -> Unit, onFinish: () -> Unit) { doAsync { parser.parse(canteen, onRefreshUpdate, onFinish) } } @@ -72,6 +78,9 @@ class CanteenViewModel(app: Application) : AppViewModel(app) { val preferenceAllergen: Boolean get() = repo.getBooleanPreference(SettingsPreferences.ALLERGEN, defaultValue = true) + /** + * This value determines which canteen the user has selected. + */ var preferenceCanteen: Int get() = repo.getIntPreference(SettingsPreferences.CANTEEN) set(newValue) { repo.setPreference(SettingsPreferences.CANTEEN, newValue) } diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 2b068d1..0000000 --- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/flatware.xml b/app/src/main/res/drawable/flatware.xml deleted file mode 100644 index e21135a..0000000 --- a/app/src/main/res/drawable/flatware.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..7e9689c --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_canteen.xml b/app/src/main/res/layout/fragment_canteen.xml index 2a29546..90f7421 100644 --- a/app/src/main/res/layout/fragment_canteen.xml +++ b/app/src/main/res/layout/fragment_canteen.xml @@ -36,7 +36,6 @@ style="@style/Widget.Material3.Button.TextButton" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="hello" android:textSize="18sp" android:fontFamily="@font/lato_bolditalic" app:layout_constraintTop_toTopOf="parent" diff --git a/app/src/main/res/layout/item_canteen_line.xml b/app/src/main/res/layout/item_canteen_line.xml index 6ed7399..5137b78 100644 --- a/app/src/main/res/layout/item_canteen_line.xml +++ b/app/src/main/res/layout/item_canteen_line.xml @@ -7,8 +7,7 @@ android:clickable="true" android:focusable="true" android:paddingHorizontal="16dp" - android:paddingVertical="2dp" - android:background="?android:attr/selectableItemBackground"> + android:paddingVertical="2dp"> - - + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index eca70cf..7353dbd 100644 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -1,5 +1,5 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml deleted file mode 100644 index 6f3b755..0000000 --- a/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c57cfd70663b525ab465a7273eb7670973c3bb96 GIT binary patch literal 4376 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 St$D%#0000e5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..c57cfd70663b525ab465a7273eb7670973c3bb96 GIT binary patch literal 4376 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 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cea0c83222926c5791d6bf5d09833a8c145c958d GIT binary patch literal 2681 zcmV-<3WoKGP)#RUN&w6A_pjGsQ0p_mb+$^c_97CNFk>Hb{a991TwpNr3oKoDEeix#AObuS`~ zZlx6g`bx(Nx`M=*z;0Aod`JV6P3*-c$}&&vt1D$cON5__Rknrl#zsLmo1?tBUrD42 zV*T95u}PkblSc{9RRQRd7{c`G#+ApRQX(A~<)>RAnXp9e0#$-Coh9P$5iHot<5D3p zNwNV`90!G1A@0BOiK`fxL)?u>gIl~xh=mFpAq}2LKix{X(&~V8vBC^)t5gD~3I(>9 z+P6%FU{XIhX~NXS5Kc)!{bQAkH1(t9$+*AFV;kQ6VOY z-!tpQRA~;Xw+PN*wU73wO5iBvY8JEW81*ADAg-fVX~v8RFVd%tmn*c1P5paN?v72g zd+cy?+qS`li6lvzP>n*!H}`R-d1+sUcrIe_VKvQi294mD<3*38Sdw=@Z&J;cNbTO#9Z9HYJ1# zFJGeDXLD%(oGG+pcz@bCVgT(KKavhEm_?WOrP8fa$LVx*I3;v#r_d>$IjelMxxvoP zf0c6PB3cw~&<^4Qn8k@bJ5bS;%Y5bJ3TBAe>=-m1kr7{~x=whVO z(o(+aVq0v7HgsWg5}iwo<SNa_dw!or#N}n0D@RWeT7V$gS_zo}LyL)4qwL&F|s@Jn7P|ZS-^Y z5lZ;j&)gpC??D^;b)}rh)!ev*F1`xABEX4NuM}?77SGT-YrvUv7t>Oxk9HXEER+fH z9lhylW;)$Gag=hR!f4m1!L)TyZ%P?Ckgx9k*;9BR9$q|$j<5QG1?N)A-ImOW{`%lP zrF{K`1%a~((Nvh9%lq#fF^~>^YohZT6X>V3J(MwXB99e0X*rkyFW^QCJz9(cXU<*R zfiQzM44uT>yRMUgZXC9=%%5l67Xs4W9Nq151^9J@olV!=C# z?p{1kY5xpX81U@zW4fM|Nf) z@l;2uBqctiMz~RTz`}seM*8{q5jvL?r%+@I>pC0gc}a;y3;+ign&|%3E41~CJ}>(+ zH{CJpGuk(43|-igM8!96(7oIXbaCqjzS}YFTUqE3xh?b39%7tdrc#qeQ+JI)nEPq3vabsx2Dh=HOyBV7hy==GF{=61j3)SkF$V>`6vMH$kjT&XQ!=U~A0q5Uk{;Zg|Bjh}W=jIo7HpLJ)Y$z2}MBDdvU zntVf}x(&?+Fsa4L)l9s!I0ud%Vmq)_q0|=QKk}vr*REQe!~kk4q|xm|`YOiQLTd0Z zUI^mM5xFh(RA({H?{MZqQB-r8mnH%)BVhbG8or-AZ+F?#=%UzQ!soC z+Z7kk<^@uzoZzbfeh=3H@P&s@NmQda<#VFL=;(jHV>=gOH9n#Q_gTx_XS{1uxKB-s z&q|ZTzV(v9YHyWpQSO`w#x{h3s znuINCY;tcNhi_1(s9Ntw1@fg>z-fA?1aJYT3SI6(Ol9$at#X{*s`*x7C-|1iC#!0R zZi6{z>YHz89GZcPRlm0;!UIWX6hvXyrR2Y%wd ziUvxT7s%@a(!<%$?Y$&!5<1;~q^K z^RgE-98pH)pH$^QAF;nk9J)rU9p^CJu9yRJRXAWPBSH>_OTAm)&aTyPm!?za zwQiBI!drVEL~w$Ot1Oa~k_FHQr|L>JhL!Lc&;ec03EjV$=U-Q_GQuQv7#cCO^!!_c zZb9m%Gp4h^Tjb%Ag_>oBm+Q??AI)6=&p)s>yh9)K#TYggHw(~F2Rcpi`sPiF>E-`S zz!==wgNOrzx}Ke#hfDps?Y$b->jdB#ZFnd2L0^pFUscehdRxNd10B%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 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

FJ$wK}0tWNB{uH;AM~i diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8028973e0c663c79189b5a77e1406f0e64cb90a7 GIT binary patch literal 6315 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp deleted file mode 100644 index 948a3070fe34c611c42c0d3ad3013a0dce358be0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8028973e0c663c79189b5a77e1406f0e64cb90a7 GIT binary patch literal 6315 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp deleted file mode 100644 index 1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3918 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 KMNUMnLSTZS{}|%{ literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp deleted file mode 100644 index 28d4b77f9f036a47549d47db79c16788749dca10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2884 zcmV-K3%m4ENk&FI3jhFDMM6+kP&il$0000G0001w0055w06|PpNY()W00EFA*|uso z=UmW3;Ri7@GcyiBW{ey$jes55b5S`|ZVZ{(x$xch{z?D+^{yErVgleVwa9qvGt40r z42;MG=7<0QySlzE=Ig6%01!FBK^$Fsxe@Hfe6aCy?Wh2r0~}@_lQAF90oTUi0FhEr z#(*;kTC(r!tQk6;gxj4h%FdHAt(^M3YvYj(!tOeN)+Hvj6+< zzyJRG?^lZfWuR#t!tUKP&(?%3v&Zd$R2YN>lB(Lq`OInY48%4%yTv2 zYe1{G`3)(PDEio5Y@-I5tUf`c%%OCJMtSW56g3iEg%3`$7XSJJHyA z<|7&N)5Xrlgv~%BO24eFd;Hd;uiK%D`EdK|quUeRZDqbh9l)%j%J#0lfrZumvA<_w zu&=AVvdChf6}eqh(bUz`(`Ue*p01{fBAcTgKyDYLs_I+YyJEk+rM@avU~>fB$n)HS zM7pfJydu`i%gfS<{PF94kZDv$t>06sAkheDzu40NJ$5CMW%n^Lls?8^p^QGWURbKu3ZduZQZ((s2? zzE`}<{;Zt7<$C|9R8A~DJ~@%x>TfP zF>TX8)@v|t)q4GjRt<}5s6hLHwRel7>V@&r-O|Av(yh;Q1A{E>Ir>p+%dHD|=l+lT zpr(Dg&>#Nu=!)6bCLr-ZS%|;h)Ij$+e@r8_{qO19QvDe=&1tmpY*0lcA^Cc-#{9fQ z<~$*<&P$Q<_jy#<$40PMofM7aQ}C=jphI`4kLg}Z7CIN#26D{-4v-_CA-LiE@(%{y!BzsU%gG`Q?sjLUf%qFSl0y)2#ae*+EI>s|i`d^V$Dn)qmzqRq6VJRY|{4ujsIU%#bnqU6MR&-1I_43=|5(6Jr;Jvert) zE?S|Tmn}Tv<-??sxV5@9t}3D=>YZ0JrQe$CO~|EY=Lj9RM&4svQHPQL6%pV5fPFiH zfXDx;l@~et{*{U*#c#Dvzu)|znDO7$#CRx)Z&yp-}SrD{&|(MQtfUz~n35@RLfUy=aqrhCX0M}J_r5QsK~NmRCR|Nm&L z41UdsLjWxSUlL41r^0K&nCCK>fdR-!MYjFg(z9_mF^C|#ZQw?`)f6uVzF^`bRnVY& zo}@M06J&_+>w9@jpaO4snmU;0t-(zYW1qVBHtuD!d?%?AtN7Plp><-1Y8Rqb20ZaP zTCgn*-Sri4Q8Xn>=gNaWQ57%!D35UkA@ksOlPB*Dvw}t02ENAqw|kFhn%ZyyW%+t{ zNdM!uqEM^;2}f+tECHbwLmH*!nZVrb$-az%t50Y2pg(HqhvY-^-lb}>^6l{$jOI6} zo_kBzj%8aX|6H5M0Y<)7pzz_wLkIpRm!;PzY)9+24wk2&TT{w--phDGDCOz{cN_ca zpnm7`$oDy=HX%0i-`769*0M6(e5j-?(?24%)<)&46y0e&6@HCDZAm9W6Ib#Y#BF6- z=30crHGg+RRTe%VBC>T00OV6F+gQDAK38Ne3N9bm|62tPccBJi)5{B z4zc^Db72XiBd}v$CF|yU{Z=M|DZ%-(XarYNclODlb1Kz1_EKLy(NSLCN`eUl(rBCL zT*jx@wNvze0|TSqgE(QArOZU)_?qH(sj#TwzElLs9q)(0u!_P|R%Cy_0JFQxgGV>1 zz4?_uq<8_gM0`c*Hh|;UMz~vrg1gQXp{ufg`hM_qU;U>+zmvc5blCLSq@PrEBSGR# z&8=2Z4uXN`F3p73ueD1l{s{k$WipAvSh5W7ABe?4)t;r@V?y`bNB5FvBuE|0VRTb< zM1Hn^?DSsJY+sX@T5xW=#>T9VEV|?<(=6|ge$X6Sb05!LFdjDcoq*gM(Zq=t;_)Le&jyt(&9jzR73noru`a# zN*<`KwGa^gZU3-)MSLF0aFag#f0<>E(bYTeHmtdbns#|I)-$)mJ`q9ctQ8g0=ET?| zdO}eZ*b_p>ygRTtR^5Ggdam=Zb5wmd{}np+Jn1d_=M`~P=M67jj})fH4ztb5yQqQW z^C|C&^LHAK-u+ooIK)yM)QM?t;|<{P;;{`p=BclzAN#JzL4jCwXkQB1Dy{=^KR`=~ zTrr)y7eiYBzSNs_DvO=4A6#EgGS-zY%Vi)N*Yb`U;6o}KR}dq{r9pT5wqZ@3NOE8- z9-(}D|Nc5732CSYQbL)!gPQ#RbD8BhK3dl{sUuPvei0tkvnJBxDEAYTesU8H$)g(Plra{VH(v3u^CO1~(+ zU0O7#)jaS4{NcwA+LuSm&VBcX2#Im3xg)W}ySNw%->orn1taZ&+d)}8gJTqA!u|5P z{yv?zol_3|(1(%M(EVU=cp?L`{Pi|ixk{U)*guFML3P!OSlz;zGA#T+E@8@cgQ_mv1o7RSU=Zo_82F?&&2r;WE z@wk}JHYEZ9nYUc(Vv~iTCa3u8e4q(yq<29VoNbKk|`mq%I6u)My=gPIDuUb&lzf4`MEA9^g8u z)vp8|$$HE9m_BTV?lOosIGa4jud=jIbw)O2eCMfyw2*S8?hjWw^nqws$O*M$3I1)x zR0PWFb3$ySOcGTe1dz%N0l;RPc`x%05FtT^f^j{YlV}zVEm0cNafDwW&>QYEzrq)K*rT zpE2%MN@Zag8&{A7O9_#E;&Hb2X}h+s3p-vs{oPjg$VUtBE&&NfE)5H8pEC_nWpRH^%_F~FrNGl zAb-Bu zUj!Q?2u}ac?%_P{3HQeDQzcRfo7_~5&rG9+>ZW^D?=K*t~`bWhykvLK^I-#6v}b5YnFsf{&J>)_|StoZlH@hWUSFGEQ5Gb1R!GXF=vj&_<`n zWSAcR@~M6hb3aarb1{Fny1Y5gJ|Wlb>{D&=RIr!(SUfl~E#Tt@+& zL-O<3bn}d%T5V-q>YGL45nPmME) zGAMJ6tI#o739;m+PT9X1|!kv4CCS6 zWzC%NFmiaNu@1S3?J9Y^giOnvk4lf**)>5+3;lgQ#Lr=gtQ;Dun|QRPlE-_Xb3Zc8 zu)bYrXcbXLKG%d)dO0%a?^W{n46csLG)cpo7-sn~^7!Pk2UCyb#%Gyw8F|#~vX20= z7@J{|zD$i92pRdDDdS%L_)PO7j6A#)!R}^McmbAVqx5yUQ5u-6e@v8_*BfW^2qX%# z%%_;sd@B}!`8udfMx@34)77kx7G>wPCi*@3SteeRp_(oq1!Mz%=!?{t)kJ2LJYMyO zSZ<-*xC~=Yl{{qwkkM#j%05lj4S?*tmLK9y^O#Iis_OTYAuxZ4m@=t%ygnN;%qeXW z32LuA8Pr-;`;;wkQ#Ld;b|aA?b*4+zlyTEVLc`7~dCDdrGel+m6ZPF7%ThCCIhJHp zxgkl0usq9IIefdW-5^!?F1XCTNHzTXW=upBWXfdg*~WaI@3Ttd^!+1u z+x069xR=TIHI*jaohD6dbC0z6osQCyZk?sIgZfHaCybFceKTD8>5b>4A76WhUK0<` z^mZ+2pC3CuBh7m95ozY*4@uM7-YZRcFq>X)(p{-iezOF-&+;gkLp?0jaJ_q+CL6N# zs6(A&QE}z-GR-rJ(moUKY%KlUtE+Tu>n5q->Q#y@<3`fo%lmo@KfUq1bZEm`so>gG z>H78S6c)FYu4+C!0*v-`_zfj z*~5oy{&w}!Me@6Y((&K6NPjI^Anjc=U)nkCTQXOpqGIh#(gi}cs~0cY5eB$&;evGL;C|`UAG@U^n>R@NRxFWr zOr0ccCd2?i_Wis>I=pe6bbQA)>FAbUr3)ud*j|HZLR|auxpUG9(&yJvUr2MGZ%;Lp zd_3*~WI3#fLF#UfcmOi?h!)CW+Gl*Gc@A})<;xX>KubS-i%uS&i~=$l>%aKaZou9K zh;nlG4jaLp-oHzpAi~IlS^=GBoPdy?{|KEM| zb0#!Twz&rW|J{9A#I)T-%@?%I((Z3dTk^i9q=IIWYqWDm4@(Evtdy4b{D5e|M7wd7 z6p$sf(12w9LO)MvA+CK!SbQIcNyBB`yI7yjfB*VZnnfm4-pAX35dN4y`-bo@UzUEG zG)|G3h4v7I{O{j;?fNLi)Q9enekLT@HEXKPwK*`a@So)GD>0Za^ku3+de6|PIb`it zEyN=)68eoQRQm{+-Jy+D3&BTN_|{7_(vkP`HnvR~YZc6~ZJVV@cPcXx2Uh=VBiw)X z?y>9RDkk0CMEYgeAnEscGwetNZ6)vTCKMnd>zkl+Z$y^E@;-yoq8sEnk@uP2u7z}J z&u;4tANh5?)6q?7V*je;)-l4tg;|pKafIEozPAzV!F8+c`jiyQdUUbzC*cyzdAf~V zKX-u3ba3OC)6d6-Y9aG>Y{9iejb$jyf1MuJg_c4n$#V2j$xJ^EO~= z#V8CWNl6}P-H`q_2t))62U*^yq=0{P`P^CIVf;m!c!%?5RtX4!;F=VSOpB8~ir3~q z<|VEfV(TM7g>jiCdTvi%F$9|bY6lvnh)?Hl-{sl$^ET#@$mZ&$OV%--+_gjcu4R^8 zzoM|9(~HuD6UXU$FPu6dEqePEyFMkwh7q4z$9L(>X=(9$uiN!;GYYUqMx5!bMCSgG zeTmk{xbHJ8)sV@^Q>63EG2_wusXyTB1e)Hq1&wa_7*Filu82TLB5s>#@uLtm9r|UB zG$GqI;wlN?&?5!H$M@&LA3UE95uE9F4Vo5^eTkfDrowLfCfzj98STTd`qN&%PoQ=! zrSr#+TF2;29!SKu_omzUQNWV--?Z!J3J@j!I(irl>2X~U351vT^8{eVu*lletosVG zciD__^VQA}SUoS(vcJob^K2aeZvN{peV#ybo@qxM)XUZ}p5FJDqG)mUQ>{s~dBE)i zLT+f&=;6|p^XI73eCm%~RI4M;ChzMBu&;7JW_ov8XwACdfJ+sucjsuiB6bE5LMpS)8J<8 zZA17&;DAeJjJ>JC=nPZe;&MN7tokI!I;oZ@tgl@kZv#HYp9|($$NBfNMT!=DrxBBK za`(;>6A0^Tvz~aEF2eGN3(ooK0X<89arFkM86(lym*9Y60twMqCE}H@RO0^t$foji zJYKP$Gx3fTx}F2Ud2(XpseWh`_%>K5MLr7I-tSxAEzN!IQR&p4->t$&)?A4RL&y)u zStO8CQ4%plbUA}K>@(UwK(+I~`}Wd^5LE$KSj9@d#~o(JpwU?WMBOih1K823%#7u* zb+6v>F;T?-IYTd6O!OrJr4FKSPVC%HCkmNqtU7PaA1y8F@@k<(n$YaV#7(?2)!{^f zEOVZ2E6sbMJr&;C&vK>hQzj56zBetKfcl3?ID6=TCAC0&ii`i8vJpBbIn1v3*~OtS z0<9a|kCFlouY3&*z6~_g#;=A*zt5dP*S+B9V0q%mreEls%~tKskrF%1pHp5uSCj$H1%W527U@Cx72XC;QxyLj;Fyar6j%YT?UVK6}=hwS{wxRdZhFBPWa;S1z2F zmVf+Sp@c39(5U-YEVa812nw>oKRQdsyng5as`(DCT}l5gE|kJa26>j}yhrm&NWxAb zno`L)JOP$eygs~%LF!@%e+gW`c?WWy6xo=~t2ipnI7q4g1EBuJMo46$koC1r9{x{! zBMAN2Z(FEVLedPAk3LZ604Cgu^XH{Ygb>HKZ?ysZn1y8WQAdMF>cp-cv}9t>k8^Br zaNR1}ALSMNcSkpGwA3t-@%*)9AZ;DOb5Cqez79wzPA;DXbB5NsV&SCz+Rm=?Q2Aebw0aofWDY+lH$k_GaG?q~ z;glbg!~CDeqC*0RD%(#lrqG0~8}fl5A-B56Xal>(As_M4fq?p8femsi;2O8Ks_Nx*Rs5CJ1u?MMX-6m-llBq5bydHQXfc}nTCM;DLiCODj`xib{lE#Q2*f&79+e(9%oPV3fXyyb z1VTN}^zRg}rXzz4vjg7;*V#2=vd4<&;7_d^I)M62M>cJsMf-9hUAuaP=9s3nzQ^wU zE`nAmb~kJDzzL@aluc9>d8tC)ILlQ6ArFN56@FtoNLcR^2{HjQ9=(s40ZZKyCLVja zl!nYdz5bky0O_JQ1itVd1 zZa8k)mQGd48`t3?u9&cI?@6=q4Unr*Qm|ecz!?8tzWBx%7b+hkgeVFRyIV^mf&`E? z$HqnEnUEuslL#6Wk)M2NM+qQ%n6iF}y3K?WH5fOF4&`$!VOoW{ettE_WtevIi^wlr z940nTk^cB$ruByQl4wQALS<u6VNNz4(}o;P9Z77J)dBwO;no zJ9d#85|daB*f4yM%Vn@!_Wcued#d~S;i%vWj3b3NmO!k~P7`=LVcr3}S!oUkz|K$6 zg!v+Ykm==5F1Gb-8a>Qz{i-;~2?YPclc9A{0EwWDu#H?yO;92c{|s67sSn>__rBr) z*~5)NE~sg6t#EK7+mRV#1giL4bXdgrEYnGT5&4CS1G3Bf1`r`&p-}15?P*}2x;W8T zLQqmv4}gT?HU3_<*sBi;qDU+%%M+YP1;C|H8tQWb4Q?Fs&pi!;k@dl7RmG|*BL}5(qc4VfbLXKHi3$K&Wq4x|oV59_Ei<17$0y zHInx$ZNR@n>O{VPi~l1*>8v&21p2&j%;iTKHAn+DvKu zz!$@KIe}csM5DiW4U}e-=7OgqAe)Vytv2N&Nbg$*P1NR!-rel_ zcpG>Mp&99FJOQFGd7t8dG8B{zi@Gw z^K3htiM3>+m7RX!Y2bJ{oDjyxh+LJ@F=8!D^f9o93u{*Le%=POqFf7Y{OWVNesXXE zeU=h)DziZlzWvZKfp{fi(~!Ci$GTWd2B4Tqth__%XmN)(l{VyCn_Y3DAsE~nzsC7v zN2OU$wzBKz3y|-kJwnD^T~p{{oY@M>wbob>HqP=WsXVfenCzKIQ#HaM|Z3MeiY; zs1I%ww>zV}#&Rk{-O(AwHR45-Vr6a*nnuT@q83{IcW*-^5PSlZn#%hW2Rsy)&!4jj z1e*k~vqIj_7eH&YWII%lZjtvBF`mdCbCdq@8<}JWX`iAUVsB@R!CDG^ercv1IO8% zKXJ^4K*gC`es<86TC zIFW;o6FD4bLR%3qVOT)rrW%!lzLqfMKq^Hf55_#T)tz?zIL4zQk!|gH*BF6g?`kt{ z6kX2Yhb=vpFK4YaAX(qd)sj}5JkVtp#{1aBB4dnwVpamJT&lPn6sN7yy=5#C!$wEc zNz42B0(Q=re1kk>yt`&haY%MbAmT*hTYX;FH~JKuP(q-ZADW^b1A$ygB-$MBLhLT; zji)@|8!3Jcl%9&AEl#Xga=;X@;LYc4o@xNqnDTz!1~eshj93Xov=26N%KM1`fr$M7 z`yw?~dOD)vtKfuF1Zt_(A_}YVY-C8fs|%{~jfGgHR&sb#X@KqvL)n9i`@#U2<^v== z#wqvwUXiqu_wzQ8F^9GlD+iD`mG=|Dv(TTV=r7-2Kj>a?B3q-O$KJ^}W7EoITjKm` z;kEr65eMooTuiAM!^S$1K+r(n-PhEvpSOWMT*tR>qa?yYs8RyKXF~BDwoT(cv8IN7 z?(%-#20hrJYbW|(Upjr75^4Fz@7nbfVGZFEq7R1DsEiy?HI_tlNFcP^f=Orc8ay&B zZXqtB)RC4KTKQr{B9dtHUw(@24#jc?b~`8~Im`fms&N|0iryd6!x7~Dya}Wla0xSW?Y0y9QpYjgb&KR=i+hdChL%4Y`#Rwu6kgHvJ#D~-fp8gMqWNFZNKB+hLA zARQO7$6LmKZ85P9oXWz0L!kIQVu!@aejm|deR)4`0pAjUL)3Yc2O~I7@ZAnIbzVb)+E(F}eYKaVZ0(8>lEmDJz_5IQ~l4!r(BA z_lfhdi_7ko7A7=LvGMUxD~+$+a^?^%?m!PE4)jxzp>Kig6;gx^m|P6*-opMfd*f`>wbo&X073LI$OxF1xTKr<>WZVN8%j26Oa67p{Y z#KNl5EUza4%^{vrkK=XmMJ98fbABZqPrbN(8xamnA-=6h-q)RgnZ@A=$hE7#Ey2UufuD!C0$S9rD_sf1-X6F76D0R`%^- zLmor{sI^gAuOjvXyhx(d{A|Jdi)h>r3hEFU+H!n`$*El$ zyJz3{9<6JaFHvXJ(@&*R-1w4|tMp4uoc*Sq?_1p^tsgSLvW6zBtr3B<5wXPa$Gn-e zOavKkMGksX%eP)*tqnfb;f?EM-_cq?OEXX^?8@QhMZs#mlJr+e1pX*w?~4D!8*E-> z!k~KORWmF#)~NzBYF&agw2Yx4hft&~| zr(8LA&PKDrFN3y(lZ`MkcUD8TZ~RKUQxO} zroy+uo#%dux~om=*J}+~lkmG1WY0KIq6QUKC8%1pVDcLANwR*Hs)cSIh%4`%W5ZEA zAHige%G45>FW#s#9cpo=L)&OVT78{vyhaD0YN4_ZrhWP+=?d5NcHm zl}&K%gYQOtSw|x;ZG$RR@TDqPM0bnxEN^0FIxM1Q)s!Krv4=2_;P zVKu7Y@F-}X0LYlh+U<>o^aRxyQzKu~H|z%Q9T`md09E)dc-Hx|lo;vp@cOxsrKhzI zZ`2nes7+$LhU8V>H!=EWm@+aTOJt_Pr@_c`4G;d?aS`i@3}cuqQM%)H-$&l85m{ih zYPXZui0t5i2Zl5@T*ScCB@W*Qmr>7z=u7E!spA~ssmQCS28JR>Q1fJ%Hk0y1N=Luv-HEEVm;o7JJNYB{+IPFUK2B>h3ulc*%}EpYOT!A=Wv)ZzO6 z{!Jk>BD)aCkjb*t$io|VsB3Xk)>aep?B^*l^eci?f5>+LSs-DUo2a|qqG3=+$ST<1 zAKC{CrXF{ki)!4IVbQH#VCBkM@*0b?WN;)1b~dV6YVU)swEs5%evdZv3&@Dc3i&*~ zU|Q+VI%N1VNKD>$kP~BSo z{t@I=A5^1C+Q;!xzpErFJ#g}TMdtinW8|NKHL7Gn7EC4x*}d-f6xFytgp6hYbJSvV zwQD!;86UNmlSqEUD%=N=JnzLt?u)2Z>n_NE$O3K!7D^!-pYVH%Y8V(YnsCqpd1M9> z^)PF9t3HwEASMdmiHqFB$ipKpY>I$P+*W1i$;OvD=yo8+{#atpGKgcn5%njyQ8mPO z9}udO*8=S6>TC$#5?I3@XZnCVn0rKAkVUC2Rk)*Z62aRK4yar?n!Fk+R;-xV#SpRN z^TyUZ5luSECq#vF;0asI<)D-p>Gc@R&t#61G1qL)Q5+8$aPs)P_Ti03W;DDfxV?tu zhGNML#*?seDr!;aPFM2es3cMjZnE(6CrLW#C0(N#WNs5M$84@qEg^>MWrjSw$w?H< zl2|e1M$OMfH~b7c0Y;}AtrMZbIdJlz4y$)!biosmAww~zm|Hf-T=SG!^6(~-2zEFS zE5Ow&RWgvDP4|TcztG*J-H)s_t!h+FnnMUC>pFbN_l=PU?`jbAD#(L5C3A~V9S$?* z+Gi4l?r7X6qNkqu;oLn7iHyiobdJ?5MvV%#3aO!f;ou=UUO!3F!{1pJP~E>7=CDqs zN^zJ|Hn%+5D$|-r-nb^hjUg9-g}jD@M6u*G4t`OG$j|}36LjYhhQcXC(YLCNnARb4 zfjL1Mq(^-8`SuYF24T)HckDq#Nh;W~M{GRVh-@fMKMNr?JGxq>N=B&R zc5Z_1GAB|Va!1TZD$8Wz-l1xn7(C8B5gtkEv6-yAfmlvYKCM49Y+lCRxjC*G0 z3N<{K3(SeCb&6@CZ-jgXq6?_(M&uVUh&=q5MygY#O2(s+4f?!oh*;m7Jh{+HY=J12!-uK8a$PPX^SUFY8+7Kv8SU#N4{%}+|nm8`Vyiyu9<8IW$~M=q~eeZ z-&u&);AG+c3?~fwLDPUVxrw?<7$e3?#{4+Oj(fnp;GUSq(Xe~PJ>%Xn2RuAi$)lhZ zMI@?`n2%(vXfbWnyb&a)2i1G3gSNr2PKJn8B#JqPoD%ASK`8hd5GsR3&0(Hbkt%m@;m!_cR$}3LC2#W5+!(ABSrkP8@{h zDskMStpoujhS#cg&wXLRZ$6_98}&wvW@$H5)E=Ut z&Oop*d5CyGESMFRZxRVsD9{Iev4Ilr#pzzqF7U^4$+f$gw0rPb_)PNIoisJ8-ODr$ z#uSe+vauoykF_h@1MUU)q-q=wHjzm12avW$5)F|FR6f>%A~~4^&15AML6ewzwOh3e z4SwU%h>%ZSj1C*$Q5QDv?O4s4uExmiJxq~*<(Q)m6943QpCsL>zKPNQ_9w_CKj)I) z^^A``*xjVv+sz!g{q5NBHLvL!&BHa?M}+jpHF50<6)L2$&!U78Gz}+BBpWNnjIqNx z#=YR4RN|CE<3xf(iHL-2B?y9(32Q^)NK96*R4ER^t9HY0l9LL6hDd?%1N{A)6RpuA zqE5~G^>u1I2;gV@4u4|=X-tqTyx&R|d{itUun1YjCpQ+V~877W+(m zHpYOlh@_Eg8GdUQQH|EGl7c^2UWLCzlA2L4^G8B1vvpviu*5p>YSgSZmq<0000< KMNUMnLSTZS{}|%{ literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp deleted file mode 100644 index 9287f5083623b375139afb391af71cc533a7dd37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5914 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeN2%e0-}fw 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s diff --git a/app/src/main/res/values-v29/themes.xml b/app/src/main/res/values-v29/themes.xml index fe5092b..5b2a3a2 100644 --- a/app/src/main/res/values-v29/themes.xml +++ b/app/src/main/res/values-v29/themes.xml @@ -1,5 +1,4 @@ - - +