package Ġcom . del ac rix m organ . mam ika Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Environment Ċ import Ġandroid . view . H aptic Feedback Constants Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . View Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠM am ika Extensions Ċ Ġ* Ġm am ika - android Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠDel ac rix ĠM organ Ġon Ġ 2 9 / 1 1 / 2 0 1 8 . Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 Ġlicensed Ġunder Ġa ĠCreative ĠCommons ĠAt tribution - Share Ali ke Ġ 4 . 0 ĠInternational ĠLicense . Ċ Ġ*/ Ċ Ċ fun ĠView . perform H aptic Context Click () Ġ{ ĊĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠ Ġperform H aptic Feedback ( H aptic Feedback Constants . CONTEXT _ CLICK ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġperform H aptic Feedback ( H aptic Feedback Constants . VIRTUAL _ KEY ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠMotion Event . calculate F inger Spacing (): ĠFloat Ġ{ ĊĠĠĠ Ġval Ġx Ġ= Ġget X ( 0 ) Ġ- Ġget X ( 1 ) ĊĠĠĠ Ġval Ġy Ġ= Ġget Y ( 0 ) Ġ- Ġget Y ( 1 ) ĊĊĠĠĠ Ġreturn ĠMath . sqrt (( x Ġ* Ġx Ġ+ Ġy Ġ* Ġy ). toDouble ()). toFloat () Ċ } Ċ Ċ fun ĠContext . save File Ex tern ally ( video Url : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġdir Ġ= ĠEnvironment . get External Storage Directory (). path ĊĠĠĠ Ġval Ġfolder Ġ= ĠgetString ( R . string . app _ name ) ĊĠĠĠ Ġval Ġfilename Ġ= Ġvideo Url . split ("/ "). last () ĊĠĠĠ Ġval Ġdestination Path Ġ= ĠFile ("$ dir /$ folder /$ filename ") ĊĊĠĠĠ Ġif Ġ(! destination Path . exists ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġdestination Path . mkdir () ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠFile ( video Url ). copy To ( target Ġ= Ġdestination Path , Ġoverwrite Ġ= Ġtrue , ĠbufferSize Ġ= ĠDEFAULT _ BUFFER _ SIZE ) Ċ } Ċ Ċ fun ĠContext . launch Play Store ( packageName : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġurl Ġ= Ġ" https :// play . google . com / store / apps / details ? id =$ packageName " ĊĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW , ĠUri . parse ( url )) ĊĊĠĠĠ Ġintent . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK ĊĠĠĠ ĠstartActivity ( intent ) Ċ } Ċ Ċ fun ĠContext . launch Website ( url : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĊĠĠĠ Ġintent . data Ġ= ĠUri . parse ( url ) ĊĠĠĠ ĠstartActivity ( intent ) Ċ } Ċ Ċ fun ĠContext . share App Intent ( message : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ SEND ) ĊĊĠĠĠ Ġintent . type Ġ= Ġ" text / plain " ĊĠĠĠ Ġintent . putExtra ( Intent . EXTRA _ TEXT , Ġmessage ) ĊĊĠĠĠ ĠstartActivity ( Intent . create Chooser ( intent , Ġ" Tell Ġa ĠGIF Ġbu ddy ")) Ċ }