package Ġcom . inner circle software . trim io . app Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Asset Manager Ċ import Ġcom . inner circle software . trim io . trim . periodic . Trim Scheduler Ċ import Ġcom . inner circle software . trim io . ui . base . Activity Component Ċ import Ġdagger . Component Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġjavax . inject . Scope Ċ Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ @ Scope Ċ annotation Ġclass ĠPer App Ċ Ċ @ Per App Ċ @ Component ( ĊĠĠĠ Ġmodules Ġ= Ġ[ ĊĠĠĠĠĠĠĠ ĠApp Module :: class , ĊĠĠĠĠĠĠĠ ĠWork Module :: class ĊĠĠĠ Ġ] Ċ ) Ċ interface ĠApp Component Ġ{ ĊĊĠĠĠ Ġfun Ġnew Activity Component (): ĠActivity Component . Builder ĊĊĠĠĠ Ġfun Ġinject ( app : ĠApp ) ĊĊĠĠĠ Ġfun ĠgetContext (): ĠContext ĊĊĠĠĠ Ġfun Ġget Trim Scheduler (): ĠTrim Scheduler ĊĊĠĠĠ Ġfun Ġget Asset Manager (): ĠAsset Manager Ċ Ċ } Ċ Ċ @ Module Ċ class ĠApp Module ( private Ġval Ġapp : ĠApp ) Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Per App ĊĠĠĠ Ġfun Ġprovides AppContext (): ĠContext Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapp ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Per App ĊĠĠĠ Ġfun Ġprovides Asset Manager (): ĠAsset Manager Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapp . assets ĊĠĠĠ Ġ} Ċ }