diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f3fc354..87459d3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,14 +18,14 @@
tools:ignore="GoogleAppIndexingWarning">
@@ -54,7 +54,7 @@
android:resource="@color/colorAccent" />
diff --git a/app/src/main/java/com/denizd/substitutionplan/Colour.kt b/app/src/main/java/com/denizd/substitutionplan/Colour.kt
deleted file mode 100644
index cd79c71..0000000
--- a/app/src/main/java/com/denizd/substitutionplan/Colour.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package com.denizd.substitutionplan
-
-class Colour(val title: String, val titleNoLang: String, val icon: Int, val colour: Int)
\ No newline at end of file
diff --git a/app/src/main/java/com/denizd/substitutionplan/Food.kt b/app/src/main/java/com/denizd/substitutionplan/Food.kt
deleted file mode 100644
index 696dbbd..0000000
--- a/app/src/main/java/com/denizd/substitutionplan/Food.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.denizd.substitutionplan
-
-import androidx.room.Entity
-import androidx.room.PrimaryKey
-
-@Entity(tableName = "food_table")
-class Food(val food: String, @PrimaryKey val priority: Int)
diff --git a/app/src/main/java/com/denizd/substitutionplan/Ringtone.kt b/app/src/main/java/com/denizd/substitutionplan/Ringtone.kt
deleted file mode 100644
index 0ad6b52..0000000
--- a/app/src/main/java/com/denizd/substitutionplan/Ringtone.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.denizd.substitutionplan
-
-import android.net.Uri
-
-class Ringtone(val name: String, val uri: String)
\ No newline at end of file
diff --git a/app/src/main/java/com/denizd/substitutionplan/Subst.kt b/app/src/main/java/com/denizd/substitutionplan/Subst.kt
deleted file mode 100644
index 5841603..0000000
--- a/app/src/main/java/com/denizd/substitutionplan/Subst.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.denizd.substitutionplan
-
-import androidx.room.Entity
-import androidx.room.PrimaryKey
-
-@Entity(tableName = "subst_table")
-public class Subst(val group: String, val date: String, val time: String, val course: String, val room: String, val additional: String, val priority: Int) {
-
- @PrimaryKey(autoGenerate = true)
- var id: Int = 0
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/denizd/substitutionplan/FirstTime.kt b/app/src/main/java/com/denizd/substitutionplan/activities/FirstTime.kt
similarity index 86%
rename from app/src/main/java/com/denizd/substitutionplan/FirstTime.kt
rename to app/src/main/java/com/denizd/substitutionplan/activities/FirstTime.kt
index 11874d9..586dc4f 100644
--- a/app/src/main/java/com/denizd/substitutionplan/FirstTime.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/activities/FirstTime.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.activities
import android.content.Context
import android.content.Intent
@@ -20,11 +20,12 @@ import androidx.appcompat.app.AppCompatDelegate
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.ContextCompat
import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat
+import com.denizd.substitutionplan.R
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
import com.google.android.material.textfield.TextInputEditText
import java.util.*
-class FirstTime : AppCompatActivity(R.layout.activity_first_time) {
+internal class FirstTime : AppCompatActivity(R.layout.activity_first_time) {
private lateinit var context: Context
private lateinit var prefs: SharedPreferences
@@ -38,16 +39,28 @@ class FirstTime : AppCompatActivity(R.layout.activity_first_time) {
AppCompatDelegate.MODE_NIGHT_NO, AppCompatDelegate.MODE_NIGHT_UNSPECIFIED -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
- window.statusBarColor = ContextCompat.getColor(this, R.color.colorBackground)
- window.navigationBarColor = ContextCompat.getColor(this, R.color.colorBackground)
+ window.statusBarColor = ContextCompat.getColor(this,
+ R.color.colorBackground
+ )
+ window.navigationBarColor = ContextCompat.getColor(this,
+ R.color.colorBackground
+ )
} else {
- window.statusBarColor = ContextCompat.getColor(this, R.color.legacyBlack)
- window.navigationBarColor = ContextCompat.getColor(this, R.color.legacyBlack)
+ window.statusBarColor = ContextCompat.getColor(this,
+ R.color.legacyBlack
+ )
+ window.navigationBarColor = ContextCompat.getColor(this,
+ R.color.legacyBlack
+ )
}
}
else -> {
- window.navigationBarColor = ContextCompat.getColor(this, R.color.colorBackground)
- window.statusBarColor = ContextCompat.getColor(this, R.color.colorBackground)
+ window.navigationBarColor = ContextCompat.getColor(this,
+ R.color.colorBackground
+ )
+ window.statusBarColor = ContextCompat.getColor(this,
+ R.color.colorBackground
+ )
// window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE
}
}
@@ -67,10 +80,14 @@ class FirstTime : AppCompatActivity(R.layout.activity_first_time) {
val helpCourses = findViewById(R.id.chipHelpCourses)
helpClasses.setOnClickListener {
- createDialog(getString(R.string.enterGradeHelpTitle), getString(R.string.enterGradeHelp))
+ createDialog(getString(R.string.enterGradeHelpTitle), getString(
+ R.string.enterGradeHelp
+ ))
}
helpCourses.setOnClickListener {
- createDialog(getString(R.string.enterCoursesHelpTitle), getString(R.string.enterCoursesHelp))
+ createDialog(getString(R.string.enterCoursesHelpTitle), getString(
+ R.string.enterCoursesHelp
+ ))
}
val inflater = this.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
@@ -103,7 +120,9 @@ class FirstTime : AppCompatActivity(R.layout.activity_first_time) {
inflater.inflate(R.layout.welcome_screen, linearInflation, true)
val anim = ViewAnimationUtils.createCircularReveal(linearInflation, x, y, 0F, endRadius.toFloat())
val handler = Handler()
- val animOut = AnimationUtils.loadAnimation(context, R.anim.fade_out_short)
+ val animOut = AnimationUtils.loadAnimation(context,
+ R.anim.fade_out_short
+ )
anim.duration = 600
val colour = findViewById(R.id.colourLayout)
linearInflation.visibility = View.VISIBLE
@@ -137,7 +156,9 @@ class FirstTime : AppCompatActivity(R.layout.activity_first_time) {
}
private fun createDialog(title: String, text: String) {
- val alertDialog = AlertDialog.Builder(context, R.style.AlertDialog)
+ val alertDialog = AlertDialog.Builder(context,
+ R.style.AlertDialog
+ )
val dialogView = LayoutInflater.from(context).inflate(R.layout.simple_dialog, null)
val dialogTitle = dialogView.findViewById(R.id.textviewtitle)
val dialogText = dialogView.findViewById(R.id.dialogtext)
diff --git a/app/src/main/java/com/denizd/substitutionplan/Main.kt b/app/src/main/java/com/denizd/substitutionplan/activities/Main.kt
similarity index 88%
rename from app/src/main/java/com/denizd/substitutionplan/Main.kt
rename to app/src/main/java/com/denizd/substitutionplan/activities/Main.kt
index 8d93360..6df93c3 100644
--- a/app/src/main/java/com/denizd/substitutionplan/Main.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/activities/Main.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.activities
import android.app.job.JobInfo
import android.app.job.JobScheduler
@@ -20,16 +20,21 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentTransaction
import androidx.recyclerview.widget.RecyclerView
import com.crashlytics.android.Crashlytics
+import com.denizd.substitutionplan.data.MiscData
+import com.denizd.substitutionplan.R
+import com.denizd.substitutionplan.fragments.FoodFragment
+import com.denizd.substitutionplan.fragments.GeneralPlanFragment
+import com.denizd.substitutionplan.fragments.PersonalPlanFragment
+import com.denizd.substitutionplan.fragments.SettingsFragment
+import com.denizd.substitutionplan.services.FBPingService
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.snackbar.Snackbar
-import com.google.firebase.FirebaseApp
-import com.google.firebase.messaging.FirebaseMessaging
import com.jaredrummler.android.device.DeviceName
import java.lang.IllegalArgumentException
import java.util.*
-class Main : AppCompatActivity(R.layout.app_bar_main) {
+internal class Main : AppCompatActivity(R.layout.app_bar_main) {
private lateinit var context: Context
private lateinit var prefs: SharedPreferences
@@ -71,17 +76,29 @@ class Main : AppCompatActivity(R.layout.app_bar_main) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
- window.statusBarColor = ContextCompat.getColor(this, R.color.colorBackground)
- window.navigationBarColor = ContextCompat.getColor(this, R.color.colorBackground)
+ window.statusBarColor = ContextCompat.getColor(this,
+ R.color.colorBackground
+ )
+ window.navigationBarColor = ContextCompat.getColor(this,
+ R.color.colorBackground
+ )
} else {
- window.statusBarColor = ContextCompat.getColor(this, R.color.legacyBlack)
- window.navigationBarColor = ContextCompat.getColor(this, R.color.legacyBlack)
+ window.statusBarColor = ContextCompat.getColor(this,
+ R.color.legacyBlack
+ )
+ window.navigationBarColor = ContextCompat.getColor(this,
+ R.color.legacyBlack
+ )
}
}
else -> {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
- window.navigationBarColor = ContextCompat.getColor(this, R.color.colorBackground)
- window.statusBarColor = ContextCompat.getColor(this, R.color.colorBackground)
+ window.navigationBarColor = ContextCompat.getColor(this,
+ R.color.colorBackground
+ )
+ window.statusBarColor = ContextCompat.getColor(this,
+ R.color.colorBackground
+ )
}
// else -> {
// when (context.resources.configuration.uiMode) {
@@ -114,7 +131,9 @@ class Main : AppCompatActivity(R.layout.app_bar_main) {
if (info.manufacturer.contains("Huawei") ||
info.manufacturer.contains("Honor") ||
info.manufacturer.contains("Xiaomi")) {
- val alertDialog = AlertDialog.Builder(context, R.style.AlertDialog)
+ val alertDialog = AlertDialog.Builder(context,
+ R.style.AlertDialog
+ )
val dialogView = LayoutInflater.from(context).inflate(R.layout.secret_dialog, null)
val title = dialogView.findViewById(R.id.textviewtitle)
title.text = getString(R.string.chineseDevicesTitle)
@@ -223,16 +242,24 @@ class Main : AppCompatActivity(R.layout.app_bar_main) {
val gen = Random()
return String.format(when (Calendar.getInstance().get(Calendar.HOUR_OF_DAY)) {
- in 5..10 -> resources.getStringArray(R.array.greetingsMorning)[gen.nextInt(resources.getStringArray(R.array.greetingsMorning).size)]
- in 11..17 -> resources.getStringArray(R.array.greetingsNoon)[gen.nextInt(resources.getStringArray(R.array.greetingsNoon).size)]
- else -> resources.getStringArray(R.array.greetingsEvening)[gen.nextInt(resources.getStringArray(R.array.greetingsEvening).size)]
+ in 5..10 -> resources.getStringArray(R.array.greetingsMorning)[gen.nextInt(resources.getStringArray(
+ R.array.greetingsMorning
+ ).size)]
+ in 11..17 -> resources.getStringArray(R.array.greetingsNoon)[gen.nextInt(resources.getStringArray(
+ R.array.greetingsNoon
+ ).size)]
+ else -> resources.getStringArray(R.array.greetingsEvening)[gen.nextInt(resources.getStringArray(
+ R.array.greetingsEvening
+ ).size)]
}, prefs.getString("username", ""))
}
private fun openInfoDialog() {
val dialog = AlertDialog.Builder(context)
val dialogView = LayoutInflater.from(context).inflate(R.layout.simple_dialog, null)
- dialogView.findViewById(R.id.textviewtitle).text = getString(R.string.information)
+ dialogView.findViewById(R.id.textviewtitle).text = getString(
+ R.string.information
+ )
val dialogText = "${getString(R.string.lastUpdated)} ${prefs.getString("timeNew", "")}.\n\n${prefs.getString("informational", "")}"
dialogView.findViewById(R.id.dialogtext).text = dialogText
dialog.setView(dialogView).show()
diff --git a/app/src/main/java/com/denizd/substitutionplan/CardAdapter.kt b/app/src/main/java/com/denizd/substitutionplan/adapters/CardAdapter.kt
similarity index 91%
rename from app/src/main/java/com/denizd/substitutionplan/CardAdapter.kt
rename to app/src/main/java/com/denizd/substitutionplan/adapters/CardAdapter.kt
index 15369b1..5b0f1da 100644
--- a/app/src/main/java/com/denizd/substitutionplan/CardAdapter.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/adapters/CardAdapter.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.adapters
import android.content.ActivityNotFoundException
import android.net.Uri
@@ -14,10 +14,13 @@ import android.widget.Toast
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
+import com.denizd.substitutionplan.data.MiscData
+import com.denizd.substitutionplan.R
+import com.denizd.substitutionplan.models.Subst
import com.google.android.material.card.MaterialCardView
import java.util.*
-class CardAdapter(private var mSubst: List) : RecyclerView.Adapter() {
+internal class CardAdapter(private var mSubst: List) : RecyclerView.Adapter() {
private var colour = 0
private var colourString = ""
@@ -70,7 +73,11 @@ class CardAdapter(private var mSubst: List) : RecyclerView.Adapter) : RecyclerView.Adapter) : RecyclerView.Adapter, onClickListener: OnClickListener) : RecyclerView.Adapter() {
+internal class ColourAdapter(private var mColours: List, onClickListener: OnClickListener) : RecyclerView.Adapter() {
val mOnClickListener = onClickListener
@@ -27,7 +29,10 @@ class ColourAdapter(private var mColours: List, onClickListener: OnClick
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ColourViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.list_item, parent, false)
- return ColourViewHolder(v, mOnClickListener)
+ return ColourViewHolder(
+ v,
+ mOnClickListener
+ )
}
override fun onBindViewHolder(holder: ColourViewHolder, position: Int) {
diff --git a/app/src/main/java/com/denizd/substitutionplan/FoodAdapter.kt b/app/src/main/java/com/denizd/substitutionplan/adapters/FoodAdapter.kt
similarity index 76%
rename from app/src/main/java/com/denizd/substitutionplan/FoodAdapter.kt
rename to app/src/main/java/com/denizd/substitutionplan/adapters/FoodAdapter.kt
index 1362e24..43f28f7 100644
--- a/app/src/main/java/com/denizd/substitutionplan/FoodAdapter.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/adapters/FoodAdapter.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.adapters
import android.view.LayoutInflater
import android.view.View
@@ -7,16 +7,14 @@ import android.widget.TextView
import java.util.ArrayList
import androidx.recyclerview.widget.RecyclerView
+import com.denizd.substitutionplan.models.Food
+import com.denizd.substitutionplan.R
-class FoodAdapter(food: ArrayList) : RecyclerView.Adapter() {
+internal class FoodAdapter(food: ArrayList) : RecyclerView.Adapter() {
private var mFood: List? = null
class CardViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
- var mFood: TextView
-
- init {
- mFood = itemView.findViewById(R.id.cardInfoText)
- }
+ var mFood: TextView = itemView.findViewById(R.id.cardInfoText)
}
init {
diff --git a/app/src/main/java/com/denizd/substitutionplan/RingtoneAdapter.kt b/app/src/main/java/com/denizd/substitutionplan/adapters/RingtoneAdapter.kt
similarity index 73%
rename from app/src/main/java/com/denizd/substitutionplan/RingtoneAdapter.kt
rename to app/src/main/java/com/denizd/substitutionplan/adapters/RingtoneAdapter.kt
index b470917..d1f6f36 100644
--- a/app/src/main/java/com/denizd/substitutionplan/RingtoneAdapter.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/adapters/RingtoneAdapter.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.adapters
import android.view.LayoutInflater
import android.view.View
@@ -6,17 +6,19 @@ import android.view.ViewGroup
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
+import com.denizd.substitutionplan.R
+import com.denizd.substitutionplan.models.Ringtone
import com.google.android.material.card.MaterialCardView
-class RingtoneAdapter(private var _ringtones: List, onClickListener: OnClickListener) : RecyclerView.Adapter() {
+internal class RingtoneAdapter(private var _ringtones: List, onClickListener: OnClickListener) : RecyclerView.Adapter() {
- val _onClickListener = onClickListener
+ private val _onClickListener = onClickListener
class RingtoneViewHolder(view: View, clickListener: OnClickListener) : RecyclerView.ViewHolder(view), View.OnClickListener {
val name: TextView = view.findViewById(R.id.item_text)
val uri: TextView = view.findViewById(R.id.item_text_no_lang)
val cardView: MaterialCardView = view.findViewById(R.id.cardView)
- val _clickListener = clickListener
+ private val _clickListener = clickListener
init { view.setOnClickListener(this) }
override fun onClick(v: View?) { _clickListener.onRingtoneClick(adapterPosition, name.text.toString(), uri.text.toString()) }
@@ -25,7 +27,10 @@ class RingtoneAdapter(private var _ringtones: List, onClickListener: O
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RingtoneViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.list_item, parent, false)
- return RingtoneViewHolder(v, _onClickListener)
+ return RingtoneViewHolder(
+ v,
+ _onClickListener
+ )
}
override fun onBindViewHolder(holder: RingtoneViewHolder, position: Int) {
@@ -33,7 +38,9 @@ class RingtoneAdapter(private var _ringtones: List, onClickListener: O
holder.name.text = currentItem.name
holder.uri.text = currentItem.uri
- holder.cardView.setCardBackgroundColor(ContextCompat.getColor(holder.cardView.context, R.color.colorBackground))
+ holder.cardView.setCardBackgroundColor(ContextCompat.getColor(holder.cardView.context,
+ R.color.colorBackground
+ ))
}
override fun getItemCount(): Int = _ringtones.size
diff --git a/app/src/main/java/com/denizd/substitutionplan/DataFetcher.kt b/app/src/main/java/com/denizd/substitutionplan/data/DataFetcher.kt
similarity index 81%
rename from app/src/main/java/com/denizd/substitutionplan/DataFetcher.kt
rename to app/src/main/java/com/denizd/substitutionplan/data/DataFetcher.kt
index 2021024..7d205b8 100644
--- a/app/src/main/java/com/denizd/substitutionplan/DataFetcher.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/data/DataFetcher.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.data
import android.app.*
import android.content.Context
@@ -13,6 +13,12 @@ import android.widget.RemoteViews
import androidx.core.app.NotificationCompat
import androidx.core.content.ContextCompat
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+import com.denizd.substitutionplan.database.FoodRepository
+import com.denizd.substitutionplan.R
+import com.denizd.substitutionplan.database.SubstRepository
+import com.denizd.substitutionplan.activities.Main
+import com.denizd.substitutionplan.models.Food
+import com.denizd.substitutionplan.models.Subst
import com.google.android.material.snackbar.Snackbar
import org.jsoup.Jsoup
import kotlin.collections.ArrayList
@@ -26,7 +32,7 @@ import kotlin.collections.ArrayList
* @param isMenu food menu will be downloaded and persisted in the database if true
* @param isJobService a notification will be prepared and sent if this and isPlan is true
*/
-class DataFetcher(isPlan: Boolean, isMenu: Boolean, isJobService: Boolean, context: Context, application: Application, parentView: View?) : AsyncTask() {
+internal class DataFetcher(isPlan: Boolean, isMenu: Boolean, isJobService: Boolean, context: Context, application: Application, parentView: View?) : AsyncTask() {
private var jobService = isJobService
private var plan = isPlan
@@ -47,11 +53,12 @@ class DataFetcher(isPlan: Boolean, isMenu: Boolean, isJobService: Boolean, conte
override fun doInBackground(vararg params: Void?): Void? {
try {
+ if (prefs.getBoolean("testUrls", false)) {
+ substUrl = "https://djd4rkn355.github.io/subst_test.html"
+ foodUrl = "https://djd4rkn355.github.io/food_test.html"
+ }
+
when {
- prefs.getBoolean("testUrls", false) -> {
- substUrl = "https://djd4rkn355.github.io/subst_test.html"
- foodUrl = "https://djd4rkn355.github.io/food_test.html"
- }
menu -> requestFoodMenuData()
plan -> requestSubstPlanAndNotification()
}
@@ -69,7 +76,9 @@ class DataFetcher(isPlan: Boolean, isMenu: Boolean, isJobService: Boolean, conte
} catch (e: Exception) {
mView?.let { v: View ->
val snackBarView = v.findViewById(R.id.coordination)
- Snackbar.make(snackBarView, mContext.getString(R.string.noInternet), Snackbar.LENGTH_LONG).setBackgroundTint(ContextCompat.getColor(mContext, R.color.colorError)).show()
+ Snackbar.make(snackBarView, mContext.getString(R.string.noInternet), Snackbar.LENGTH_LONG).setBackgroundTint(ContextCompat.getColor(mContext,
+ R.color.colorError
+ )).show()
}
}
return null
@@ -143,15 +152,24 @@ class DataFetcher(isPlan: Boolean, isMenu: Boolean, isJobService: Boolean, conte
val group = cols[0].text()
val course = cols[3].text()
val additional = cols[5].text()
- val subst = Subst(group = group, date = cols[1].text(), time = cols[2].text(), course = course,
- room = cols[4].text(), additional = additional, priority = priority)
+ val subst = Subst(
+ group = group, date = cols[1].text(), time = cols[2].text(), course = course,
+ room = cols[4].text(), additional = additional, priority = priority
+ )
substArray.add(subst)
substRepo.insert(subst)
priority--
}
if (jobService && prefs.getBoolean("notif", true)) {
- substArray.filter { MiscData.checkPersonalSubstitutions(it, coursePreference, classPreference, false) }.forEach { substItem ->
+ substArray.filter {
+ MiscData.checkPersonalSubstitutions(
+ it,
+ coursePreference,
+ classPreference,
+ false
+ )
+ }.forEach { substItem ->
notifText += "${if (notifText.isNotEmpty()) ",\n" else ""}$substItem.course: ${if (substItem.additional.isNotEmpty()) substItem.additional else "---"}"
}
}
@@ -170,21 +188,30 @@ class DataFetcher(isPlan: Boolean, isMenu: Boolean, isJobService: Boolean, conte
openApp.flags += Intent.FLAG_ACTIVITY_CLEAR_TASK
val openAppPending = PendingIntent.getActivity(mContext, 0, openApp, 0)
- val notificationLayout = RemoteViews(mContext.packageName, R.layout.notification)
- notificationLayout.setTextViewText(R.id.notification_title, mContext.getString(R.string.substitutionPlan))
+ val notificationLayout = RemoteViews(mContext.packageName,
+ R.layout.notification
+ )
+ notificationLayout.setTextViewText(
+ R.id.notification_title, mContext.getString(
+ R.string.substitutionPlan
+ ))
notificationLayout.setTextViewText(R.id.notification_textview, notifText)
val manager = mContext.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
MiscData.getNotificationChannel(mContext, prefs)
- val notification = NotificationCompat.Builder(mContext, MiscData.notificationChannelId)
+ val notification = NotificationCompat.Builder(mContext,
+ MiscData.notificationChannelId
+ )
.setStyle(NotificationCompat.DecoratedCustomViewStyle())
.setCustomContentView(notificationLayout)
.setSmallIcon(R.drawable.ic_avh)
.setContentIntent(openAppPending)
.setAutoCancel(true)
- .setColor(ContextCompat.getColor(mContext, R.color.colorAccent))
+ .setColor(ContextCompat.getColor(mContext,
+ R.color.colorAccent
+ ))
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
val sound = if ((prefs.getString("ringtoneUri", "") ?: "").isNotEmpty()) {
diff --git a/app/src/main/java/com/denizd/substitutionplan/MiscData.kt b/app/src/main/java/com/denizd/substitutionplan/data/MiscData.kt
similarity index 85%
rename from app/src/main/java/com/denizd/substitutionplan/MiscData.kt
rename to app/src/main/java/com/denizd/substitutionplan/data/MiscData.kt
index c7ab344..9b05ea6 100644
--- a/app/src/main/java/com/denizd/substitutionplan/MiscData.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/data/MiscData.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.data
import android.annotation.TargetApi
import android.app.NotificationChannel
@@ -6,9 +6,11 @@ import android.app.NotificationManager
import android.content.Context
import android.content.SharedPreferences
import android.graphics.Color
+import com.denizd.substitutionplan.R
+import com.denizd.substitutionplan.models.Subst
import java.util.*
-object MiscData {
+internal object MiscData {
val languageIndependentCourses = arrayOf("German", "English", "French", "Spanish", "Latin", "Turkish", "Chinese", "Arts", "Music",
"Theatre", "Geography", "History", "Politics", "Philosophy", "Religion", "Maths", "Biology", "Chemistry",
@@ -16,10 +18,31 @@ object MiscData {
val colourNames = arrayOf("default", "red", "orange", "yellow", "green", "teal", "cyan", "blue", "purple", "pink",
"brown", "grey", "pureWhite", "salmon", "tangerine", "banana", "flora", "spindrift", "sky", "orchid",
"lavender", "carnation", "brown2", "pureBlack")
- private val colourIntegers = intArrayOf(0, R.color.bgRed, R.color.bgOrange, R.color.bgYellow, R.color.bgGreen,
- R.color.bgTeal, R.color.bgCyan, R.color.bgBlue, R.color.bgPurple, R.color.bgPink, R.color.bgBrown, R.color.bgGrey,
- R.color.bgPureWhite, R.color.bgSalmon, R.color.bgTangerine, R.color.bgBanana, R.color.bgFlora, R.color.bgSpindrift,
- R.color.bgSky, R.color.bgOrchid, R.color.bgLavender, R.color.bgCarnation, R.color.bgBrown2, R.color.bgPureBlack)
+ private val colourIntegers = intArrayOf(0,
+ R.color.bgRed,
+ R.color.bgOrange,
+ R.color.bgYellow,
+ R.color.bgGreen,
+ R.color.bgTeal,
+ R.color.bgCyan,
+ R.color.bgBlue,
+ R.color.bgPurple,
+ R.color.bgPink,
+ R.color.bgBrown,
+ R.color.bgGrey,
+ R.color.bgPureWhite,
+ R.color.bgSalmon,
+ R.color.bgTangerine,
+ R.color.bgBanana,
+ R.color.bgFlora,
+ R.color.bgSpindrift,
+ R.color.bgSky,
+ R.color.bgOrchid,
+ R.color.bgLavender,
+ R.color.bgCarnation,
+ R.color.bgBrown2,
+ R.color.bgPureBlack
+ )
const val notificationChannelId = "general"
fun getColourForString(name: String): Int {
@@ -128,7 +151,10 @@ object MiscData {
fun getNotificationChannel(context: Context, prefs: SharedPreferences): NotificationChannel {
val manager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
return if (!prefs.getBoolean("notifChannelCreated", false)) {
- val channel = NotificationChannel(notificationChannelId, context.getString(R.string.general), NotificationManager.IMPORTANCE_DEFAULT)
+ val channel = NotificationChannel(
+ notificationChannelId, context.getString(
+ R.string.general
+ ), NotificationManager.IMPORTANCE_DEFAULT)
channel.enableLights(true)
channel.lightColor = Color.BLUE
manager.createNotificationChannel(channel)
diff --git a/app/src/main/java/com/denizd/substitutionplan/FoodRepository.kt b/app/src/main/java/com/denizd/substitutionplan/database/FoodRepository.kt
similarity index 80%
rename from app/src/main/java/com/denizd/substitutionplan/FoodRepository.kt
rename to app/src/main/java/com/denizd/substitutionplan/database/FoodRepository.kt
index 5c48960..9d4064a 100644
--- a/app/src/main/java/com/denizd/substitutionplan/FoodRepository.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/database/FoodRepository.kt
@@ -1,17 +1,18 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.database
import android.app.Application
import android.os.AsyncTask
-
import androidx.lifecycle.LiveData
+import com.denizd.substitutionplan.models.Food
-public class FoodRepository(application: Application) {
+internal class FoodRepository(application: Application) {
private val substDao: SubstDao?
val allFoods: LiveData>?
init {
- val database = SubstDatabase.getFoodInstance(application)
+ val database =
+ SubstDatabase.getFoodInstance(application)
substDao = database?.substDao()
allFoods = substDao?.allFoods
}
diff --git a/app/src/main/java/com/denizd/substitutionplan/FoodViewModel.kt b/app/src/main/java/com/denizd/substitutionplan/database/FoodViewModel.kt
similarity index 56%
rename from app/src/main/java/com/denizd/substitutionplan/FoodViewModel.kt
rename to app/src/main/java/com/denizd/substitutionplan/database/FoodViewModel.kt
index 03fd753..ed03c38 100644
--- a/app/src/main/java/com/denizd/substitutionplan/FoodViewModel.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/database/FoodViewModel.kt
@@ -1,12 +1,14 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.database
import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.LiveData
+import com.denizd.substitutionplan.models.Food
-public class FoodViewModel(application: Application) : AndroidViewModel(application) {
+internal class FoodViewModel(application: Application) : AndroidViewModel(application) {
- private val repository: FoodRepository = FoodRepository(application)
+ private val repository: FoodRepository =
+ FoodRepository(application)
val allFoods: LiveData>?
init {
diff --git a/app/src/main/java/com/denizd/substitutionplan/SubstDao.kt b/app/src/main/java/com/denizd/substitutionplan/database/SubstDao.kt
similarity index 77%
rename from app/src/main/java/com/denizd/substitutionplan/SubstDao.kt
rename to app/src/main/java/com/denizd/substitutionplan/database/SubstDao.kt
index e4d13db..c446e85 100644
--- a/app/src/main/java/com/denizd/substitutionplan/SubstDao.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/database/SubstDao.kt
@@ -1,10 +1,12 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.database
import androidx.lifecycle.LiveData
import androidx.room.*
+import com.denizd.substitutionplan.models.Food
+import com.denizd.substitutionplan.models.Subst
@Dao
-public interface SubstDao {
+internal interface SubstDao {
@get:Query("SELECT * FROM subst_table ORDER BY priority DESC")
val allSubst: LiveData>
diff --git a/app/src/main/java/com/denizd/substitutionplan/SubstDatabase.kt b/app/src/main/java/com/denizd/substitutionplan/database/SubstDatabase.kt
similarity index 87%
rename from app/src/main/java/com/denizd/substitutionplan/SubstDatabase.kt
rename to app/src/main/java/com/denizd/substitutionplan/database/SubstDatabase.kt
index 636bf18..dcd383e 100644
--- a/app/src/main/java/com/denizd/substitutionplan/SubstDatabase.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/database/SubstDatabase.kt
@@ -1,12 +1,14 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.database
import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
+import com.denizd.substitutionplan.models.Food
+import com.denizd.substitutionplan.models.Subst
@Database(entities = [Subst::class, Food::class], version = 5, exportSchema = false)
-public abstract class SubstDatabase : RoomDatabase() {
+internal abstract class SubstDatabase : RoomDatabase() {
abstract fun substDao(): SubstDao
diff --git a/app/src/main/java/com/denizd/substitutionplan/SubstRepository.kt b/app/src/main/java/com/denizd/substitutionplan/database/SubstRepository.kt
similarity index 88%
rename from app/src/main/java/com/denizd/substitutionplan/SubstRepository.kt
rename to app/src/main/java/com/denizd/substitutionplan/database/SubstRepository.kt
index 875c7cd..8e8c59c 100644
--- a/app/src/main/java/com/denizd/substitutionplan/SubstRepository.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/database/SubstRepository.kt
@@ -1,17 +1,19 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.database
import android.app.Application
import android.os.AsyncTask
import androidx.lifecycle.LiveData
+import com.denizd.substitutionplan.models.Subst
-public class SubstRepository(application: Application) {
+internal class SubstRepository(application: Application) {
private val substDao: SubstDao?
val allSubst: LiveData>?
init {
- val database = SubstDatabase.getInstance(application)
+ val database =
+ SubstDatabase.getInstance(application)
substDao = database?.substDao()
allSubst = substDao?.allSubst
}
diff --git a/app/src/main/java/com/denizd/substitutionplan/SubstViewModel.kt b/app/src/main/java/com/denizd/substitutionplan/database/SubstViewModel.kt
similarity index 65%
rename from app/src/main/java/com/denizd/substitutionplan/SubstViewModel.kt
rename to app/src/main/java/com/denizd/substitutionplan/database/SubstViewModel.kt
index b3fb907..273e6cd 100644
--- a/app/src/main/java/com/denizd/substitutionplan/SubstViewModel.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/database/SubstViewModel.kt
@@ -1,12 +1,14 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.database
import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.LiveData
+import com.denizd.substitutionplan.models.Subst
-public class SubstViewModel(application: Application) : AndroidViewModel(application) {
+internal class SubstViewModel(application: Application) : AndroidViewModel(application) {
- private val repository: SubstRepository = SubstRepository(application)
+ private val repository: SubstRepository =
+ SubstRepository(application)
val allSubst: LiveData>?
init {
diff --git a/app/src/main/java/com/denizd/substitutionplan/FoodFragment.kt b/app/src/main/java/com/denizd/substitutionplan/fragments/FoodFragment.kt
similarity index 74%
rename from app/src/main/java/com/denizd/substitutionplan/FoodFragment.kt
rename to app/src/main/java/com/denizd/substitutionplan/fragments/FoodFragment.kt
index 2530ccd..c414934 100644
--- a/app/src/main/java/com/denizd/substitutionplan/FoodFragment.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/fragments/FoodFragment.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.fragments
import android.content.Context
import android.content.SharedPreferences
@@ -11,8 +11,13 @@ import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+import com.denizd.substitutionplan.*
+import com.denizd.substitutionplan.adapters.FoodAdapter
+import com.denizd.substitutionplan.database.FoodViewModel
+import com.denizd.substitutionplan.models.Food
+import com.denizd.substitutionplan.data.DataFetcher
-class FoodFragment : Fragment(R.layout.food_layout) {
+internal class FoodFragment : Fragment(R.layout.food_layout) {
private val foodArrayList = ArrayList()
private val mAdapter = FoodAdapter(foodArrayList)
@@ -57,12 +62,26 @@ class FoodFragment : Fragment(R.layout.food_layout) {
if (prefs.getBoolean("autoRefresh", false)) {
pullToRefresh.isRefreshing = true
- DataFetcher(false, true, false, mContext, activity!!.application, view.rootView).execute()
+ DataFetcher(
+ false,
+ true,
+ false,
+ mContext,
+ activity!!.application,
+ view.rootView
+ ).execute()
}
pullToRefresh.setOnRefreshListener {
pullToRefresh.isRefreshing = true
- DataFetcher(false, true, false, mContext, activity!!.application, view.rootView).execute()
+ DataFetcher(
+ false,
+ true,
+ false,
+ mContext,
+ activity!!.application,
+ view.rootView
+ ).execute()
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/denizd/substitutionplan/GeneralPlanFragment.kt b/app/src/main/java/com/denizd/substitutionplan/fragments/GeneralPlanFragment.kt
similarity index 73%
rename from app/src/main/java/com/denizd/substitutionplan/GeneralPlanFragment.kt
rename to app/src/main/java/com/denizd/substitutionplan/fragments/GeneralPlanFragment.kt
index eafee9f..8937e01 100644
--- a/app/src/main/java/com/denizd/substitutionplan/GeneralPlanFragment.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/fragments/GeneralPlanFragment.kt
@@ -1,10 +1,11 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.fragments
import android.os.Bundle
import android.view.View
import androidx.lifecycle.Observer
+import com.denizd.substitutionplan.models.Subst
-class GeneralPlanFragment : PlanFragment() {
+internal class GeneralPlanFragment : PlanFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
diff --git a/app/src/main/java/com/denizd/substitutionplan/PersonalPlanFragment.kt b/app/src/main/java/com/denizd/substitutionplan/fragments/PersonalPlanFragment.kt
similarity index 76%
rename from app/src/main/java/com/denizd/substitutionplan/PersonalPlanFragment.kt
rename to app/src/main/java/com/denizd/substitutionplan/fragments/PersonalPlanFragment.kt
index e817ef2..3368073 100644
--- a/app/src/main/java/com/denizd/substitutionplan/PersonalPlanFragment.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/fragments/PersonalPlanFragment.kt
@@ -1,10 +1,13 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.fragments
import android.os.Bundle
import android.view.View
import androidx.lifecycle.Observer
+import com.denizd.substitutionplan.data.MiscData
+import com.denizd.substitutionplan.R
+import com.denizd.substitutionplan.models.Subst
-class PersonalPlanFragment : PlanFragment() {
+internal class PersonalPlanFragment : PlanFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@@ -24,7 +27,14 @@ class PersonalPlanFragment : PlanFragment() {
persPlanEmpty = true
recyclerView.visibility = View.VISIBLE
- substitutions.filter { MiscData.checkPersonalSubstitutions(it, coursePreference, classPreference, true) }.forEach { substItem ->
+ substitutions.filter {
+ MiscData.checkPersonalSubstitutions(
+ it,
+ coursePreference,
+ classPreference,
+ true
+ )
+ }.forEach { substItem ->
planCardList.add(substItem)
}
persPlanEmpty = (planCardList.size == 1 && planCardList[0].date.substring(0, 3) == "psa") || planCardList.isEmpty()
diff --git a/app/src/main/java/com/denizd/substitutionplan/PlanFragment.kt b/app/src/main/java/com/denizd/substitutionplan/fragments/PlanFragment.kt
similarity index 73%
rename from app/src/main/java/com/denizd/substitutionplan/PlanFragment.kt
rename to app/src/main/java/com/denizd/substitutionplan/fragments/PlanFragment.kt
index 2efc6e0..7c429af 100644
--- a/app/src/main/java/com/denizd/substitutionplan/PlanFragment.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/fragments/PlanFragment.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.fragments
import android.content.Context
import android.content.SharedPreferences
@@ -14,9 +14,14 @@ import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+import com.denizd.substitutionplan.*
+import com.denizd.substitutionplan.adapters.CardAdapter
+import com.denizd.substitutionplan.database.SubstViewModel
+import com.denizd.substitutionplan.models.Subst
+import com.denizd.substitutionplan.data.DataFetcher
import kotlin.collections.ArrayList
-open class PlanFragment : Fragment(R.layout.plan) {
+internal open class PlanFragment : Fragment(R.layout.plan) {
lateinit var recyclerView: RecyclerView
lateinit var mAdapter: CardAdapter
private lateinit var layoutManager: GridLayoutManager
@@ -56,39 +61,32 @@ open class PlanFragment : Fragment(R.layout.plan) {
recyclerView.adapter = mAdapter
if (prefs.getInt("firstTimeOpening", 0) == 1) {
- if (!prefs.getBoolean("notif", false)) {
- pullToRefresh.isRefreshing = true
- DataFetcher(true, true, false, mContext, activity!!.application, view.rootView).execute()
- prefs.edit().putInt("firstTimeOpening", 2).apply()
- }
+ startFetch(view, pullToRefresh, true)
+ prefs.edit().putInt("firstTimeOpening", 2).apply()
}
if (prefs.getBoolean("autoRefresh", false)) {
- pullToRefresh.isRefreshing = true
- DataFetcher(
- isPlan = true,
- isMenu = false,
- isJobService = false,
- context = mContext,
- application = activity!!.application,
- parentView = view.rootView
- ).execute()
+ startFetch(view, pullToRefresh, false)
}
substViewModel = ViewModelProviders.of(this).get(SubstViewModel::class.java)
pullToRefresh.setOnRefreshListener {
- pullToRefresh.isRefreshing = true
- DataFetcher(
- isPlan = true,
- isMenu = false,
- isJobService = false,
- context = mContext,
- application = activity!!.application,
- parentView = view.rootView
- ).execute()
+ startFetch(view, pullToRefresh, false)
}
}
+ private fun startFetch(view: View, pullToRefresh: SwipeRefreshLayout, refreshMenu: Boolean) {
+ pullToRefresh.isRefreshing = true
+ DataFetcher(
+ isPlan = true,
+ isMenu = refreshMenu,
+ isJobService = false,
+ context = mContext,
+ application = activity!!.application,
+ parentView = view.rootView
+ ).execute()
+ }
+
private fun getGridColumnCount(config: Configuration): Int {
val tabletSize = resources.getBoolean(R.bool.isTablet)
return if (tabletSize) {
diff --git a/app/src/main/java/com/denizd/substitutionplan/SettingsFragment.kt b/app/src/main/java/com/denizd/substitutionplan/fragments/SettingsFragment.kt
similarity index 83%
rename from app/src/main/java/com/denizd/substitutionplan/SettingsFragment.kt
rename to app/src/main/java/com/denizd/substitutionplan/fragments/SettingsFragment.kt
index 0e82b8f..f49bd54 100644
--- a/app/src/main/java/com/denizd/substitutionplan/SettingsFragment.kt
+++ b/app/src/main/java/com/denizd/substitutionplan/fragments/SettingsFragment.kt
@@ -1,4 +1,4 @@
-package com.denizd.substitutionplan
+package com.denizd.substitutionplan.fragments
import android.content.ActivityNotFoundException
import android.content.Context
@@ -24,6 +24,12 @@ import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
+import com.denizd.substitutionplan.*
+import com.denizd.substitutionplan.adapters.ColourAdapter
+import com.denizd.substitutionplan.adapters.RingtoneAdapter
+import com.denizd.substitutionplan.data.MiscData
+import com.denizd.substitutionplan.models.Colour
+import com.denizd.substitutionplan.models.Ringtone
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.button.MaterialButton
import com.google.android.material.textfield.TextInputEditText
@@ -31,8 +37,10 @@ import com.google.firebase.messaging.FirebaseMessaging
import com.jaredrummler.android.device.DeviceName
import kotlin.collections.ArrayList
-class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListener,
- CompoundButton.OnCheckedChangeListener, ColourAdapter.OnClickListener, RingtoneAdapter.OnClickListener {
+internal class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListener,
+ CompoundButton.OnCheckedChangeListener,
+ ColourAdapter.OnClickListener,
+ RingtoneAdapter.OnClickListener {
private var name = ""
private var model = ""
@@ -131,22 +139,26 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
})
btnVersion.setOnLongClickListener {
- Toast.makeText(mContext, getString(R.string.madeBy), Toast.LENGTH_LONG).show()
+ makeToast(getString(R.string.madeBy))
debugMenu()
}
}
override fun onClick(v: View?) {
when (v?.id) {
- R.id.chipHelpCourses -> createDialog(getString(R.string.enterCoursesHelpTitle), getString(R.string.enterCoursesHelp))
- R.id.chipHelpClasses -> createDialog(getString(R.string.enterGradeHelpTitle), getString(R.string.enterGradeHelp))
+ R.id.chipHelpCourses -> createDialog(getString(R.string.enterCoursesHelpTitle), getString(
+ R.string.enterCoursesHelp
+ ))
+ R.id.chipHelpClasses -> createDialog(getString(R.string.enterGradeHelpTitle), getString(
+ R.string.enterGradeHelp
+ ))
R.id.btnCustomiseColours -> createColourDialog()
R.id.btnCustomiseRingtone -> createRingtoneDialog()
R.id.btnWebsite -> {
try {
customTabsIntent.launchUrl(mContext, Uri.parse("http://307.joomla.schule.bremen.de"))
} catch (e: ActivityNotFoundException) {
- Toast.makeText(mContext, getString(R.string.chromeCompatibleNotFound), Toast.LENGTH_LONG).show()
+ makeToast(getString(R.string.chromeCompatibleNotFound))
}
}
R.id.btnLicences -> {
@@ -202,9 +214,9 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
try {
cs = 7
customTabsIntent.launchUrl(mContext, Uri.parse("http://www.flussufer.de/gerd/person.htm"))
- Toast.makeText(mContext, getString(R.string.dontTellHim), Toast.LENGTH_LONG).show()
+ makeToast(getString(R.string.dontTellHim))
} catch (e: ActivityNotFoundException) {
- Toast.makeText(mContext, getString(R.string.chromeCompatibleNotFound), Toast.LENGTH_LONG).show()
+ makeToast(getString(R.string.chromeCompatibleNotFound))
}
}
}
@@ -260,7 +272,9 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
}
private fun createDialog(title: String, text: String) {
- val alertDialog = AlertDialog.Builder(mContext, R.style.AlertDialog)
+ val alertDialog = AlertDialog.Builder(mContext,
+ R.style.AlertDialog
+ )
val dialogView = LayoutInflater.from(mContext).inflate(R.layout.simple_dialog, null)
dialogView.findViewById(R.id.textviewtitle).text = title
dialogView.findViewById(R.id.dialogtext).text = text
@@ -268,7 +282,9 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
}
private fun createColourDialog() {
- val colourCustomiserBuilder = AlertDialog.Builder(mContext, R.style.AlertDialog)
+ val colourCustomiserBuilder = AlertDialog.Builder(mContext,
+ R.style.AlertDialog
+ )
val dialogView = LayoutInflater.from(mContext).inflate(R.layout.recycler_dialog, null)
val titleText = dialogView.findViewById(R.id.empty_textviewtitle)
@@ -279,34 +295,49 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
colourRecycler.layoutManager = GridLayoutManager(mContext, 1)
colourRecycler.adapter = ColourAdapter(getColourList(), this)
-// val button = LayoutInflater.from(mContext).inflate(R.layout.forever_alone_button, null)
-// val buttonClearAll = button.findViewById(R.id.buttonclearallcolours)
-// emptyLayout.addView(button)
colourCustomiserBuilder.setView(dialogView)
val colourCustomiserDialog = colourCustomiserBuilder.create()
-//
-// buttonClearAll.setOnClickListener {
-// for (course in coursesNoLang) {
-// edit.putInt("bg$course", 0)
-// }
-// edit.apply()
-// Toast.makeText(mContext, getString(R.string.allcolourscleared),
-// Toast.LENGTH_LONG).show()
-// colourCustomiserDialog.cancel()
-// }
-
colourCustomiserDialog.show()
-
}
private fun getColourList(): ArrayList {
val colours = ArrayList()
val coursesNoLang = MiscData.languageIndependentCourses
- val courses = arrayOf(getString(R.string.courseDeu), getString(R.string.courseEng), getString(R.string.courseFra), getString(R.string.courseSpa), getString(R.string.courseLat), getString(R.string.courseTue), getString(R.string.courseChi), getString(R.string.courseKun), getString(R.string.courseMus), getString(R.string.courseDar), getString(R.string.courseGeg), getString(R.string.courseGes), getString(R.string.coursePol), getString(R.string.coursePhi), getString(R.string.courseRel), getString(R.string.courseMat), getString(R.string.courseBio), getString(R.string.courseChe), getString(R.string.coursePhy), getString(R.string.courseInf), getString(R.string.courseSpo), getString(R.string.courseGll), getString(R.string.courseWat), getString(R.string.courseFor), getString(R.string.courseWp))
- val coursesIcons = intArrayOf(R.drawable.ic_german, R.drawable.ic_english, R.drawable.ic_french, R.drawable.ic_spanish, R.drawable.ic_latin, R.drawable.ic_turkish, R.drawable.ic_chinese, R.drawable.ic_arts, R.drawable.ic_music, R.drawable.ic_drama, R.drawable.ic_geography, R.drawable.ic_history, R.drawable.ic_politics, R.drawable.ic_philosophy, R.drawable.ic_religion, R.drawable.ic_maths, R.drawable.ic_biology, R.drawable.ic_chemistry, R.drawable.ic_physics, R.drawable.ic_compsci, R.drawable.ic_pe, R.drawable.ic_gll, R.drawable.ic_wat, R.drawable.ic_help, R.drawable.ic_pencil)
+ val courses = arrayOf(getString(R.string.courseDeu), getString(
+ R.string.courseEng
+ ), getString(R.string.courseFra), getString(R.string.courseSpa), getString(
+ R.string.courseLat
+ ), getString(R.string.courseTue), getString(R.string.courseChi), getString(
+ R.string.courseKun
+ ), getString(R.string.courseMus), getString(R.string.courseDar), getString(
+ R.string.courseGeg
+ ), getString(R.string.courseGes), getString(R.string.coursePol), getString(
+ R.string.coursePhi
+ ), getString(R.string.courseRel), getString(R.string.courseMat), getString(
+ R.string.courseBio
+ ), getString(R.string.courseChe), getString(R.string.coursePhy), getString(
+ R.string.courseInf
+ ), getString(R.string.courseSpo), getString(R.string.courseGll), getString(
+ R.string.courseWat
+ ), getString(R.string.courseFor), getString(R.string.courseWp))
+ val coursesIcons = intArrayOf(R.drawable.ic_german, R.drawable.ic_english, R.drawable.ic_french,
+ R.drawable.ic_spanish, R.drawable.ic_latin, R.drawable.ic_turkish, R.drawable.ic_chinese,
+ R.drawable.ic_arts, R.drawable.ic_music, R.drawable.ic_drama, R.drawable.ic_geography,
+ R.drawable.ic_history, R.drawable.ic_politics, R.drawable.ic_philosophy, R.drawable.ic_religion,
+ R.drawable.ic_maths, R.drawable.ic_biology, R.drawable.ic_chemistry, R.drawable.ic_physics,
+ R.drawable.ic_compsci, R.drawable.ic_pe, R.drawable.ic_gll, R.drawable.ic_wat,
+ R.drawable.ic_help, R.drawable.ic_pencil
+ )
for (i in 0 until coursesNoLang.size) {
- colours.add(Colour(courses[i], coursesNoLang[i], coursesIcons[i], MiscData.getColourForString(prefs.getString("card${coursesNoLang[i]}", "") ?: "")))
+ colours.add(
+ Colour(
+ courses[i],
+ coursesNoLang[i],
+ coursesIcons[i],
+ MiscData.getColourForString(prefs.getString("card${coursesNoLang[i]}", "") ?: "")
+ )
+ )
}
return colours
}
@@ -343,16 +374,21 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
}
private fun getRingtones(): ArrayList {
- lateinit var _cursor: Cursor
+ lateinit var ringtoneCursor: Cursor
val ringtoneManager = RingtoneManager(activity).apply {
setType(RingtoneManager.TYPE_NOTIFICATION)
- _cursor = cursor
+ ringtoneCursor = cursor
}
val alarms = ArrayList()
- while (!_cursor.isAfterLast && _cursor.moveToNext()) {
- val position = _cursor.position
- alarms.add(Ringtone(ringtoneManager.getRingtone(position).getTitle(mContext), ringtoneManager.getRingtoneUri(position).toString()))
+ while (!ringtoneCursor.isAfterLast && ringtoneCursor.moveToNext()) {
+ val position = ringtoneCursor.position
+ alarms.add(
+ Ringtone(
+ ringtoneManager.getRingtone(position).getTitle(mContext),
+ ringtoneManager.getRingtoneUri(position).toString()
+ )
+ )
}
return alarms
}
@@ -391,19 +427,14 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
colourPickerBuilder.setView(pickerDialogView)
val colourPickerDialog: AlertDialog = colourPickerBuilder.create()
- val buttons = arrayOf(picker.findViewById(R.id.def), picker.findViewById(R.id.red),
- picker.findViewById(R.id.orange), picker.findViewById(R.id.yellow), picker.findViewById(R.id.green),
- picker.findViewById(R.id.teal), picker.findViewById(R.id.cyan), picker.findViewById(R.id.blue),
- picker.findViewById(R.id.purple), picker.findViewById(R.id.pink), picker.findViewById(R.id.brown),
- picker.findViewById(R.id.grey), picker.findViewById(R.id.pureWhite), picker.findViewById(R.id.salmon),
- picker.findViewById(R.id.tangerine), picker.findViewById(R.id.banana), picker.findViewById(R.id.flora),
- picker.findViewById(R.id.spindrift), picker.findViewById(R.id.sky), picker.findViewById(R.id.orchid),
- picker.findViewById(R.id.lavender), picker.findViewById(R.id.carnation), picker.findViewById(R.id.brown2),
- picker.findViewById(R.id.pureBlack))
+ val buttons = intArrayOf(R.id.def, R.id.red, R.id.orange, R.id.yellow, R.id.green,
+ R.id.teal, R.id.cyan, R.id.blue, R.id.purple, R.id.pink, R.id.brown, R.id.grey,
+ R.id.pureWhite, R.id.salmon, R.id.tangerine, R.id.banana, R.id.flora, R.id.spindrift,
+ R.id.sky, R.id.orchid, R.id.lavender, R.id.carnation, R.id.brown2, R.id.pureBlack)
val colours = MiscData.colourNames
for (i2 in 0 until buttons.size) {
- buttons[i2].setOnClickListener {
+ picker.findViewById(buttons[i2]).setOnClickListener {
// prefs.edit().putInt("bg$titleNoLang", colourIntegers[i2]).apply()
prefs.edit().putString("card$titleNoLang", colours[i2]).apply()
val recyclerViewState = colourRecycler.layoutManager?.onSaveInstanceState()
@@ -421,13 +452,19 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
model = deviceInfo.model
}
- val alertDialog = AlertDialog.Builder(mContext, R.style.AlertDialog)
+ val alertDialog = AlertDialog.Builder(mContext,
+ R.style.AlertDialog
+ )
val dialogView = LayoutInflater.from(mContext).inflate(R.layout.edittext_dialog, null)
val dialogEditText = dialogView.findViewById(R.id.dialog_edittext)
val dialogButton = dialogView.findViewById