Home | History | Annotate | Download | only in util
      1 /*
      2 * Copyright 2017 The Android Open Source Project
      3 *
      4 * Licensed under the Apache License, Version 2.0 (the "License");
      5 * you may not use this file except in compliance with the License.
      6 * You may obtain a copy of the License at
      7 *
      8 *     http://www.apache.org/licenses/LICENSE-2.0
      9 *
     10 * Unless required by applicable law or agreed to in writing, software
     11 * distributed under the License is distributed on an "AS IS" BASIS,
     12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 * See the License for the specific language governing permissions and
     14 * limitations under the License.
     15 */
     16 
     17 package com.example.android.basicpermissions.util
     18 
     19 import android.support.design.widget.Snackbar
     20 import android.view.View
     21 
     22 fun View.showSnackbar(msgId: Int, length: Int) {
     23     showSnackbar(context.getString(msgId), length)
     24 }
     25 
     26 fun View.showSnackbar(msg: String, length: Int) {
     27     showSnackbar(msg, length, null, {})
     28 }
     29 
     30 fun View.showSnackbar(
     31         msgId: Int,
     32         length: Int,
     33         actionMessageId: Int,
     34         action: (View) -> Unit
     35 ) {
     36     showSnackbar(context.getString(msgId), length, context.getString(actionMessageId), action)
     37 }
     38 
     39 fun View.showSnackbar(
     40         msg: String,
     41         length: Int,
     42         actionMessage: CharSequence?,
     43         action: (View) -> Unit
     44 ) {
     45     val snackbar = Snackbar.make(this, msg, length)
     46     if (actionMessage != null) {
     47         snackbar.setAction(actionMessage) {
     48             action(this)
     49         }.show()
     50     }
     51 }
     52