package Ġorg . wikipedia . suggest eded its Ċ Ċ import Ġandroid . app . Activity Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġorg . wikipedia . Constants Ċ import Ġorg . wikipedia . R Ċ import Ġorg . wikipedia . W ikipedia App Ċ import Ġorg . wikipedia . descriptions . Description Edit Activity . Action Ċ import Ġorg . wikipedia . util . Feedback Util Ċ Ċ object ĠSuggest ed Ed its Sn ack bars Ġ{ ĊĊĠĠĠ Ġfun Ġinterface ĠOpen Page Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġopen () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠMAX _ SHOW _ PER _ SESSION Ġ= Ġ 2 ĊĠĠĠ Ġprivate Ġval Ġsn ackbar Session Map Ġ= Ġmutable Map Of < String , ĠInt >() ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġshow ( activity : ĠActivity , Ġaction : ĠAction ?, Ġsequential Snackbar : ĠBoolean Ġ= Ġtrue , Ġtarget Language Code : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable View Action : ĠBoolean Ġ= Ġfalse , Ġlistener : ĠOpen Page Listener ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= ĠW ikipedia App . getInstance () ĊĠĠĠĠĠĠĠ Ġif Ġ( sequential Snackbar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsn ackbar Ġ= ĠFeedback Util . make Snackbar ( activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( action Ġ== ĠAction . TRANSL ATE _ DESCRIPTION Ġ|| Ġaction Ġ== ĠAction . TRANSL ATE _ CAP TION ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp . language (). app Language Codes . size Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( action Ġ== ĠAction . TRANSL ATE _ DESCRIPTION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . description _ edit _ success _ saved _ in _ lang _ sn ackbar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . description _ edit _ success _ saved _ image _ caption _ in _ lang _ sn ackbar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġapp . language (). getApp Language Localized Name ( target Language Code )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction . ADD _ DESCRIPTION Ġ-> ĠR . string . description _ edit _ success _ saved _ sn ackbar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction . ADD _ IMAGE _ TAGS Ġ-> ĠR . string . description _ edit _ success _ saved _ image _ tags _ sn ackbar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . string . description _ edit _ success _ saved _ image _ caption _ sn ackbar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĠFeedback Util . LENGTH _ DEFAULT ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( enable View Action Ġ&& Ġlistener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsn ackbar . setAction ( R . string . suggest ed _ ed its _ article _ cta _ sn ackbar _ action ) Ġ{ Ġlistener . open () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsn ackbar . add Callback ( object Ġ: ĠSn ackbar . Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Dis missed ( transient Bottom Bar : ĠSn ackbar , Ġ@ Dismiss Event Ġevent : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( activity . is Destroyed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Feed Link Snackbar ( activity , Ġaction ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsn ackbar . show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Feed Link Snackbar ( activity , Ġaction ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Feed Link Snackbar ( activity : ĠActivity , Ġaction : ĠAction ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( action Ġ!= Ġnull Ġ&& Ġget Session Count ( activity , Ġaction ) Ġ< ĠMAX _ SHOW _ PER _ SESSION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFeedback Util . make Snackbar ( activity , Ġactivity . getString ( R . string . description _ edit _ success _ se _ general _ feed _ link _ sn ackbar ), ĠFeedback Util . LENGTH _ DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction ( R . string . suggest ed _ ed its _ tasks _ on boarding _ get _ started ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . startActivity ( Suggestions Activity . new Intent ( activity , Ġaction , ĠConstants . Invoke Source . SN ACK BAR _ ACTION )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġincrement Session Map ( activity , Ġaction ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġincrement Session Map ( activity : ĠActivity , Ġaction : ĠAction ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsn ackbar Session Map [ getMap Key ( activity , Ġaction )] Ġ= Ġget Session Count ( activity , Ġaction ) Ġ+ Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Session Count ( activity : ĠActivity , Ġaction : ĠAction ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsn ackbar Session Map . get Or Put ( getMap Key ( activity , Ġaction ), Ġ{ Ġ 0 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Map Key ( activity : ĠActivity , Ġaction : ĠAction ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity . component Name . className Ġ+ Ġ"." Ġ+ Ġaction . name ĊĠĠĠ Ġ} Ċ } Ċ