From a2721aabcdeb0c9b6f32309a47939d8b02e1ee97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20D=C3=BCzg=C3=B6ren?= Date: Thu, 1 Aug 2019 15:36:21 +0200 Subject: [PATCH] Fixed visual bugs for API levels 21-22, removed "Open info panel automatically" feature due to visual bugs, switched out test URLs for real URLs again --- .../denizd/substitutionplan/DataFetcher.kt | 32 ++++++++--------- .../com/denizd/substitutionplan/FirstTime.kt | 15 ++++++-- .../java/com/denizd/substitutionplan/Main.kt | 11 +++--- .../substitutionplan/SettingsFragment.kt | 7 +--- .../main/res/layout/activity_first_time.xml | 2 ++ app/src/main/res/layout/content_settings.xml | 36 ++----------------- .../main/res/layout/diagnostics_dialog.xml | 2 +- app/src/main/res/layout/edittext_dialog.xml | 2 +- app/src/main/res/layout/empty_dialog.xml | 2 +- app/src/main/res/layout/list_item.xml | 7 ++-- app/src/main/res/layout/recycler_dialog.xml | 15 ++++---- app/src/main/res/layout/secret_dialog.xml | 2 +- app/src/main/res/layout/simple_dialog.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values/colors.xml | 2 ++ 15 files changed, 56 insertions(+), 83 deletions(-) diff --git a/app/src/main/java/com/denizd/substitutionplan/DataFetcher.kt b/app/src/main/java/com/denizd/substitutionplan/DataFetcher.kt index f7cf0b1..1f3a28c 100644 --- a/app/src/main/java/com/denizd/substitutionplan/DataFetcher.kt +++ b/app/src/main/java/com/denizd/substitutionplan/DataFetcher.kt @@ -39,17 +39,13 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte private var informational = "" private val prefs = PreferenceManager.getDefaultSharedPreferences(mContext) private val edit = prefs.edit() - private lateinit var pullToRefresh: SwipeRefreshLayout private var currentTime = "" private var currentFoodTime = "" - private val substUrl = "https://djd4rkn355.github.io/subst_test.html" - private val foodUrl = "https://djd4rkn355.github.io/food_test.html" + private val substUrl = "https://djd4rkn355.github.io/subst.html" + private val foodUrl = "https://djd4rkn355.github.io/food.html" override fun doInBackground(vararg params: Void?): Void? { try { - mView?.let { v: View -> - pullToRefresh = v.findViewById(R.id.pullToRefresh) - } if (menu) { val foodViewModel = FoodViewModel(mApplication) val docFood = Jsoup.connect(foodUrl).get() @@ -214,29 +210,31 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte } } } + if (plan || menu) { mView?.let { v: View -> - pullToRefresh.isRefreshing = false - val snackBarView = v.findViewById(R.id.coordination) - val sb = StringBuilder() - val time = when { + val snackText = mContext.getText(R.string.lastUpdated).toString() + when { menu -> currentFoodTime else -> currentTime } - val lastUpdated = sb.append(mContext.getText(R.string.lastUpdated)).append(time) - Snackbar.make(snackBarView, lastUpdated, Snackbar.LENGTH_LONG).show() + val snackBarView = v.findViewById(R.id.coordination) + Snackbar.make(snackBarView, snackText, Snackbar.LENGTH_LONG).show() } } - } catch (e: Exception) { mView?.let { v: View -> - try { - pullToRefresh.isRefreshing = false - } catch (ignored: Exception) {} val snackBarView = v.findViewById(R.id.coordination) - Snackbar.make(snackBarView, mContext.getText(R.string.noInternet), Snackbar.LENGTH_LONG).show() + Snackbar.make(snackBarView, mContext.getString(R.string.noInternet), Snackbar.LENGTH_LONG).show() } } return null } + + override fun onPostExecute(result: Void?) { + mView?.let { + try { + it.findViewById(R.id.pullToRefresh).isRefreshing = false + } catch (ignored: Exception) {} + } + } } \ 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/FirstTime.kt index 9974dc1..dccb82d 100644 --- a/app/src/main/java/com/denizd/substitutionplan/FirstTime.kt +++ b/app/src/main/java/com/denizd/substitutionplan/FirstTime.kt @@ -19,6 +19,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.content.ContextCompat +import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton import com.google.android.material.textfield.TextInputEditText import java.util.* @@ -34,10 +35,13 @@ class FirstTime : AppCompatActivity(R.layout.activity_first_time) { val window = this.window when (AppCompatDelegate.getDefaultNightMode()) { - AppCompatDelegate.MODE_NIGHT_NO -> { + 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.navigationBarColor = ContextCompat.getColor(this, R.color.colorBackground) + } else { + window.statusBarColor = ContextCompat.getColor(this, R.color.legacyBlack) + window.navigationBarColor = ContextCompat.getColor(this, R.color.legacyBlack) } } else -> { @@ -114,8 +118,13 @@ class FirstTime : AppCompatActivity(R.layout.activity_first_time) { } }) handler.postDelayed({ - val mImgCheck = findViewById(R.id.imageView).drawable as AnimatedVectorDrawable - mImgCheck.start() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + val mImgCheck = findViewById(R.id.imageView).drawable as AnimatedVectorDrawable + mImgCheck.start() + } else { + val mImgCheck = findViewById(R.id.imageView).drawable as AnimatedVectorDrawableCompat + mImgCheck.start() + } }, 1000) handler.postDelayed({ startActivity(start) diff --git a/app/src/main/java/com/denizd/substitutionplan/Main.kt b/app/src/main/java/com/denizd/substitutionplan/Main.kt index dbfa2dd..5c0eb49 100644 --- a/app/src/main/java/com/denizd/substitutionplan/Main.kt +++ b/app/src/main/java/com/denizd/substitutionplan/Main.kt @@ -52,32 +52,29 @@ class Main : AppCompatActivity(R.layout.app_bar_main) { notificationJob() } - val handler = Handler() - val appbarlayout = findViewById(R.id.appbarlayout) val toolbarTxt = findViewById(R.id.toolbarTxt) val bottomNav = findViewById(R.id.bottom_nav) - val chip = findViewById(R.id.chip) val contextView = findViewById(R.id.coordination) val window = this.window as Window setTheme(R.style.AppTheme0) - if (prefs.getBoolean("openInfo", false)) { - openInfoDialog() - } - when (prefs.getInt("themeInt", 0)) { 0 -> { 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.navigationBarColor = ContextCompat.getColor(this, R.color.colorBackground) + } else { + 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) } // else -> { // when (context.resources.configuration.uiMode) { diff --git a/app/src/main/java/com/denizd/substitutionplan/SettingsFragment.kt b/app/src/main/java/com/denizd/substitutionplan/SettingsFragment.kt index 8c4f4c4..730e43e 100644 --- a/app/src/main/java/com/denizd/substitutionplan/SettingsFragment.kt +++ b/app/src/main/java/com/denizd/substitutionplan/SettingsFragment.kt @@ -60,7 +60,6 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen val switchDark = view.findViewById(R.id.switchDark) val switchNotifications = view.findViewById(R.id.switchNotifications) val switchDefaultPlan = view.findViewById(R.id.switchDefaultPlan) - val switchOpenInfo = view.findViewById(R.id.switchOpenInfo) val switchAutoRefresh = view.findViewById(R.id.switchAutoRefresh) val versionNumber = view.findViewById(R.id.txtVersionTwo) val helpCourses = view.findViewById(R.id.chipHelpCourses) @@ -72,7 +71,6 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen switchDark.setOnCheckedChangeListener(this) switchNotifications.setOnCheckedChangeListener(this) switchDefaultPlan.setOnCheckedChangeListener(this) - switchOpenInfo.setOnCheckedChangeListener(this) switchAutoRefresh.setOnCheckedChangeListener(this) helpCourses.setOnClickListener(this) helpClasses.setOnClickListener(this) @@ -90,7 +88,6 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen } switchNotifications.isChecked = prefs.getBoolean("notif", false) switchDefaultPlan.isChecked = prefs.getBoolean("defaultPersonalised", false) - switchOpenInfo.isChecked = prefs.getBoolean("openInfo", false) switchAutoRefresh.isChecked = prefs.getBoolean("autoRefresh", false) versionNumber.text = BuildConfig.VERSION_NAME @@ -237,9 +234,6 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen R.id.switchDefaultPlan -> { edit.putBoolean("defaultPersonalised", isChecked) } - R.id.switchOpenInfo -> { - edit.putBoolean("openInfo", isChecked) - } R.id.switchAutoRefresh -> { edit.putBoolean("autoRefresh", isChecked) } @@ -263,6 +257,7 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen val titleText = dialogView.findViewById(R.id.empty_textviewtitle) titleText.text = getString(R.string.customiseColoursTitle) colourRecycler = dialogView.findViewById(R.id.recyclerView) + colourRecycler.hasFixedSize() colourRecycler.layoutManager = GridLayoutManager(mContext, 1) colourRecycler.adapter = ColourAdapter(getColourList(), this) diff --git a/app/src/main/res/layout/activity_first_time.xml b/app/src/main/res/layout/activity_first_time.xml index a908248..7e9f9cd 100644 --- a/app/src/main/res/layout/activity_first_time.xml +++ b/app/src/main/res/layout/activity_first_time.xml @@ -268,6 +268,8 @@ android:textAlignment="viewStart" android:textColor="@color/colorText" android:textSize="14sp" + android:layout_marginBottom="64dp" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/txtLayoutClasses" app:layout_constraintStart_toStartOf="@+id/txtLayoutClasses" app:layout_constraintTop_toBottomOf="@+id/cbNotif" /> diff --git a/app/src/main/res/layout/content_settings.xml b/app/src/main/res/layout/content_settings.xml index b582e8f..36ea807 100644 --- a/app/src/main/res/layout/content_settings.xml +++ b/app/src/main/res/layout/content_settings.xml @@ -396,38 +396,6 @@ app:layout_constraintStart_toStartOf="@+id/txtPersonalised" app:layout_constraintTop_toTopOf="@+id/txtPersonalised"/> - - - - - - + app:layout_constraintStart_toStartOf="@+id/txtDefaultsTo" + app:layout_constraintTop_toBottomOf="@+id/txtDefaultsTo" /> + android:textAlignment="viewStart"/> + android:textAlignment="viewStart"/> + android:textAlignment="viewStart"/> - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"/> diff --git a/app/src/main/res/layout/recycler_dialog.xml b/app/src/main/res/layout/recycler_dialog.xml index d48f0b3..9580b13 100644 --- a/app/src/main/res/layout/recycler_dialog.xml +++ b/app/src/main/res/layout/recycler_dialog.xml @@ -14,17 +14,18 @@ android:fontFamily="@font/manrope_semibold" android:layout_gravity="start" android:textColor="@color/colorText" - android:textAlignment="center"/> + android:textAlignment="viewStart"/> + + + android:layout_height="match_parent"/> - + \ No newline at end of file diff --git a/app/src/main/res/layout/secret_dialog.xml b/app/src/main/res/layout/secret_dialog.xml index 857709d..92d4b0c 100644 --- a/app/src/main/res/layout/secret_dialog.xml +++ b/app/src/main/res/layout/secret_dialog.xml @@ -14,7 +14,7 @@ android:textSize="22sp" android:layout_gravity="start" android:textColor="@color/colorText" - android:textAlignment="center"/> + android:textAlignment="viewStart"/> + android:textAlignment="viewStart"/> Guten Tag, %s! Einen schönen Tag noch, %s. Wie geht\'s dir, %s? - Hoffe du hast einen schönen Tag, %s. + Hab einen schönen Tag, %s. Hey, %s! Hi %s! Schön dich zu sehen, %s. diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index fddc9d7..dd02bdf 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -8,6 +8,8 @@ #757575 #bdbdbd + #000000 + #F28B82 #FBBC04 #FFF475