new HandleProgress(seekBar).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, progressIni);
private class HandleProgress extends AsyncTask<Integer, Integer, Integer> {
int progressIni=0;
SeekBar seekBar;
public HandleProgress(SeekBar seekBar) {
this.seekBar=seekBar;
}
@Override
protected Integer doInBackground(Integer... progress) {
progressIni=progress[0];
Log.d(TAG, "Prog: Do" +progressIni);
try {
Thread.sleep(50);
publishProgress(1);
Thread.sleep(50);
publishProgress(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
return seekBar.getProgress();
}
protected void onProgressUpdate(Integer... progress) {
//Log.d(TAG, "Prog: Upd" +progress[0]);
}
protected void onPostExecute(Integer progressEnd) {
Log.d(TAG, "Prog: Post" +progressEnd);
if(progressIni!=progressEnd){
Log.d(TAG, "Prog: FAIL" +progressEnd);
return;
}
int progress = progressIni-255;
Log.d(TAG, "Prog: OK" +progress);
if(command.equalsIgnoreCase("left")){
if(progress>=0){
handleCommand('X', (char)progress);
}
else if(progress<0){
handleCommand('x', (char)Math.abs(progress));
}else{
handleCommand('X', (char)0);
handleCommand('x', (char)0);
}
}
else if(command.equalsIgnoreCase("right")){
if(progress>=0){
handleCommand('Y', (char)progress);
}
else if(progress<0){
handleCommand('y', (char)Math.abs(progress));
}else{
handleCommand('Y', (char)0);
handleCommand('y', (char)0);
}
}
}
}