@ file : Suppress (" unused ") Ċ Ċ package Ġdev . ent ao . kan . util . app Ċ Ċ import Ġandroid . app .* Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroidx . core . app . Notification Compat Ċ import Ġandroidx . core . app . Notification Manager Compat Ċ import Ġdev . ent ao . kan . app base . App Ċ import Ġdev . ent ao . kan . app base . Uri Res Ċ import Ġdev . ent ao . json . Y son Object Ċ import Ġdev . ent ao . kan . app base . res Bitmap Ċ Ċ /** Ċ Ġ* Ġ åĽ¾ æłĩ é»ĺè®¤ æĺ¯ åºĶçĶ¨ç¨ĭåºı åĽ¾ æłĩ Ċ Ġ* Ġ æłĩé¢ĺ é»ĺè®¤ æĺ¯ åºĶçĶ¨ç¨ĭåºı åĲįç§° Ċ Ġ* Ġé»ĺè®¤ èĩªåĬ¨ åıĸæ¶Ī ĊĊ Ġ* Ġ@ author Ġyang ent ao @ gmail . com Ċ Ġ*/ Ċ class ĠNotify ( val Ġid : ĠInt ) Ġ{ ĊĠĠĠ Ġvar Ġbuilder : ĠNotification Compat . Builder ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġvar Ġdefaults : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġvar Ġchannel : ĠNotification Channel ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġch Ġ= ĠNotification Channel ( App . packageName Ġ+ Ġ"$ id ", Ġ" yet $ id ", ĠNotification Manager . IMPORT ANCE _ DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel Ġ= Ġch ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder Ġ= ĠNotification Compat . Builder ( App . inst , ĠApp . packageName Ġ+ Ġ"$ id ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder Ġ= ĠNotification Compat . Builder ( App . inst ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġauto Cancel ( true ) ĊĠĠĠĠĠĠĠ Ġtitle ( App . appName ) ĊĠĠĠĠĠĠĠ Ġif Ġ( small Icon Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Small Icon ( small Icon ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Small Icon ( App . icon Launcher ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( large Icon Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Large Icon ( large Icon . res Bitmap ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp Icon Ġ= ĠApp . icon Bitmap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( app Icon Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Large Icon ( app Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcancel () Ġ{ ĊĠĠĠĠĠĠĠ ĠApp . notification Manager . cancel ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġicon Small ( res Id : ĠInt ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set Small Icon ( res Id ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġicon Large ( icon : ĠInt ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġicon Large ( icon . res Bitmap ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġicon Large ( icon : ĠBitmap ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set Large Icon ( icon ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġtitle ( title : ĠString ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . setContent Title ( title ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtext ( msg : ĠString ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . setContent Text ( msg ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtext And Ticker ( msg : ĠString ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġtext ( msg ) ĊĠĠĠĠĠĠĠ Ġreturn Ġticker ( msg ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĬ¶æĢģ æłı æ»ļ åĬ¨ æĸĩæľ¬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġticker ( ticker : ĠString ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set Ticker ( ticker ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġinfo åľ¨ éĢļçŁ¥ çļĦæĹ¶éĹ´ ä¸ĭéĿ¢ , Ġå°ı åŃĹ , Ġ çĶ¨äºİ çĬ¶æĢģ çŃī ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsub Text ( info : ĠString ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set Sub Text ( info ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĤ¹åĩ» æĹ¶ æīĵå¼Ģ Activity ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclick Activity ( cls : ĠClass < out ĠActivity >, Ġyo : ĠY son Object ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . setContent Intent ( Intent Helper . pending Activity ( cls , ĠPending Intent . FLAG _ UPDATE _ CURRENT , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĤ¹åĩ» æĹ¶ åıĳ åĩº å¹¿ æĴŃ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclick Broadcast ( action : ĠString , Ġyo : ĠY son Object ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . setContent Intent ( Intent Helper . pending Broadcast App ( action , ĠPending Intent . FLAG _ UPDATE _ CURRENT , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclick Broadcast ( yo : ĠY son Object ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ ĠNotify Receiver . reg () ĊĠĠĠĠĠĠĠ Ġbuilder . setContent Intent ( Intent Helper . pending Broadcast ( Notify Receiver :: class . java , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĤ¹åĩ» æĹ¶ åĲ¯åĬ¨ Service ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclick Service ( cls : ĠClass < out ĠService >, Ġyo : ĠY son Object ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . setContent Intent ( Intent Helper . pending Service ( cls , ĠPending Intent . FLAG _ UPDATE _ CURRENT , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ¸ ħ éĻ¤ æĹ¶ åĲ¯åĬ¨ Activity ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete Activity ( cls : ĠClass < out ĠActivity >, Ġyo : ĠY son Object ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set Delete Intent ( Intent Helper . pending Activity ( cls , ĠPending Intent . FLAG _ UPDATE _ CURRENT , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ¸ ħ éĻ¤ æĹ¶ åıĳ å¹¿ æĴŃ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete Broadcast ( action : ĠString , Ġyo : ĠY son Object ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set Delete Intent ( Intent Helper . pending Broadcast App ( action , ĠPending Intent . FLAG _ UPDATE _ CURRENT , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ¸ ħ éĻ¤ æĹ¶ åĲ¯åĬ¨ Service ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete Service ( cls : ĠClass < out ĠService >, Ġyo : ĠY son Object ): ĠNotify Ġ{ ĊĊĠĠĠĠĠĠĠ Ġbuilder . set Delete Intent ( Intent Helper . pending Service ( cls , ĠPending Intent . FLAG _ UPDATE _ CURRENT , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĤ¹åĩ» æĮīéĴ® æĹ¶ Ġ æīĵå¼Ģ Activity ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġaction Activity ( icon : ĠInt , Ġtitle : ĠString , Ġcls : ĠClass < out ĠActivity >, Ġyo : ĠY son Object ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . addAction ( icon , Ġtitle , ĠIntent Helper . pending Activity ( cls , ĠPending Intent . FLAG _ UPDATE _ CURRENT , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĤ¹åĩ» æĮīéĴ® æĹ¶ åıĳ å¹¿ æĴŃ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġaction Broadcast ( icon : ĠInt , Ġtitle : ĠString , Ġaction : ĠString , Ġyo : ĠY son Object ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . addAction ( icon , Ġtitle , ĠIntent Helper . pending Broadcast App ( action , ĠPending Intent . FLAG _ UPDATE _ CURRENT , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĤ¹åĩ» æĮīéĴ® æĹ¶ åĲ¯åĬ¨ Service ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġaction Service ( icon : ĠInt , Ġtitle : ĠString , Ġcls : ĠClass < out ĠService >, Ġyo : ĠY son Object ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . addAction ( icon , Ġtitle , ĠIntent Helper . pending Service ( cls , ĠPending Intent . FLAG _ UPDATE _ CURRENT , Ġyo )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġé»ĺè®¤ çļĦ éľ ĩ åĬ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġv ib (): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . defaults Ġ= Ġthis . defaults Ġor ĠNotification Compat . DEFAULT _ V IB RATE ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġé»ĺè®¤ çļĦ å£° éŁ³ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsound (): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . defaults Ġ= Ġthis . defaults Ġor ĠNotification Compat . DEFAULT _ SOUND ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsound ( uri : ĠUri ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set Sound ( uri ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġsound Raw ( raw Res Id : ĠInt ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġsound ( Uri Res ( raw Res Id )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ èĩªåĬ¨ æ¸ħ éĻ¤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġauto Cancel ( auto Cancel : ĠBoolean ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . setAuto Cancel ( auto Cancel ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æĺ¾ç¤º æķ°åŃĹ , Ġ è·Ł info åľ¨ åĲĮ ä¸Ģä¸ª ä½įç½® , Ġ äºĴ æĸ ¥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġnum ( num : ĠInt ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set Number ( num ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æĮģ ç»Ń çļĦ éĢļçŁ¥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġongoing ( ongo ing : ĠBoolean ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set O ngo ing ( ongo ing ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġprogress ( max : ĠInt , Ġprogress : ĠInt , Ġin determinate : ĠBoolean Ġ= Ġfalse ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set Progress ( max , Ġprogress , Ġin determinate ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwhen Time ( time : ĠLong ): ĠNotify Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . set When ( time ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġn Ġ= Ġthis . build () ĊĠĠĠĠĠĠĠ ĠNotification Manager Compat . from ( App . inst ). notify ( id , Ġn ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠ Ġfun Ġbuild (): ĠNotification Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġch Ġ= Ġchannel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ch Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Manager Compat . from ( App . inst ). create Notification Channel ( ch ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( defaults Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Defaults ( defaults ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġn Ġ= Ġbuilder . build () ĊĠĠĠĠĠĠĠ Ġreturn Ġn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsmall Icon Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġlarge Icon Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġcancel ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Manager Compat . from ( App . inst ). cancel ( id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }