/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 - 2 0 1 9 ĠDi ep DT Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . one vn . browser . ui . app Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . os . Handler Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . view . View Configuration Ċ Ċ @ Suppress Lint (" Registered ") Ċ open Ġclass ĠLong Press Fix Activity Ġ: ĠTheme Activity () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlong Press Timeout Ġ= ĠView Configuration . getLong Press Timeout () ĊĠĠĠ Ġprivate Ġval Ġhandler Ġ= ĠHandler () ĊĊĠĠĠ Ġprivate Ġvar Ġtime : ĠLong Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġwaiting : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġval Ġlong Press Ġ= ĠRunnable Ġ{ Ġon Back Key Long Pressed () Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispatch KeyEvent ( event : ĠKeyEvent ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( event . keyCode Ġ== ĠKeyEvent . KEYCODE _ BACK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( event . action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKeyEvent . ACTION _ DOWN Ġ-> Ġif Ġ(! waiting ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwaiting Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( long Press , Ġlong Press Timeout . to Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKeyEvent . ACTION _ UP Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . remove Callbacks ( long Press ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwaiting Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( System . currentTimeMillis () Ġ- Ġtime Ġ< Ġlong Press Timeout ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Key Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . remove Callbacks ( long Press ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwaiting Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . dispatch KeyEvent ( event ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Destroy Action Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġhandler . remove Callbacks ( long Press ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġon Back Key Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Back Key Long Pressed () Ġ{ ĊĊĠĠĠ Ġ} Ċ } Ċ