Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface LoadingModalListener {
- fun onLoadingStop()
- }
- class LoadingModal: androidx.fragment.app.DialogFragment() {
- private var listener: LoadingModalListener? = null
- override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
- val dialog = Dialog(activity, R.style.LoadingDialogStyle)
- dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
- dialog.window!!.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN)
- dialog.window!!.statusBarColor = ContextCompat.getColor(context!!, R.color.white)
- dialog.setContentView(R.layout.layout_loading)
- dialog.setCanceledOnTouchOutside(false)
- /*if (!BuildConfig.DEBUG) {
- dialog.setCancelable(false)
- }*/
- return dialog
- }
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
- val v = inflater.inflate(R.layout.layout_loading, container, false)
- dialog.setCanceledOnTouchOutside(false)
- /*if (!BuildConfig.DEBUG) {
- isCancelable = false
- }*/
- return v
- }
- fun setDialogListener(dialogListener: LoadingModalListener) {
- this.listener = dialogListener
- }
- override fun onDismiss(dialog: DialogInterface?) {
- super.onDismiss(dialog)
- listener?.onLoadingStop()
- }
- override fun dismiss() {
- dismissAllowingStateLoss()
- }
- companion object {
- fun newInstance(): LoadingModal {
- return LoadingModal()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement