package Ġcom . shop app . ui . category Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . shop app . R Ċ import Ġcom . shop app . Shop Application Ċ import Ġcom . shop app . gateway . entity . Category Ċ import Ġcom . shop app . ui . base . pagination . Pagination Fragment Ċ import Ġcom . shop app . ui . category . adapter . Category Grid Adapter Ċ import Ġcom . shop app . ui . category . contract . Category List Presenter Ċ import Ġcom . shop app . ui . category . contract . Category ListView Ċ import Ġcom . shop app . ui . category . router . Category List Router Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠCategory List Fragment Ġ: ĊĠĠĠ ĠPagination Fragment < Category , ĠCategory ListView , ĠCategory List Presenter >(), ĊĠĠĠ ĠCategory ListView Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġcategory List Presenter : ĠCategory List Presenter ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġrouter : ĠCategory List Router ĊĊĠĠĠ Ġ// ANDROID ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġload Data ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// INIT ĊĊĠĠĠ Ġoverride Ġfun Ġget ContentView () Ġ= ĠR . layout . fragment _ search _ with _ categories _ list ĊĊĠĠĠ Ġoverride Ġfun Ġinject () Ġ{ ĊĠĠĠĠĠĠĠ ĠShop Application . app Component . attach Category Component (). inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Presenter () Ġ= Ġcategory List Presenter ĊĊĠĠĠ Ġ// SETUP ĊĊĠĠĠ Ġoverride Ġfun Ġis Grid () Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Adapter () Ġ= ĠCategory Grid Adapter ( data List , Ġthis ) ĊĊĠĠĠ Ġ// L CE ĊĊĠĠĠ Ġoverride Ġfun Ġload Data ( pull To Refresh : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . load Data ( pull To Refresh ) ĊĠĠĠĠĠĠĠ Ġpresenter . get Category List ( per Page Count (), Ġpagination Value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Content ( data : ĠList < Category >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . show Content ( data ) ĊĠĠĠĠĠĠĠ Ġdata List . addAll ( data ) ĊĠĠĠĠĠĠĠ Ġadapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġdata . last OrNull ()?. let Ġ{ Ġpagination Value Ġ= Ġit . pagination Value Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// CALLBACK ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Clicked ( data : ĠCategory , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrouter . show Category ( context , Ġdata ) ĊĠĠĠ Ġ} Ċ }