package Ġcom . hd . serial port . engine Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . hardware . usb . Usb Manager Ċ import Ġcom . hd . serial port . R Ċ import Ġcom . hd . serial port . config . Measure Status Ċ import Ġcom . hd . serial port . help . Request Usb Permission Ċ import Ġcom . hd . serial port . listener . Usb Measure Listener Ċ import Ġcom . hd . serial port . param . Usb Measure Parameter Ċ import Ġcom . hd . serial port . reader . Usb ReadWrite Runnable Ċ import Ġcom . hd . serial port . usb _ driver . Usb Serial Port Ċ import Ġcom . hd . serial port . utils . L Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġhd Ġon Ġ 2 0 1 7 / 8 / 2 2 Ġ. Ċ Ġ* Ġusb - port Ġengine Ċ Ġ*/ Ċ class ĠU sb Port Engine ( context : ĠContext , Ġprivate Ġval Ġusb Manager : ĠU sb Manager ) Ġ: ĠEngine ( context ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġopen ( usb Serial Port : ĠU sb Serial Port , Ġusb Measure Parameter : ĠU sb Measure Parameter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmeasure Listener : ĠU sb Measure Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . open ( usb Serial Port , Ġusb Measure Parameter , Ġmeasure Listener ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusb Device Ġ= Ġusb Serial Port . driver . device ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Request Usb Permission . newInstance (). request Usb Permission ( context , Ġusb Manager , Ġusb Device )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL . e (" request Ġusb Ġpermission Ġfailed Ġ: $ usb Device ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= Ġusb Manager . open Device ( usb Device ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( connection Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusb Serial Port . open ( connection ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL . d (" Parameter Ġ ï¼ļ "+ usb Measure Parameter . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusb Serial Port . set Parameters ( usb Measure Parameter . ba ud Rate , Ġusb Measure Parameter . data Bits , Ġusb Measure Parameter . stop Bits , Ġusb Measure Parameter . parity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusb ReadWrite Runnable Ġ= ĠU sb ReadWrite Runnable ( usb Serial Port , Ġmeasure Listener , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= ĠMeasure Status . RUNNING ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit ( usb ReadWrite Runnable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL . d (" open Ġusb Ġdevice Ġsuccess ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL . d (" open Ġdevice Ġfailure , connection Ġis Ġnull ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmeasure Listener . measure Error ( context . resources . getString ( R . string . open _ target _ device _ error )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠL . e (" open Ġdevice Ġfailure Ġ: $ ignored ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmeasure Listener . measure Error ( context . resources . getString ( R . string . open _ target _ device _ error )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ