package br.com.javace.javou.ui.activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Toast; import com.github.jlmd.animatedcircleloadingview.AnimatedCircleLoadingView; import br.com.javace.javou.R; import br.com.javace.javou.dao.ParticipantDao; import br.com.javace.javou.model.participant.Participant; import br.com.javace.javou.ui.base.BaseActivity; import br.com.javace.javou.util.Constant; import butterknife.BindView; import butterknife.ButterKnife; /** * Created by Rudsonlive on 22/09/15. */ public class RaffleActivity extends BaseActivity { private boolean isFinishOk = false; private Participant mParticipantFortunate; @BindView(R.id.animated_load) AnimatedCircleLoadingView mAnimatedLoad; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_raffle_main); ButterKnife.bind(this); mParticipantFortunate = getIntent().getExtras().getParcelable(Constant.PARTICIPANT); mAnimatedLoad.setOnClickListener(onClickAnimLoad); startPercentMockThread(); } private View.OnClickListener onClickAnimLoad = new View.OnClickListener() { @Override public void onClick(View v) { if (isFinishOk) { isFinishOk = false; Toast.makeText(getApplicationContext(), "Terminou", Toast.LENGTH_SHORT).show(); } } }; private void startLoading() { mAnimatedLoad.startDeterminate(); } private void startPercentMockThread() { startLoading(); Runnable runnable = new Runnable() { @Override public void run() { try { Thread.sleep(1500); for (int i = 0; i <= 100; i++) { Thread.sleep(10); changePercent(i); } Thread.sleep(3000); ParticipantDao participantDao = new ParticipantDao(getApplicationContext()); participantDao.updateAsRaffled(mParticipantFortunate); Intent intent = new Intent(getBaseContext(), ParticipantFortunateActivity.class); intent.putExtra(Constant.PARTICIPANT, mParticipantFortunate); startActivityForResult(intent, 0, BaseActivity.ActivityAnimation.SLIDE_LEFT); finish(); } catch (InterruptedException e) { e.printStackTrace(); } } }; new Thread(runnable).start(); } private void changePercent(final int percent) { runOnUiThread(new Runnable() { @Override public void run() { if (mAnimatedLoad != null) { mAnimatedLoad.setPercent(percent); if (percent == 100){ isFinishOk = true; } } } }); } @Override public void onBackPressed() { super.onBackPressed(); } }