@@ -15,6 +15,7 @@ import android.view.KeyEvent
15
15
import android.view.Menu
16
16
import android.view.MenuItem
17
17
import android.view.View
18
+ import android.view.ViewGroup
18
19
import android.widget.AdapterView
19
20
import android.widget.DatePicker
20
21
import android.widget.FrameLayout
@@ -25,7 +26,10 @@ import androidx.appcompat.app.AlertDialog
25
26
import androidx.appcompat.widget.AppCompatButton
26
27
import androidx.appcompat.widget.AppCompatImageButton
27
28
import androidx.core.text.HtmlCompat
29
+ import androidx.core.view.ViewCompat
30
+ import androidx.core.view.WindowInsetsCompat
28
31
import androidx.core.view.doOnLayout
32
+ import androidx.core.view.updateLayoutParams
29
33
import androidx.lifecycle.Lifecycle
30
34
import androidx.lifecycle.ViewModelProvider
31
35
import androidx.lifecycle.lifecycleScope
@@ -302,8 +306,7 @@ class MainActivity : BaseActivity() {
302
306
getString(R .string.copied_to_clipboard, copyText),
303
307
HtmlCompat .FROM_HTML_MODE_LEGACY
304
308
).let {
305
- Snackbar .make(this , tvCalculations, it, Snackbar .LENGTH_SHORT )
306
- .placeOnTop()
309
+ Snackbar .make(this , findViewById(R .id.snackbar_top_position), it, Snackbar .LENGTH_SHORT )
307
310
.setBackgroundTint(MaterialColors .getColor(this , R .attr.colorPrimary, null ))
308
311
.setTextColor(MaterialColors .getColor(this , R .attr.colorOnPrimary, null ))
309
312
.show()
@@ -362,8 +365,7 @@ class MainActivity : BaseActivity() {
362
365
viewModel.getError().observe(this ) {
363
366
// error
364
367
it?.let {
365
- Snackbar .make(this , tvCalculations, HtmlCompat .fromHtml(it, HtmlCompat .FROM_HTML_MODE_LEGACY ), Snackbar .LENGTH_INDEFINITE ) // show for 5s
366
- .placeOnTop()
368
+ Snackbar .make(this , findViewById(R .id.snackbar_top_position), HtmlCompat .fromHtml(it, HtmlCompat .FROM_HTML_MODE_LEGACY ), Snackbar .LENGTH_INDEFINITE ) // show for 5s
367
369
.setBackgroundTint(MaterialColors .getColor(this , R .attr.colorError, null ))
368
370
.setTextColor(MaterialColors .getColor(this , R .attr.colorOnError, null ))
369
371
.setActionTextColor(MaterialColors .getColor(this , R .attr.colorOnError, null ))
@@ -489,7 +491,6 @@ class MainActivity : BaseActivity() {
489
491
override fun onKeyDown (keyCode : Int , event : KeyEvent ? ): Boolean {
490
492
// IMPORTANT: can't work with simple keyCodes here, as depending on the keyboard
491
493
// configuration, wrong values will be returned (e.g. KEYCODE_8 instad of KEYCODE_PLUS).
492
- @Suppress(" MoveVariableDeclarationIntoWhen" )
493
494
val key = event?.keyCharacterMap?.get(keyCode, event.metaState)?.let { Char (it) }
494
495
when (key) {
495
496
// numbers
@@ -561,20 +562,4 @@ class MainActivity : BaseActivity() {
561
562
}
562
563
}
563
564
564
- /* *
565
- * Show snackbar at the top instead of the bottom.
566
- * Also make it only as wide as the main display is. Looking way better in landscape mode.
567
- */
568
- private fun Snackbar.placeOnTop (): Snackbar {
569
- swipeRefresh.doOnLayout {
570
- val view = this .view
571
- val params = view.layoutParams as FrameLayout .LayoutParams
572
- params.gravity = Gravity .TOP
573
- // setting width
574
- params.width = it.measuredWidth - this .view.paddingStart - this .view.paddingEnd
575
- view.layoutParams = params
576
- }
577
- return this
578
- }
579
-
580
565
}
0 commit comments