From 2cc2ecf95271089d6ae5e4f85ff49a4f149c4519 Mon Sep 17 00:00:00 2001 From: Seil0 Date: Tue, 25 Jun 2019 17:10:57 +0200 Subject: [PATCH] theme the dialogs and navView too, added a License dialog --- app/build.gradle | 4 ++ .../fragments/SettingsFragment.kt | 25 ++++++++-- app/src/main/res/layout/activity_main.xml | 3 +- app/src/main/res/layout/fragment_settings.xml | 17 +++++++ .../main/res/layout/fragment_timetable.xml | 2 +- app/src/main/res/raw/notices.xml | 39 +++++++++++++++ app/src/main/res/values-de-rDE/strings.xml | 2 + app/src/main/res/values/strings.xml | 47 ++++++++++--------- app/src/main/res/values/styles.xml | 13 +++++ 9 files changed, 123 insertions(+), 29 deletions(-) create mode 100644 app/src/main/res/raw/notices.xml diff --git a/app/build.gradle b/app/build.gradle index 508f54c..20e235b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -26,7 +26,10 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } } @@ -43,6 +46,7 @@ dependencies { implementation 'com.afollestad:aesthetic:1.0.0-beta05' implementation 'com.afollestad.material-dialogs:core:2.8.1' implementation 'com.afollestad.material-dialogs:color:2.8.1' + implementation 'de.psdev.licensesdialog:licensesdialog:2.1.0' testImplementation 'junit:junit:4.12' diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt index 650bdf6..a244a3a 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt @@ -24,6 +24,7 @@ package org.mosad.seil0.projectlaogai.fragments import android.content.Context import android.os.Bundle +import android.util.TypedValue import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -35,23 +36,24 @@ import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.color.colorChooser import com.afollestad.materialdialogs.customview.customView import com.afollestad.materialdialogs.list.listItems +import com.afollestad.materialdialogs.list.listItemsSingleChoice +import de.psdev.licensesdialog.LicensesDialog import kotlinx.android.synthetic.main.fragment_settings.* import org.jetbrains.anko.doAsync import org.jetbrains.anko.uiThread import org.mosad.seil0.projectlaogai.BuildConfig +import org.mosad.seil0.projectlaogai.R +import org.mosad.seil0.projectlaogai.controller.CacheController +import org.mosad.seil0.projectlaogai.controller.CacheController.Companion.coursesList import org.mosad.seil0.projectlaogai.controller.PreferencesController import org.mosad.seil0.projectlaogai.controller.PreferencesController.Companion.cColorAccent import org.mosad.seil0.projectlaogai.controller.PreferencesController.Companion.cColorPrimary import org.mosad.seil0.projectlaogai.controller.PreferencesController.Companion.cCourse import org.mosad.seil0.projectlaogai.controller.PreferencesController.Companion.cShowBuffet -import org.mosad.seil0.projectlaogai.R -import org.mosad.seil0.projectlaogai.controller.CacheController -import org.mosad.seil0.projectlaogai.controller.CacheController.Companion.coursesList import org.mosad.seil0.projectlaogai.controller.TCoRAPIController import org.mosad.seil0.projectlaogai.hsoparser.DataTypes import java.util.* -import android.util.TypedValue -import com.afollestad.materialdialogs.list.listItemsSingleChoice + /** * The settings controller class @@ -62,6 +64,7 @@ class SettingsFragment : Fragment() { private lateinit var linLayoutUser: LinearLayout private lateinit var linLayoutCourse: LinearLayout private lateinit var linLayoutAbout: LinearLayout + private lateinit var linLayoutLicence: LinearLayout private lateinit var linLayoutTheme: LinearLayout private lateinit var linLayoutPrimaryColor: LinearLayout private lateinit var linLayoutAccentColor: LinearLayout @@ -74,6 +77,7 @@ class SettingsFragment : Fragment() { linLayoutUser = view.findViewById(R.id.linLayout_User) linLayoutCourse = view.findViewById(R.id.linLayout_Course) linLayoutAbout = view.findViewById(R.id.linLayout_About) + linLayoutLicence = view.findViewById(R.id.linLayout_Licence) linLayoutTheme = view.findViewById(R.id.linLayout_Theme) linLayoutPrimaryColor = view.findViewById(R.id.linLayout_PrimaryColor) linLayoutAccentColor = view.findViewById(R.id.linLayout_AccentColor) @@ -133,6 +137,17 @@ class SettingsFragment : Fragment() { .show() } + linLayoutLicence.setOnClickListener { + // open a new license dialog + LicensesDialog.Builder(context!!) + .setNotices(R.raw.notices) + .setTitle(R.string.licenses) + .setIncludeOwnLicense(true) + .setThemeResourceId(R.style.AppTheme_Light) + .build() + .show() + } + linLayoutTheme.setOnClickListener { val themes = listOf( resources.getString(R.string.themeLight), diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 7912343..6259fe8 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -20,8 +20,9 @@ android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" + android:background="?themeSecondary" app:headerLayout="@layout/nav_header_main" app:itemTextColor="?colorAccent" app:menu="@menu/activity_main_drawer"/> - + diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index 77a4c0e..4d5eefc 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -113,6 +113,23 @@ android:layout_height="wrap_content" android:id="@+id/txtView_AboutDesc"/> + + + + diff --git a/app/src/main/res/layout/fragment_timetable.xml b/app/src/main/res/layout/fragment_timetable.xml index 812720e..da2c6ad 100644 --- a/app/src/main/res/layout/fragment_timetable.xml +++ b/app/src/main/res/layout/fragment_timetable.xml @@ -27,6 +27,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" android:id="@+id/faBtnAddLesson" android:elevation="7dp" - android:visibility="visible" android:layout_gravity="bottom|center|end" android:layout_marginEnd="7dp" + android:visibility="visible" android:layout_gravity="bottom|center|end" android:layout_marginEnd="11dp" android:layout_marginBottom="11dp" android:focusable="true"/> \ No newline at end of file diff --git a/app/src/main/res/raw/notices.xml b/app/src/main/res/raw/notices.xml new file mode 100644 index 0000000..152730c --- /dev/null +++ b/app/src/main/res/raw/notices.xml @@ -0,0 +1,39 @@ + + + + Material Dialogs + https://github.com/afollestad/material-dialogs + Copyright (C) Aidan Follestad + Apache Software License 2.0 + + + Aesthetic + https://github.com/afollestad/aesthetic + Copyright Aidan Follestad + Apache Software License 2.0 + + + gson + https://github.com/google/gson + Copyright 2008 Google Inc. + Apache Software License 2.0 + + + anko + https://github.com/Kotlin/anko + Copyright JetBrains + Apache Software License 2.0 + + + Android Sliding Up Panel + https://github.com/umano/AndroidSlidingUpPanel + + Apache Software License 2.0 + + + Android Support Libraries + http://developer.android.com/tools/support-library/index.html + Copyright (C) 2016 The Android Open Source Project + Apache Software License 2.0 + + \ No newline at end of file diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 1af8ac8..e17ba93 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -21,6 +21,7 @@ Akzentfarbe Die Akzentfarbe, Standard ist indigo auswählen + schließen Über lade Stundenplan … Navigationsleiste schließen @@ -31,4 +32,5 @@ Hell Dunkel Schwarz + Lizenzen diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c8a14b4..1cfebc4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -18,34 +18,37 @@ the Mensa is closed No more Food this week - "No lecture today!" - Error - Could not load timetable!" + Info + User + Tap to change course + Select your course + loading timetable … + About + "This software is made by @Seil0 and is published under the terms and conditions of GPL 3. For further information visit \ngit.mosad.xyz/Seil0/ProjectLaogai \n\n© 2018-2019 seil0@mosad.xyz " + hso App by @Seil0 + Version %1$s (%2$s) + Licenses + + Theme + Light + Dark + Black + Primary color + The primary color, default is black. + Accent color + The accent color, default is indigo. + Always show buffet + select + close SampleUser@stud.hs-offenburg.de SampleCourse 3 Montag, 30.02 0.00 – 23.59 - Info - User - Tap to change course - Select your course - primary color - The primary color, default is black. - accent color - The accent color, default is indigo. - always show buffet - select - hso App by @Seil0 - version %1$s (%2$s) - About - "This software is made by @Seil0 and is published under the terms and conditions of GPL 3. For further information visit \ngit.mosad.xyz/Seil0/ProjectLaogai \n\n© 2018-2019 seil0@mosad.xyz " - loading timetable … - Theme - light - dark - black + "No lecture today!" + Error + Could not load timetable!" org.mosad.seil0.projectlaogai.course org.mosad.seil0.projectlaogai.courseTTLink diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 518c819..64c1066 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -5,6 +5,7 @@ @color/colorPrimary @color/colorPrimaryDark @color/colorAccent + @color/colorAccent