package Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . ui . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . DataSet Observer Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . text . Sp ann able Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . style . Style Span Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Base Expand able ListAdapter Ċ import Ġandroid . widget . TextView Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . R Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . ui . Gst View Activity Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . utils . Gst Details Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . utils . Ledger Utils Ċ Ċ class ĠG st View Adapter ( ĊĠĠĠ Ġgst View Activity : ĠG st View Activity , ĊĠĠĠ Ġgst lists : ĠArrayList < Gst Details > Ċ ) Ġ: ĠBase Expand able ListAdapter () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġm Gst View Activity : ĠG st View Activity Ġ= Ġgst View Activity ĊĠĠĠ Ġval Ġm Gst List Ġ= Ġgst lists ĊĠĠĠ Ġvar Ġm Inflater : ĠLayoutInflater Ġ= ĊĠĠĠĠĠĠĠ Ġm Gst View Activity . getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĊĠĠĠ Ġoverride Ġfun Ġget Children Count ( p 0 : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 1 ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Group ( group Pos : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Gst List . get ( group Pos ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Group Collapsed ( p 0 : ĠInt ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠisEmpty (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister DataSet Observer ( p 0 : ĠDataSet Observer ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Child ( group : ĠInt , Ġchild : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Gst List . get ( group ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Group Expanded ( p 0 : ĠInt ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Combined Child Id ( p 0 : ĠLong , Ġgro ud ID : ĠLong ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgro ud ID ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget GroupId ( gro ud ID : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgro ud ID . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Child Selectable ( p 0 : ĠInt , Ġp 1 : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Stable Ids (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Child View ( ĊĠĠĠĠĠĠĠ Ġpos : ĠInt , ĊĠĠĠĠĠĠĠ Ġp 1 : ĠInt , ĊĠĠĠĠĠĠĠ Ġp 2 : ĠBoolean , ĊĠĠĠĠĠĠĠ ĠconvertView : ĠView ?, ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġview : ĠView ? Ġ= ĠconvertView ĊĠĠĠĠĠĠĠ Ġvar Ġchild Holder : ĠChild Holder ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= Ġm Inflater . inflate ( R . layout . row _ gst _ child _ view , Ġparent , Ġfalse ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild Holder Ġ= ĠChild Holder ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . tag Ġ= Ġchild Holder ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild Holder Ġ= Ġview . tag Ġas ĠChild Holder ? ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġval Ġgst Details : ĠG st Details Ġ= Ġm Gst List [ pos ] ĊĊĠĠĠĠĠĠĠ Ġchild Holder !!. t vs up plier ID . text Ġ= Ġget Sp ann able String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgst Details . supplier ID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Gst View Activity . m Users Map [ getUserId ( gst Details . supplier ID )] ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv Re ce v ier ID . text Ġ= Ġget Sp ann able String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgst Details . receiver Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Gst View Activity . m Users Map [ getUserId ( gst Details . receiver Id )] ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv Date . text Ġ= ĠLed ger Utils . get Convert Date ( gst Details . date ) ĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv Bill Amount . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLed ger Utils . getR upe es Formatted ( gst Details . bill Amount . to Long ()) ĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv Project ID . text Ġ= Ġm Gst View Activity . m Projects Map [ gst Details . projectId ] ĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv Material . text Ġ= Ġgst Details . material ĊĊĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv Remark s . text Ġ= Ġgst Details . remarks ĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv LoggedIn Id . text Ġ= Ġgst Details . logged In ID ĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv Timestamp . text Ġ= Ġgst Details . time Stamp . toString () ĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv gst Id . text Ġ= Ġgst Details . gst Id ĊĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv Gst tax . text Ġ= Ġgst Details . gst Tax ĊĠĠĠĠĠĠĠ Ġchild Holder !!. tv Gst Percentage . text Ġ= Ġgst Details . gst Tax Percent ĊĊĠĠĠĠĠĠĠ Ġchild Holder . edit Transaction . setTag ( R . string . tag _ gst _ id , Ġgst Details . gst Id ) ĊĠĠĠĠĠĠĠ Ġchild Holder . t vs up plier ID . setTag ( R . string . tag _ user _ id , Ġget UserId ( gst Details . supplier ID )) ĊĠĠĠĠĠĠĠ Ġchild Holder . tv Re ce v ier ID . setTag ( R . string . tag _ user _ id , Ġget UserId ( gst Details . receiver Id )) ĊĠĠĠĠĠĠĠ Ġchild Holder . tv LoggedIn Id . setTag ( R . string . tag _ user _ id , Ġgst Details . logged In ID ) ĊĠĠĠĠĠĠĠ Ġchild Holder . tv Project ID . setTag ( R . string . tag _ project _ id , Ġgst Details . projectId ) ĊĊĠĠĠĠĠĠĠ Ġchild Holder . t vs up plier ID . setOnClickListener ( m Gst View Activity ) ĊĠĠĠĠĠĠĠ Ġchild Holder . tv Re ce v ier ID . setOnClickListener ( m Gst View Activity ) ĊĠĠĠĠĠĠĠ Ġchild Holder . tv LoggedIn Id . setOnClickListener ( m Gst View Activity ) ĊĠĠĠĠĠĠĠ Ġchild Holder . tv Project ID . setOnClickListener ( m Gst View Activity ) ĊĊĠĠĠĠĠĠĠ Ġchild Holder . edit Transaction . setOnClickListener ( m Gst View Activity ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget UserId ( user Account : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar ĠuserId : ĠString Ġ= Ġ"" ĊĠĠĠĠĠĠĠ ĠuserId Ġ= Ġuser Account . substring ( 2 ) ĊĠĠĠĠĠĠĠ Ġreturn ĠuserId ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare All Items Enabled (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Child Id ( p 0 : ĠInt , Ġchild Id : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġchild Id . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Combined GroupId ( group ID : ĠLong ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgroup ID ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Group View ( ĊĠĠĠĠĠĠĠ Ġpos : ĠInt , ĊĠĠĠĠĠĠĠ Ġis Expanded : ĠBoolean , ĊĠĠĠĠĠĠĠ ĠconvertView : ĠView ?, ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġview : ĠView ? Ġ= ĠconvertView ĊĠĠĠĠĠĠĠ Ġvar Ġgroup Holder : ĠGroup Holder ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= Ġm Inflater . inflate ( R . layout . row _ gst _ group _ view , Ġparent , Ġfalse ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Holder Ġ= ĠGroup Holder ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . tag Ġ= Ġgroup Holder ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Holder Ġ= Ġview . tag Ġas ĠGroup Holder ? ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġgst Details : ĠG st Details Ġ= Ġm Gst List [ pos ] ĊĊĠĠĠĠĠĠĠ Ġgroup Holder !!. tv Supplier ID . text Ġ= Ġget Sp ann able String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgst Details . supplier ID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Gst View Activity . m Users Map [ getUserId ( gst Details . supplier ID )] ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Expanded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview !!. setBackground Resource ( R . drawable . selected _ group ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview !!. set BackgroundColor ( Color . parse Color ("# 0 0 0 0 0 0 0 0 ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġgroup Holder !!. tv Material . text Ġ= Ġgst Details . material ĊĠĠĠĠĠĠĠ Ġgroup Holder !!. tv Date . text Ġ= ĠLed ger Utils . get Convert Date ( gst Details . date ) ĊĠĠĠĠĠĠĠ Ġgroup Holder !!. tv Bill Amount . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLed ger Utils . getR upe es Formatted ( gst Details . bill Amount . to Long ()) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunregister DataSet Observer ( p 0 : ĠDataSet Observer ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Group Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Gst List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠGroup Holder ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtv Material Ġ= Ġview . findViewById < TextView >( R . id . tv _ supplier ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Date Ġ= Ġview . findViewById < TextView >( R . id . tv _ date ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Supplier ID Ġ= Ġview . findViewById < TextView >( R . id . tv _ sender _ id ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv Bill Amount Ġ= Ġview . findViewById < TextView >( R . id . tv _ bill _ amount ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠChild Holder ( view : ĠView ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtv Material Ġ= Ġview . findViewById < TextView >( R . id . tv _ material ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Gst tax Ġ= Ġview . findViewById < TextView >( R . id . tv _ gst _ tax ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Gst Percentage Ġ= Ġview . findViewById < TextView >( R . id . tv _ gst _ percentage ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġtv Bill Amount Ġ= Ġview . findViewById < TextView >( R . id . tv _ bill _ amount ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Date Ġ= Ġview . findViewById < TextView >( R . id . tv _ date ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġt vs up plier ID Ġ= Ġview . findViewById < TextView >( R . id . tv _ sender _ id ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Re ce v ier ID Ġ= Ġview . findViewById < TextView >( R . id . tv _ receiver _ id ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġtv Project ID Ġ= Ġview . findViewById < TextView >( R . id . tv _ project _ id ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġtv Timestamp Ġ= Ġview . findViewById < TextView >( R . id . tv _ time _ stamp ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv LoggedIn Id Ġ= Ġview . findViewById < TextView >( R . id . tv _ log _ in _ id ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Remark s Ġ= Ġview . findViewById < TextView >( R . id . tv _ remarks ) ĊĠĠĠĠĠĠĠ Ġval Ġtvg st Id Ġ= Ġview . findViewById < TextView >( R . id . tv _ gst _ id ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġedit Transaction Ġ= Ġview . findViewById < TextView >( R . id . tv _ edit _ gst ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Sp ann able String ( key : ĠString ?, Ġvalue : ĠString ?): ĠSp ann able String Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( key Ġ== Ġnull Ġ|| Ġvalue Ġ== Ġnull ) Ġreturn ĠSp ann able String ( key ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbold Ġ= ĠStyle Span ( Type face . BOLD ) ĊĠĠĠĠĠĠĠ Ġval Ġnormal Ġ= ĠStyle Span ( Type face . NORMAL ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= ĠSp ann able String ("$ key Ġ[$ value ]") ĊĊĠĠĠĠĠĠĠ Ġcontent . set Span ( bold , Ġ 0 , Ġkey . length , ĠSp ann able . SPAN _ EXCL USIVE _ EXCL USIVE ) ĊĠĠĠĠĠĠĠ Ġcontent . set Span ( normal , Ġkey . length Ġ+ Ġ 1 , Ġcontent . length , ĠSp ann able . SPAN _ EXCL USIVE _ EXCL USIVE ) ĊĠĠĠĠĠĠĠ Ġreturn Ġcontent ĊĠĠĠ Ġ} Ċ Ċ }