package Ġorg . ire ader . domain . use _ cases . remote . key Ċ Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġorg . ire ader . common _ extensions . with IO Context Ċ import Ġorg . ire ader . common _ models . entities . Book Ċ import Ġorg . ire ader . common _ models . entities . Book Item Ċ import Ġorg . ire ader . common _ models . entities . Remote Keys Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠInsert All Explo red Book Ġ@ Inject Ġconstructor ( private Ġval Ġremote Key Repository : Ġorg . ire ader . common _ data . repository . Remote Key Repository ) Ġ{ ĊĠĠĠ Ġsuspend Ġoperator Ġfun Ġinvoke ( books : ĠList < Book >): ĠList < Long > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġorg . ire ader . common _ extensions . with IO Context Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ with IO Context Ġremote Key Repository . insert Books ( books ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠFind All Paged Explore Books Ġ@ Inject Ġconstructor ( private Ġval Ġremote Key Repository : Ġorg . ire ader . common _ data . repository . Remote Key Repository ) Ġ{ ĊĠĠĠ Ġsuspend Ġoperator Ġfun Ġinvoke (): ĠList < Book > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġremote Key Repository . find Paged Explore Books () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠSub S cribe All Paged Explore Books Ġ@ Inject Ġconstructor ( private Ġval Ġremote Key Repository : Ġorg . ire ader . common _ data . repository . Remote Key Repository ) Ġ{ ĊĠĠĠ Ġsuspend Ġoperator Ġfun Ġinvoke (): ĠFlow < List < Book Item >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġremote Key Repository . subscribe Paged Explore Books () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠPrepare Explore Mode Ġ@ Inject Ġconstructor ( private Ġval Ġremote Key Repository : Ġorg . ire ader . common _ data . repository . Remote Key Repository ) Ġ{ ĊĠĠĠ Ġsuspend Ġoperator Ġfun Ġinvoke ( reset : ĠBoolean , Ġlist : ĠList < Book >, Ġkeys : ĠList < Remote Keys >) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġorg . ire ader . common _ extensions . with IO Context Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ with IO Context Ġremote Key Repository . prepare Explore Mode ( reset , Ġlist , Ġkeys ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠClear Explore Mode Ġ@ Inject Ġconstructor ( private Ġval Ġremote Key Repository : Ġorg . ire ader . common _ data . repository . Remote Key Repository ) Ġ{ ĊĠĠĠ Ġsuspend Ġoperator Ġfun Ġinvoke () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġremote Key Repository . clear Explore Mode () ĊĠĠĠ Ġ} Ċ } Ċ