package Ġkr . ac . se j ong . got gan . Main Ċ Ċ import Ġandroid . app . Progress Dialog Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget .* Ċ import Ġandroidx . appcompat . app . ActionBar Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . widget . AppCompat Spinner Ċ import Ġandroidx . appcompat . widget . AppCompat TextView Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġandroidx . card view . widget . Card View Ċ import Ġandroidx . core . view . Gravity Compat Ċ import Ġandroidx . drawer layout . widget . Drawer Layout Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . github . mike phil . chart ing . animation . E asing Ċ import Ġcom . github . mike phil . chart ing . charts . Pie Chart Ċ import Ġcom . github . mike phil . chart ing . components . Legend Ċ import Ġcom . github . mike phil . chart ing . data . Pie Data Ċ import Ġcom . github . mike phil . chart ing . data . Pie DataSet Ċ import Ġcom . github . mike phil . chart ing . data . Pie Entry Ċ import Ġcom . google . android . material . button . Material Button Ċ import Ġcom . google . android . material . navigation . Navigation View Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . google . android . material . tabs . Tab Layout Ċ import Ġcom . google . android . material . text field . TextInput EditText Ċ import Ġcom . google . zx ing . integration . android . Intent Integr ator Ċ import Ġcom . google . zx ing . integration . android . Intent Result Ċ import Ġkr . ac . se j ong . got gan . Back End API .* Ċ import Ġkr . ac . se j ong . got gan . Back End API . Product System . Back End API _ Product System Product Add Ċ import Ġkr . ac . se j ong . got gan . Back End API . Product System . Back End API _ Product System Product Group Add Ċ import Ġkr . ac . se j ong . got gan . Back End API . Product System . Back End API _ Product System Product List Ċ import Ġkr . ac . se j ong . got gan . Back End API . Product System . Back End API _ Product System Product Overview Ċ import Ġkr . ac . se j ong . got gan . Back End API . Rent System . Back End API _ Rent System Rent List Ċ import Ġkr . ac . se j ong . got gan . HttpPost Send Log Out Ċ import Ġkr . ac . se j ong . got gan . Login . Login Activity Ċ import Ġkr . ac . se j ong . got gan . R Ċ import Ġkr . ac . se j ong . got gan . ZX ing Activity Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONObject Ċ import Ġkotlin . system . exit Process Ċ Ċ class ĠMainActivity _ Master Ġ: ĠAppCompatActivity (), ĠNavigation View . On Navigation ItemSelected Listener Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Navigation ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġid Ġ= Ġitem . itemId ĊĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ== ĠR . id . nav _ logout ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress Dialog Vertical ( getString ( R . string . logout _ try ing _ title ), ĠgetString ( R . string . logout _ try ing _ message )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogout Manager Ġ= ĠLog Out Manager () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogout Manager !!. execute ( session , Ġ" 0 ", Ġ" 1 ", Ġ" 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdrawer !!. close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġid Ġ: ĠInt Ġ= Ġitem !!. itemId ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( id ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer !!. open Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġrent List ArrayList : ĠArrayList < Master Home InOut Data > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġvar Ġin Out Management RecyclerView : ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġin Out Management RecyclerView Instead TextView : ĠAppCompat TextView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ// var Ġbarcode Search Ġ: ĠProduct Management Search With Barcode ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġvar Ġrent Status ArrayList Ġ: ĠArrayList < Master InOut Management Data > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġvar Ġrent Status RecyclerView Ġ: ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġrent Status RecyclerView Instead TextView Ġ: ĠAppCompat TextView ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġvar Ġrent ed Status ArrayList Ġ: ĠArrayList < Master InOut Management Data > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġvar Ġrent ed Status RecyclerView Ġ: ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġrent ed Status RecyclerView Instead TextView Ġ: ĠAppCompat TextView ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// private Ġvar Ġrent Status ArrayList Ġ: ĠArrayList < Master InOut Management Data > Ġ= ĠArrayList () ĊĠĠĠ Ġ// private Ġvar Ġrent ed Status ArrayList Ġ: ĠArrayList < Master InOut Management Data > Ġ= ĠArrayList () ĊĊĠĠĠ Ġprivate Ġvar Ġlogout Manager Ġ: ĠLog Out Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġtoolbar Ġ: ĠToolbar ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdrawer Ġ: ĠDraw er Layout ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġnavigation View Ġ: ĠNavigation View ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġaction Bar Ġ: ĠAction Bar ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠuserName TextView Ġ: ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġuser Level TextView Ġ: ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠuserName Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġuser Level Ġ: ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġrent List Manager Ġ: ĠR ent List Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġback Key Click Time Ġ: ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġvar Ġproduct List ArrayList Ġ: ĠArrayList < Master Product List Data > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġvar Ġgroup List HashMap Ġ: ĠHashMap < Int , ĠArrayList < Master Product List Data >> Ġ= ĠHashMap () ĊĊĠĠĠ Ġprivate Ġvar Ġbarcode Search Ġ: ĠProduct Management Search With Barcode ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġprogress Dialog Ġ: ĠProgress Dialog ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġsession Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Over View Manager Ġ: ĠProduct Over View And Rent List Manager ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Over View Product Management Manager Ġ: ĠProduct Over View Manager ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġstock Spinner Ġ: ĠAppCompat Spinner ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġstock Pie Chart Ġ: ĠP ie Chart ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Over View ArrayList Ġ: ĠArrayList < Product Over ViewGroup Data > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġvar Ġproduct Over View Product Management ArrayList Ġ: ĠArrayList < Product Over ViewGroup Data > Ġ= ĠArrayList () ĊĠĠĠ Ġ// private Ġvar Ġrent List ArrayList Ġ: ĠArrayList < Master Home InOut Data > Ġ= ĠArrayList () ĊĊĠĠĠ Ġprivate Ġvar Ġstock Count TextView : ĠAppCompat TextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġl end Count TextView : ĠAppCompat TextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġkeep Count TextView : ĠAppCompat TextView ? Ġ= Ġnull ĊĊĠĠĠ Ġ// private Ġvar Ġin Out Management RecyclerView Ġ: ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠ Ġ// private Ġvar Ġin Out Management RecyclerView Instead TextView Ġ: ĠAppCompat TextView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġmaster Home Layout Ġ: ĠView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmaster Product List Layout Ġ: ĠView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmaster Product Management Layout Ġ: ĠView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmaster In out Management Layout Ġ: ĠView ? Ġ= Ġnull ĊĊĠĠĠ Ġ// private Ġvar Ġstock Pie Chart Ġ: ĠP ie Chart ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmaster Tab Layout Ġ: ĠTab Layout ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġproduct List RecyclerView Ġ: ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct List Manager Ġ: ĠProduct List Manager ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġempty Product List TextView Ġ: ĠAppCompat TextView ? Ġ= Ġnull ĊĊĠĠĠ Ġ// Ġproduct Management Views ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Barcode Ġ: ĠCard View ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġproduct Management ProductName Edit Ġ: ĠText Input EditText ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product GroupName Spinner Ġ: ĠAppCompat Spinner ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Status Spinner Ġ: ĠAppCompat Spinner ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Department Spinner Ġ: ĠAppCompat Spinner ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Barcode Edit Ġ: ĠText Input EditText ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Add Button Ġ: ĠMaterial Button ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġproduct Management Group Add Edit Ġ: ĠText Input EditText ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Group Rent Is Available Spinner Ġ: ĠAppCompat Spinner ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġproduct Management Group Rent Date Edit Ġ: ĠText Input EditText ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Group Import ance Spinner Ġ: ĠAppCompat Spinner ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Group Add Button Ġ: ĠMaterial Button ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Group Index Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Status Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Owner Ġ: ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Rent able Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Priority Ġ: ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġproduct Management Product Add Manager Ġ: ĠProduct Management Product Add Manager ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġproduct Management Group Add Manager Ġ: ĠProduct Management Group Add Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main _ master _ drawer ) ĊĊĠĠĠĠĠĠĠ Ġsession Ġ= ĠJSONObject ( intent . getString Extra (" user All Data "). toString ()) [" session "]. toString () ĊĊĠĠĠĠĠĠĠ ĠuserName Ġ= ĠJSONObject ( intent . getString Extra (" user All Data "). toString ()) [" user _ name "]. toString () ĊĠĠĠĠĠĠĠ Ġwhen Ġ( JSONObject ( intent . getString Extra (" user All Data "). toString ()) [" user _ level "]. toString (). toInt ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġuser Level Ġ= Ġ" ìĿ¼ ë°ĺ ĠìĤ¬ìļ©ìŀĲ " ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġuser Level Ġ= Ġ" ê´Ģ ë¦¬ ìŀĲ " ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġuser Level Ġ= Ġ" ì µľ ê³ł Ġê´Ģë¦¬ ìŀĲ " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġall Layout Setting () ĊĠĠĠĠĠĠĠ Ġ// ĠMaster ĠHome ĊĠĠĠĠĠĠĠ Ġhome View Id Setting () ĊĠĠĠĠĠĠĠ Ġsetting Spinner () ĊĠĠĠĠĠĠĠ Ġpie Chart Base Setting () ĊĊĠĠĠĠĠĠĠ Ġ// Ġetc View Id Setting () ĊĠĠĠĠĠĠĠ Ġproduct Management Id Setting () ĊĠĠĠĠĠĠĠ Ġproduct Management Id Setting () ĊĊĠĠĠĠĠĠĠ Ġrent Status Setting () ĊĊĠĠĠĠĠĠĠ Ġtab Layout Setting () ĊĊĠĠĠĠĠĠĠ Ġsession Ġ= ĠJSONObject ( intent . getString Extra (" user All Data "). toString ()) [" session "]. toString () Ġ/* String íĺķ */ ĊĠĠĠĠĠĠĠ Ġshow Progress Dialog ( getString ( R . string . loading _ data )) ĊĠĠĠĠĠĠĠ Ġproduct Over View Manager Ġ= ĠProduct Over View And Rent List Manager () ĊĠĠĠĠĠĠĠ Ġproduct Over View Manager !!. execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ") ĊĠĠĠĠĠĠĠ Ġ// Product List Manager (). execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Progress Dialog Vertical ( title Ġ: ĠString , Ġmessage Ġ: ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprogress Dialog Ġ= ĠProgress Dialog ( this ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog !!. set Progress Style ( Progress Dialog . STYLE _ SP INNER ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog !!. setTitle ( title ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog !!. setMessage ( message ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog !!. set Cancel able ( false ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog !!. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġall Layout Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar Ġ= ĠfindViewById ( R . id . toolbar ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġdrawer Ġ= ĠfindViewById ( R . id . drawer _ layout ) ĊĠĠĠĠĠĠĠ Ġnavigation View Ġ= ĠfindViewById ( R . id . nav _ view ) ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġaction Bar Ġ= Ġsupport ActionBar ĊĠĠĠĠĠĠĠ Ġaction Bar !!. set Home As Up Indicator ( R . drawable . menu ) ĊĠĠĠĠĠĠĠ Ġaction Bar !!. set Display Home As Up Enabled ( true ) ĊĊĠĠĠĠĠĠĠ ĠuserName TextView Ġ= Ġnavigation View !!. getHeader View ( 0 ). findViewById ( R . id . userName TextView ) ĊĠĠĠĠĠĠĠ Ġuser Level TextView Ġ= Ġnavigation View !!. getHeader View ( 0 ). findViewById ( R . id . user Level TextView ) ĊĊĠĠĠĠĠĠĠ ĠuserName TextView !!. text Ġ= ĠuserName ĊĠĠĠĠĠĠĠ Ġuser Level TextView !!. text Ġ= Ġuser Level ĊĊĠĠĠĠĠĠĠ Ġnavigation View !!. set Navigation ItemSelected Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġmaster Home Layout Ġ= ĠfindViewById ( R . id . main _ master _ home _ layout ) ĊĠĠĠĠĠĠĠ Ġmaster Home Layout !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġmaster Product List Layout Ġ= ĠfindViewById ( R . id . main _ master _ product _ list _ layout ) ĊĠĠĠĠĠĠĠ Ġmaster Product List Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġmaster Product Management Layout Ġ= ĠfindViewById ( R . id . main _ master _ product _ management _ layout ) ĊĠĠĠĠĠĠĠ Ġmaster Product Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġmaster In out Management Layout Ġ= ĠfindViewById ( R . id . main _ master _ inout _ management _ layout ) ĊĠĠĠĠĠĠĠ Ġmaster In out Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ// master Log Layout Ġ= ĠfindViewById ( R . id . main _ master _ log _ layout ) ĊĠĠĠĠĠĠĠ Ġ// master Log Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhome View Id Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġstock Count TextView Ġ= ĠfindViewById ( R . id . stock _ count _ textView ) ĊĠĠĠĠĠĠĠ Ġl end Count TextView Ġ= ĠfindViewById ( R . id . l end _ count _ textView ) ĊĠĠĠĠĠĠĠ Ġkeep Count TextView Ġ= ĠfindViewById ( R . id . keep _ count _ textView ) ĊĠĠĠĠĠĠĠ Ġstock Pie Chart Ġ= ĠfindViewById ( R . id . stock _ pie Chart ) ĊĠĠĠĠĠĠĠ Ġin Out Management RecyclerView Ġ= ĠfindViewById ( R . id . import _ export _ management _ re cyclerView ) ĊĠĠĠĠĠĠĠ Ġin Out Management RecyclerView Instead TextView Ġ= ĠfindViewById ( R . id . import _ export _ management _ re cyclerView _ instead _ textView ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrent Status Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġrent Status RecyclerView Ġ= ĠfindViewById ( R . id . inout _ management _ rent _ status _ re cyclerView ) ĊĠĠĠĠĠĠĠ Ġrent Status RecyclerView Instead TextView Ġ= ĠfindViewById ( R . id . inout _ management _ rent _ status _ no _ data _ textView ) ĊĠĠĠĠĠĠĠ Ġrent Status RecyclerView Instead TextView !!. visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġrent ed Status RecyclerView Ġ= ĠfindViewById ( R . id . inout _ management _ rent ed _ status _ re cyclerView ) ĊĠĠĠĠĠĠĠ Ġrent ed Status RecyclerView Instead TextView Ġ= ĠfindViewById ( R . id . inout _ management _ rent ed _ status _ no _ data _ textView ) ĊĠĠĠĠĠĠĠ Ġrent ed Status RecyclerView Instead TextView !!. visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproduct List Id Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġproduct List RecyclerView Ġ= ĠfindViewById ( R . id . product List RecyclerView ) ĊĠĠĠĠĠĠĠ Ġempty Product List TextView Ġ= ĠfindViewById ( R . id . empty _ product _ list _ textView ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproduct Management Id Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġproduct Management Barcode Ġ= ĠfindViewById ( R . id . barcode _ Card View ) ĊĊĠĠĠĠĠĠĠ Ġproduct Management ProductName Edit Ġ= ĠfindViewById ( R . id . product _ name _ edit ) ĊĠĠĠĠĠĠĠ Ġproduct Management Product GroupName Spinner Ġ= ĠfindViewById ( R . id . product _ group _ name _ spinner ) ĊĠĠĠĠĠĠĠ Ġproduct Management Product Status Spinner Ġ= ĠfindViewById ( R . id . product _ status _ spinner ) ĊĠĠĠĠĠĠĠ Ġproduct Management Product Department Spinner Ġ= ĠfindViewById ( R . id . product _ department _ spinner ) ĊĠĠĠĠĠĠĠ Ġproduct Management Product Barcode Edit Ġ= ĠfindViewById ( R . id . product _ barcode _ edit ) ĊĠĠĠĠĠĠĠ Ġproduct Management Product Add Button Ġ= ĠfindViewById ( R . id . product _ add _ button ) ĊĊĠĠĠĠĠĠĠ Ġproduct Management Group Add Edit Ġ= ĠfindViewById ( R . id . group _ add _ edit ) ĊĠĠĠĠĠĠĠ Ġproduct Management Group Rent Is Available Spinner Ġ= ĠfindViewById ( R . id . group _ rent _ is _ available _ spinner ) ĊĠĠĠĠĠĠĠ Ġproduct Management Group Rent Date Edit Ġ= ĠfindViewById ( R . id . group _ rent _ date _ edit ) ĊĠĠĠĠĠĠĠ Ġproduct Management Group Import ance Spinner Ġ= ĠfindViewById ( R . id . group _ import ance _ spinner ) ĊĠĠĠĠĠĠĠ Ġproduct Management Group Add Button Ġ= ĠfindViewById ( R . id . group _ add _ button ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproduct Management Barcode Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġproduct Management Barcode !!. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġintegr ator Ġ= ĠIntent Integr ator ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintegr ator . capture Activity Ġ= ĠZX ing Activity :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintegr ator . set Orientation Locked ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintegr ator . init iate Scan () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproduct Management Spinner Setting () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġproduct Management Product Status Spinner Adapter Ġ= ĠArray Adapter ( this @ MainActivity _ Master , Ġandroid . R . layout . simple _ spinner _ dropdown _ item , Ġresources . getString Array ( R . array . product _ add _ status _ array )) ĊĠĠĠĠĠĠĠ Ġproduct Management Product Status Spinner Adapter . set DropDown View Resource ( android . R . layout . simple _ spinner _ dropdown _ item ) ĊĠĠĠĠĠĠĠ Ġproduct Management Product Status Spinner !!. adapter Ġ= Ġproduct Management Product Status Spinner Adapter ĊĊĠĠĠĠĠĠĠ Ġval Ġproduct Management Product Department Spinner Adapter Ġ= ĠArray Adapter ( this @ MainActivity _ Master , Ġandroid . R . layout . simple _ spinner _ dropdown _ item , Ġresources . getString Array ( R . array . product _ add _ department _ array )) ĊĠĠĠĠĠĠĠ Ġproduct Management Product Department Spinner Adapter . set DropDown View Resource ( android . R . layout . simple _ spinner _ dropdown _ item ) ĊĠĠĠĠĠĠĠ Ġproduct Management Product Department Spinner !!. adapter Ġ= Ġproduct Management Product Department Spinner Adapter ĊĊĠĠĠĠĠĠĠ Ġproduct Management Product Group Index Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġproduct Management Product Status Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġproduct Management Product Owner Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġproduct Management Product Rent able Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġproduct Management Product Priority Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġproduct Management Product GroupName Spinner !!. on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View < *> ?, Ġview : ĠView ?, Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Group Index Ġ= Ġposition Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġproduct Management Product Status Spinner !!. on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View < *> ?, Ġview : ĠView ?, Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Status Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġproduct Management Product Department Spinner !!. on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View < *> ?, Ġview : ĠView ?, Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Owner Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġval Ġproduct Management Group Rent Is Available Spinner Adapter Ġ= ĠArray Adapter ( this @ MainActivity _ Master , Ġandroid . R . layout . simple _ spinner _ dropdown _ item , Ġresources . getString Array ( R . array . product _ group _ rent able _ array )) ĊĠĠĠĠĠĠĠ Ġproduct Management Group Rent Is Available Spinner Adapter . set DropDown View Resource ( android . R . layout . simple _ spinner _ dropdown _ item ) ĊĠĠĠĠĠĠĠ Ġproduct Management Group Rent Is Available Spinner !!. adapter Ġ= Ġproduct Management Group Rent Is Available Spinner Adapter ĊĊĠĠĠĠĠĠĠ Ġval Ġproduct Management Group Import ance Spinner Adapter Ġ= ĠArray Adapter ( this @ MainActivity _ Master , Ġandroid . R . layout . simple _ spinner _ dropdown _ item , Ġresources . getString Array ( R . array . product _ group _ import ance _ array )) ĊĠĠĠĠĠĠĠ Ġproduct Management Group Import ance Spinner Adapter . set DropDown View Resource ( android . R . layout . simple _ spinner _ dropdown _ item ) ĊĠĠĠĠĠĠĠ Ġproduct Management Group Import ance Spinner !!. adapter Ġ= Ġproduct Management Group Import ance Spinner Adapter ĊĊĠĠĠĠĠĠĠ Ġproduct Management Group Rent Is Available Spinner !!. on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View < *> ?, Ġview : ĠView ?, Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( product Management Group Rent Is Available Spinner !!. getItem At Position ( position ). toString ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ë¶ Ī ê°Ģ " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Group Rent Date Edit !!. setText ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Group Rent Date Edit !!. isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Rent able Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ê°Ģ ëĬ¥ " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Group Rent Date Edit !!. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product Management Group Rent Date Edit !!. length () Ġ!= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Rent able Ġ= Ġproduct Management Group Rent Date Edit !!. text . toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġproduct Management Group Import ance Spinner !!. on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View < *> ?, Ġview : ĠView ?, Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Priority Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproduct Management Product Add Button Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġproduct Management Product Add Button !!. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product Management ProductName Edit !!. length () Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( it , ĠgetString ( R . string . pl z _ input _ product _ name ), ĠSn ackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġproduct Add JSONObject Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Add JSONObject . put ( product Group Str , Ġproduct Management Product Group Index ) Ġ// Ġspinner ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Add JSONObject . put ( product Name Str , Ġproduct Management ProductName Edit !!. text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Add JSONObject . put ( product Status Str , Ġproduct Management Product Status ) Ġ// Ġspinner ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Add JSONObject . put ( product Owner Str , Ġproduct Management Product Owner ) Ġ// Ġspinner Ġdepartment ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product Management Product Barcode Edit !!. length () Ġ!= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Add JSONObject . put ( product Barcode Str , Ġproduct Management Product Barcode Edit !!. text . toString (). toInt ()) Ġ// Ġedit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Add JSONObject . put ( product Barcode Str , Ġ 0 ) Ġ// Ġedit ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġproduct Add JSONArray Ġ= ĠJSONArray () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Add JSONArray . put ( product Add JSONObject ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Ġ= ĠJSONObject ( intent . getString Extra (" user All Data "). toString ()) [" session "]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Add ( session !! , Ġproduct Add JSONArray , Ġproduct Management ProductName Edit !!. text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproduct Management Product Group Add Button Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġproduct Management Group Add Button !!. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product Management Group Add Edit !!. length () Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( it , ĠgetString ( R . string . pl z _ input _ product _ name ), ĠSn ackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Ġ= ĠJSONObject ( intent . getString Extra (" user All Data "). toString ()) [" session "]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! product Management Group Rent Date Edit !!. isEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Rent able Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Group Add ( session !! , Ġproduct Management Group Add Edit !!. text . toString (), Ġproduct Management Product Rent able !! , Ġproduct Management Product Priority !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ Ġ// Ġis Enable Ġ== Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product Management Group Rent Date Edit !!. length () Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Rent able Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( it , ĠgetString ( R . string . pl z _ input _ rent able _ date _ name ), ĠSn ackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Rent able Ġ= Ġproduct Management Group Rent Date Edit !!. text . toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Group Add ( session !! , Ġproduct Management Group Add Edit !!. text . toString (), Ġproduct Management Product Rent able !! , Ġproduct Management Product Priority !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproduct Management Product Add ( session Ġ: ĠString , Ġadd JSONArray Data Ġ: ĠJSONArray , Ġproduct Name Ġ: ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Progress Dialog ( getString ( R . string . loading _ data )) ĊĠĠĠĠĠĠĠ Ġproduct Management Product Add Manager Ġ= ĠProduct Management Product Add Manager () ĊĠĠĠĠĠĠĠ Ġproduct Management Product Add Manager !!. execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ", Ġadd JSONArray Data . toString (), Ġproduct Name ) ĊĠĠĠĠĠĠĠ Ġ// Ġparams [ 4 ] Ġ== Ġproducts Ġ: ĠJSONArray ĊĠĠĠĠĠĠĠ Ġ// Ġparams [ 5 ] Ġ== Ġproduct Ġname ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproduct Management Group Add ( session Ġ: ĠString , Ġproduct GroupName Ġ: ĠString , Ġproduct Group Rent able Ġ: ĠInt , Ġproduct Group Priority Ġ: ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Progress Dialog ( getString ( R . string . loading _ data )) ĊĠĠĠĠĠĠĠ Ġproduct Management Group Add Manager Ġ= ĠProduct Management Group Add Manager () ĊĠĠĠĠĠĠĠ Ġproduct Management Group Add Manager !!. execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ", Ġproduct GroupName , Ġproduct Group Rent able . toString (), Ġproduct Group Priority . toString ()) ĊĠĠĠĠĠĠĠ Ġ// Ġparams [ 4 ] Ġ== Ġproduct _ group _ name ĊĠĠĠĠĠĠĠ Ġ// Ġparams [ 5 ] Ġ== Ġproduct _ group _ rent able ĊĠĠĠĠĠĠĠ Ġ// Ġparams [ 6 ] Ġ== Ġproduct _ group _ priority ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpie Chart Base Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. set Use Percent Values ( false ) Ġ// Ġí į¼ ìĦ ¼ íĬ¸ Ġê°Ĵ ìľ¼ë¡ľ ĠìĦ¤ìłķ ĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. is Drag De cel eration Enabled Ġ= Ġfalse Ġ// Ġëı Į ë¦¬ ê¸° Ġë°© ì§Ģ ĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. is Rotation Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. description . isEnabled Ġ= Ġfalse Ġ// Ġì° ¨ íĬ¸ ĠìĦ¤ ëªħ Ġenable ĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. set Extra Offsets ( 5 f , 1 0 f , 5 f , 5 f ) ĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. set Draw Center Text ( true ) ĊĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. drag De cel eration F riction Coef Ġ= Ġ 0 . 9 5 f ĊĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. is Draw Hole Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. set Hole Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. transparent Circle Radius Ġ= Ġ 6 1 f ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpie Chart Renew ( product Over View Ġ: ĠProduct Over ViewGroup Data ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġpie Values Ġ= ĠArrayList < Pie Entry >() ĊĊĠĠĠĠĠĠĠ Ġif Ġ( product Over View . group Count Available !! Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpie Values . add ( Pie Entry (( product Over View . group Count Available !! Ġ- Ġproduct Over View . group Count Rent !! ). toFloat (), ĠgetString ( R . string . available _ count ))) ĊĠĠĠĠĠĠĠ Ġif Ġ( product Over View . group Count Unavailable !! Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpie Values . add ( Pie Entry ( product Over View . group Count Unavailable !!. toFloat (), getString ( R . string . un available _ count ))) ĊĠĠĠĠĠĠĠ Ġif Ġ( product Over View . group Count Broken !! Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpie Values . add ( Pie Entry ( product Over View . group Count Broken !!. toFloat (), getString ( R . string . broken _ count ))) ĊĠĠĠĠĠĠĠ Ġif Ġ( product Over View . group Count Repair !! Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpie Values . add ( Pie Entry ( product Over View . group Count Repair !!. toFloat (), getString ( R . string . repair _ count ))) ĊĠĠĠĠĠĠĠ Ġif Ġ( product Over View . group Count Rent !! Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpie Values . add ( Pie Entry ( product Over View . group Count Rent !!. toFloat (), getString ( R . string . rent _ count ))) ĊĊĠĠĠĠĠĠĠ Ġ// var Ġdescription Ġ= ĠDescription () ĊĠĠĠĠĠĠĠ Ġ// description . text Ġ= Ġproduct Over View . groupName ĊĠĠĠĠĠĠĠ Ġ// description . text Size Ġ= Ġ 1 5 f ĊĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. animate Y ( 1 0 0 0 , ĠE asing . E ase InOut Cubic ) ĊĠĠĠĠĠĠĠ Ġif Ġ( pie Values . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstock Pie Chart !!. center Text Ġ= Ġproduct Over View . groupName Ġ+ Ġ" ìĿĺ Ġëª¨ëĵł Ġìŀ¬ ê³ł ê°Ģ ĠìĹĨ ìĬµëĭĪëĭ¤ Ġ: (" ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstock Pie Chart !!. center Text Ġ= Ġproduct Over View . groupName ĊĊĠĠĠĠĠĠĠ Ġvar Ġlegend Ġ: ĠLegend Ġ= Ġstock Pie Chart !!. legend ĊĠĠĠĠĠĠĠ Ġlegend . vertical Alignment Ġ= ĠLegend . Legend Vertical Alignment . BOTTOM ĊĠĠĠĠĠĠĠ Ġlegend . horizontal Alignment Ġ= ĠLegend . Legend Horizontal Alignment . CENTER ĊĠĠĠĠĠĠĠ Ġlegend . orientation Ġ= ĠLegend . Legend Orientation . HORIZONTAL ĊĠĠĠĠĠĠĠ Ġlegend . set Draw Inside ( false ) ĊĠĠĠĠĠĠĠ Ġlegend . x Entry Space Ġ= Ġ 7 f ĊĠĠĠĠĠĠĠ Ġlegend . y Entry Space Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġlegend . y Offset Ġ= Ġ 7 f ĊĊĠĠĠĠĠĠĠ Ġvar ĠdataSet Ġ= ĠP ie DataSet ( pie Values , Ġnull ) ĊĠĠĠĠĠĠĠ ĠdataSet . slice Space Ġ= Ġ 3 f ĊĠĠĠĠĠĠĠ ĠdataSet . selection Shift Ġ= Ġ 5 f ĊĊĠĠĠĠĠĠĠ Ġvar Ġcolor Array Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . rgb ( 2 5 5 , Ġ 1 5 2 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . rgb ( 7 6 , Ġ 1 7 5 , Ġ 8 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . rgb ( 2 4 4 , Ġ 6 7 , Ġ 5 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . rgb ( 0 , Ġ 1 8 8 , Ġ 2 1 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . rgb ( 0 , Ġ 1 5 0 , Ġ 1 3 6 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcolors Ġ= ĠArrayList < Int >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( c Ġin Ġcolor Array ) Ġ// ĠColor Template . JOY FUL _ COLORS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . add ( c ) ĊĊĠĠĠĠĠĠĠ ĠdataSet . colors Ġ= Ġcolors ĊĊĠĠĠĠĠĠĠ Ġvar Ġdata Ġ= ĠP ie Data ( data Set ) ĊĠĠĠĠĠĠĠ Ġdata . setValue Text Size ( 1 0 f ) ĊĠĠĠĠĠĠĠ Ġdata . setValue TextColor ( Color . YELLOW ) ĊĊĠĠĠĠĠĠĠ Ġstock Pie Chart !!. data Ġ= Ġdata ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtab Layout Setting () Ġ{ ĊĠĠĠĠĠĠĠ Ġmaster Tab Layout Ġ= ĠfindViewById ( R . id . main _ master _ tab Layout ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcustom Tab View Home Ġ: ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . custom _ tab , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Img Home Ġ: ĠImageView Ġ= Ġcustom Tab View Home . findViewById ( R . id . img _ tab ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Text Home Ġ: ĠTextView Ġ= Ġcustom Tab View Home . findViewById ( R . id . txt _ tab ) ĊĠĠĠĠĠĠĠ Ġicon Img Home . setImage Resource ( R . drawable . home _ icon ) ĊĠĠĠĠĠĠĠ Ġicon Text Home . setText ( R . string . home ) ĊĠĠĠĠĠĠĠ Ġmaster Tab Layout !!. add Tab ( master Tab Layout !!. new Tab (). set Custom View ( custom Tab View Home )) ĊĊĠĠĠĠĠĠĠ Ġval Ġcustom Tab View Product List Ġ: ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . custom _ tab , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Img Product List Ġ: ĠImageView Ġ= Ġcustom Tab View Product List . findViewById ( R . id . img _ tab ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Text Product List Ġ: ĠTextView Ġ= Ġcustom Tab View Product List . findViewById ( R . id . txt _ tab ) ĊĠĠĠĠĠĠĠ Ġicon Img Product List . setImage Resource ( R . drawable . product _ list _ icon ) ĊĠĠĠĠĠĠĠ Ġicon Text Product List . setText ( R . string . product _ list ) ĊĠĠĠĠĠĠĠ Ġmaster Tab Layout !!. add Tab ( master Tab Layout !!. new Tab (). set Custom View ( custom Tab View Product List )) ĊĊĠĠĠĠĠĠĠ Ġval Ġcustom Tab View Product Management Ġ: ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . custom _ tab , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Img Product Management Ġ: ĠImageView Ġ= Ġcustom Tab View Product Management . findViewById ( R . id . img _ tab ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Text Product Management Ġ: ĠTextView Ġ= Ġcustom Tab View Product Management . findViewById ( R . id . txt _ tab ) ĊĠĠĠĠĠĠĠ Ġicon Img Product Management . setImage Resource ( R . drawable . product _ management _ icon ) ĊĠĠĠĠĠĠĠ Ġicon Text Product Management . setText ( R . string . product _ management ) ĊĠĠĠĠĠĠĠ Ġmaster Tab Layout !!. add Tab ( master Tab Layout !!. new Tab (). set Custom View ( custom Tab View Product Management )) ĊĊĠĠĠĠĠĠĠ Ġval Ġcustom Tab View InOut Management Ġ: ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . custom _ tab , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Img InOut Management Ġ: ĠImageView Ġ= Ġcustom Tab View InOut Management . findViewById ( R . id . img _ tab ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Text InOut Management Ġ: ĠTextView Ġ= Ġcustom Tab View InOut Management . findViewById ( R . id . txt _ tab ) ĊĠĠĠĠĠĠĠ Ġicon Img InOut Management . setImage Resource ( R . drawable . inout _ management _ icon ) ĊĠĠĠĠĠĠĠ Ġicon Text InOut Management . setText ( R . string . inout _ management ) ĊĠĠĠĠĠĠĠ Ġmaster Tab Layout !!. add Tab ( master Tab Layout !!. new Tab (). set Custom View ( custom Tab View InOut Management )) Ċ /* ĊĠĠĠĠĠĠĠ Ġval Ġcustom Tab View Log Ġ: ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . custom _ tab , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Img Log Ġ: ĠImageView Ġ= Ġcustom Tab View Log . findViewById ( R . id . img _ tab ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Text InOut Log Ġ: ĠTextView Ġ= Ġcustom Tab View Log . findViewById ( R . id . txt _ tab ) ĊĠĠĠĠĠĠĠ Ġicon Img Log . setImage Resource ( R . drawable . log _ icon ) ĊĠĠĠĠĠĠĠ Ġicon Text InOut Log . setText ( R . string . log ) ĊĠĠĠĠĠĠĠ Ġmaster Tab Layout !!. add Tab ( master Tab Layout !!. new Tab (). set Custom View ( custom Tab View Log )) ĊĊ Ġ*/ ĊĊĠĠĠĠĠĠĠ Ġmaster Tab Layout !!. add On Tab Selected Listener ( object Ġ: ĠTab Layout . On Tab Selected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tab Selected ( tab : ĠTab Layout . Tab ?) Ġ{ Ġlayout Visibility Manager ( tab !!. position )} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tab Re selected ( tab : ĠTab Layout . Tab ?) Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tab Un selected ( tab : ĠTab Layout . Tab ?) Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlayout Visibility Manager ( position Ġ: ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Home Layout !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product List Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster In out Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// master Log Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Ġ= ĠJSONObject ( intent . getString Extra (" user All Data "). toString ()) [" session "]. toString () Ġ/* String íĺķ */ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress Dialog ( getString ( R . string . loading _ data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View Manager Ġ= ĠProduct Over View And Rent List Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View Manager !!. execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Home Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product List Layout !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster In out Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// master Log Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List Id Setting () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product List ArrayList . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List ArrayList . clear () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product List RecyclerView !!. adapter Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List RecyclerView !!. adapter !!. notify DataSet Changed () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress Dialog ( getString ( R . string . loading _ data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List Manager Ġ= ĠProduct List Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List Manager !!. execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Home Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product List Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product Management Layout !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster In out Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// master Log Layout !!. visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Ġ= ĠJSONObject ( intent . getString Extra (" user All Data "). toString ()) [" session "]. toString () Ġ/* String íĺķ */ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress Dialog ( getString ( R . string . loading _ data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View Product Management Manager Ġ= ĠProduct Over View Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View Product Management Manager !!. execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Barcode Setting () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Spinner Setting () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Add Button Setting () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Group Add Button Setting () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Home Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product List Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster In out Management Layout !!. visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Ġ= ĠJSONObject ( intent . getString Extra (" user All Data "). toString ()) [" session "]. toString () Ġ/* String íĺķ */ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress Dialog ( getString ( R . string . loading _ data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent List Manager Ġ= ĠR ent List Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent List Manager !!. execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// master Log Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Home Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product List Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster In out Management Layout !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// master Log Layout !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}*/ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠLog Out Manager Ġ: ĠHttp Post Send Log Out () Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Log Out JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( all Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Log Out Data (): ĠString ? Ġ{ Ġreturn Ġall Data Ġ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Task () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonUpdate ( prg Int : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. progress Ġ= Ġpr g Int ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish ( result : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( progress Dialog Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Log Out ", Ġget Log Out Data ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( getLog Out JSON Data ()[" result "] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ MainActivity _ Master , ĠgetString ( R . string . success _ logout ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( application Context , ĠLogin Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MainActivity _ Master . finish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( getLog Out JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . failed _ logout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . logout _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . failed _ logout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġclass ĠProduct Over ViewGroup Data ( obj Ġ: ĠJSONObject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġgroup Index Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar ĠgroupName Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġgroup Rent Ab le Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġgroup Priority Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġgroup Count Available Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġgroup Count Rent Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġgroup Count Unavailable Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġgroup Count Broken Ġ: ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġgroup Count Repair Ġ: ĠInt ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Index Ġ= Ġobj . get (" group _ index "). toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupName Ġ= Ġobj . get (" group _ name "). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Rent Ab le Ġ= Ġobj . get (" group _ rent able "). toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Priority Ġ= Ġobj . get (" group _ priority "). toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Count Available Ġ= Ġobj . get (" group _ count _ available "). toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Count Rent Ġ= Ġobj . get (" group _ count _ rent "). toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Count Unavailable Ġ= Ġobj . get (" group _ count _ un available "). toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Count Broken Ġ= Ġobj . get (" group _ count _ broken "). toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Count Repair Ġ= Ġobj . get (" group _ count _ repair "). toString (). toInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠgroupName !! ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetting Spinner () Ġ{ ĊĠĠĠĠĠĠĠ Ġstock Spinner Ġ= ĠfindViewById ( R . id . stock _ spinner ) ĊĠĠĠĠĠĠĠ Ġstock Spinner !!. on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View < *> ?, Ġview : ĠView ?, Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup Count Available Ġ: ĠInt Ġ= Ġproduct Over View ArrayList [ position ]. group Count Available !!. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup Count Unavailable Ġ: ĠInt Ġ= Ġproduct Over View ArrayList [ position ]. group Count Unavailable !!. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup Count Broken Ġ: ĠInt Ġ= Ġproduct Over View ArrayList [ position ]. group Count Broken !!. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup Count Repair Ġ: ĠInt Ġ= Ġproduct Over View ArrayList [ position ]. group Count Repair !!. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup Count Rent Ġ: ĠInt Ġ= Ġproduct Over View ArrayList [ position ]. group Count Rent !!. toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstock Count TextView !!. text Ġ= Ġ(( group Count Available Ġ- Ġgroup Count Rent ) Ġ+ Ġgroup Count Rent Ġ+ Ġgroup Count Unavailable Ġ+ Ġgroup Count Broken Ġ+ Ġgroup Count Repair ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġl end Count TextView !!. text Ġ= Ġgroup Count Rent . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkeep Count TextView !!. text Ġ= Ġ( group Count Available Ġ- Ġgroup Count Rent ). toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpie Chart Renew ( product Over View ArrayList [ position ]) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Progress Dialog ( title Ġ: ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprogress Dialog Ġ= ĠProgress Dialog ( this ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog !!. set Progress Style ( Progress Dialog . STYLE _ HORIZONTAL ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog !!. setTitle ( title ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog !!. set Cancel able ( false ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog !!. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠProduct Over View And Rent List Manager Ġ: ĠHttp Post Send Product Over View And Rent List () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġstring Ġto Ġjson ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Product Over View JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( product Over View All Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Product Over ViewData (): ĠString ? Ġ{ Ġreturn Ġproduct Over View All Data Ġ Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Rent List JSON Data () Ġ: ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( rent List All Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Rent List Data (): ĠString ? Ġ{ Ġreturn Ġrent List All Data Ġ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Task () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonUpdate ( prg Int : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. progress Ġ= Ġpr g Int ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish ( result : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( progress Dialog Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . d (" Product Over View Result ", Ġget Product Over ViewData ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . d (" Rent ListResult ", Ġget Rent List Data ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Product Over View JSON Data ()[" result "] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product Over View ArrayList . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View ArrayList . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠJSONArray ( get Product Over View JSON Data ()[" groups "]. toString ()). length ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View ArrayList . add ( Product Over ViewGroup Data ( JSONObject (( JSONArray ( get Product Over View JSON Data ()[" groups "]. toString ())[ i ]). toString ()))) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspinner Adapter Ġ= ĠArray Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MainActivity _ Master , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . layout . simple _ spinner _ dropdown _ item , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View ArrayList ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspinner Adapter . set DropDown View Resource ( android . R . layout . simple _ spinner _ dropdown _ item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstock Spinner !!. adapter Ġ= Ġspinner Adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( get Product Over View JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . dont _ have _ permission _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 4 Ġ-> Ġbuilder . setMessage ( R . string . search ing _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( getR ent List JSON Data ()[" result "] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rent List ArrayList . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent List ArrayList . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠJSONArray ( getR ent List JSON Data ()[" rent s "]. toString ()). length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( JSONObject (( JSONArray ( getR ent List JSON Data ()[" rent s "]. toString ())[ i ]). toString ()). get (" rent _ status "). toString (). toInt () Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent List ArrayList . add ( Master Home InOut Data ( JSONObject (( JSONArray ( getR ent List JSON Data ()[" rent s "]. toString ())[ i ]). toString ()))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rent List ArrayList . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Out Management RecyclerView !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Out Management RecyclerView Instead TextView !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Out Management RecyclerView !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Out Management RecyclerView Instead TextView !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠMaster Home RecyclerView Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MainActivity _ Master , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent List ArrayList ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Out Management RecyclerView !!. layout Manager Ġ= ĠLinearLayoutManager ( this @ MainActivity _ Master ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Out Management RecyclerView !!. adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( get Product Over View JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . dont _ have _ permission _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 4 Ġ-> Ġbuilder . setMessage ( R . string . search ing _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . loading _ data _ fail _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠHttp Post Send Product Over View And Rent List Ġ: ĠAsync Task < String , ĠInt , ĠInt >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproduct Over View Api Name Ġ= Ġ" product _ overview . php " ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrent List Api Name Ġ= Ġ" rent _ list . php " ĊĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct Over View All Data : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġrent List All Data Ġ: ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġabstract Ġfun ĠonUpdate ( prg Int : ĠInt ) ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Finish ( result : ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Execute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Pre Execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 0 ] Ġ== Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 1 ] Ġ== Ġdefault Use Caches ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 2 ] Ġ== Ġdo Input ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 3 ] Ġ== Ġdo Output ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdefault Use Caches Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Input Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Output Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 1 ] Ġ== Ġ" 1 ") Ġdefault Use Caches Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 2 ] Ġ== Ġ" 1 ") Ġdo Input Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 3 ] Ġ== Ġ" 1 ") Ġdo Output Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Over View API Ġ= ĠBack End API _ Product System Product Overview ( product Over View Api Name , Ġdefault Use Caches , Ġdo Input , Ġdo Output ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View All Data Ġ= Ġproduct Over View API . https Post Send _ Product Overview ( params [ 0 ]) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 5 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrent List API Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBack End API _ Rent System Rent List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent List Api Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Use Caches , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Input , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Output ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent List All Data Ġ= Ġrent List API . https Post Send _ Rent List ( params [ 0 ]) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Master _ Home ĠError ", Ġ" Message Ġ: Ġ" Ġ+ Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Master _ Home ĠError ", Ġ" Localized Message Ġ: Ġ" Ġ+ Ġe . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Update ( var arg Ġvalues : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Progress Update (* values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonUpdate ( values [ 0 ] !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Finish ( result !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠProduct Over View Manager Ġ: ĠHttp Post Send Product Over View () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġstring Ġto Ġjson ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Product Over View JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( product Over View All Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Product Over ViewData (): ĠString ? Ġ{ Ġreturn Ġproduct Over View All Data Ġ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Task () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonUpdate ( prg Int : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. progress Ġ= Ġpr g Int ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish ( result : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( progress Dialog Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . d (" Product Over View Result ", Ġget Product Over ViewData ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . d (" Rent ListResult ", Ġget Rent List Data ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Product Over View JSON Data ()[" result "] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product Over View Product Management ArrayList . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View Product Management ArrayList . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠJSONArray ( get Product Over View JSON Data ()[" groups "]. toString ()). length ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View Product Management ArrayList . add ( Product Over ViewGroup Data ( JSONObject (( JSONArray ( get Product Over View JSON Data ()[" groups "]. toString ())[ i ]). toString ()))) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Management Product GroupName Spinner Adapter Ġ= ĠArray Adapter ( this @ MainActivity _ Master , Ġandroid . R . layout . simple _ spinner _ dropdown _ item , Ġproduct Over View Product Management ArrayList ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product GroupName Spinner Adapter . set DropDown View Resource ( android . R . layout . simple _ spinner _ dropdown _ item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product GroupName Spinner !!. adapter Ġ= Ġproduct Management Product GroupName Spinner Adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( get Product Over View JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . dont _ have _ permission _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 4 Ġ-> Ġbuilder . setMessage ( R . string . search ing _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . loading _ data _ fail _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠHttp Post Send Product Over View Ġ: ĠAsync Task < String , ĠInt , ĠInt >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproduct Over View Api Name Ġ= Ġ" product _ overview . php " ĊĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct Over View All Data : ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġabstract Ġfun ĠonUpdate ( prg Int : ĠInt ) ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Finish ( result : ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Execute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Pre Execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 0 ] Ġ== Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 1 ] Ġ== Ġdefault Use Caches ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 2 ] Ġ== Ġdo Input ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 3 ] Ġ== Ġdo Output ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdefault Use Caches Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Input Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Output Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 1 ] Ġ== Ġ" 1 ") Ġdefault Use Caches Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 2 ] Ġ== Ġ" 1 ") Ġdo Input Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 3 ] Ġ== Ġ" 1 ") Ġdo Output Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Over View API Ġ= ĠBack End API _ Product System Product Overview ( product Over View Api Name , Ġdefault Use Caches , Ġdo Input , Ġdo Output ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 5 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View All Data Ġ= Ġproduct Over View API . https Post Send _ Product Overview ( params [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Product ĠOver ĠView ĠError ", Ġ" Message Ġ: Ġ" Ġ+ Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Product ĠOver ĠView ĠError ", Ġ" Localized Message Ġ: Ġ" Ġ+ Ġe . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Update ( var arg Ġvalues : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Progress Update (* values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonUpdate ( values [ 0 ] !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Finish ( result !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠProduct List Manager Ġ: ĠHttp Post Send Product List () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġstring Ġto Ġjson ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Product List JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( product List Name All Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Product List Data (): ĠString ? Ġ{ Ġreturn Ġproduct List Name All Data Ġ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Product Over View JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( product Over View All Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Product Over ViewData (): ĠString ? Ġ{ Ġreturn Ġproduct Over View All Data Ġ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Task () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonUpdate ( prg Int : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. progress Ġ= Ġpr g Int ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish ( result : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( progress Dialog Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Product ListResult ", Ġget Product Over ViewData ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Product List JSON Data ()[" result "] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠJSONArray ( get Product List JSON Data ()[" groups "]. toString ()). length ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List ArrayList . add ( Master Product List Data ( JSONObject (( JSONArray ( get Product List JSON Data ()[" groups "]. toString ()). get ( i )). toString ()), ĠJSONObject (( JSONArray ( get Product Over View JSON Data ()[" groups "]. toString ())[ i ]). toString ()))) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġproduct List ArrayList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 0 Ġuntil ĠJSONArray ( get Product List JSON Data ()[" products "]. toString ()). length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( JSONObject (( JSONArray ( get Product List JSON Data ()[" products "]. toString ()). get ( j )). toString ())) [" product _ group _ index "]. toString (). toInt () Ġ== Ġproduct List ArrayList [ i ]. group Index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List ArrayList [ i ]. products . put ( JSONObject (( JSONArray ( get Product List JSON Data ()[" products "]. toString ())[ j ]). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUI ĠìŀĳìĹħ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product List ArrayList . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List RecyclerView !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty Product List TextView !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List RecyclerView !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty Product List TextView !!. visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠMaster Product List RecyclerView Adapter ( this @ MainActivity _ Master , Ġproduct List ArrayList ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List RecyclerView !!. layout Manager Ġ= ĠLinearLayoutManager ( this @ MainActivity _ Master ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List RecyclerView !!. adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( get Product List JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . dont _ have _ permission _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 4 Ġ-> Ġbuilder . setMessage ( R . string . product _ search ing _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . loading _ data _ fail _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġinner Ġclass ĠHttp Post Send Product List Ġ: ĠAsync Task < String , ĠInt , ĠInt >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproduct List Name Api Name Ġ= Ġ" product _ list . php " ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproduct Over View Api Name Ġ= Ġ" product _ overview . php " ĊĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct List Name All Data : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct Over View All Data : ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġabstract Ġfun ĠonUpdate ( prg Int : ĠInt ) ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Finish ( result : ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Execute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Pre Execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 0 ] Ġ== Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 1 ] Ġ== Ġdefault Use Caches ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 2 ] Ġ== Ġdo Input ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 3 ] Ġ== Ġdo Output ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdefault Use Caches Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Input Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Output Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 1 ] Ġ== Ġ" 1 ") Ġdefault Use Caches Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 2 ] Ġ== Ġ" 1 ") Ġdo Input Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 3 ] Ġ== Ġ" 1 ") Ġdo Output Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct List API Ġ= ĠBack End API _ Product System Product List ( product List Name Api Name , Ġdefault Use Caches , Ġdo Input , Ġdo Output ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List Name All Data Ġ= Ġproduct List API . https Post Send _ Product List ( params [ 0 ]) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 2 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Over View API Ġ= ĠBack End API _ Product System Product Overview ( product Over View Api Name , Ġdefault Use Caches , Ġdo Input , Ġdo Output ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 3 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Over View All Data Ġ= Ġproduct Over View API . https Post Send _ Product Overview ( params [ 0 ]) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 4 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product List ArrayList . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List ArrayList . clear () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠJSONArray ( JSONObject ( product List Name All Data )[" groups "]. toString ()). length ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List ArrayList . add ( Master Product List Data ( JSONObject (( JSONArray ( JSONObject ( product List Name All Data )[" groups "]. toString ()). get ( i )). toString ()), ĠJSONObject (( JSONArray ( JSONObject ( product Over View All Data )[" groups "]. toString ())[ i ]). toString ()))) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 6 5 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġproduct List ArrayList . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup List HashMap [ i ] Ġ= ĠArrayList () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// for Ġ( i Ġin Ġ 0 Ġuntil Ġproduct List ArrayList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġif Ġ( product List ArrayList [ i ]. products !!. toInt () Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠ Ġgroup List HashMap [] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ//} ĊĊ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġproduct List ArrayList . size ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ== Ġproduct List ArrayList . size Ġ/ Ġ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 8 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ== Ġ( product List ArrayList . size Ġ/ Ġ 3 ) Ġ* Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 9 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 0 Ġuntil ĠJSONArray ( JSONObject ( product List Name All Data )[" products "]. toString ()). length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( JSONObject (( JSONArray ( JSONObject ( product List Name All Data )[" products "]. toString ()). get ( j )). toString ())) [" product _ group _ index "]. toString (). toInt () Ġ== Ġproduct List ArrayList [ i ]. group Index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List ArrayList [ i ]. products . put ( JSONObject (( JSONArray ( JSONObject ( product List Name All Data )[" products "]. toString ())[ j ]). toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Master _ Home ĠError ", Ġ" Message Ġ: Ġ" Ġ+ Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Master _ Home ĠError ", Ġ" Localized Message Ġ: Ġ" Ġ+ Ġe . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Update ( var arg Ġvalues : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Progress Update (* values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonUpdate ( values [ 0 ] !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Finish ( result !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠProduct Management Product Add Manager Ġ: ĠHttp Post Send Product Add () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġstring Ġto Ġjson ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Product Add JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( product Add All Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Product Add Data (): ĠString ? Ġ{ Ġreturn Ġproduct Add All Data Ġ Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget ProductName Data (): ĠString ? Ġ{ Ġreturn Ġproduct Name Ġ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Task () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonUpdate ( prg Int : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. progress Ġ= Ġpr g Int ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish ( result : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( progress Dialog Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Product ListResult ", Ġget Product Add Data ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Product Add JSON Data ()[" result "] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ MainActivity _ Master , Ġget ProductName Data () Ġ+ Ġ" Ġ" Ġ+ ĠgetString ( R . string . product _ add _ success ), ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . product _ add _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( get Product Add JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . dont _ have _ permission _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 4 Ġ-> Ġbuilder . setMessage ( R . string . product _ add _ fail _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . product _ add _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . product _ add _ fail _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġinner Ġclass ĠHttp Post Send Product Add Ġ: ĠAsync Task < String , ĠInt , ĠInt >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproduct Add Api Name Ġ= Ġ" product _ add . php " ĊĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct Add All Data : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct Name Ġ: ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġabstract Ġfun ĠonUpdate ( prg Int : ĠInt ) ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Finish ( result : ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Execute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Pre Execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 0 ] Ġ== Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 1 ] Ġ== Ġdefault Use Caches ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 2 ] Ġ== Ġdo Input ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 3 ] Ġ== Ġdo Output ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 4 ] Ġ== Ġproducts Ġ: ĠJSONArray ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 5 ] Ġ== Ġproduct Ġname ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdefault Use Caches Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Input Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Output Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 1 ] Ġ== Ġ" 1 ") Ġdefault Use Caches Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 2 ] Ġ== Ġ" 1 ") Ġdo Input Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 3 ] Ġ== Ġ" 1 ") Ġdo Output Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Name Ġ= Ġparams [ 5 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Add API Ġ= ĠBack End API _ Product System Product Add ( product Add Api Name , Ġdefault Use Caches , Ġdo Input , Ġdo Output ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 5 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Add All Data Ġ= Ġproduct Add API . https Post Send _ Product Add ( params [ 0 ], ĠJSONArray ( params [ 4 ])) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Product ĠAdd ĠError ", Ġ" Message Ġ: Ġ" Ġ+ Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Product ĠAdd ĠError ", Ġ" Localized Message Ġ: Ġ" Ġ+ Ġe . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Update ( var arg Ġvalues : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Progress Update (* values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonUpdate ( values [ 0 ] !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Finish ( result !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠProduct Management Group Add Manager Ġ: ĠHttp Post Send Group Add () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġstring Ġto Ġjson ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Product Group Add JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( product Group Add All Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Product Group Add Data (): ĠString ? Ġ{ Ġreturn Ġproduct Group Add All Data Ġ Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Product GroupName Data (): ĠString ? Ġ{ Ġreturn Ġproduct GroupName Ġ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Task () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonUpdate ( prg Int : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. progress Ġ= Ġpr g Int ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish ( result : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Product Group Add Result ", Ġget Product Group Add Data ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Product Group Add JSON Data ()[" result "] Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ MainActivity _ Master , Ġget Product GroupName Data () Ġ+ Ġ" Ġ" Ġ+ ĠgetString ( R . string . product _ add _ success ), ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( get Product Group Add JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . dont _ have _ permission _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 4 Ġ-> Ġbuilder . setMessage ( R . string . product _ search ing _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . loading _ data _ fail _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( progress Dialog Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġinner Ġclass ĠHttp Post Send Group Add Ġ: ĠAsync Task < String , ĠInt , ĠInt >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproduct Group Add Api Name Ġ= Ġ" product _ group _ add . php " ĊĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct Group Add All Data : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct GroupName : ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġabstract Ġfun ĠonUpdate ( prg Int : ĠInt ) ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Finish ( result : ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Execute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Pre Execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 0 ] Ġ== Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 1 ] Ġ== Ġdefault Use Caches ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 2 ] Ġ== Ġdo Input ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 3 ] Ġ== Ġdo Output ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 4 ] Ġ== Ġproduct _ group _ name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 5 ] Ġ== Ġproduct _ group _ rent able ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 6 ] Ġ== Ġproduct _ group _ priority ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdefault Use Caches Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Input Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Output Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 1 ] Ġ== Ġ" 1 ") Ġdefault Use Caches Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 2 ] Ġ== Ġ" 1 ") Ġdo Input Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 3 ] Ġ== Ġ" 1 ") Ġdo Output Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct GroupName Ġ= Ġparams [ 4 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct List API Ġ= ĠBack End API _ Product System Product Group Add ( product Group Add Api Name , Ġdefault Use Caches , Ġdo Input , Ġdo Output ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 5 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 6 ]. toInt () Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Group Add All Data Ġ= Ġproduct List API . https Post Send _ Product Group Add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams [ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams [ 4 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams [ 5 ]. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams [ 6 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Group Add All Data Ġ= Ġproduct List API . https Post Send _ Product Group Add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams [ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams [ 4 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams [ 5 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Product ĠGroup ĠAdd ĠError ", Ġ" Message Ġ: Ġ" Ġ+ Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Product ĠGroup ĠAdd ĠError ", Ġ" Localized Message Ġ: Ġ" Ġ+ Ġe . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Update ( var arg Ġvalues : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Progress Update (* values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonUpdate ( values [ 0 ] !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Finish ( result !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠProduct Management Search With Barcode Ġ: ĠHttp Post Send Product Search With Barcode () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġstring Ġto Ġjson ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Product List Barcode JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( product List All Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Product List Barcode Data (): ĠString ? Ġ{ Ġreturn Ġproduct List All Data Ġ Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Barcode Data (): ĠString ? Ġ{ Ġreturn Ġproduct Barcode Ġ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Task () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonUpdate ( prg Int : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. progress Ġ= Ġpr g Int ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish ( result : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( progress Dialog Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . d (" Barcode Data ", Ġget Product List Barcode Data ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Product List Barcode JSON Data ()[" result "] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( JSONArray (( get Product List Barcode JSON Data (). get (" products ")). toString ())). length () Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġìłľ í Ĵ Ī Ġìłķë³´ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . My AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . product _ info ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" test ", Ġ( JSONArray (( get Product List Barcode JSON Data (). get (" products ")). toString ())). toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠjsonObject Data Ġ= ĠJSONObject (( JSONArray (( get Product List Barcode JSON Data (). get (" products ")). toString ())[ 0 ]). toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Message Ġ= ĠStringBuffer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Message . append (" ìĿ´ ë¦Ħ Ġ: Ġ"). append ( jsonObject Data [ product Name Str ]). append ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Message . append (" ë°Ķ ì ½Ķëĵľ ĠID Ġ: Ġ"). append ( jsonObject Data [ product Barcode Str ]). append ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Message . append (" ìĨĮ ìĨį Ġ: Ġ"). append ( jsonObject Data [ product Owner Name Str ]). append ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Message . append (" êµ¬ ë§¤ ĠìĿ¼ ìŀĲ Ġ: Ġ"). append ("\ n "). append ( jsonObject Data [ product Created Str ]). append ("\ n "). append ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Message . append (" ìĿ´ ë¯¸ Ġì ¡´ ìŀ¬ íķĺëĬĶ Ġë¬ ¼ í Ĵ Ī ìĿ´ ëĿ¼ \ n ìŀ¬ ê³ł Ġì¶Ķê°Ģ ë¥¼ Ġíķł ĠìĪĺ ĠìĹĨ ìĬµëĭĪëĭ¤ Ġ: (" ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( product Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// builder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// builder . setMessage () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . d (" test ", Ġ( JSONArray (( get Product List Barcode JSON Data (). get (" products ")). toString ())). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ MainActivity _ Master , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . the _ barcode _ value _ is ) Ġ+ Ġ" Ġ" Ġ+ Ġget Barcode Data () Ġ+ Ġ" Ġìŀħ ëĭĪëĭ¤ !\ n ëĤĺ ë ¨ ¸ ì§Ģ ĠìĤ¬ íķ Ń ëĵ¤ìĿĦ Ġê¸° ìŀħ íķ´ ì£¼ ìĦ¸ìļĶ Ġ: )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Management Product Barcode Edit !!. setText ( get Barcode Data ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( get Product List Barcode JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . dont _ have _ permission _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 4 Ġ-> Ġbuilder . setMessage ( R . string . product _ search ing _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . loading _ data _ fail _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġinner Ġclass ĠHttp Post Send Product Search With Barcode Ġ: ĠAsync Task < String , ĠInt , ĠInt >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproduct List Api Name Ġ= Ġ" product _ list . php " ĊĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct List All Data : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġproduct Barcode Ġ: ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġabstract Ġfun ĠonUpdate ( prg Int : ĠInt ) ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Finish ( result : ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Execute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Pre Execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 0 ] Ġ== Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 1 ] Ġ== Ġdefault Use Caches ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 2 ] Ġ== Ġdo Input ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 3 ] Ġ== Ġdo Output ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 4 ] Ġ== Ġbarcode ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdefault Use Caches Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Input Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Output Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 1 ] Ġ== Ġ" 1 ") Ġdefault Use Caches Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 2 ] Ġ== Ġ" 1 ") Ġdo Input Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 3 ] Ġ== Ġ" 1 ") Ġdo Output Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Barcode Ġ= Ġparams [ 4 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct List API Ġ= ĠBack End API _ Product System Product List ( product List Api Name , Ġdefault Use Caches , Ġdo Input , Ġdo Output ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 5 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct List All Data Ġ= Ġproduct List API . https Post Send _ Product List ( params [ 0 ], Ġparams [ 4 ], Ġ" product Barcode ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Barcode ĠSearch ĠError ", Ġ" Message Ġ: Ġ" Ġ+ Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Barcode ĠSearch ĠError ", Ġ" Localized Message Ġ: Ġ" Ġ+ Ġe . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Update ( var arg Ġvalues : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Progress Update (* values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonUpdate ( values [ 0 ] !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Finish ( result !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠR ent List Manager Ġ: ĠHttp Post Send Rent List () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġstring Ġto Ġjson ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Rent List Need Allow JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( rent List Need Allow Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Rent List Need Allow Str Data (): ĠString ? Ġ{ Ġreturn Ġrent List Need Allow Data Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Rent List Need Return JSON Data (): ĠJSONObject Ġ{ Ġreturn ĠJSONObject ( rent List Need Return Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġget Rent List Need Return Str Data (): ĠString ? Ġ{ Ġreturn Ġrent List Need Return Data Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Task () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonUpdate ( prg Int : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. progress Ġ= Ġpr g Int ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish ( result : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . d (" Barcode Data ", Ġget Product List Barcode Data ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( getR ent List Need Allow JSON Data ()[" result "] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rent Status ArrayList . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent Status ArrayList . clear () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġjson Array Data Need Allow Ġ= Ġget Rent List Need Allow JSON Data (). get JSONArray (" rent s ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġjson Array Data Need Allow . length ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent Status ArrayList . add ( Master InOut Management Data ( JSONObject ( json Array Data Need Allow [ i ]. toString ()))) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġre cy ler view Ġui ĠìŀĳìĹħ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rent Status ArrayList . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent Status RecyclerView !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent Status RecyclerView Instead TextView !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent Status RecyclerView !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent Status RecyclerView Instead TextView !!. visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠMaster InOut Management Rent Status RecyclerView Adapter ( session !! , Ġthis @ MainActivity _ Master , rent Status ArrayList ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent Status RecyclerView !!. layout Manager Ġ= ĠLinearLayoutManager ( this @ MainActivity _ Master ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent Status RecyclerView !!. adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( getR ent List Need Allow JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . dont _ have _ permission _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 4 Ġ-> Ġbuilder . setMessage ( R . string . product _ search ing _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( getR ent List Need Return JSON Data ()[" result "] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rent ed Status ArrayList . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent ed Status ArrayList . clear () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġjson Array Data Need Return Ġ= Ġget Rent List Need Return JSON Data (). get JSONArray (" rent s ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġjson Array Data Need Return . length ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent ed Status ArrayList . add ( Master InOut Management Data ( JSONObject ( json Array Data Need Return [ i ]. toString ()))) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rent ed Status ArrayList . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent ed Status RecyclerView !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent ed Status RecyclerView Instead TextView !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent ed Status RecyclerView !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent ed Status RecyclerView Instead TextView !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġre cycler view Ġui ĠìŀĳìĹħ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠMaster InOut Management Rent ed Status RecyclerView Adapter ( session !! , Ġthis @ MainActivity _ Master , rent ed Status ArrayList ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent ed Status RecyclerView !!. layout Manager Ġ= ĠLinearLayoutManager ( this @ MainActivity _ Master ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent ed Status RecyclerView !!. adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( getR ent List Need Allow JSON Data ()[" result "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġbuilder . setMessage ( R . string . implementation _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġbuilder . setMessage ( R . string . server _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 3 Ġ-> Ġbuilder . setMessage ( R . string . dont _ have _ permission _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 4 Ġ-> Ġbuilder . setMessage ( R . string . product _ search ing _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this @ MainActivity _ Master , ĠR . style . AppCompat Error AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . loading _ data _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . loading _ data _ fail _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ(" session ") Ġ// Ġsession Ġë¡ľ ê·¸ ìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġbuilder . setMessage ( R . string . expire _ session _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( android . R . string . ok , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( progress Dialog Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog !!. dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġinner Ġclass ĠHttp Post Send Rent List Ġ: ĠAsync Task < String , ĠInt , ĠInt >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrent List Api Name Ġ= Ġ" rent _ list . php " ĊĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġrent List Need Allow Data Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprotected Ġvar Ġrent List Need Return Data Ġ: ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġabstract Ġfun ĠonUpdate ( prg Int : ĠInt ) ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġon Finish ( result : ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Execute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Pre Execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Pre Task () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 0 ] Ġ== Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 1 ] Ġ== Ġdefault Use Caches ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 2 ] Ġ== Ġdo Input ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparams [ 3 ] Ġ== Ġdo Output ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdefault Use Caches Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Input Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdo Output Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 1 ] Ġ== Ġ" 1 ") Ġdefault Use Caches Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 2 ] Ġ== Ġ" 1 ") Ġdo Input Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params [ 3 ] Ġ== Ġ" 1 ") Ġdo Output Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 4 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrent List API 1 Ġ= ĠBack End API _ Rent System Rent List ( rent List Api Name , Ġdefault Use Caches , Ġdo Input , Ġdo Output ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent List Need Allow Data Ġ= Ġrent List API 1 . https Post Send _ Rent List ( params [ 0 ], Ġ" 1 ", Ġ" rent Status ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 7 5 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrent List API 2 Ġ= ĠBack End API _ Rent System Rent List ( rent List Api Name , Ġdefault Use Caches , Ġdo Input , Ġdo Output ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrent List Need Return Data Ġ= Ġrent List API 2 . https Post Send _ Rent List ( params [ 0 ], Ġ" 2 ", Ġ" rent Status ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublish Progress ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Master _ Home ĠError ", Ġ" Message Ġ: Ġ" Ġ+ Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Master _ Home ĠError ", Ġ" Localized Message Ġ: Ġ" Ġ+ Ġe . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Update ( var arg Ġvalues : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// super . on Progress Update (* values ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonUpdate ( values [ 0 ] !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Finish ( result !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ// ĠQR ì ½Ķëĵľ / Ġë°Ķ ì ½Ķëĵľ ë¥¼ ĠìĬ¤ ì º Ķ íķľ Ġê²°ê³¼ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ: ĠIntent Result Ġ= ĠIntent Integr ator . parse Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ// Ġresult . get Format Name () Ġ: Ġë°Ķ ì ½Ķëĵľ Ġì¢ ħ ë¥ĺ ĊĠĠĠĠĠĠĠ Ġ// Ġresult . get Contents () Ġ: Ġë°Ķ ì ½Ķëĵľ Ġê°Ĵ ĊĠĠĠĠĠĠĠ Ġ// Toast . makeText ( this , ĠgetString ( R . string . the _ barcode _ value _ is ) Ġ+ Ġ" Ġ" Ġ+ Ġresult . contents . toString () Ġ+ Ġ" Ġìŀħ ëĭĪëĭ¤ Ġ: )", ĠToast . LENGTH _ LONG ). show () ĊĊĠĠĠĠĠĠĠ Ġ// ĠìĿ´ë¯¸ ĠìŀĪëĬĶ Ġë°Ķ ì ½Ķëĵľ ìĿ¸ ì§Ģ Ġê²Ģ ìĥī íķľëĭ¤ . ĊĠĠĠĠĠĠĠ Ġ// ĠìĿ´ë¯¸ ĠìŀĪëĭ¤ ë©´ , ĠR ent Ġê°ĢëĬ¥ íķľ ì§Ģ ? ĊĠĠĠĠĠĠĠ Ġ// ĠìĹĨ ëĭ¤ ë©´ Ġì¶Ķê°Ģ ë¥¼ ĠëıĦ ìĻĢ ì¤Ģ ëĭ¤ ĊĠĠĠĠĠĠĠ Ġ// show Progress Dialog ( getString ( R . string . search ing _ barcode )) ĊĠĠĠĠĠĠĠ Ġ// var Ġbarcode Search Ġ= ĠProduct Management Search With Barcode () ĊĠĠĠĠĠĠĠ Ġ// barcode Search . execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ", Ġresult . contents . toString ()) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Home Layout !!. visibility Ġ== ĠView . VISIBLE Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product List Layout !!. visibility Ġ== ĠView . VISIBLE Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Product Management Layout !!. visibility Ġ== ĠView . VISIBLE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result . contents Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress Dialog ( getString ( R . string . search ing _ barcode )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbarcode Search Ġ= ĠProduct Management Search With Barcode () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbarcode Search !!. execute ( session , Ġ" 1 ", Ġ" 1 ", Ġ" 1 ", Ġresult . contents . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaster In out Management Layout !!. visibility Ġ== ĠView . VISIBLE Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// master Log Layout !!. visibility Ġ== ĠView . VISIBLE Ġ-> Ġ{ Ċ // ĊĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( drawer !!. is Drawer Open ( Gravity Compat . START )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer !!. close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( System . currentTimeMillis () Ġ> Ġback Key Click Time Ġ+ Ġ 2 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġback Key Click Time Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ë Ĵ ¤ ë¡ľ Ġê°Ģ ê¸° Ġë²Ħ íĬ ¼ ìĿĦ Ġíķľ Ġë²Ī ĠëįĶ Ġë Ī Ħ ë¥ ´ë © ´ Ġì¢ ħ ë£Į ëĲ ©ëĭĪëĭ¤ Ġ:) Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( System . currentTimeMillis () Ġ<= Ġback Key Click Time Ġ+ Ġ 2 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġrent List ArrayList . clear () ĊĠĠĠĠĠĠĠ Ġproduct Over View Product Management ArrayList . clear () ĊĠĠĠĠĠĠĠ Ġin Out Management RecyclerView Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġin Out Management RecyclerView Instead TextView Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }