/** Ċ Ġ* ĠCopyright Ġ 2 0 2 0 . ĠHu awei ĠTechnologies ĠCo ., ĠLtd . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . hu awei . ml kit . sample . activity . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . GridView Ċ import Ġandroid . widget . TextView Ċ import Ġcom . hu awei . h ms . ml plugin . product vision search . ML Product Vision Search Capture . Abstract Product Fragment Ċ import Ġcom . hu awei . h ms . ml sdk . product vision search . ML Product Vision Search Ċ import Ġcom . hu awei . h ms . ml sdk . product vision search . ML Vision Search Product Ċ import Ġcom . hu awei . ml kit . sample . R Ċ import Ġcom . hu awei . ml kit . sample . activity . adapter . Bottom Sheet Adapter Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠF rag ments Ġof Ġthe Ġresult Ġdisplay Ġof Ġthe Ġproduct Ġvision Ġsearch , Ġwhich Ġis Ġinherited Ġfrom Ċ Ġ* ĠML Product Vision Search Capture . Abstract UI Extend Proxy Ġand Ġis Ġused Ġto Ġdisplay Ġthe Ġinformation Ċ Ġ* Ġdetected Ġby Ġthe Ġproduct Ġvision Ġsearch Ġplug - in Ġinterface . Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 2 0 2 0 - 0 5 - 2 9 Ċ Ġ*/ Ċ class ĠProduct Fragment Ġ: ĠAbstract Product Fragment < ML Product Vision Search >() Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġroot : ĠView ĊĠĠĠ Ġprivate Ġval Ġml Products : ĠMutable List < ML Vision Search Product > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġvar Ġproduct Data : ĠList < ML Product Vision Search >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgrid View : ĠGrid View ĊĠĠĠ Ġprivate Ġvar Ġadapter : ĠBottom Sheet Adapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprompt : ĠTextView ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġroot Ġ= ĠView . inflate ( context , ĠR . layout . fragment _ product , Ġnull ) ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġproduct ( product Data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġgrid View Ġ= Ġroot . findViewById ( R . id . gv ) ĊĠĠĠĠĠĠĠ Ġprompt Ġ= Ġroot . findViewById ( R . id . prompt ) ĊĠĠĠĠĠĠĠ Ġgrid View . num Columns Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠBottom Sheet Adapter ( ml Products , Ġcontext ) ĊĠĠĠĠĠĠĠ Ġroot . findViewById < View >( R . id . img _ close ). setOnClickListener Ġ{ Ġactivity !!. finish () Ġ} ĊĠĠĠĠĠĠĠ Ġgrid View . adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġget Product List ( list : ĠList < ML Product Vision Search >): ĠList < ML Product Vision Search > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Result ( product List : ĠList < ML Product Vision Search >) Ġ{ ĊĠĠĠĠĠĠĠ Ġproduct Data Ġ= Ġproduct List ĊĠĠĠĠĠĠĠ Ġproduct ( product List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproduct ( product List : ĠList < ML Product Vision Search > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ== Ġproduct List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġml Products . clear () ĊĠĠĠĠĠĠĠ Ġif Ġ( product List . size Ġ== ĠPRODUCT _ NUM ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprompt . text Ġ= ĠgetString ( R . string . empty _ product ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( search Ġin Ġproduct List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Products . addAll ( search . product List ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadapter !!. notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠException ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġe . message !! ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠProduct Fragment :: class . java . simple Name ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPRODUCT _ NUM Ġ= Ġ 0 ĊĠĠĠ Ġ} Ċ }