BaseMaterialDialogFragment.kt 1.1 KB

1234567891011121314151617181920212223242526
  1. package im.angry.openeuicc.ui
  2. import android.app.Dialog
  3. import android.os.Bundle
  4. import android.view.LayoutInflater
  5. import android.view.Window
  6. import androidx.appcompat.view.ContextThemeWrapper
  7. import androidx.fragment.app.DialogFragment
  8. import com.google.android.material.color.DynamicColors
  9. import im.angry.openeuicc.common.R
  10. abstract class BaseMaterialDialogFragment: DialogFragment() {
  11. override fun onGetLayoutInflater(savedInstanceState: Bundle?): LayoutInflater {
  12. val inflater = super.onGetLayoutInflater(savedInstanceState)
  13. val wrappedContext = ContextThemeWrapper(requireContext(), R.style.Theme_OpenEUICC)
  14. val dynamicWrappedContext = DynamicColors.wrapContextIfAvailable(wrappedContext)
  15. return inflater.cloneInContext(dynamicWrappedContext)
  16. }
  17. override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
  18. return super.onCreateDialog(savedInstanceState).also {
  19. it.window?.requestFeature(Window.FEATURE_NO_TITLE)
  20. it.window?.setBackgroundDrawableResource(R.drawable.dialog_background)
  21. }
  22. }
  23. }