// ĠCopyright Ġ 2 0 0 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . notification Ċ Ċ import Ġcom . intellij . ide . plugins . Plugin Util Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . diagnostic . logger Ċ import Ġcom . intellij . openapi . extensions . Plugin Id Ċ import Ġcom . intellij . openapi . ui . MessageType Ċ import Ġcom . intellij . openapi . util . N ls Contexts .* Ċ import Ġcom . intellij . util . containers . Container Util Ċ import Ġorg . jetbrains . annotations . Non N ls Ċ import Ġjava . util . concurrent . Concurrent HashMap Ċ import Ġjavax . swing . Icon Ċ Ċ /** Ċ Ġ* ĠGroups Ġnotifications Ġand Ġallows Ġcontrolling Ġdisplay Ġoptions Ġin ĠSettings . Ċ Ġ*/ Ċ class ĠNotification Group Ġprivate Ġconstructor (@ param : Non N ls Ġval Ġdisplay Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisplay Type : ĠNotification Display Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Log ByDefault : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ param : Non N ls Ġval Ġtool Window Id : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġicon : ĠIcon ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Notification Title Ġvar Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin Id : ĠPlugin Id ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregister Group : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠ Ġconstructor (@ Non N ls Ġdisplay Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Type : ĠNotification Display Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Log ByDefault : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Non N ls Ġtool Window Id : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon : ĠIcon ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Notification Title Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin Id : ĠPlugin Id ? Ġ= Ġnull ) Ġ: Ġthis ( display Id Ġ= Ġdisplay Id , Ġdisplay Type Ġ= Ġdisplay Type , Ġis Log ByDefault Ġ= Ġis Log ByDefault , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtool Window Id Ġ= Ġtool Window Id , Ġicon Ġ= Ġicon , Ġtitle Ġ= Ġtitle , Ġplugin Id Ġ= Ġplugin Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregister Group Ġ= Ġtrue ) ĊĊĠ Ġ// ĠDon 't Ġuse Ġ@ Jvm Over loads Ġfor Ġprimary Ġconstructor Ġto Ġmaintain Ġbinary ĠAPI Ġcompatibility Ġwith Ġplugins Ġwritten Ġin ĠKotlin ĊĠ Ġ@ Jvm Over loads ĊĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠ Ġconstructor (@ Non N ls Ġdisplay Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Type : ĠNotification Display Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Log ByDefault : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Non N ls Ġtool Window Id : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon : ĠIcon ? Ġ= Ġnull ) Ġ: Ġthis ( display Id Ġ= Ġdisplay Id , Ġdisplay Type Ġ= Ġdisplay Type , Ġis Log ByDefault Ġ= Ġis Log ByDefault , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtool Window Id Ġ= Ġtool Window Id , Ġicon Ġ= Ġicon , Ġregister Group Ġ= Ġtrue ) ĊĊĠ Ġvar ĠparentId : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġset ĊĊĠ Ġval Ġplugin Id Ġ= ĠApplication Manager . getApplication ()?. let Ġ{ ĊĠĠĠ Ġplugin Id Ġ?: ĠPlugin Util . getInstance (). find Plugin Id ( Throwable ()) ĊĠ Ġ} ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġif Ġ( register Group ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ( registered Groups . containsKey ( display Id )) Ġ{ ĊĠĠĠĠĠĠĠ ĠLOG . info (" Notification Ġgroup Ġ$ display Id Ġis Ġalready Ġregistered ", ĠThrowable ()) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġregistered Groups . put ( display Id , Ġthis ) ĊĊĠĠĠĠĠ Ġif Ġ( title Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġregistered Titles [ display Id ] ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġval ĠLOG Ġ= Ġlogger < Notification Group >() ĊĊĠĠĠ Ġprivate Ġval Ġregistered Groups : ĠMutable Map < String , ĠNotification Group > Ġ= ĠConcurrent HashMap () ĊĠĠĠ Ġprivate Ġval Ġregistered Titles : ĠMutable Map < @ Non N ls ĠString , Ġ@ Notification Title ĠString > Ġ= ĠConcurrent HashMap () ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġcreate (@ Non N ls Ġdisplay Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Type : ĠNotification Display Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Log ByDefault : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Non N ls Ġtool Window Id : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon : ĠIcon ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Notification Title Ġtitle : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin Id : ĠPlugin Id ?): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , Ġdisplay Type , Ġis Log ByDefault , Ġtool Window Id , Ġicon , Ġtitle , Ġplugin Id , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠĠĠ Ġfun Ġbal loon Group (@ Non N ls Ġdisplay Id : ĠString ): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġval Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , ĠNotification Display Type . BAL LO ON ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠĠĠ Ġfun Ġbal loon Group (@ Non N ls Ġdisplay Id : ĠString , Ġ@ Notification Title Ġtitle : ĠString ?): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġval Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , ĠNotification Display Type . BAL LO ON , Ġtitle Ġ= Ġtitle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠĠĠ Ġfun Ġbal loon Group (@ Non N ls Ġdisplay Id : ĠString , Ġplugin Id : ĠPlugin Id ): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġval Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , ĠNotification Display Type . BAL LO ON , Ġplugin Id Ġ= Ġplugin Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠĠĠ Ġfun Ġlog Only Group (@ Non N ls Ġdisplay Id : ĠString ): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġval Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , ĠNotification Display Type . NONE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠĠĠ Ġfun Ġlog Only Group (@ Non N ls Ġdisplay Id : ĠString , Ġ@ Notification Title Ġtitle : ĠString ?): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġval Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , ĠNotification Display Type . NONE , Ġtitle Ġ= Ġtitle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠĠĠ Ġfun Ġlog Only Group (@ Non N ls Ġdisplay Id : ĠString , Ġplugin Id : ĠPlugin Id ): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġval Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , ĠNotification Display Type . NONE , Ġplugin Id Ġ= Ġplugin Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠĠĠ Ġfun Ġtool Window Group (@ Non N ls Ġdisplay Id : ĠString , Ġ@ Non N ls Ġtool Window Id : ĠString , Ġlog ByDefault : ĠBoolean Ġ= Ġtrue ): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġval Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , ĠNotification Display Type . TOOL _ WINDOW , Ġlog ByDefault , Ġtool Window Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠĠĠ Ġfun Ġtool Window Group (@ Non N ls Ġdisplay Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Non N ls Ġtool Window Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog ByDefault : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Notification Title Ġtitle : ĠString ?): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġval Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , ĠNotification Display Type . TOOL _ WINDOW , Ġlog ByDefault , Ġtool Window Id , Ġtitle Ġ= Ġtitle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Deprecated (" Use Ġcom . intellij . notification . impl . Notification Group EP Ġand Ġcom . intellij . notification . Notification Group Manager ") ĊĠĠĠ Ġfun Ġtool Window Group (@ Non N ls Ġdisplay Id : ĠString , Ġ@ Non N ls Ġtool Window Id : ĠString , Ġlog ByDefault : ĠBoolean , Ġplugin Id : ĠPlugin Id ): ĠNotification Group Ġ{ ĊĠĠĠĠĠ Ġval Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠNotification Group ( display Id , ĠNotification Display Type . TOOL _ WINDOW , Ġlog ByDefault , Ġtool Window Id , Ġplugin Id Ġ= Ġplugin Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġfind Registered Group (@ Non N ls Ġdisplay Id : ĠString ): ĠNotification Group ? Ġ{ ĊĠĠĠĠĠ Ġvar Ġnotification Group Ġ= Ġfind Registered Notification Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( notification Group Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnotification Group Ġ= Ġregistered Groups . get ( display Id ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn Ġnotification Group ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfind Registered Notification Group ( display Id : ĠString ): ĠNotification Group ? Ġ{ ĊĠĠĠĠĠ Ġif Ġ( Application Manager . getApplication () Ġ== Ġnull ) Ġreturn Ġnull ĊĠĠĠĠĠ Ġreturn ĠNotification Group Manager . getInstance (). get Notification Group ( display Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġget Group Title (@ Non N ls Ġdisplay Id : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠ Ġval Ġgroup Ġ= Ġfind Registered Group ( display Id ) ĊĠĠĠĠĠ Ġif Ġ( group ?. title Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgroup . title ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn Ġregistered Titles [ display Id ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġcreate Id With Title (@ Non N ls Ġdisplay Id : ĠString , Ġ@ Notification Title Ġtitle : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠ Ġval Ġold Title Ġ= Ġregistered Titles . put ( display Id , Ġtitle ) ĊĠĠĠĠĠ ĠLOG . assertTrue ( old Title Ġ== Ġnull Ġ|| Ġold Title Ġ== Ġtitle , Ġ" Notification Group ('$ display Id ', Ġ'$ old Title ') Ġtried Ġto Ġbe Ġre - created Ġwith Ġdifferent Ġtitle Ġ'$ title '") ĊĠĠĠĠĠ Ġreturn Ġdisplay Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġval Ġall Registered Groups : ĠIterable < Notification Group > ĊĠĠĠĠĠ Ġget () Ġ= ĠContainer Util . concat ( Notification Group Manager . getInstance (). registered Notification Groups , Ġregistered Groups . values ) ĊĠ Ġ} ĊĊĠ Ġfun Ġcreate Notification (@ Notification Content Ġcontent : ĠString , Ġtype : ĠMessageType ): ĠNotification Ġ{ ĊĠĠĠ Ġreturn Ġcreate Notification ( content , Ġtype . to Notification Type ()) ĊĠ Ġ} ĊĊĠ Ġfun Ġcreate Notification (@ Notification Content Ġcontent : ĠString , Ġtype : ĠNotification Type ): ĠNotification Ġ{ ĊĠĠĠ Ġreturn Ġcreate Notification ("", Ġcontent , Ġtype ) ĊĠ Ġ} ĊĊĠ Ġfun Ġcreate Notification (@ Notification Content Ġcontent : ĠString , Ġtype : ĠNotification Type , Ġdisplay Id : ĠString ): ĠNotification Ġ{ ĊĠĠĠ Ġreturn Ġcreate Notification ("", Ġcontent , Ġtype , Ġnull , Ġdisplay Id ) ĊĠ Ġ} ĊĊĠ Ġfun Ġcreate Notification ( ĊĠĠĠ Ġ@ Notification Title Ġtitle : ĠString , ĊĠĠĠ Ġ@ Notification Content Ġcontent : ĠString , ĊĠĠĠ Ġtype : ĠNotification Type Ġ= ĠNotification Type . INFORMATION , ĊĠĠĠ Ġlistener : ĠNotification Listener ? Ġ= Ġnull , ĊĠĠĠ Ġnotification Display Id : ĠString ? Ġ= Ġnull ĊĠ Ġ): ĠNotification Ġ{ ĊĠĠĠ Ġreturn ĠNotification ( display Id , Ġnotification Display Id , Ġtitle , Ġcontent , Ġtype , Ġlistener ) ĊĠ Ġ} ĊĊĠ Ġfun Ġcreate Notification ( ĊĠĠĠ Ġ@ Notification Title Ġtitle : ĠString , ĊĠĠĠ Ġ@ Notification Content Ġcontent : ĠString , ĊĠĠĠ Ġtype : ĠNotification Type Ġ= ĠNotification Type . INFORMATION , ĊĠĠĠ Ġlistener : ĠNotification Listener ? Ġ= Ġnull ĊĠ Ġ): ĠNotification Ġ{ ĊĠĠĠ Ġreturn Ġcreate Notification ( title , Ġcontent , Ġtype , Ġlistener , Ġnull ) ĊĠ Ġ} ĊĊĠ Ġ@ Jvm Over loads ĊĠ Ġfun Ġcreate Notification ( type : ĠNotification Type Ġ= ĠNotification Type . INFORMATION ): ĠNotification Ġ{ ĊĠĠĠ Ġreturn Ġcreate Notification ( title Ġ= Ġnull , Ġsubtitle Ġ= Ġnull , Ġcontent Ġ= Ġnull , Ġtype Ġ= Ġtype ) ĊĠ Ġ} ĊĊĠ Ġ@ Jvm Over loads ĊĠ Ġfun Ġcreate Notification ( ĊĠĠĠ Ġ@ Notification Title Ġtitle : ĠString ?, ĊĠĠĠ Ġ@ Notification Subtitle Ġsubtitle : ĠString ?, ĊĠĠĠ Ġ@ Notification Content Ġcontent : ĠString ?, ĊĠĠĠ Ġtype : ĠNotification Type Ġ= ĠNotification Type . INFORMATION , ĊĠĠĠ Ġlistener : ĠNotification Listener ? Ġ= Ġnull ĊĠ Ġ): ĠNotification Ġ{ ĊĠĠĠ Ġreturn ĠNotification ( display Id , Ġicon , Ġtitle , Ġsubtitle , Ġcontent , Ġtype , Ġlistener ) ĊĠ Ġ} ĊĊĠ Ġfun Ġset Parent Id ( value : ĠString ): ĠNotification Group Ġ{ ĊĠĠĠ ĠparentId Ġ= Ġvalue ĊĠĠĠ Ġreturn Ġthis ĊĠ Ġ} Ċ }