@@ -6,11 +6,13 @@ import android.net.Uri
66import android.os.Bundle
77import android.os.Handler
88import android.support.annotation.StringRes
9+ import android.support.design.widget.CoordinatorLayout
910import android.support.design.widget.Snackbar
1011import android.support.v7.app.AlertDialog
1112import android.support.v7.app.AppCompatActivity
1213import android.support.v7.widget.Toolbar
1314import android.text.format.DateUtils
15+ import android.view.View
1416import android.widget.ProgressBar
1517import com.ediposouza.teslesgendstracker.App
1618import com.ediposouza.teslesgendstracker.R
@@ -30,6 +32,7 @@ import org.greenrobot.eventbus.EventBus
3032import org.greenrobot.eventbus.Subscribe
3133import org.jetbrains.anko.alert
3234import org.jetbrains.anko.contentView
35+ import org.jetbrains.anko.find
3336import org.jetbrains.anko.toast
3437import timber.log.Timber
3538
@@ -45,10 +48,11 @@ open class BaseActivity : AppCompatActivity(), GoogleApiClient.OnConnectionFaile
4548 private var googleApiClient: GoogleApiClient ? = null
4649 private val firebaseAuth by lazy { FirebaseAuth .getInstance() }
4750
48- protected var canExit: Boolean = false
49- protected val handler = Handler ()
51+ protected var canExit = false
5052 protected var keyboardVisible = false
53+ protected var snackbarNeedMargin = true
5154 protected var onKeyboardVisibilityChange: (() -> Unit )? = null
55+ protected val handler = Handler ()
5256 protected val eventBus: EventBus by lazy { EventBus .getDefault() }
5357
5458 val keyboardChangeListener = {
@@ -149,6 +153,11 @@ open class BaseActivity : AppCompatActivity(), GoogleApiClient.OnConnectionFaile
149153 toast(exitMsg)
150154 }
151155
156+ protected fun showErrorUserNotLogged () {
157+ eventBus.post(CmdShowSnackbarMsg (CmdShowSnackbarMsg .TYPE_ERROR , R .string.error_auth)
158+ .withAction(R .string.action_login, { eventBus.post(CmdShowLogin ()) }))
159+ }
160+
152161 private fun firebaseAuthWithGoogle (acct : GoogleSignInAccount ? ) {
153162 Timber .d(" firebaseAuthWithGoogle:" + acct?.id)
154163 showLoading()
@@ -195,12 +204,17 @@ open class BaseActivity : AppCompatActivity(), GoogleApiClient.OnConnectionFaile
195204 snackbar?.dismiss()
196205 val msgRes = cmdShowSnackbarMsg.msgRes
197206 val msg = if (msgRes > 0 ) getString(msgRes) else cmdShowSnackbarMsg.msg
198- snackbar = Snackbar .make(findViewById (R .id.coordinatorLayout), msg, cmdShowSnackbarMsg.duration)
207+ snackbar = Snackbar .make(find< View > (R .id.coordinatorLayout), msg, cmdShowSnackbarMsg.duration)
199208 if (cmdShowSnackbarMsg.action != null ) {
200209 val actionTextRes = cmdShowSnackbarMsg.actionTextRes
201210 val actionText = if (actionTextRes > 0 ) getString(actionTextRes) else cmdShowSnackbarMsg.actionText
202211 snackbar?.setAction(actionText, { cmdShowSnackbarMsg.action?.invoke() })
203212 }
213+ if (snackbarNeedMargin) {
214+ val snackbarLP = snackbar?.view?.layoutParams as CoordinatorLayout .LayoutParams
215+ snackbarLP.bottomMargin = resources.getDimensionPixelSize(R .dimen.navigation_bar_height)
216+ snackbar?.view?.layoutParams = snackbarLP
217+ }
204218 snackbar?.show()
205219 }
206220
0 commit comments