/* @file DeviceX310TakeShot.java
*
* @author marco corvi
* @date nov 2011
*
* @brief TopoDroid DistoX310 shooting class
* --------------------------------------------------------
* Copyright This sowftare is distributed under GPL-3.0 or later
* See the file COPYING.
* --------------------------------------------------------
*/
package com.topodroid.DistoX;
import android.os.AsyncTask;
class DeviceX310TakeShot extends AsyncTask<Integer, Integer, Integer >
{
ListerHandler mLister; // lister that manages downloaded shots (if null shots are not downloaded)
TopoDroidApp mApp;
int mNr; // number of shots before download
DeviceX310TakeShot( ListerHandler lister, TopoDroidApp app, int nr )
{
super();
mLister = lister;
mApp = app;
mNr = nr;
}
// 0 off
// 1 on
// 2 measure
// 3 measure and download
@Override
protected Integer doInBackground( Integer... ii )
{
int i = mNr;
for ( ; i>1; --i ) {
mApp.setX310Laser( 1, null );
try { Thread.sleep( TDSetting.mWaitLaser ); } catch( InterruptedException e ) { }
mApp.setX310Laser( 2, null );
try { Thread.sleep( TDSetting.mWaitShot ); } catch( InterruptedException e ) { }
}
mApp.setX310Laser( 1, null );
try { Thread.sleep( TDSetting.mWaitLaser ); } catch( InterruptedException e ) { }
return 0;
}
@Override
protected void onProgressUpdate(Integer... progress) { }
@Override
protected void onPostExecute( Integer result )
{
if ( mLister != null ) {
mApp.setX310Laser( 3, mLister );
// try { Thread.sleep( TDSetting.mWaitShot ); } catch( InterruptedException e ) { }
} else {
mApp.setX310Laser( 2, null );
// try { Thread.sleep( TDSetting.mWaitLaser ); } catch( InterruptedException e ) { }
}
}
}