package Ġdigital . k lik . helper . sms . broadcast Ċ Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . provider . Tele phony Ċ import Ġdigital . k lik . helper . common . extension . transform ToList Ċ import Ġdigital . k lik . helper . sms . broadcast . model . Sms Ċ Ċ /** Ċ Ġ* ĠThe Ġbase Ġsms Ġbroadcast Ġreceiver Ġwhich Ġwill Ġextract Ġdata Ġfrom Ġthe Ġgiven Ġobject Ġ[ Intent ] Ġwhich Ġcontain Ġdata Ġsms Ċ Ġ* Ġusing Ġkey Ġpd us . Ċ Ġ* Ċ Ġ* Ġ@ see ĠBroadcast Receiver Ċ Ġ*/ Ċ abstract Ġclass ĠP du Sms Broadcast Receiver ( private Ġval Ġknown Sender : ĠString Ġ= Ġ"") Ġ: ĠBase Broadcast Receiver () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġhandler Ġof Ġreceived Ġsms Ġdata ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġcurrent Ġactive Ġ[ Context ] ĊĠĠĠĠ Ġ* Ġ@ param Ġsms Messages Ġlist Ġof Ġsms Ġdata ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġabstract Ġfun Ġon Received Sms ( context : ĠContext , Ġsms Messages : ĠList < Sms >) ĊĊĠĠĠ Ġfinal Ġoverride Ġfun Ġon Received Context And Intent ( context : ĠContext , Ġintent : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= Ġintent . action ĊĊĠĠĠĠĠĠĠ Ġif Ġ( action Ġ== ĠTele phony . Sms . Intent s . SMS _ RECE IVED _ ACTION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsms Messages Ġ= ĠTele phony . Sms . Intent s . get Messages From Intent ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sms Messages Ġ!= Ġnull Ġ&& Ġsms Messages . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsms List Ġ= Ġsms Messages . transform ToList Ġ{ ĠS ms . from ( it ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( known Sender . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Received Sms ( context , Ġsms List . filter Ġ{ Ġknown Sender Ġ== Ġit . sender Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Received Sms ( context , Ġsms List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }