TP-72555: Crash fix for Android 6 and below for Dialog (#11675)
Co-authored-by: Kshitij Pramod Ghongadi <kshitij.pramod@navi.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
*
|
||||
* * Copyright © 2023 by Navi Technologies Limited
|
||||
* * Copyright © 2023-2024 by Navi Technologies Limited
|
||||
* * All rights reserved. Strictly confidential
|
||||
*
|
||||
*/
|
||||
@@ -8,12 +8,14 @@
|
||||
package com.navi.naviwidgets.adapters
|
||||
|
||||
import android.app.DatePickerDialog
|
||||
import android.os.Build
|
||||
import android.text.Editable
|
||||
import android.text.InputType
|
||||
import android.text.TextWatcher
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.Window
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.widget.AppCompatEditText
|
||||
import androidx.core.view.isVisible
|
||||
@@ -223,20 +225,25 @@ class TextEditTextCalendarItemAdapter(
|
||||
month,
|
||||
day
|
||||
)
|
||||
val parentView =
|
||||
datePickerDialog.window
|
||||
?.decorView
|
||||
?.findViewById<View>(android.R.id.content)
|
||||
?.rootView as? ViewGroup
|
||||
parentView?.descendantFocusability = ViewGroup.FOCUS_BLOCK_DESCENDANTS
|
||||
|
||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||
datePickerDialog?.window?.requestFeature(Window.FEATURE_NO_TITLE)
|
||||
} else {
|
||||
val parentView =
|
||||
datePickerDialog.window
|
||||
?.decorView
|
||||
?.findViewById<View>(android.R.id.content)
|
||||
?.rootView as? ViewGroup
|
||||
parentView?.descendantFocusability = ViewGroup.FOCUS_BLOCK_DESCENDANTS
|
||||
}
|
||||
datePickerDialog.setCancelable(true)
|
||||
datePickerDialog.datePicker.minDate =
|
||||
getMaximumAgePossible(datePickerData?.maxDate.orZero())
|
||||
datePickerDialog.datePicker.maxDate =
|
||||
datePickerData?.minDate?.let { getMinAgePossible(it) }
|
||||
?: kotlin.run { getAgeInMonths(datePickerData?.minMonth.orZero()) }
|
||||
datePickerDialog.show()
|
||||
if (!datePickerDialog.isShowing) {
|
||||
datePickerDialog.show()
|
||||
}
|
||||
}
|
||||
|
||||
private fun getMinAgePossible(maxDate: Int): Long {
|
||||
|
||||
Reference in New Issue
Block a user