|
1 | 1 | package io.blackbox_vision.datetimepickeredittext.view
|
2 | 2 |
|
| 3 | +import android.app.Activity |
| 4 | +import android.app.DatePickerDialog.OnDateSetListener |
3 | 5 | import android.content.Context
|
4 |
| -import android.support.design.widget.TextInputEditText |
5 |
| -import android.support.v4.app.FragmentManager |
| 6 | +import android.content.ContextWrapper |
6 | 7 | import android.text.InputType
|
7 | 8 | import android.util.AttributeSet
|
8 | 9 | import android.view.View
|
| 10 | +import android.view.View.OnClickListener |
| 11 | +import android.view.View.OnFocusChangeListener |
9 | 12 | import android.view.inputmethod.InputMethodManager
|
10 | 13 | import android.widget.DatePicker
|
11 |
| - |
12 |
| -import java.text.DateFormat |
13 |
| -import java.util.Calendar |
14 |
| -import java.util.Locale |
15 |
| - |
| 14 | +import androidx.appcompat.app.AppCompatActivity |
| 15 | +import androidx.fragment.app.FragmentManager |
| 16 | +import com.google.android.material.textfield.TextInputEditText |
16 | 17 | import io.blackbox_vision.datetimepickeredittext.R
|
17 | 18 | import io.blackbox_vision.datetimepickeredittext.internal.fragment.DatePickerFragment
|
18 | 19 | import io.blackbox_vision.datetimepickeredittext.internal.utils.DateUtils
|
19 |
| - |
20 |
| -import android.view.View.OnFocusChangeListener |
21 |
| -import android.view.View.OnClickListener |
22 |
| -import android.app.DatePickerDialog.OnDateSetListener |
23 |
| -import android.support.v7.app.AppCompatActivity |
| 20 | +import java.text.DateFormat |
| 21 | +import java.util.* |
24 | 22 |
|
25 | 23 |
|
26 | 24 | class DatePickerInputEditText : TextInputEditText, OnFocusChangeListener, OnClickListener, OnDateSetListener {
|
@@ -60,7 +58,7 @@ class DatePickerInputEditText : TextInputEditText, OnFocusChangeListener, OnClic
|
60 | 58 | setOnClickListener(this)
|
61 | 59 |
|
62 | 60 | /*Set fragment manager*/
|
63 |
| - manager = (context as AppCompatActivity).supportFragmentManager |
| 61 | + manager = (unwrap(context) as AppCompatActivity).supportFragmentManager |
64 | 62 | }
|
65 | 63 |
|
66 | 64 | private fun handleAttributes(attributeSet: AttributeSet) {
|
@@ -193,6 +191,14 @@ class DatePickerInputEditText : TextInputEditText, OnFocusChangeListener, OnClic
|
193 | 191 | return this
|
194 | 192 | }
|
195 | 193 |
|
| 194 | + private fun unwrap(context: Context): Activity? { |
| 195 | + var _context: Context? = context |
| 196 | + while (_context !is Activity && _context is ContextWrapper) { |
| 197 | + _context = _context.baseContext |
| 198 | + } |
| 199 | + return _context as Activity? |
| 200 | + } |
| 201 | + |
196 | 202 | companion object {
|
197 | 203 | private val TAG = "DatePickerInputEditText"
|
198 | 204 | }
|
|
0 commit comments