/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠD uck Duck Go Ċ Ġ* Ċ Ġ* Ġ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 . duck duck go . mobile . android . vpn . pixels Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . annotation . Visible ForTesting Ċ import Ġandroidx . core . content . edit Ċ import Ġcom . duck duck go . app . statistics . pixels . Pixel Ċ import Ġcom . duck duck go . di . scopes . App Scope Ċ import Ġcom . squareup . an vil . annotations . Contribut es Binding Ċ import Ġorg . th reet en . bp . Instant Ċ import Ġorg . th reet en . bp . Zone Offset Ċ import Ġorg . th reet en . bp . format . DateTime Formatter Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Inject Ċ import Ġdagger . Single Instance In Ċ Ċ interface ĠDevice Shield Pixels Ġ{ ĊĠĠĠ Ġ/** ĠThis Ġpixel Ġwill Ġbe Ġunique Ġon Ġa Ġgiven Ġday , Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun Ġ*/ ĊĠĠĠ Ġfun Ġdevice Shield Enabled On Search () ĊĊĠĠĠ Ġ/** ĠThis Ġpixel Ġwill Ġbe Ġunique Ġon Ġa Ġgiven Ġday , Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun Ġ*/ ĊĠĠĠ Ġfun Ġdevice Shield Disabled On Search () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdevice Shield Enabled On App Launch () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdevice Shield Disabled On App Launch () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġunique Ġ-> Ġfire Ġonly Ġonce Ġever Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġreport Enabled () ĊĊĠĠĠ Ġ/** ĠThis Ġpixel Ġwill Ġbe Ġunique Ġon Ġa Ġgiven Ġday , Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun Ġ*/ ĊĠĠĠ Ġfun Ġreport Disabled () ĊĊĠĠĠ Ġ/** ĠThis Ġpixel Ġwill Ġbe Ġunique Ġon Ġa Ġgiven Ġday , Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun Ġ*/ ĊĠĠĠ Ġfun Ġreport Last Day Enable Count ( count : ĠInt ) ĊĊĠĠĠ Ġ/** ĠThis Ġpixel Ġwill Ġbe Ġunique Ġon Ġa Ġgiven Ġday , Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun Ġ*/ ĊĠĠĠ Ġfun Ġreport Last Day Disable Count ( count : ĠInt ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġthree Ġpixels ĊĠĠĠĠ Ġ* Ġunique Ġ-> Ġfire Ġonly Ġonce Ġever Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġenable From Reminder Notification () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġthree Ġpixels ĊĠĠĠĠ Ġ* Ġunique Ġ-> Ġfire Ġonly Ġonce Ġever Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġenable From On boarding () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġthree Ġpixels ĊĠĠĠĠ Ġ* Ġunique Ġ-> Ġfire Ġonly Ġonce Ġever Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġenable From Quick Settings Tile () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġthree Ġpixels ĊĠĠĠĠ Ġ* Ġunique Ġ-> Ġfire Ġonly Ġonce Ġever Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġenable From Summary Tracker Activity () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdisable From Quick Settings Tile () ĊĊĠĠĠ Ġfun Ġdisable From Summary Tracker Activity () ĊĊĠĠĠ Ġ/** ĠThis Ġpixel Ġwill Ġbe Ġunique Ġon Ġa Ġgiven Ġday , Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun Ġ*/ ĊĠĠĠ Ġfun Ġdid Show Daily Notification ( variant : ĠInt ) ĊĊĠĠĠ Ġ/** ĠThis Ġpixel Ġwill Ġbe Ġunique Ġon Ġa Ġgiven Ġday , Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun Ġ*/ ĊĠĠĠ Ġfun Ġdid Press On Daily Notification ( variant : ĠInt ) ĊĊĠĠĠ Ġ/** ĠThis Ġpixel Ġwill Ġbe Ġunique Ġon Ġa Ġgiven Ġday , Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun Ġ*/ ĊĠĠĠ Ġfun Ġdid Show Week ly Notification ( variant : ĠInt ) ĊĊĠĠĠ Ġ/** ĠThis Ġpixel Ġwill Ġbe Ġunique Ġon Ġa Ġgiven Ġday , Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun Ġ*/ ĊĠĠĠ Ġfun Ġdid Press On Week ly Notification ( variant : ĠInt ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Press O ngo ing Notification () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Show Reminder Notification () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Press Reminder Notification () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġthree Ġpixels ĊĠĠĠĠ Ġ* Ġunique Ġ-> Ġfire Ġonly Ġonce Ġever Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Show New Tab Summary () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Press New Tab Summary () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Show Summary Tracker Activity () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Show Detailed Tracker Activity () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġstart Error () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġautomatic Restart () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsudden Kill By System () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfun Ġwill Ġfire Ġtwo Ġpixels ĊĠĠĠĠ Ġ* Ġdaily Ġ-> Ġfire Ġonly Ġonce Ġa Ġday Ġno Ġmatter Ġhow Ġmany Ġtimes Ġwe Ġcall Ġthis Ġfun ĊĠĠĠĠ Ġ* Ġcount Ġ-> Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsudden Kill By Vpn Rev oked () ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġa Ġpixel Ġon Ġevery Ġcall Ġ*/ ĊĠĠĠ Ġfun Ġprivacy Report Article Displayed () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġa Ġpixel Ġon Ġevery Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġprivacy Report On boarding FAQ Displayed () ĊĊĠĠĠ Ġfun Ġv pn Est ablish T un Interface Error () ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġprocess Ġhas Ġgone Ġto Ġthe Ġex pend able Ġlist Ġ*/ ĊĠĠĠ Ġfun Ġv pn Process Ex pend able Low ( payload : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġprocess Ġis Ġin Ġthe Ġmiddle Ġex pend able Ġlist Ġ*/ ĊĠĠĠ Ġfun Ġv pn Process Ex pend able Mod erate ( payload : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġprocess Ġis Ġnear Ġto Ġbe Ġkilled Ġis Ġno Ġmemory Ġis Ġfound Ġ*/ ĊĠĠĠ Ġfun Ġv pn Process Ex pend able Complete ( payload : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġsystem Ġis Ġrunning Ġmod erate ly Ġlow Ġon Ġmemory Ġ*/ ĊĠĠĠ Ġfun Ġv pn Memory Running Mod erate ( payload : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġsystem Ġis Ġrunning Ġlow Ġon Ġmemory Ġ*/ ĊĠĠĠ Ġfun Ġv pn Memory Running Low ( payload : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġsystem Ġis Ġrunning Ġextremely Ġlow Ġon Ġmemory Ġ*/ ĊĠĠĠ Ġfun Ġv pn Memory Running Critical ( payload : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġuser Ġrest ores Ġto Ġthe Ġdefault Ġprotection Ġlist Ġ*/ ĊĠĠĠ Ġfun Ġrestore Default Protection List () ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġuser Ġrest ores Ġto Ġthe Ġdefault Ġprotection Ġlist Ġ*/ ĊĠĠĠ Ġfun Ġlaunch App TP Feedback () ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġuser Ġsubmit s Ġthe Ġform Ġthat Ġdisables Ġprotection Ġfor Ġan Ġapp Ġ*/ ĊĠĠĠ Ġfun Ġdid Submit Man ually Disable App Protection Dialog () ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġuser Ġskip s Ġthe Ġform Ġthat Ġdisables Ġprotection Ġfor Ġan Ġapp Ġ*/ ĊĠĠĠ Ġfun Ġdid Skip Man ually Disable App Protection Dialog () ĊĊĠĠĠ Ġ/** ĠWill Ġfire Ġwhen Ġthe Ġuser Ġla unches Ġthe Ġreport Ġissues Ġscreen Ġfrom Ġthe Ġtracker Ġactivity Ġ*/ ĊĠĠĠ Ġfun Ġdid Submit Report Issues From Tracker Activity () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe Ġuser Ġreports Ġan Ġapp Ġbreak age ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsend App Break age Report ( metadata : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġfun Ġdid Show Report Break age App List () ĊĊĠĠĠ Ġfun Ġdid Show Report Break age Text Form () ĊĊĠĠĠ Ġfun Ġdid Show Report Break age Single Choice Form () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe Ġuser Ġwants Ġto Ġdisable Ġthe ĠVPN ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Show Disable Tracking Protection Dialog () ĊĊĠĠĠ Ġfun Ġdid Choose To Disable Tracking Protection From Dialog () ĊĊĠĠĠ Ġfun Ġdid Choose To Disable One App From Dialog () ĊĊĠĠĠ Ġfun Ġdid Choose To Cancel Tracking Protection Dialog () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe Ġuser Ġis Ġalready Ġconnected Ġto Ġa ĠVPN Ġand Ġwants Ġto Ġenable ĠApp TP ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Show Vpn Conflict Dialog () ĊĊĠĠĠ Ġfun Ġdid Choose To Dismiss Vpn Conf lic Dialog () ĊĊĠĠĠ Ġfun Ġdid Choose To Open Settings From Vpn Conf lic Dialog () ĊĊĠĠĠ Ġfun Ġdid Choose To Continue From Vpn Conf lic Dialog () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe Ġwait list Ġdialog Ġis Ġshowed Ġto Ġthe Ġuser ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Show Wait list Dialog () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe Ġuser Ġp resses Ġ" notify Ġme " ĠC TA Ġin Ġthe Ġwait list Ġdialog ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Press Wait list Dialog Notify Me () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe Ġuser Ġp resses Ġdis mis ses Ġthe Ġwait list Ġdialog ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Press Wait list Dialog Dismiss () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġuser Ġsubmit s Ġa Ġhealth Ġmonitor Ġreport ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsend Health Monitor Report ( health Metrics : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġsend Ġa Ġfirst - in - day Ġpixel Ġfor Ġthe Ġgiven Ġalert Name ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsend Health Monitor Alert ( alert Name : ĠString ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe ĠVPN Ġreceives Ġa Ġpacket Ġof Ġunknown Ġprotocol ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsend Unknown Packet Protocol ( protocol : ĠInt ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe ĠVPN Ġdetected Ġbad Ġhealth , Ġrestarted Ġand Ġfix ex Ġthe Ġbad Ġhealth ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbad Health Resolved By Restart ( data : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe ĠVPN Ġdetected Ġbad Ġhealth Ġbut Ġit Ġresolved Ġitself ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbad Health Resolved It self ( data : ĠMap < String , ĠString >) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe ĠVPN Ġrestarted Ġas Ġa Ġresult Ġof Ġa Ġbad Ġhealth Ġmit igation ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Restart Vpn On Bad Health () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWill Ġfire Ġwhen Ġthe ĠVPN ĠProcess Ġis Ġrestarted Ġas Ġa Ġresult Ġof Ġbad Ġhealth Ġmit igation ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdid Restart Vpn Process On Bad Health () Ċ } Ċ Ċ @ Contribut es Binding ( App Scope :: class ) Ċ @ Single Instance In ( App Scope :: class ) Ċ class ĠReal Device Shield Pixels Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġpixel : ĠPixel Ċ ) Ġ: ĠDevice Shield Pixels Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġpreferences : ĠSharedPreferences ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcontext . get SharedPreferences ( DS _ PIXEL S _ PRE F _ FILE , ĠContext . MODE _ MULTI _ PROCESS ) ĊĊĠĠĠ Ġoverride Ġfun Ġdevice Shield Enabled On Search () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ UP ON _ SEARCH _ DA IL Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdevice Shield Disabled On Search () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DISABLE _ UP ON _ SEARCH _ DA IL Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdevice Shield Enabled On App Launch () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ UP ON _ APP _ LA UNCH _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ UP ON _ APP _ LA UNCH ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdevice Shield Disabled On App Launch () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DISABLE _ UP ON _ APP _ LA UNCH _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DISABLE _ UP ON _ APP _ LA UNCH ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreport Enabled () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Unique Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ UNIQUE ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ DA IL Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreport Disabled () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DISABLE _ DA IL Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreport Last Day Enable Count ( count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ LAST _ DAY _ ENABLE _ COUNT _ DA IL Y , Ġmap Of (" count " Ġto Ġcount . toString ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreport Last Day Disable Count ( count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ LAST _ DAY _ DISABLE _ COUNT _ DA IL Y , Ġmap Of (" count " Ġto Ġcount . toString ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġenable From Reminder Notification () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Unique Pixel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDevice Shield Pixel Names . AT P _ ENABLE _ FROM _ REM IND ER _ NOTIFICATION _ UNIQUE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtag Ġ= ĠFIRST _ ENABLE _ ENTRY _ POINT _ TAG ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ FROM _ REM IND ER _ NOTIFICATION _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ FROM _ REM IND ER _ NOTIFICATION ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġenable From On boarding () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Unique Pixel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDevice Shield Pixel Names . AT P _ ENABLE _ FROM _ ON BOARD ING _ UNIQUE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtag Ġ= ĠFIRST _ ENABLE _ ENTRY _ POINT _ TAG ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ FROM _ ON BOARD ING _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ FROM _ ON BOARD ING ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġenable From Quick Settings Tile () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Unique Pixel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDevice Shield Pixel Names . AT P _ ENABLE _ FROM _ SETTINGS _ TILE _ UNIQUE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtag Ġ= ĠFIRST _ ENABLE _ ENTRY _ POINT _ TAG ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ FROM _ SETTINGS _ TILE _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ FROM _ SETTINGS _ TILE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġenable From Summary Tracker Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Unique Pixel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDevice Shield Pixel Names . AT P _ ENABLE _ FROM _ SUM MARY _ TRACK ER _ ACTIVITY _ UNIQUE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtag Ġ= ĠFIRST _ ENABLE _ ENTRY _ POINT _ TAG ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ FROM _ SUM MARY _ TRACK ER _ ACTIVITY _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ ENABLE _ FROM _ SUM MARY _ TRACK ER _ ACTIVITY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisable From Quick Settings Tile () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DISABLE _ FROM _ SETTINGS _ TILE _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DISABLE _ FROM _ SETTINGS _ TILE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisable From Summary Tracker Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DISABLE _ FROM _ SUM MARY _ TRACK ER _ ACTIVITY _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DISABLE _ FROM _ SUM MARY _ TRACK ER _ ACTIVITY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Daily Notification ( variant : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( Locale . US , ĠDevice Shield Pixel Names . DID _ SHOW _ DA IL Y _ NOTIFICATION . pixel Name , Ġvariant ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Press On Daily Notification ( variant : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( Locale . US , ĠDevice Shield Pixel Names . DID _ PRESS _ DA IL Y _ NOTIFICATION . pixel Name , Ġvariant ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Week ly Notification ( variant : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( Locale . US , ĠDevice Shield Pixel Names . DID _ SHOW _ WEEK LY _ NOTIFICATION . pixel Name , Ġvariant ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Press On Week ly Notification ( variant : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( Locale . US , ĠDevice Shield Pixel Names . DID _ PRESS _ WEEK LY _ NOTIFICATION . pixel Name , Ġvariant ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Press O ngo ing Notification () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . DID _ PRESS _ ONGO ING _ NOTIFICATION _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . DID _ PRESS _ ONGO ING _ NOTIFICATION ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Reminder Notification () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . DID _ SHOW _ REM IND ER _ NOTIFICATION _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . DID _ SHOW _ REM IND ER _ NOTIFICATION ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Press Reminder Notification () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . DID _ PRESS _ REM IND ER _ NOTIFICATION _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . DID _ PRESS _ REM IND ER _ NOTIFICATION ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show New Tab Summary () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Unique Pixel ( Device Shield Pixel Names . DID _ SHOW _ NEW _ TAB _ SUM MARY _ UNIQUE ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . DID _ SHOW _ NEW _ TAB _ SUM MARY _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . DID _ SHOW _ NEW _ TAB _ SUM MARY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Press New Tab Summary () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . DID _ PRESS _ NEW _ TAB _ SUM MARY _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . DID _ PRESS _ NEW _ TAB _ SUM MARY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Summary Tracker Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Unique Pixel ( Device Shield Pixel Names . DID _ SHOW _ SUM MARY _ TRACK ER _ ACTIVITY _ UNIQUE ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . DID _ SHOW _ SUM MARY _ TRACK ER _ ACTIVITY _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . DID _ SHOW _ SUM MARY _ TRACK ER _ ACTIVITY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Detailed Tracker Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Unique Pixel ( Device Shield Pixel Names . DID _ SHOW _ DE TA ILED _ TRACK ER _ ACTIVITY _ UNIQUE ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . DID _ SHOW _ DE TA ILED _ TRACK ER _ ACTIVITY _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . DID _ SHOW _ DE TA ILED _ TRACK ER _ ACTIVITY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ START _ ERROR _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ START _ ERROR ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġautomatic Restart () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ AUT OM AT IC _ RE START _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ AUT OM AT IC _ RE START ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsudden Kill By System () Ġ{ ĊĠĠĠĠĠĠĠ Ġsudden Kill () ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ K IL LED _ BY _ SYSTEM _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ K IL LED _ BY _ SYSTEM ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsudden Kill By Vpn Rev oked () Ġ{ ĊĠĠĠĠĠĠĠ Ġsudden Kill () ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ K IL LED _ VPN _ REV OK ED _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ K IL LED _ VPN _ REV OK ED ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprivacy Report Article Displayed () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ PRIV ACY _ REPORT _ ARTIC LE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprivacy Report On boarding FAQ Displayed () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ ON BOARD ING _ FAQ ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġv pn Est ablish T un Interface Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ EST AB L ISH _ T UN _ INTERFACE _ ERROR _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ EST AB L ISH _ T UN _ INTERFACE _ ERROR ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġv pn Process Ex pend able Low ( payload : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ PROCESS _ EXP END ABLE _ LOW _ DA IL Y , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġv pn Process Ex pend able Mod erate ( payload : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ PROCESS _ EXP END ABLE _ MO DER ATE _ DA IL Y , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġv pn Process Ex pend able Complete ( payload : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ PROCESS _ EXP END ABLE _ COMPLETE _ DA IL Y , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġv pn Memory Running Low ( payload : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ PROCESS _ MEMORY _ LOW _ DA IL Y , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġv pn Memory Running Mod erate ( payload : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ PROCESS _ MEMORY _ MO DER ATE _ DA IL Y , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġv pn Memory Running Critical ( payload : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ PROCESS _ MEMORY _ CRITICAL _ DA IL Y , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrestore Default Protection List () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ REST ORE _ APP _ PRO TE CTION _ LIST _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ REST ORE _ APP _ PRO TE CTION _ LIST ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlaunch App TP Feedback () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ LA UNCH _ FEED BACK _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ LA UNCH _ FEED BACK ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Submit Man ually Disable App Protection Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ SUBMIT _ DISABLE _ APP _ PRO TE CTION _ DIALOG _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SUBMIT _ DISABLE _ APP _ PRO TE CTION _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Skip Man ually Disable App Protection Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ SKIP _ DISABLE _ APP _ PRO TE CTION _ DIALOG _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SKIP _ DISABLE _ APP _ PRO TE CTION _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Submit Report Issues From Tracker Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ REPORT _ ISS UES _ FROM _ TRACK ER _ ACTIVITY _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ REPORT _ ISS UES _ FROM _ TRACK ER _ ACTIVITY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend App Break age Report ( metadata : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ APP _ BREAK AGE _ REPORT , Ġmetadata ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Unique Pixel ( Device Shield Pixel Names . AT P _ APP _ BREAK AGE _ REPORT _ UNIQUE , Ġpayload Ġ= Ġmetadata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Report Break age App List () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ REPORT _ BREAK AGE _ APP _ LIST ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ REPORT _ BREAK AGE _ APP _ LIST _ DA IL Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Report Break age Text Form () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ REPORT _ BREAK AGE _ TEXT _ FORM ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ REPORT _ BREAK AGE _ TEXT _ FORM _ DA IL Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Report Break age Single Choice Form () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ REPORT _ BREAK AGE _ SINGLE _ CHO ICE _ FORM ) ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ REPORT _ BREAK AGE _ SINGLE _ CHO ICE _ FORM _ DA IL Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Disable Tracking Protection Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ DISABLE _ TRACK ING _ PRO TE CTION _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Choose To Disable Tracking Protection From Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ CH OOSE _ DISABLE _ TRACK ING _ PRO TE CTION _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Choose To Disable One App From Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ CH OOSE _ DISABLE _ ONE _ APP _ PRO TE CTION _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Choose To Cancel Tracking Protection Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ CH OOSE _ CANCEL _ APP _ PRO TE CTION _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Vpn Conflict Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ VPN _ CONF LI CT _ DIALOG ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ VPN _ CONF LI CT _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Choose To Dismiss Vpn Conf lic Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ CH OOSE _ DIS MIS S _ VPN _ CONF LI CT _ DIALOG ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ CH OOSE _ DIS MIS S _ VPN _ CONF LI CT _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Choose To Open Settings From Vpn Conf lic Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ CH OOSE _ OPEN _ SETTINGS _ VPN _ CONF LI CT _ DIALOG ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ CH OOSE _ OPEN _ SETTINGS _ VPN _ CONF LI CT _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Choose To Continue From Vpn Conf lic Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ CH OOSE _ OPEN _ SETTINGS _ VPN _ CONF LI CT _ DIALOG ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ CH OOSE _ OPEN _ SETTINGS _ VPN _ CONF LI CT _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Show Wait list Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ SHOW _ WAIT LIST _ DIALOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Press Wait list Dialog Notify Me () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ PRESS _ WAIT LIST _ DIALOG _ NOTIFY _ ME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Press Wait list Dialog Dismiss () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ PRESS _ WAIT LIST _ DIALOG _ DIS MIS S ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend Health Monitor Report ( health Metrics : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ APP _ HE ALTH _ MONITOR _ REPORT , Ġhealth Metrics ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend Health Monitor Alert ( alert Name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( Locale . US , ĠDevice Shield Pixel Names . AT P _ APP _ HE ALTH _ ALERT _ DA IL Y . pixel Name , Ġalert Name ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend Unknown Packet Protocol ( protocol : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( String . format ( Locale . US , ĠDevice Shield Pixel Names . AT P _ RECE IVED _ UNKNOWN _ PACKET _ PROTOCOL _ DA IL Y . pixel Name , Ġprotocol )) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( String . format ( Locale . US , ĠDevice Shield Pixel Names . AT P _ RECE IVED _ UNKNOWN _ PACKET _ PROTOCOL . pixel Name , Ġprotocol )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbad Health Resolved By Restart ( data : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ APP _ BAD _ HE ALTH _ RESOL VED _ BY _ RE START _ DA IL Y , Ġdata ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ APP _ BAD _ HE ALTH _ RESOL VED _ BY _ RE START , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbad Health Resolved It self ( data : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ APP _ BAD _ HE ALTH _ RESOL VED _ IT SELF _ DA IL Y , Ġdata ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ APP _ BAD _ HE ALTH _ RESOL VED _ IT SELF , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Restart Vpn On Bad Health () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ RE START _ VPN _ ON _ BAD _ HE ALTH _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ RE START _ VPN _ ON _ BAD _ HE ALTH ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdid Restart Vpn Process On Bad Health () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( Device Shield Pixel Names . AT P _ DID _ RE START _ VPN _ PROCESS _ ON _ BAD _ HE ALTH _ DA IL Y ) ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ DID _ RE START _ VPN _ PROCESS _ ON _ BAD _ HE ALTH ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsudden Kill () Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( Device Shield Pixel Names . AT P _ K IL LED ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfire Pixel ( ĊĠĠĠĠĠĠĠ Ġp : ĠDevice Shield Pixel Names , ĊĠĠĠĠĠĠĠ Ġpayload : ĠMap < String , ĠString > Ġ= Ġempty Map () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfire Pixel ( p . pixel Name , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfire Pixel ( ĊĠĠĠĠĠĠĠ Ġpixel Name : ĠString , ĊĠĠĠĠĠĠĠ Ġpayload : ĠMap < String , ĠString > Ġ= Ġempty Map () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpixel . fire ( pixel Name , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtry To Fire Daily Pixel ( ĊĠĠĠĠĠĠĠ Ġpixel : ĠDevice Shield Pixel Names , ĊĠĠĠĠĠĠĠ Ġpayload : ĠMap < String , ĠString > Ġ= Ġempty Map () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry To Fire Daily Pixel ( pixel . pixel Name , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtry To Fire Daily Pixel ( ĊĠĠĠĠĠĠĠ Ġpixel Name : ĠString , ĊĠĠĠĠĠĠĠ Ġpayload : ĠMap < String , ĠString > Ġ= Ġempty Map () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= Ġget Utc Iso LocalDate () ĊĠĠĠĠĠĠĠ Ġval Ġtimestamp Ġ= Ġpreferences . getString ( pixel Name . append Timestamp Suffix (), Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġif Ġpixel Ġwas Ġalready Ġsent Ġin Ġthe Ġcurrent Ġday ĊĠĠĠĠĠĠĠ Ġif Ġ( timestamp Ġ== Ġnull Ġ|| Ġnow Ġ> Ġtimestamp ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . pixel . fire ( pixel Name , Ġpayload ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġpreferences . edit Ġ{ Ġput String ( pixel Name . append Timestamp Suffix (), Ġnow ) Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtry To Fire Unique Pixel ( ĊĠĠĠĠĠĠĠ Ġpixel : ĠDevice Shield Pixel Names , ĊĠĠĠĠĠĠĠ Ġtag : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġpayload : ĠMap < String , ĠString > Ġ= Ġempty Map () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdid Execute Already Ġ= Ġpreferences . getBoolean ( tag Ġ?: Ġpixel . pixel Name , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( did Execute Already ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġthis . pixel . fire ( pixel , Ġpayload ). also Ġ{ Ġpreferences . edit Ġ{ Ġput Boolean ( tag Ġ?: Ġpixel . pixel Name , Ġtrue ) Ġ} Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠString . append Timestamp Suffix (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ this }_ timestamp " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Utc Iso LocalDate (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġreturns ĠYYYY - MM - dd ĊĠĠĠĠĠĠĠ Ġreturn ĠInstant . now (). at Offset ( Zone Offset . UTC ). format ( DateTime Formatter . ISO _ LOCAL _ DATE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFIRST _ ENABLE _ ENTRY _ POINT _ TAG Ġ= Ġ" FIRST _ ENABLE _ ENTRY _ POINT _ TAG " ĊĊĠĠĠĠĠĠĠ Ġ@ Visible ForTesting ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDS _ PIXEL S _ PRE F _ FILE Ġ= Ġ" com . duck duck go . mobile . android . device . shield . pixels " ĊĠĠĠ Ġ} Ċ } Ċ