diff --git a/app/build.gradle b/app/build.gradle index c29a25c9..7f63220f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -19,11 +19,10 @@ android { defaultConfig { applicationId "io.github.wulkanowy" testApplicationId "io.github.tests.wulkanowy" - minSdkVersion 17 + minSdkVersion 21 targetSdkVersion 30 versionCode 90 versionName "1.1.4" - multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true @@ -78,7 +77,6 @@ android { productFlavors { hms { dimension "platform" - minSdkVersion 19 manifestPlaceholders = [ install_channel: "AppGallery" ] @@ -175,7 +173,6 @@ dependencies { implementation "androidx.appcompat:appcompat-resources:1.2.0" implementation "androidx.fragment:fragment-ktx:1.3.2" implementation "androidx.annotation:annotation:1.2.0" - implementation "androidx.multidex:multidex:2.0.1" implementation "androidx.preference:preference-ktx:1.1.1" implementation "androidx.recyclerview:recyclerview:1.1.0" diff --git a/app/jacoco.gradle b/app/jacoco.gradle index 94469fbc..1fb1ebd7 100644 --- a/app/jacoco.gradle +++ b/app/jacoco.gradle @@ -1,8 +1,8 @@ apply plugin: "jacoco" jacoco { - toolVersion "0.8.5" - reportsDir = file("$buildDir/reports") + toolVersion "0.8.6" + reportsDirectory = file("$buildDir/reports") } tasks.withType(Test) { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7b714fb2..3b6b9e66 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + diff --git a/app/src/main/java/io/github/wulkanowy/WulkanowyApp.kt b/app/src/main/java/io/github/wulkanowy/WulkanowyApp.kt index d01a953d..09083467 100644 --- a/app/src/main/java/io/github/wulkanowy/WulkanowyApp.kt +++ b/app/src/main/java/io/github/wulkanowy/WulkanowyApp.kt @@ -2,14 +2,12 @@ package io.github.wulkanowy import android.annotation.SuppressLint import android.app.Application -import android.content.Context import android.util.Log.DEBUG import android.util.Log.INFO import android.util.Log.VERBOSE import android.webkit.WebView import androidx.fragment.app.FragmentManager import androidx.hilt.work.HiltWorkerFactory -import androidx.multidex.MultiDex import androidx.work.Configuration import com.yariksoffice.lingver.Lingver import dagger.hilt.android.HiltAndroidApp @@ -43,11 +41,6 @@ class WulkanowyApp : Application(), Configuration.Provider { @Inject lateinit var analyticsHelper: AnalyticsHelper - override fun attachBaseContext(base: Context?) { - super.attachBaseContext(base) - MultiDex.install(this) - } - @SuppressLint("UnsafeOptInUsageWarning") override fun onCreate() { super.onCreate() diff --git a/app/src/main/java/io/github/wulkanowy/data/repositories/AppCreatorRepository.kt b/app/src/main/java/io/github/wulkanowy/data/repositories/AppCreatorRepository.kt index aea8632a..71b7ea94 100644 --- a/app/src/main/java/io/github/wulkanowy/data/repositories/AppCreatorRepository.kt +++ b/app/src/main/java/io/github/wulkanowy/data/repositories/AppCreatorRepository.kt @@ -15,6 +15,7 @@ class AppCreatorRepository @Inject constructor( private val dispatchers: DispatchersProvider ) { + @Suppress("BlockingMethodInNonBlockingContext") suspend fun getAppCreators() = withContext(dispatchers.backgroundThread) { val moshi = Moshi.Builder().build() val type = Types.newParameterizedType(List::class.java, Contributor::class.java) diff --git a/app/src/main/java/io/github/wulkanowy/data/repositories/PreferencesRepository.kt b/app/src/main/java/io/github/wulkanowy/data/repositories/PreferencesRepository.kt index 375dd62e..426e08ff 100644 --- a/app/src/main/java/io/github/wulkanowy/data/repositories/PreferencesRepository.kt +++ b/app/src/main/java/io/github/wulkanowy/data/repositories/PreferencesRepository.kt @@ -2,7 +2,6 @@ package io.github.wulkanowy.data.repositories import android.content.Context import android.content.SharedPreferences -import androidx.core.content.edit import dagger.hilt.android.qualifiers.ApplicationContext import io.github.wulkanowy.R import io.github.wulkanowy.ui.modules.grade.GradeAverageMode @@ -151,10 +150,6 @@ class PreferencesRepository @Inject constructor( R.string.pref_key_optional_arithmetic_average, R.bool.pref_default_optional_arithmetic_average ) - - var isKitkatDialogDisabled: Boolean - get() = sharedPref.getBoolean("kitkat_dialog_disabled", false) - set(value) = sharedPref.edit { putBoolean("kitkat_dialog_disabled", value) } private fun getString(id: Int, default: Int) = getString(context.getString(id), default) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/about/logviewer/LogViewerFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/about/logviewer/LogViewerFragment.kt index cf40975e..09572c97 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/about/logviewer/LogViewerFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/about/logviewer/LogViewerFragment.kt @@ -4,9 +4,6 @@ import android.content.Intent import android.content.Intent.EXTRA_EMAIL import android.content.Intent.EXTRA_STREAM import android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION -import android.net.Uri -import android.os.Build.VERSION.SDK_INT -import android.os.Build.VERSION_CODES.LOLLIPOP import android.os.Bundle import android.view.Menu import android.view.MenuInflater @@ -81,8 +78,7 @@ class LogViewerFragment : BaseFragment(R.layout.fragme putExtra(EXTRA_EMAIL, arrayOf("wulkanowyinc@gmail.com")) addFlags(FLAG_GRANT_READ_URI_PERMISSION) putParcelableArrayListExtra(EXTRA_STREAM, ArrayList(files.map { - if (SDK_INT < LOLLIPOP) Uri.fromFile(it) - else FileProvider.getUriForFile(requireContext(), "$APPLICATION_ID.fileprovider", it) + FileProvider.getUriForFile(requireContext(), "$APPLICATION_ID.fileprovider", it) })) } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/account/accountedit/AccountEditPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/account/accountedit/AccountEditPresenter.kt index 62dd70ab..67ecdb5f 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/account/accountedit/AccountEditPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/account/accountedit/AccountEditPresenter.kt @@ -14,7 +14,7 @@ import timber.log.Timber import javax.inject.Inject class AccountEditPresenter @Inject constructor( - private val appInfo: AppInfo, + appInfo: AppInfo, errorHandler: ErrorHandler, studentRepository: StudentRepository ) : BasePresenter(errorHandler, studentRepository) { diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/summary/GradeSummaryAdapter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/summary/GradeSummaryAdapter.kt index edc2a9e1..4de6044b 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/summary/GradeSummaryAdapter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/summary/GradeSummaryAdapter.kt @@ -5,15 +5,11 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import io.github.wulkanowy.data.db.entities.Grade import io.github.wulkanowy.data.db.entities.GradeSummary -import io.github.wulkanowy.data.db.entities.Student import io.github.wulkanowy.data.repositories.PreferencesRepository import io.github.wulkanowy.databinding.ItemGradeSummaryBinding import io.github.wulkanowy.databinding.ScrollableHeaderGradeSummaryBinding -import io.github.wulkanowy.sdk.Sdk import io.github.wulkanowy.utils.calcAverage -import io.github.wulkanowy.utils.changeModifier import java.util.Locale import javax.inject.Inject diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumber/history/LuckyNumberHistoryAdapter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumber/history/LuckyNumberHistoryAdapter.kt index 7c09c96f..2a80de8c 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumber/history/LuckyNumberHistoryAdapter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumber/history/LuckyNumberHistoryAdapter.kt @@ -8,7 +8,6 @@ import io.github.wulkanowy.data.db.entities.LuckyNumber import io.github.wulkanowy.databinding.ItemLuckyNumberHistoryBinding import io.github.wulkanowy.utils.toFormattedString import io.github.wulkanowy.utils.weekDayName -import java.util.Locale import javax.inject.Inject class LuckyNumberHistoryAdapter @Inject constructor() : diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumber/history/LuckyNumberHistoryFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumber/history/LuckyNumberHistoryFragment.kt index 6e991ba1..f155fa47 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumber/history/LuckyNumberHistoryFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumber/history/LuckyNumberHistoryFragment.kt @@ -15,7 +15,6 @@ import io.github.wulkanowy.ui.modules.main.MainView import io.github.wulkanowy.ui.widgets.DividerItemDecoration import io.github.wulkanowy.utils.SchooldaysRangeLimiter import io.github.wulkanowy.utils.dpToPx -import io.github.wulkanowy.utils.getThemeAttrColor import java.time.LocalDate import javax.inject.Inject diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt index 741cfb18..22e39236 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt @@ -9,8 +9,6 @@ import android.content.pm.ShortcutInfo import android.content.pm.ShortcutManager import android.graphics.drawable.Icon import android.os.Build -import android.os.Build.VERSION.SDK_INT -import android.os.Build.VERSION_CODES.LOLLIPOP import android.os.Build.VERSION_CODES.P import android.os.Bundle import android.view.Menu @@ -211,7 +209,7 @@ class MainActivity : BaseActivity(), MainVie @SuppressLint("NewApi") override fun initView() { with(binding.mainToolbar) { - if (SDK_INT >= LOLLIPOP) stateListAnimator = null + stateListAnimator = null setBackgroundColor( overlayProvider.compositeOverlayWithThemeSurfaceColorIfNeeded(dpToPx(4f)) ) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainPresenter.kt index ffcfcb61..c0eb2b11 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainPresenter.kt @@ -24,7 +24,7 @@ class MainPresenter @Inject constructor( private val analytics: AnalyticsHelper, ) : BasePresenter(errorHandler, studentRepository) { - var studentsWitSemesters: List? = null + private var studentsWitSemesters: List? = null fun onAttachView(view: MainView, initMenu: MainView.Section?) { super.onAttachView(view) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/more/MoreFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/more/MoreFragment.kt index c4a14a52..d235d68b 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/more/MoreFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/more/MoreFragment.kt @@ -8,7 +8,6 @@ import dagger.hilt.android.AndroidEntryPoint import io.github.wulkanowy.R import io.github.wulkanowy.databinding.FragmentMoreBinding import io.github.wulkanowy.ui.base.BaseFragment -import io.github.wulkanowy.ui.modules.about.AboutFragment import io.github.wulkanowy.ui.modules.conference.ConferenceFragment import io.github.wulkanowy.ui.modules.homework.HomeworkFragment import io.github.wulkanowy.ui.modules.luckynumber.LuckyNumberFragment diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/settings/advanced/AdvancedView.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/settings/advanced/AdvancedView.kt index c2e8e52d..90c0474e 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/settings/advanced/AdvancedView.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/settings/advanced/AdvancedView.kt @@ -2,4 +2,4 @@ package io.github.wulkanowy.ui.modules.settings.advanced import io.github.wulkanowy.ui.base.BaseView -interface AdvancedView : BaseView {} +interface AdvancedView : BaseView diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashActivity.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashActivity.kt index 2b96a9a0..376ef374 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashActivity.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashActivity.kt @@ -3,10 +3,8 @@ package io.github.wulkanowy.ui.modules.splash import android.os.Bundle import android.widget.Toast import android.widget.Toast.LENGTH_LONG -import androidx.appcompat.app.AlertDialog import androidx.viewbinding.ViewBinding import dagger.hilt.android.AndroidEntryPoint -import io.github.wulkanowy.R import io.github.wulkanowy.ui.base.BaseActivity import io.github.wulkanowy.ui.modules.login.LoginActivity import io.github.wulkanowy.ui.modules.main.MainActivity @@ -46,14 +44,4 @@ class SplashActivity : BaseActivity(), SplashView override fun showError(text: String, error: Throwable) { Toast.makeText(this, text, LENGTH_LONG).show() } - - override fun showKitkatView() { - AlertDialog.Builder(this) - .setTitle(R.string.drop_kitkat_title) - .setMessage(R.string.drop_kitkat_content) - .setPositiveButton(android.R.string.ok, null) - .setNeutralButton(R.string.drop_kitkat_again) { _, _ -> presenter.onNeutralButtonSelected() } - .setOnDismissListener { presenter.onKitkatViewDismissed() } - .show() - } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashPresenter.kt index 4590d91a..03e43efa 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashPresenter.kt @@ -1,12 +1,9 @@ package io.github.wulkanowy.ui.modules.splash -import android.os.Build import io.github.wulkanowy.data.Status -import io.github.wulkanowy.data.repositories.PreferencesRepository import io.github.wulkanowy.data.repositories.StudentRepository import io.github.wulkanowy.ui.base.BasePresenter import io.github.wulkanowy.ui.base.ErrorHandler -import io.github.wulkanowy.utils.AppInfo import io.github.wulkanowy.utils.flowWithResource import kotlinx.coroutines.flow.onEach import timber.log.Timber @@ -15,26 +12,13 @@ import javax.inject.Inject class SplashPresenter @Inject constructor( errorHandler: ErrorHandler, studentRepository: StudentRepository, - private val preferencesRepository: PreferencesRepository, - private val appInfo: AppInfo ) : BasePresenter(errorHandler, studentRepository) { - private var externalUrl: String? = null - fun onAttachView(view: SplashView, externalUrl: String?) { super.onAttachView(view) - this.externalUrl = externalUrl - if (appInfo.systemVersion < Build.VERSION_CODES.LOLLIPOP && !preferencesRepository.isKitkatDialogDisabled) { - view.showKitkatView() - } else { - loadCorrectDataOrUser() - } - } - - private fun loadCorrectDataOrUser() { if (!externalUrl.isNullOrBlank()) { - view?.openExternalUrlAndFinish(externalUrl!!) + view.openExternalUrlAndFinish(externalUrl) return } @@ -42,19 +26,11 @@ class SplashPresenter @Inject constructor( when (it.status) { Status.LOADING -> Timber.d("Is current user set check started") Status.SUCCESS -> { - if (it.data!!) view?.openMainView() - else view?.openLoginView() + if (it.data!!) view.openMainView() + else view.openLoginView() } Status.ERROR -> errorHandler.dispatch(it.error!!) } }.launch() } - - fun onKitkatViewDismissed() { - loadCorrectDataOrUser() - } - - fun onNeutralButtonSelected() { - preferencesRepository.isKitkatDialogDisabled = true - } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashView.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashView.kt index c9c5fe9a..a5aa1409 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashView.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashView.kt @@ -9,6 +9,4 @@ interface SplashView : BaseView { fun openMainView() fun openExternalUrlAndFinish(url: String) - - fun showKitkatView() } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/timetablewidget/TimetableWidgetFactory.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/timetablewidget/TimetableWidgetFactory.kt index df656c00..7814ff71 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/timetablewidget/TimetableWidgetFactory.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/timetablewidget/TimetableWidgetFactory.kt @@ -113,7 +113,7 @@ class TimetableWidgetFactory( } } catch (e: Exception) { Timber.e(e, "An error has occurred in timetable widget factory") - emptyList() + emptyList() } @SuppressLint("DefaultLocale") diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/timetablewidget/TimetableWidgetProvider.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/timetablewidget/TimetableWidgetProvider.kt index 071a2d17..fd79f738 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/timetablewidget/TimetableWidgetProvider.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/timetablewidget/TimetableWidgetProvider.kt @@ -230,7 +230,7 @@ class TimetableWidgetProvider : HiltBroadcastReceiver() { private suspend fun getStudent(studentId: Long, appWidgetId: Int) = try { val students = studentRepository.getSavedStudents(false) - val student = students.singleOrNull { it -> it.student.id == studentId }?.student + val student = students.singleOrNull { it.student.id == studentId }?.student when { student != null -> student studentId != 0L && studentRepository.isCurrentStudentSet() -> { diff --git a/app/src/main/java/io/github/wulkanowy/utils/security/Scrambler.kt b/app/src/main/java/io/github/wulkanowy/utils/security/Scrambler.kt index 264f4542..5457a7e7 100644 --- a/app/src/main/java/io/github/wulkanowy/utils/security/Scrambler.kt +++ b/app/src/main/java/io/github/wulkanowy/utils/security/Scrambler.kt @@ -58,10 +58,6 @@ private val cipher: Cipher fun encrypt(plainText: String, context: Context): String { if (plainText.isEmpty()) throw ScramblerException("Text to be encrypted is empty") - if (SDK_INT < JELLY_BEAN_MR2) { - return String(encode(plainText.toByteArray(KEY_CHARSET), DEFAULT), KEY_CHARSET) - } - return try { if (!isKeyPairExists) generateKeyPair(context) @@ -90,10 +86,6 @@ fun decrypt(cipherText: String): String { if (cipherText.isEmpty()) throw ScramblerException("Text to be encrypted is empty") return try { - if (SDK_INT < JELLY_BEAN_MR2 || cipherText.length < 250) { - return String(decode(cipherText.toByteArray(KEY_CHARSET), DEFAULT), KEY_CHARSET) - } - if (!isKeyPairExists) throw ScramblerException("KeyPair doesn't exist") cipher.let { diff --git a/app/src/main/res/layout/fragment_logviewer.xml b/app/src/main/res/layout/fragment_logviewer.xml index 64f9125f..f8ec37d2 100644 --- a/app/src/main/res/layout/fragment_logviewer.xml +++ b/app/src/main/res/layout/fragment_logviewer.xml @@ -29,6 +29,6 @@ android:focusable="true" android:text="@string/logviewer_refresh" android:tint="?colorOnSecondary" - app:srcCompat="@drawable/ic_refresh" /> - + app:srcCompat="@drawable/ic_refresh" + tools:ignore="ContentDescription" /> diff --git a/app/src/main/res/layout/fragment_mobile_device.xml b/app/src/main/res/layout/fragment_mobile_device.xml index afe1db8e..e97bd0c5 100644 --- a/app/src/main/res/layout/fragment_mobile_device.xml +++ b/app/src/main/res/layout/fragment_mobile_device.xml @@ -111,5 +111,6 @@ android:layout_gravity="bottom|end" android:layout_margin="16dp" android:tint="?colorOnSecondary" - app:srcCompat="@drawable/ic_all_add" /> + app:srcCompat="@drawable/ic_all_add" + tools:ignore="ContentDescription" /> diff --git a/app/src/main/res/layout/item_attendance.xml b/app/src/main/res/layout/item_attendance.xml index e25b51f6..f3015283 100644 --- a/app/src/main/res/layout/item_attendance.xml +++ b/app/src/main/res/layout/item_attendance.xml @@ -52,7 +52,8 @@ android:layout_height="32dp" android:visibility="gone" app:srcCompat="@drawable/ic_excuse_waiting" - app:tint="?attr/colorOnSurface" /> + app:tint="?attr/colorOnSurface" + tools:ignore="ContentDescription" /> + tools:visibility="visible" + tools:ignore="UseAppTint" /> + tools:visibility="visible" + tools:ignore="UseAppTint" /> @color/colorSwipeRefreshDark ?colorSurface ?android:textColorPrimary - - @color/colorNavigationBarLight - - - @color/colorStatusBarLight - + @color/colorNavigationBarLight + @color/colorStatusBarLight false - true false + true - - - \ No newline at end of file diff --git a/app/src/main/res/values/preferences_values.xml b/app/src/main/res/values/preferences_values.xml index 44f54c17..2d2eedb4 100644 --- a/app/src/main/res/values/preferences_values.xml +++ b/app/src/main/res/values/preferences_values.xml @@ -109,15 +109,4 @@ both_semesters all_year - - - Don\'t show - Show all - Show smaller - - - no - yes - small - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1b7c9e42..3d54c16a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,7 +40,6 @@ Hybrid Token PIN - API key Symbol Sign in Password too short @@ -66,7 +65,6 @@ Email Discord Send email - Describe details of problem: Zgłoszenie: Problemy z logowaniem Informacje o aplikacji:\n\nUrządzenie: %1$s\nWersja SDK: %2$s\nWersja aplikacji: %3$s\nDodatkowe informacje: %4$s\nOstatni błąd: %5$s\n\nOpis problemu: Make sure you select the correct UONET+ register variation! @@ -91,13 +89,10 @@ Weight Weight: %s Comment - No new grades Number of new ratings: %1$d Average: %1$.2f Points: %s No average - Predicted: %1$s - Final: %1$s Total points Final grade Predicted grade @@ -188,10 +183,6 @@ Unknown Number of lesson No entries - - %1$d absence - %1$d absences - Absence reason (optional) Send Absence excuse request sent successfully! @@ -200,7 +191,6 @@ - Attendance Total @@ -216,7 +206,6 @@ Trash (no subject) No messages - An error occurred while downloading message content From: To: Date: %s @@ -357,8 +346,6 @@ Student logout Student account Parent account - Mobile API mode - Hybrid mode Edit data Accounts manager Select student @@ -479,7 +466,6 @@ Mark current lesson Show groups next to subjects Show chart list in class grades - Show whole class lessons Show subjects without grades Grades color scheme Subjects sorting @@ -532,7 +518,6 @@ - New entries in register New grades Lucky number New messages diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 08867b79..8fb07e1a 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -11,6 +11,7 @@ @color/colorError @color/colorDivider @color/colorSwipeRefresh + @android:color/darker_gray ?android:textColorPrimary @style/PreferenceThemeOverlay false @@ -24,6 +25,8 @@