package Ġcom . k sh it ij pat il . ta z ab azar . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroid . widget . EditText Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . k sh it ij pat il . ta z ab azar . R Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity ( R . layout . activity _ main ) Ġ{ ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠMainActivity ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun Ġdispatch Touch Event ( ev : ĠMotion Event ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( viewModel . clear Focus . value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear Focus On Out Side Click (); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . dispatch Touch Event ( ev ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear Focus On Out Side Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Focus ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ġis ĠEditText ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Focus () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimm Ġ= Ġget System Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimm . hide Soft Input From Window ( window Token , ĠInput Method Manager . HIDE _ NOT _ ALWAYS ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }