package Ġcom . re vol gen x . an ilib . social . data . field Ċ Ċ import Ġcom . re vol gen x . an ilib . Activity Union Query Ċ import Ġcom . re vol gen x . an ilib . common . data . field . Base Source User Field Ċ import Ġcom . re vol gen x . an ilib . constant . Al Activity Type Ċ import Ġcom . re vol gen x . an ilib . type . Activity Type Ċ Ċ open Ġclass ĠActivity Union Field Ġ: ĠBase Source User Field < Activity Union Query >() Ġ{ ĊĊĠĠĠ Ġvar Ġis Following : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġvar Ġtype : ĠAl Activity Type Ġ= ĠAl Activity Type . ALL ĊĠĠĠ Ġvar Ġmedia Id : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun Ġto Query Or Mutation (): ĠActivity Union Query Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm Type Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAl Activity Type . TEXT Ġ-> ĠActivity Type . TEXT ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAl Activity Type . LIST Ġ-> ĠActivity Type . MEDIA _ LIST ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAl Activity Type . MESSAGE Ġ-> ĠActivity Type . MESSAGE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtype In Ġ= Ġif Ġ( userId Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Type . MEDIA _ LIST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Type . TEXT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Type . AN IME _ LIST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Type . M ANG A _ LIST ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠActivity Union Query ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġnn ( page ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġper Page Ġ= Ġnn ( per Page ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= Ġnn ( userId ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Id Ġ= Ġnn ( media Id ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Following Ġ= Ġnn ( if Ġ( is Following ) Ġtrue Ġelse Ġnull ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġnn ( m Type ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype _ in Ġ= Ġnn ( type In ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ