package Ġorg . step ik . android . presentation . course _ re venue . reducer Ċ Ċ import Ġorg . step ik . android . domain . course _ re venue . model . Course Benefit Summary Ċ import Ġorg . step ik . android . presentation . course _ re venue . Course Benefit Summary Feature . State Ċ import Ġorg . step ik . android . presentation . course _ re venue . Course Benefit Summary Feature . Message Ċ import Ġorg . step ik . android . presentation . course _ re venue . Course Benefit Summary Feature . Action Ċ import Ġru . nob ird . app . presentation . redux . reducer . State Reducer Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠCourse Benefit Summary Reducer Ċ @ Inject Ċ constructor () Ġ: ĠState Reducer < State , ĠMessage , ĠAction > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġreduce ( state : ĠState , Ġmessage : ĠMessage ): ĠPair < State , ĠSet < Action >> Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( message ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMessage . Fetch Course Benefit Summary Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( state Ġis ĠState . Loading ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcourse Benefit Summary State Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( message . course Benefit Summary Ġ== ĠCourse Benefit Summary . EMPTY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . Empty ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . Content ( message . course Benefit Summary ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourse Benefit Summary State Ġto Ġempty Set () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMessage . Fetch Course Benefit Summary Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( state Ġis ĠState . Loading ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . Error Ġto Ġempty Set () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġstate Ġto Ġempty Set () Ċ }