package Ġcom . s yle im an . my foot prints . presentation Layer . activities . photo Editor . presenter . helpers Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġcom . s yle im an . my foot prints . business Layer . bitmap Service . IB it map Effects Processing Ċ import Ġcom . s yle im an . my foot prints . business Layer . bitmap Service . IB it map Service Ċ import Ġcom . s yle im an . my foot prints . presentation Layer . activities . photo Editor . model . Filters Ċ import Ġcom . s yle im an . my foot prints . presentation Layer . activities . photo Editor . presenter . state Machine . transitions . continuous Filters .* Ċ Ċ /** ĠHelper Ġclass Ġfor Ġcreating Ġfilters Ġ*/ Ċ class ĠFilter Factory ( private Ġval Ġbitmap Service Ġ: ĠI Bitmap Service ) Ċ { ĊĠĠĠ Ġval Ġ Ġeffects Processor Ġ: ĠI Bitmap Effects Processing Ġ= Ġbitmap Service . get Bitmap Effects Processing () ĊĠĠĠ Ġval Ġt int Processor Ġ: ĠI Continuous Filter Processor Ġ= ĠT int Processor ( effects Processor ) ĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThis Ġprocessor Ġhas Ġgot Ġa Ġstate ĊĊĠĠĠ Ġ/** ĠGet Ġaction Ġfor Ġprocessing Ġbitmap Ġin Ġinstant Ġfilter */ ĊĠĠĠ Ġfun Ġget Action ( filter Ġ: ĠFilters ) Ġ: Ġ( Bitmap ) Ġ-> ĠBitmap ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġbitmap Service . get Bitmap Effects Processing () ĊĠĠĠĠĠĠĠ Ġwhen ( filter ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Em boss Ġ-> Ġreturn Ġ{ Ġeffects Processor . em boss ( it )} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Gaussian Blur Ġ-> Ġreturn Ġ{ Ġeffects Processor . gaussian ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Gray scale Ġ-> Ġreturn Ġ{ Ġeffects Processor . gray scale ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Invert Ġ-> Ġreturn Ġ{ Ġeffects Processor . invert ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Noise Ġ-> Ġreturn Ġ{ Ġeffects Processor . noise ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Sep ia Ġ-> Ġreturn Ġ{ Ġeffects Processor . sep ia ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Shar pen Ġ-> Ġreturn Ġ{ Ġeffects Processor . shar pen ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Sketch Ġ-> Ġreturn Ġ{ Ġeffects Processor . sketch ( effects Processor . gray scale ( it )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . V ign ette Ġ-> Ġreturn Ġ{ Ġeffects Processor . v ign ette ( it ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠUnsupportedOperationException (" This Ġfilter Ġis Ġnot Ġsupported : Ġ"+ filter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠGet Ġprocessor Ġfor Ġcontinuous Ġfilter Ġ*/ ĊĠĠĠ Ġfun Ġget Continuous Processor ( filter Ġ: ĠFilters ) Ġ: ĠI Continuous Filter Processor ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( filter ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Boost Ġ-> Ġreturn ĠBoost Processor ( effects Processor ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Brightness Ġ-> Ġreturn ĠB rightness Processor ( effects Processor ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Color Depth Ġ-> Ġreturn ĠColor Depth Processor ( effects Processor ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Color Balance Ġ-> Ġreturn ĠColor Balance Processor ( effects Processor ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Contrast Ġ-> Ġreturn ĠContr ast Processor ( effects Processor ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Flip Ġ-> Ġreturn ĠFlip Processor ( effects Processor ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Gamma Ġ-> Ġreturn ĠGamma Processor ( effects Processor ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Hue Ġ-> Ġreturn ĠH ue Processor ( effects Processor ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Sat uration Ġ-> Ġreturn ĠSat uration Processor ( effects Processor ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilters . Tint Ġ-> Ġreturn Ġt int Processor ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠUnsupportedOperationException (" This Ġfilter Ġis Ġnot Ġsupported : Ġ"+ filter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ