{"title":"Blacklight Inspection","page_title":"SystemDotRun – Dorian Cussen's Super Blog","uri_ins":"http://doridori.github.io/","uri_dest":"https://doridori.github.io/#sthash.3SVYBEOj.dpbs","uri_redirects":["http://doridori.github.io/"],"secure_connection":{},"host":"doridori.github.io","config":{"emulateDevice":{"name":"iPhone 14 Pro Max","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1","viewport":{"width":430,"height":739,"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"isLandscape":false}},"cleareCache":true,"captureHar":true,"captureLinks":false,"enableAdBlock":false,"saveBrowserProfile":false,"numPages":2,"defaultTimeout":35000,"defaultWaitUntil":"networkidle2","headless":true,"headers":{},"extraChromiumArgs":["--disable-features=TrackingProtection3pcd","--website-analysis-scan=66eff430-f8f1-46d6-8e5e-69f7f0445632"],"extraPuppeteerOptions":{}},"browser":{"name":"Chromium","version":"Chrome/127.0.6533.88","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/127.0.0.0 Safari/537.36","platform":{"name":"Linux","version":"4.4.302+"}},"script":{"host":"f55531b6c604","version":{"npm":"3.11.0","commit":"dev"},"node_version":"v24.20.0"},"start_time":"2026-09-08T22:14:02.036Z","end_time":"2026-09-08T22:14:19.306Z","browsing_history":["https://doridori.github.io/#sthash.3SVYBEOj.dpbs","https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","https://doridori.github.io/android_testing_a_rough_guide/"],"hosts":{"requests":{"first_party":["doridori.github.io"],"third_party":["ajax.googleapis.com","cdnjs.cloudflare.com","ws.sharethis.com","avatars3.githubusercontent.com","data.stbuttons.click","www.google-analytics.com","www.googletagmanager.com","l.sharethis.com","region1.google-analytics.com","gist.github.com","github.githubassets.com"]}},"reports":{"behaviour_event_listeners":{"MOUSE":{"https://ws.sharethis.com/button/async-buttons.js":["click"],"https://ws.sharethis.com/button/buttons.js":["click"]}},"canvas_fingerprinters":{"data_url":{},"fingerprinters":[],"styles":{},"texts":{}},"canvas_font_fingerprinters":{"canvas_font":{},"text_measure":{}},"cookies":[{"name":"_ga","value":"GA1.3.1164519411.1788905655","domain":"doridori.github.io","path":"/","expires":"2027-10-13T22:14:15.447Z","size":30,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false},{"name":"_gid","value":"GA1.3.1086136868.1788905655","domain":"doridori.github.io","path":"/","expires":"2026-09-09T22:14:15.000Z","size":31,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false},{"name":"_gat","value":"1","domain":"doridori.github.io","path":"/","expires":"2026-09-08T22:15:15.000Z","size":5,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false},{"name":"_ga_V49M64P1X8","value":"GS2.3.s1788905655$o1$g0$t1788905655$j60$l0$h0","domain":"doridori.github.io","path":"/","expires":"2027-10-13T22:14:15.713Z","size":59,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false}],"fb_pixel_events":[],"tiktok_pixel_events":[],"twitter_pixel_events":[],"google_analytics_events":[],"key_logging":{},"session_recorders":{},"third_party_trackers":[{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://ws.sharethis.com/secure5x/index.html","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/secure5x/js/st.d46c567ef2d922f9ad89eca462444ab6.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://ws.sharethis.com/secure5x/index.html","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/secure5x/js/stcommon.1f60705adac788a51a8240cf535237b0.js"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_ee":1,"_eu":"EBAI","_fv":1,"_p":1788905655502,"_s":1,"_ss":1,"are":1,"cid":1164519411.1788905,"dl":"https://doridori.github.io/android_testing_a_rough_guide/","dma":1,"dma_cps":"a","dp":"/android_testing_a_rough_guide/","dt":"Android Testing: A Rough Guide","en":"page_view","frm":0,"gcd":"13l3l3l2l2l1","gtm":"45je6930v9124773178za20g","ir":1,"ngs":1,"npa":0,"pscdl":"","rcb":8,"sct":1,"seg":0,"sid":1788905655,"sr":"430x739","tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153","tfd":619,"tid":"G-V49M64P1X8","uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"ul":"en-us","v":2}},"stack":[{"fileName":"https://doridori.github.io/android_testing_a_rough_guide/#sthash.A87J8DNI.dpbs","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://region1.google-analytics.com/g/collect?v=2&tid=G-V49M64P1X8&gtm=45je6930v9124773178za20g&_p=1788905655502&gcd=13l3l3l2l2l1&npa=0&dma_cps=a&dma=1&_eu=EBAI&are=1&cid=1164519411.1788905655&frm=0&ir=1&ngs=1&pscdl=&rcb=8&sr=430x739&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153&dl=https%3A%2F%2Fdoridori.github.io%2Fandroid_testing_a_rough_guide%2F&dp=%2Fandroid_testing_a_rough_guide%2F&dt=Android%20Testing%3A%20A%20Rough%20Guide&sid=1788905655&sct=1&seg=0&en=page_view&_fv=1&_ss=1&_ee=1&tfd=619"},{"data":{"body":{},"filter":"||l.sharethis.com^","listName":"easyprivacy.txt","query":{"description":"Do you have a go-to approach when writing automated tests on Android?\n\n","event":"pview","fcmp":false,"fcmpv2":false,"hostname":"doridori.github.io","img_pview":true,"lang":"en","location":"/android_testing_a_rough_guide/","override":"ODIuNjcuMS4yMjI=","product":"widget","publisher":"ur.00000000-0000-0000-0000-000000000000","sessionID":1788905655313.2302,"sop":false,"title":"Android Testing: A Rough Guide – SystemDotRun – Dorian Cussen's Super Blog","ua":"","ua_full_version_list":"","ua_mobile":false,"url":"https://doridori.github.io/android_testing_a_rough_guide/","uuid":"f45c764f-3ce1-46ad-8f01-b8c1c8bdcc10","version":"buttons.js"}},"stack":[{"fileName":"https://doridori.github.io/android_testing_a_rough_guide/#sthash.A87J8DNI.dpbs","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://l.sharethis.com/pview?event=pview&version=buttons.js&lang=en&sessionID=1788905655313.23023&hostname=doridori.github.io&location=%2Fandroid_testing_a_rough_guide%2F&product=widget&fcmp=false&fcmpv2=false&publisher=ur.00000000-0000-0000-0000-000000000000&url=https%3A%2F%2Fdoridori.github.io%2Fandroid_testing_a_rough_guide%2F&title=Android%20Testing%3A%20A%20Rough%20Guide%20%E2%80%93%20SystemDotRun%20%E2%80%93%20Dorian%20Cussen%27s%20Super%20Blog&sop=false&description=Do%20you%20have%20a%20go-to%20approach%20when%20writing%20automated%20tests%20on%20Android%3F%0A%0A&ua=&ua_mobile=false&ua_full_version_list=&override=ODIuNjcuMS4yMjI%3D&uuid=f45c764f-3ce1-46ad-8f01-b8c1c8bdcc10&description=Do%20you%20have%20a%20go-to%20approach%20when%20writing%20automated%20tests%20on%20Android%3F%0A%0A&img_pview=true"},{"data":{"body":{},"filter":"||l.sharethis.com^","listName":"easyprivacy.txt","query":{"description":"Do you have a go-to approach when writing automated tests on Android?\n\n","event":"pview","fcmp":false,"fcmpv2":false,"hostname":"doridori.github.io","lang":"en","location":"/android_testing_a_rough_guide/","override":"ODIuNjcuMS4yMjI=","product":"widget","publisher":"ur.00000000-0000-0000-0000-000000000000","sessionID":1788905655313.2302,"sop":false,"title":"Android Testing: A Rough Guide – SystemDotRun – Dorian Cussen's Super Blog","ua":"","ua_full_version_list":"","ua_mobile":false,"url":"https://doridori.github.io/android_testing_a_rough_guide/","uuid":"f45c764f-3ce1-46ad-8f01-b8c1c8bdcc10","version":"buttons.js"}},"stack":[{"fileName":"https://doridori.github.io/android_testing_a_rough_guide/#sthash.A87J8DNI.dpbs","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://l.sharethis.com/pview?event=pview&version=buttons.js&lang=en&sessionID=1788905655313.23023&hostname=doridori.github.io&location=%2Fandroid_testing_a_rough_guide%2F&product=widget&fcmp=false&fcmpv2=false&publisher=ur.00000000-0000-0000-0000-000000000000&url=https%3A%2F%2Fdoridori.github.io%2Fandroid_testing_a_rough_guide%2F&title=Android%20Testing%3A%20A%20Rough%20Guide%20%E2%80%93%20SystemDotRun%20%E2%80%93%20Dorian%20Cussen%27s%20Super%20Blog&sop=false&description=Do%20you%20have%20a%20go-to%20approach%20when%20writing%20automated%20tests%20on%20Android%3F%0A%0A&ua=&ua_mobile=false&ua_full_version_list=&override=ODIuNjcuMS4yMjI%3D&uuid=f45c764f-3ce1-46ad-8f01-b8c1c8bdcc10"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"_slc":1,"cx":"c","id":"G-V49M64P1X8"}},"stack":[{"fileName":"https://doridori.github.io/android_testing_a_rough_guide/#sthash.A87J8DNI.dpbs","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-V49M64P1X8&cx=c&_slc=1"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_gid":1086136868.1788905,"_r":1,"_s":1,"_slc":1,"_u":"IEBAAEABAAAAACACI~","_v":"j102","a":494774833,"cid":1164519411.1788905,"dl":"https://doridori.github.io/android_testing_a_rough_guide/","dp":"/android_testing_a_rough_guide/","dt":"Android Testing: A Rough Guide","gjid":1548457586,"jid":2014593345,"sr":"430x739","t":"pageview","tid":"UA-61146917-1","ul":"en-us","v":1,"vp":"430x739","z":1905586879}},"stack":[{"fileName":"https://doridori.github.io/android_testing_a_rough_guide/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/j/collect?v=1&_v=j102&a=494774833&t=pageview&_s=1&dl=https%3A%2F%2Fdoridori.github.io%2Fandroid_testing_a_rough_guide%2F&dp=%2Fandroid_testing_a_rough_guide%2F&ul=en-us&dt=Android%20Testing%3A%20A%20Rough%20Guide&sr=430x739&vp=430x739&_u=IEBAAEABAAAAACACI~&jid=2014593345&gjid=1548457586&cid=1164519411.1788905655&tid=UA-61146917-1&_gid=1086136868.1788905655&_r=1&_slc=1&z=1905586879"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://doridori.github.io/android_testing_a_rough_guide/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/analytics.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://doridori.github.io/android_testing_a_rough_guide/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/button/async-buttons.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://doridori.github.io/android_testing_a_rough_guide/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/button/buttons.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://ws.sharethis.com/secure5x/index.html","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/secure5x/js/st.d46c567ef2d922f9ad89eca462444ab6.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://ws.sharethis.com/secure5x/index.html","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/secure5x/js/stcommon.1f60705adac788a51a8240cf535237b0.js"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_ee":1,"_eu":"EBAI","_fv":1,"_p":1788905651609,"_s":1,"_ss":1,"are":1,"cid":1488300400.1788905,"dl":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","dma":1,"dma_cps":"a","dp":"/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","dt":"Android App Architecture: Lifecycle Events and Asynchronicity","en":"page_view","frm":0,"gcd":"13l3l3l2l2l1","gtm":"45je6930v9124773178za20g","ir":1,"ngs":1,"npa":0,"pscdl":"","rcb":11,"sct":1,"seg":0,"sid":1788905651,"sr":"430x739","tag_exp":"115616986~115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153","tfd":701,"tid":"G-V49M64P1X8","uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"ul":"en-us","v":2}},"stack":[{"fileName":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://region1.google-analytics.com/g/collect?v=2&tid=G-V49M64P1X8&gtm=45je6930v9124773178za20g&_p=1788905651609&gcd=13l3l3l2l2l1&npa=0&dma_cps=a&dma=1&_eu=EBAI&are=1&cid=1488300400.1788905652&frm=0&ir=1&ngs=1&pscdl=&rcb=11&sr=430x739&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115616986~115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153&dl=https%3A%2F%2Fdoridori.github.io%2FAndroid-App-Architecture-Lifecycle-Events-and-Asynchronicity%2F&dp=%2FAndroid-App-Architecture-Lifecycle-Events-and-Asynchronicity%2F&dt=Android%20App%20Architecture%3A%20Lifecycle%20Events%20and%20Asynchronicity&sid=1788905651&sct=1&seg=0&en=page_view&_fv=1&_ss=1&_ee=1&tfd=701"},{"data":{"body":{},"filter":"||l.sharethis.com^","listName":"easyprivacy.txt","query":{"description":"\n  Edit: This blog post is now deprecated. It was a bit of a brain dump which prompted me to write up my approach starting here\n\n\n","event":"pview","fcmp":false,"fcmpv2":false,"hostname":"doridori.github.io","img_pview":true,"lang":"en","location":"/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","override":"ODIuNjcuMS4yMjI=","product":"widget","publisher":"ur.00000000-0000-0000-0000-000000000000","sessionID":1788905651359.3486,"sop":false,"title":"Android App Architecture: Lifecycle Events and Asynchronicity – SystemDotRun – Dorian Cussen's Super Blog","ua":"","ua_full_version_list":"","ua_mobile":false,"url":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","uuid":"a5bde3fa-5d1c-4d7e-9f87-464fd958ce4a","version":"buttons.js"}},"stack":[{"fileName":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://l.sharethis.com/pview?event=pview&version=buttons.js&lang=en&sessionID=1788905651359.34868&hostname=doridori.github.io&location=%2FAndroid-App-Architecture-Lifecycle-Events-and-Asynchronicity%2F&product=widget&fcmp=false&fcmpv2=false&publisher=ur.00000000-0000-0000-0000-000000000000&url=https%3A%2F%2Fdoridori.github.io%2FAndroid-App-Architecture-Lifecycle-Events-and-Asynchronicity%2F&title=Android%20App%20Architecture%3A%20Lifecycle%20Events%20and%20Asynchronicity%20%E2%80%93%20SystemDotRun%20%E2%80%93%20Dorian%20Cussen%27s%20Super%20Blog&sop=false&description=%0A%20%20Edit%3A%20This%20blog%20post%20is%20now%20deprecated.%20It%20was%20a%20bit%20of%20a%20brain%20dump%20which%20prompted%20me%20to%20write%20up%20my%20approach%20starting%20here%0A%0A%0A&ua=&ua_mobile=false&ua_full_version_list=&override=ODIuNjcuMS4yMjI%3D&uuid=a5bde3fa-5d1c-4d7e-9f87-464fd958ce4a&description=%0A%20%20Edit%3A%20This%20blog%20post%20is%20now%20deprecated.%20It%20was%20a%20bit%20of%20a%20brain%20dump%20which%20prompted%20me%20to%20write%20up%20my%20approach%20starting%20here%0A%0A%0A&img_pview=true"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"_slc":1,"cx":"c","id":"G-V49M64P1X8"}},"stack":[{"fileName":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-V49M64P1X8&cx=c&_slc=1"},{"data":{"body":{},"filter":"||l.sharethis.com^","listName":"easyprivacy.txt","query":{"description":"\n  Edit: This blog post is now deprecated. It was a bit of a brain dump which prompted me to write up my approach starting here\n\n\n","event":"pview","fcmp":false,"fcmpv2":false,"hostname":"doridori.github.io","lang":"en","location":"/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","override":"ODIuNjcuMS4yMjI=","product":"widget","publisher":"ur.00000000-0000-0000-0000-000000000000","sessionID":1788905651359.3486,"sop":false,"title":"Android App Architecture: Lifecycle Events and Asynchronicity – SystemDotRun – Dorian Cussen's Super Blog","ua":"","ua_full_version_list":"","ua_mobile":false,"url":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","uuid":"a5bde3fa-5d1c-4d7e-9f87-464fd958ce4a","version":"buttons.js"}},"stack":[{"fileName":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://l.sharethis.com/pview?event=pview&version=buttons.js&lang=en&sessionID=1788905651359.34868&hostname=doridori.github.io&location=%2FAndroid-App-Architecture-Lifecycle-Events-and-Asynchronicity%2F&product=widget&fcmp=false&fcmpv2=false&publisher=ur.00000000-0000-0000-0000-000000000000&url=https%3A%2F%2Fdoridori.github.io%2FAndroid-App-Architecture-Lifecycle-Events-and-Asynchronicity%2F&title=Android%20App%20Architecture%3A%20Lifecycle%20Events%20and%20Asynchronicity%20%E2%80%93%20SystemDotRun%20%E2%80%93%20Dorian%20Cussen%27s%20Super%20Blog&sop=false&description=%0A%20%20Edit%3A%20This%20blog%20post%20is%20now%20deprecated.%20It%20was%20a%20bit%20of%20a%20brain%20dump%20which%20prompted%20me%20to%20write%20up%20my%20approach%20starting%20here%0A%0A%0A&ua=&ua_mobile=false&ua_full_version_list=&override=ODIuNjcuMS4yMjI%3D&uuid=a5bde3fa-5d1c-4d7e-9f87-464fd958ce4a"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_gid":1984307903.1788905,"_r":1,"_s":1,"_slc":1,"_u":"IEBAAEABAAAAACACI~","_v":"j102","a":485278052,"cid":1488300400.1788905,"dl":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","dp":"/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","dt":"Android App Architecture: Lifecycle Events and Asynchronicity","gjid":909625132,"jid":1015582385,"sr":"430x739","t":"pageview","tid":"UA-61146917-1","ul":"en-us","v":1,"vp":"430x739","z":1886840680}},"stack":[{"fileName":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/j/collect?v=1&_v=j102&a=485278052&t=pageview&_s=1&dl=https%3A%2F%2Fdoridori.github.io%2FAndroid-App-Architecture-Lifecycle-Events-and-Asynchronicity%2F&dp=%2FAndroid-App-Architecture-Lifecycle-Events-and-Asynchronicity%2F&ul=en-us&dt=Android%20App%20Architecture%3A%20Lifecycle%20Events%20and%20Asynchronicity&sr=430x739&vp=430x739&_u=IEBAAEABAAAAACACI~&jid=1015582385&gjid=909625132&cid=1488300400.1788905652&tid=UA-61146917-1&_gid=1984307903.1788905652&_r=1&_slc=1&z=1886840680"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/analytics.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/button/async-buttons.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://doridori.github.io/Android-App-Architecture-Lifecycle-Events-and-Asynchronicity/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/button/buttons.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://ws.sharethis.com/secure5x/index.html","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/secure5x/js/st.d46c567ef2d922f9ad89eca462444ab6.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://ws.sharethis.com/secure5x/index.html","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/secure5x/js/stcommon.1f60705adac788a51a8240cf535237b0.js"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_ee":1,"_eu":"EBAI","_fv":1,"_p":1788905648258,"_s":1,"_ss":1,"are":1,"cid":1439346094.1788905,"dl":"https://doridori.github.io/","dma":1,"dma_cps":"a","dp":"/","en":"page_view","frm":0,"gcd":"13l3l3l2l2l1","gtm":"45je6930v9124773178za20g","ir":1,"ngs":1,"npa":0,"pscdl":"","rcb":6,"sct":1,"seg":0,"sid":1788905648,"sr":"430x739","tag_exp":"115938465~115938469~118897920~118897930~120213116~120385422~120469145~120469153","tfd":985,"tid":"G-V49M64P1X8","uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"ul":"en-us","v":2}},"stack":[{"fileName":"https://doridori.github.io/#sthash.3SVYBEOj.dpbs","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://region1.google-analytics.com/g/collect?v=2&tid=G-V49M64P1X8&gtm=45je6930v9124773178za20g&_p=1788905648258&gcd=13l3l3l2l2l1&npa=0&dma_cps=a&dma=1&_eu=EBAI&are=1&cid=1439346094.1788905648&frm=0&ir=1&ngs=1&pscdl=&rcb=6&sr=430x739&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115938465~115938469~118897920~118897930~120213116~120385422~120469145~120469153&dl=https%3A%2F%2Fdoridori.github.io%2F&dp=%2F&sid=1788905648&sct=1&seg=0&en=page_view&_fv=1&_ss=1&_ee=1&tfd=985"},{"data":{"body":{},"filter":"||l.sharethis.com^","listName":"easyprivacy.txt","query":{"description":"Dorian Cussen's Super Blog","event":"pview","fcmp":false,"fcmpv2":false,"hostname":"doridori.github.io","img_pview":true,"lang":"en","location":"/","override":"ODIuNjcuMS4yMjI=","product":"widget","publisher":"ur.00000000-0000-0000-0000-000000000000","sessionID":1788905648063.3843,"sop":false,"title":"SystemDotRun – Dorian Cussen's Super Blog","ua":"","ua_full_version_list":"","ua_mobile":false,"url":"https://doridori.github.io/","uuid":"aa91d2e4-8147-4d53-8c31-a49b0fa9b959","version":"buttons.js"}},"stack":[{"fileName":"https://doridori.github.io/#sthash.3SVYBEOj.dpbs","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://l.sharethis.com/pview?event=pview&version=buttons.js&lang=en&sessionID=1788905648063.38424&hostname=doridori.github.io&location=%2F&product=widget&fcmp=false&fcmpv2=false&publisher=ur.00000000-0000-0000-0000-000000000000&url=https%3A%2F%2Fdoridori.github.io%2F&title=SystemDotRun%20%E2%80%93%20Dorian%20Cussen%27s%20Super%20Blog&sop=false&description=Dorian%20Cussen%27s%20Super%20Blog&ua=&ua_mobile=false&ua_full_version_list=&override=ODIuNjcuMS4yMjI%3D&uuid=aa91d2e4-8147-4d53-8c31-a49b0fa9b959&description=Dorian%20Cussen%27s%20Super%20Blog&img_pview=true"},{"data":{"body":{},"filter":"||l.sharethis.com^","listName":"easyprivacy.txt","query":{"description":"Dorian Cussen's Super Blog","event":"pview","fcmp":false,"fcmpv2":false,"hostname":"doridori.github.io","lang":"en","location":"/","override":"ODIuNjcuMS4yMjI=","product":"widget","publisher":"ur.00000000-0000-0000-0000-000000000000","sessionID":1788905648063.3843,"sop":false,"title":"SystemDotRun – Dorian Cussen's Super Blog","ua":"","ua_full_version_list":"","ua_mobile":false,"url":"https://doridori.github.io/","uuid":"aa91d2e4-8147-4d53-8c31-a49b0fa9b959","version":"buttons.js"}},"stack":[{"fileName":"https://doridori.github.io/#sthash.3SVYBEOj.dpbs","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://l.sharethis.com/pview?event=pview&version=buttons.js&lang=en&sessionID=1788905648063.38424&hostname=doridori.github.io&location=%2F&product=widget&fcmp=false&fcmpv2=false&publisher=ur.00000000-0000-0000-0000-000000000000&url=https%3A%2F%2Fdoridori.github.io%2F&title=SystemDotRun%20%E2%80%93%20Dorian%20Cussen%27s%20Super%20Blog&sop=false&description=Dorian%20Cussen%27s%20Super%20Blog&ua=&ua_mobile=false&ua_full_version_list=&override=ODIuNjcuMS4yMjI%3D&uuid=aa91d2e4-8147-4d53-8c31-a49b0fa9b959"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"_slc":1,"cx":"c","id":"G-V49M64P1X8"}},"stack":[{"fileName":"https://doridori.github.io/#sthash.3SVYBEOj.dpbs","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-V49M64P1X8&cx=c&_slc=1"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_gid":1450767198.1788905,"_r":1,"_s":1,"_slc":1,"_u":"IEBAAEABAAAAACACI~","_v":"j102","a":1261009297,"cid":1439346094.1788905,"dl":"https://doridori.github.io/","dp":"/","dt":"","gjid":206516274,"jid":1582097307,"sr":"430x739","t":"pageview","tid":"UA-61146917-1","ul":"en-us","v":1,"vp":"430x739","z":65819882}},"stack":[{"fileName":"https://doridori.github.io/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/j/collect?v=1&_v=j102&a=1261009297&t=pageview&_s=1&dl=https%3A%2F%2Fdoridori.github.io%2F&dp=%2F&ul=en-us&dt=&sr=430x739&vp=430x739&_u=IEBAAEABAAAAACACI~&jid=1582097307&gjid=206516274&cid=1439346094.1788905648&tid=UA-61146917-1&_gid=1450767198.1788905648&_r=1&_slc=1&z=65819882"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://doridori.github.io/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/analytics.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://doridori.github.io/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/button/async-buttons.js"},{"data":{"body":{},"filter":"||ws.sharethis.com^$script","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://doridori.github.io/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ws.sharethis.com/button/buttons.js"}]}}