package Ġcom . k ier on qu inn . app . t apt ap . models Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . annotation . String Res Ċ import Ġcom . k ier on qu inn . app . t apt ap . R Ċ import Ġcom . k ier on qu inn . app . t apt ap . core . col umb us . actions .* Ċ import Ġcom . k ier on qu inn . app . t apt ap . core . services . Tap Gesture Accessibility Service Ċ import Ġcom . k ier on qu inn . app . t apt ap . utils . extensions . does Have Permissions Ċ import Ġcom . k ier on qu inn . app . t apt ap . utils . extensions . is Accessibility Service Enabled Ċ import Ġcom . k ier on qu inn . app . t apt ap . utils . extensions . is Task er Installed Ċ Ċ /* ĊĠĠĠ ĠT ap ĠActions Ġ( wrapping Ġthe ĠAction Ġclass ) Ġcontain Ġdetails Ġon Ġhow Ġthe Ġaction Ġwill Ġbe Ġshown Ġin Ġthe Ġsettings ĊĠĠĠ Ġclazz : ĠThe Ġclass Ġname Ġof Ġthe Ġactual ĠAction Ġthat Ġwill Ġbe Ġrun . ĠThis Ġis Ġnot Ġcurrently Ġused , Ġbut Ġmay Ġbe Ġused Ġfor Ġverification Ġlater Ġdown Ġthe Ġline ĊĠĠĠ Ġcategory : ĠThe Ġcategory Ġthe Ġaction Ġwill Ġbe Ġshown Ġin Ġin Ġthe Ġpicker Ġin Ġthe Ġapp . ĠSee ĠT ap Action Category Ġfor Ġa Ġlist ĊĠĠĠ Ġname Res : ĠThe ĠString Ġresource Ġto Ġuse Ġfor Ġthe Ġname / title Ġof Ġthe Ġaction ĊĠĠĠ Ġdescription Res : ĠThe ĠString Ġresource Ġto Ġuse Ġfor Ġthe Ġdescription Ġof Ġthe Ġaction ĊĠĠĠ Ġicon Res : ĠThe ĠDrawable Ġresource Ġto Ġuse Ġfor Ġthe Ġicon Ġof Ġthe Ġaction ĊĠĠĠ Ġis Available : ĠWhether Ġthe Ġaction Ġis Ġavailable Ġon Ġthe Ġdevice . ĠFor Ġexample , Ġyou Ġshould Ġthe Ġstatic Ġmethod Ġmin Sdk (< version >) Ġif Ġit 's Ġonly Ġcompatible Ġwith Ġa Ġcertain Ġversion Ġof ĠAndroid Ġand Ġabove ĊĠĠĠ Ġis When Available : ĠWhether Ġthe Ġaction Ġshould Ġbe Ġallowed Ġto Ġhave Ġ" when Ġg ates " Ġ( g ates Ġwhich Ġare Ġrequired Ġto Ġrun Ġthe Ġaction ). ĠCurrently Ġthis Ġis Ġtrue Ġfor Ġall Ġthe Ġg ates , Ġbut Ġit 's Ġthere Ġfor Ġfuture - proof ing ĊĠĠĠ Ġcan Block : Ġ* Important *: ĠWhether Ġthe Ġaction 's Ġis Available Ġmethod Ġalways Ġreturns Ġtrue . ĠIf Ġthis Ġis Ġset Ġto Ġtrue , Ġthe ĠUI Ġwill Ġwarn Ġthe Ġuser Ġthat Ġno Ġactions Ġbelow Ġit Ġin Ġthe Ġlist Ġwill Ġever Ġbe Ġrun , Ġas Ġthis Ġwill Ġbe Ġthe Ġlast Ġone Ġthat Ġcan Ġbe ĊĠĠĠ Ġformat table Description Ġ( optional ) Ġ: ĠThe ĠString Ġresource Ġfor Ġa Ġdescription Ġof Ġthis Ġaction Ġthat Ġcan Ġbe Ġformatted Ġto Ġcontain Ġthe Ġaction 's Ġdata , Ġsuch Ġas Ġan Ġapp Ġname Ġfor Ġthe ĠLaunch ĠApp Ġaction ĊĠĠĠ ĠdataType Ġ( optional ): ĠThe Ġkind Ġof Ġdata Ġthat Ġis Ġstored Ġin Ġthe Ġ' data ' Ġfield Ġof ĠAction Internal Ġfor Ġthis Ġaction . ĠThis Ġwill Ġbe Ġused Ġto Ġopen Ġpick ers Ġin Ġthe ĠUI Ġafter Ġan Ġaction Ġis Ġadded , Ġfor Ġexample Ġan Ġapp Ġpicker . ĠSee ĠAction DataTypes Ġfor Ġa Ġfull Ġlist Ċ Ġ*/ Ċ enum Ġclass ĠT ap Action ( val Ġclazz : ĠClass <* >, Ġval Ġcategory : ĠT ap Action Category , Ġ@ String Res Ġval Ġname Res : ĠInt , Ġ@ String Res Ġval Ġdescription Res : ĠInt , Ġ@ Drawable Res Ġval Ġicon Res : ĠInt , Ġval Ġis Available : ĠBoolean , Ġval Ġis When Available : ĠBoolean , Ġval Ġcan Block : ĠBoolean , Ġ@ String Res Ġval Ġformat table Description : ĠInt ? Ġ= Ġnull , Ġval ĠdataType : ĠAction DataTypes ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ ĠLA UNCH _ APP ( Launch App :: class . java , ĠT ap Action Category . LA UNCH , ĠR . string . action _ launch _ app , ĠR . string . action _ launch _ app _ desc , ĠR . drawable . ic _ action _ category _ launch , Ġtrue , Ġtrue , Ġfalse , ĠR . string . action _ launch _ app _ desc _ format table , ĠAction DataTypes . PACKAGE _ NAME ), ĊĠĠĠ ĠLA UNCH _ SHORT CUT ( Launch Shortcut :: class . java , ĠT ap Action Category . LA UNCH , ĠR . string . action _ launch _ shortcut , ĠR . string . action _ launch _ shortcut _ desc , ĠR . drawable . ic _ action _ shortcut , Ġtrue , Ġtrue , Ġfalse , ĠR . string . action _ launch _ shortcut _ desc _ format table , ĠAction DataTypes . SHORT CUT ), ĊĠĠĠ ĠLA UNCH _ AS SIST ANT ( Launch Assistant :: class . java , ĠT ap Action Category . LA UNCH , ĠR . string . action _ launch _ assistant , ĠR . string . action _ launch _ assistant _ desc , ĠR . drawable . ic _ launch _ assistant , Ġtrue , Ġtrue , Ġfalse ), ĊĠĠĠ ĠLA UNCH _ SEARCH ( Launch Search :: class . java , ĠT ap Action Category . LA UNCH , ĠR . string . action _ launch _ search , ĠR . string . action _ launch _ search _ desc , ĠR . drawable . ic _ search , Ġtrue , Ġtrue , Ġfalse ), ĊĠĠĠ ĠLA UNCH _ CAMERA ( Launch Camera :: class . java , ĠT ap Action Category . LA UNCH , ĠR . string . action _ launch _ camera , ĠR . string . action _ launch _ camera _ desc , ĠR . drawable . ic _ camera _ visibility , Ġtrue , Ġtrue , Ġfalse , ĠdataType Ġ= ĠAction DataTypes . CAMERA _ PERMISSION ), ĊĠĠĠ ĠSCREEN SHOT ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ screenshot , ĠR . string . action _ screenshot _ desc , ĠR . drawable . ic _ action _ screenshot , Ġmin Sdk ( Build . VERSION _ CODES . P ), Ġtrue , Ġtrue ), ĊĠĠĠ ĠNOT IFICATION S ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ notifications , ĠR . string . action _ notifications _ desc , ĠR . drawable . ic _ action _ notifications , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠQU ICK _ SETTINGS ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ quick _ settings , ĠR . string . action _ quick _ settings _ desc , ĠR . drawable . ic _ action _ quick _ settings , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠLOCK _ SCREEN ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ lock _ screen , ĠR . string . action _ lock _ screen _ desc , ĠR . drawable . ic _ power _ state , Ġmin Sdk ( Build . VERSION _ CODES . P ), Ġtrue , Ġtrue ), ĊĠĠĠ ĠWA KE _ DEVICE ( Wake Device Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ wake _ device , ĠR . string . action _ wake _ device _ desc , ĠR . drawable . ic _ wake _ from _ sleep , Ġtrue , Ġtrue , Ġfalse ), ĊĠĠĠ ĠHOME ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ home , ĠR . string . action _ home _ desc , ĠR . drawable . ic _ action _ home , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠBACK ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ back , ĠR . string . action _ back _ desc , ĠR . drawable . ic _ action _ back , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠREC ENTS ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ recent s , ĠR . string . action _ recent s _ desc , ĠR . drawable . ic _ action _ recent , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠSPL IT _ SCREEN ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ split _ screen , ĠR . string . action _ split _ screen _ desc , ĠR . drawable . ic _ action _ split _ screen , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠRE ACH ABILITY ( Launch Reach ability :: class . java , ĠT ap Action Category . UTIL ITIES , ĠR . string . action _ reach ability , ĠR . string . action _ reach ability _ desc , ĠR . drawable . ic _ action _ reach ability , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠPO WER _ DIALOG ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ power _ dialog , ĠR . string . action _ power _ dialog _ desc , ĠR . drawable . ic _ action _ power _ dialog , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠAPP _ DRAW ER ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ app _ drawer , ĠR . string . action _ app _ drawer _ desc , ĠR . drawable . ic _ action _ app _ drawer , Ġmin Sdk ( Build . VERSION _ CODES . R ), Ġtrue , Ġtrue ), ĊĠĠĠ ĠALT _ TAB ( Alt Tab Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ alt _ tab , ĠR . string . action _ alt _ tab _ desc , ĠR . drawable . ic _ action _ alt _ tab , Ġmin Sdk ( Build . VERSION _ CODES . N ), Ġtrue , Ġtrue ), ĊĠĠĠ ĠFL ASH LIGHT ( Flash light :: class . java , ĠT ap Action Category . UTIL ITIES , ĠR . string . action _ flash light , ĠR . string . action _ flash light _ desc , ĠR . drawable . ic _ action _ category _ utilities , Ġtrue , Ġtrue , Ġtrue , ĠdataType Ġ= ĠAction DataTypes . CAMERA _ PERMISSION ), ĊĠĠĠ ĠTASK ER _ EVENT ( Task er Event :: class . java , ĠT ap Action Category . ADV ANCED , ĠR . string . action _ task er _ event , ĠR . string . action _ task er _ event _ desc , ĠR . drawable . ic _ action _ task er , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠTASK ER _ TASK ( Task er Task :: class . java , ĠT ap Action Category . ADV ANCED , ĠR . string . action _ task er _ task , ĠR . string . action _ task er _ task _ desc , ĠR . drawable . ic _ action _ task er , Ġtrue , Ġtrue , Ġtrue , ĠR . string . action _ task er _ task _ desc _ formatted , ĠdataType Ġ= ĠAction DataTypes . TASK ER _ TASK ), ĊĠĠĠ ĠTO GGLE _ PAUSE ( Music Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ toggle _ pause , ĠR . string . action _ toggle _ pause _ desc , ĠR . drawable . ic _ action _ toggle _ pause , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠPRE V IOUS ( Music Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ previous , ĠR . string . action _ previous _ desc , ĠR . drawable . ic _ action _ previous , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠNEXT ( Music Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ next , ĠR . string . action _ next _ desc , ĠR . drawable . ic _ action _ next , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠSO UND _ PRO FIL ER ( Sound Profile Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . actions _ sound _ profile , ĠR . string . actions _ sound _ profile _ desc , ĠR . drawable . ic _ baseline _ vi br ation _ 2 4 , Ġtrue , Ġtrue , Ġtrue , ĠdataType Ġ= ĠAction DataTypes . ACCESS _ NOTIFICATION _ POLICY ), ĊĠĠĠ ĠSO UND _ PRO FIL ER _ MOD ( Sound Profile Action Mod :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . actions _ sound _ profile _ mod , ĠR . string . actions _ sound _ profile _ mod _ desc , ĠR . drawable . ic _ baseline _ vi br ation _ 2 4 , Ġtrue , Ġtrue , Ġtrue , ĠdataType Ġ= ĠAction DataTypes . ACCESS _ NOTIFICATION _ POLICY ), ĊĠĠĠ ĠV OL UME _ PANEL ( Volume Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ volume _ panel , ĠR . string . action _ volume _ panel _ desc , ĠR . drawable . ic _ action _ volume _ panel , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠV OL UME _ UP ( Volume Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ volume _ up , ĠR . string . action _ volume _ up _ desc , ĠR . drawable . ic _ action _ volume _ up , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠV OL UME _ DOWN ( Volume Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ volume _ down , ĠR . string . action _ volume _ down _ desc , ĠR . drawable . ic _ action _ volume _ down , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠV OL UME _ TO GGLE _ M UTE ( Volume Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ volume _ toggle _ mute , ĠR . string . action _ volume _ toggle _ mute _ desc , ĠR . drawable . ic _ action _ volume _ toggle _ mute , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠAL ARM _ TIMER ( Alarm Timer Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ alarm _ timer , ĠR . string . action _ alarm _ timer _ desc , ĠR . drawable . ic _ gate _ alarm , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠAL ARM _ S NO O ZE ( Alarm Sn oo ze Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ alarm _ sn oo ze , ĠR . string . action _ alarm _ sn oo ze _ desc , ĠR . drawable . ic _ action _ alarm _ sn oo ze , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠGOOGLE _ VOICE _ ACCESS ( Google Voice Access Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ google _ voice _ access , ĠR . string . action _ google _ voice _ access _ desc , ĠR . drawable . ic _ action _ google _ voice _ access , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠ ĠACC ES SI B ILITY _ BUTTON ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ accessibility _ button , ĠR . string . action _ accessibility _ button _ desc , ĠR . drawable . ic _ action _ accessibility , Ġmin Sdk ( Build . VERSION _ CODES . R ), Ġtrue , Ġtrue ), ĊĠĠĠ ĠACC ES SI B ILITY _ BUTTON _ CH OO SER ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ accessibility _ button _ cho oser , ĠR . string . action _ accessibility _ button _ cho oser _ desc , ĠR . drawable . ic _ action _ accessibility , Ġmin Sdk ( Build . VERSION _ CODES . R ), Ġtrue , Ġtrue ), ĊĠĠĠ ĠACC ES SI B ILITY _ SHORT CUT ( Accessibility Service Global Action :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ accessibility _ shortcut , ĠR . string . action _ accessibility _ shortcut _ desc , ĠR . drawable . ic _ action _ accessibility , Ġmin Sdk ( Build . VERSION _ CODES . R ), Ġtrue , Ġtrue ), ĊĠĠĠ ĠH AMB UR GER ( H amburger Action :: class . java , ĠT ap Action Category . ADV ANCED , ĠR . string . action _ hamburger , ĠR . string . action _ hamburger _ desc , ĠR . drawable . ic _ action _ hamburger , Ġmin Sdk ( Build . VERSION _ CODES . N ), Ġtrue , Ġtrue , ĠdataType Ġ= ĠAction DataTypes . SECOND ARY _ GEST URE _ SERVICE ), ĊĠĠĠ ĠAC CEPT _ CALL ( Accept Call :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ accept _ call , ĠR . string . action _ accept _ call _ desc , ĠR . drawable . ic _ action _ accept _ call , Ġmin Sdk ( Build . VERSION _ CODES . O ), Ġtrue , Ġfalse , ĠdataType Ġ= ĠAction DataTypes . AN SW ER _ PHONE _ CALL S _ PERMISSION ), ĊĠĠĠ ĠRE JECT _ CALL ( Reject Call :: class . java , ĠT ap Action Category . ACTION S , ĠR . string . action _ reject _ call , ĠR . string . action _ reject _ call _ desc , ĠR . drawable . ic _ action _ reject _ call , Ġmin Sdk ( Build . VERSION _ CODES . P ), Ġtrue , Ġfalse , ĠdataType Ġ= ĠAction DataTypes . AN SW ER _ PHONE _ CALL S _ PERMISSION ), ĊĠĠĠ ĠS WI PE _ UP ( Swipe Action :: class . java , ĠT ap Action Category . ADV ANCED , ĠR . string . action _ swipe _ up , ĠR . string . action _ swipe _ up _ desc , ĠR . drawable . ic _ action _ swipe _ up , Ġmin Sdk ( Build . VERSION _ CODES . N ), Ġtrue , Ġtrue , ĠdataType Ġ= ĠAction DataTypes . SECOND ARY _ GEST URE _ SERVICE ), ĊĠĠĠ ĠS WI PE _ DOWN ( Swipe Action :: class . java , ĠT ap Action Category . ADV ANCED , ĠR . string . action _ swipe _ down , ĠR . string . action _ swipe _ down _ desc , ĠR . drawable . ic _ action _ swipe _ down , Ġmin Sdk ( Build . VERSION _ CODES . N ), Ġtrue , Ġtrue , ĠdataType Ġ= ĠAction DataTypes . SECOND ARY _ GEST URE _ SERVICE ), ĊĠĠĠ ĠS WI PE _ LEFT ( Swipe Action :: class . java , ĠT ap Action Category . ADV ANCED , ĠR . string . action _ swipe _ left , ĠR . string . action _ swipe _ left _ desc , ĠR . drawable . ic _ action _ swipe _ left , Ġmin Sdk ( Build . VERSION _ CODES . N ), Ġtrue , Ġtrue , ĠdataType Ġ= ĠAction DataTypes . SECOND ARY _ GEST URE _ SERVICE ), ĊĠĠĠ ĠS WI PE _ RIGHT ( Swipe Action :: class . java , ĠT ap Action Category . ADV ANCED , ĠR . string . action _ swipe _ right , ĠR . string . action _ swipe _ right _ desc , ĠR . drawable . ic _ action _ swipe _ right , Ġmin Sdk ( Build . VERSION _ CODES . N ), Ġtrue , Ġtrue , ĠdataType Ġ= ĠAction DataTypes . SECOND ARY _ GEST URE _ SERVICE ) Ċ } Ċ Ċ val ĠG EST URE _ REQ UI RING _ ACTION S Ġ= ĠT ap Action . values (). filter Ġ{ Ġit . dataType Ġ== ĠAction DataTypes . SECOND ARY _ GEST URE _ SERVICE Ġ} Ċ Ċ val ĠDEFAULT _ ACTION S Ġ= Ġif ( Tap Action . SCREEN SHOT . is Available ){ ĊĠĠĠ ĠarrayOf ( Tap Action . LA UNCH _ AS SIST ANT , ĠT ap Action . SCREEN SHOT ) Ċ } else { ĊĠĠĠ ĠarrayOf ( Tap Action . LA UNCH _ AS SIST ANT , ĠT ap Action . HOME ) Ċ } Ċ Ċ val ĠDEFAULT _ ACTION S _ TR IP LE Ġ= ĠarrayOf ( Tap Action . NOTIFICATION S ) Ċ Ċ enum Ġclass ĠAction DataTypes Ġ{ ĊĠĠĠ ĠPACK AGE _ NAME , ĊĠĠĠ ĠCAM ERA _ PERMISSION , ĊĠĠĠ ĠAN SW ER _ PHONE _ CALL S _ PERMISSION , ĊĠĠĠ ĠTASK ER _ TASK , ĊĠĠĠ ĠSH ORT CUT , ĊĠĠĠ ĠACCESS _ NOTIFICATION _ POLICY , ĊĠĠĠ ĠSE COND ARY _ GEST URE _ SERVICE Ċ } Ċ Ċ fun ĠT ap Action . is Action Data Satisf ied ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġwhen ( dataType ){ ĊĠĠĠĠĠĠĠ ĠAction DataTypes . PACKAGE _ NAME Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ ĠAction DataTypes . CAMERA _ PERMISSION Ġ-> Ġcontext . does Have Permissions ( Manifest . permission . CAMERA ) ĊĠĠĠĠĠĠĠ ĠAction DataTypes . AN SW ER _ PHONE _ CALL S _ PERMISSION Ġ-> Ġcontext . does Have Permissions ( Manifest . permission . READ _ PHONE _ STATE , ĠManifest . permission . AN SW ER _ PHONE _ CALL S ) ĊĠĠĠĠĠĠĠ ĠAction DataTypes . TASK ER _ TASK Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ ĠAction DataTypes . SHORT CUT Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ ĠAction DataTypes . ACCESS _ NOTIFICATION _ POLICY Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnotification Manager Ġ= Ġcontext . getSystem Service ( Context . NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Manager . is Notification Policy Access Granted ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠAction DataTypes . SECOND ARY _ GEST URE _ SERVICE Ġ-> Ġis Accessibility Service Enabled ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT ap Gesture Accessibility Service :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠT ap Action . is Supported ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġwhen ( this ){ ĊĠĠĠĠĠĠĠ ĠT ap Action . TASK ER _ EVENT , ĠT ap Action . TASK ER _ TASK Ġ-> Ġcontext . is Task er Installed () ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthis . is Available ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġmin Sdk ( api : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn ĠBuild . VERSION . SDK _ INT Ġ>= Ġapi Ċ } Ċ