package Ġcom . kh ob en . aut ot itle . ui . recyclerview . overlay s Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Popup Window Ċ import Ġcom . kh ob en . aut ot itle . ui . recyclerview . overlay s . Text Selection Handle View Ċ Ċ class ĠText Selection Handle Popup ( ctx : ĠContext ?, Ġright Handle : ĠBoolean ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm View : ĠText Selection Handle View ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Window : ĠPopup Window ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġm Temp Location Ġ= ĠInt Array ( 2 ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm View Ġ= ĠText Selection Handle View ( ctx !! , Ġright Handle ) ĊĠĠĠĠĠĠĠ Ġm Window Ġ= ĠPopup Window ( m View ?. context , Ġnull , Ġandroid . R . attr . text Select Handle Window Style ) ĊĠĠĠĠĠĠĠ Ġm Window !!. is Split Touch Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġm Window !!. is Cli pping Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġm Window !!. content View Ġ= Ġm View ĊĠĠĠĠĠĠĠ Ġm Window !!. width Ġ= ĠViewGroup . LayoutParams . WRAP _ CONTENT ĊĠĠĠĠĠĠĠ Ġm Window !!. height Ġ= ĠViewGroup . LayoutParams . WRAP _ CONTENT ĊĠĠĠĠĠĠĠ Ġm View ?. measure ( 0 , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" R tl Hard coded ") ĊĠĠĠ Ġfun Ġshow ( parent : ĠView , Ġx : ĠInt , Ġy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġx Ġ= Ġx ĊĠĠĠĠĠĠĠ Ġvar Ġy Ġ= Ġy ĊĠĠĠĠĠĠĠ Ġparent . getLocation On Screen ( m Temp Location ) ĊĠĠĠĠĠĠĠ Ġx Ġ= Ġx Ġ- Ġm View !!. hot spot X Ġ+ Ġm Temp Location [ 0 ] Ġ+ Ġparent . padding Left ĊĠĠĠĠĠĠĠ Ġy Ġ+= Ġm Temp Location [ 1 ] Ġ+ Ġparent . padding Top ĊĠĠĠĠĠĠĠ Ġif Ġ( m Window !!. is Showing ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Window !!. update ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġy , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Window !!. show At Location ( parent , ĠGr avity . START Ġor ĠGr avity . TOP , Ġx , Ġy ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhide () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Window ?. dismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Visible (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Window !!. is Showing ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On Move Listener ( listener : ĠText Selection Handle View . Move Listener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm View ?. setOn Move Listener ( listener ) ĊĠĠĠ Ġ} Ċ Ċ }