package Ġorg . mag num . logger . communication . email Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . Content Observer Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Handler Ċ import Ġandroid . provider . Contacts Contract . Common Data Kinds . Email Ċ import Ġandroid . util . Log Ċ import Ġorg . mag num . logger . Encrypt or Ċ import Ġorg . mag num . logger . Repository Ċ Ċ class ĠEmail Handler ( private Ġval Ġcontext : ĠContext , Ġhandler : ĠHandler ?) Ġ: ĠContent Observer ( handler ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonChange ( self Change : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onChange ( self Change ) ĊĠĠĠĠĠĠĠ ĠonChange ( self Change , ĠUri . with App ended Path ( Email . CONTENT _ LOOK UP _ URI , Ġnull )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonChange ( self Change : ĠBoolean , Ġuri : ĠUri ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onChange ( self Change , Ġuri ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġcontext . content Resolver . query ( uri , Ġnull , Ġnull , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor ?. moveTo Next () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġcursor ?. getLong ( cursor . getColumnIndex (" date ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠEncrypt or . encrypt ( cursor ?. getString ( cursor . getColumnIndex (" address ")), Ġcontext ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor ?. close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( time Ġ!= Ġnull ) ĠRepository ( context ). log Email ( Email Record ( time , Ġid )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Email Ġ Ġfrom / to Ġ$ id Ġat Ġ$ time ") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġe . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠEmail Handler :: class . java . canonical Name ĊĠĠĠ Ġ} Ċ Ċ }