package com.minggo.plutoandroidexample.activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import com.baidu.mobstat.StatService;
import com.minggo.pluto.activity.PlutoActivity;
import com.minggo.pluto.bitmap.AsyncTask;
import com.minggo.pluto.common.CommonAsyncTask;
import com.minggo.pluto.dialog.PlutoDialog;
import com.minggo.plutoandroidexample.R;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* Created by minggo on 2017/2/1.
*/
public class PlutoActivityExample extends PlutoActivity implements OnClickListener {
@BindView(R.id.bt_toast)
public Button toastBt;
@BindView(R.id.bt_dialog)
public Button dialgBt;
@BindView(R.id.bt_softinput)
public Button softinputBt;
@BindView(R.id.bt_network_available)
public Button networkBt;
@BindView(R.id.bt_hand_message)
public Button handleBt;
@BindView(R.id.bt_cancel_asyntask)
public Button cancelAsynTaskBt;
@BindView(R.id.tv_learntime)
public TextView learnTimeTv;
private Calculator calculator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pluto_example);
ButterKnife.bind(this);
calculator = new Calculator();
calculator.execute();
}
@OnClick({R.id.bt_toast,R.id.bt_dialog,R.id.bt_softinput,R.id.bt_network_available,R.id.bt_hand_message,R.id.bt_cancel_asyntask})
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.bt_dialog:
loadingDialog.show();
break;
case R.id.bt_toast:
showToast("just use showToast(String string)");
break;
case R.id.bt_softinput:
showSoftInput();
break;
case R.id.bt_network_available:
showToast("Network is available "+isNetworkConnected());
break;
case R.id.bt_hand_message:
mUiHandler.sendEmptyMessage(10000);
break;
case R.id.bt_cancel_asyntask:
cancelAsyncTask(calculator);
break;
default:
break;
}
}
@Override
public void handleUiMessage(Message msg) {
super.handleUiMessage(msg);
switch (msg.what){
case 10000:
showToast("Message is recieved!");
break;
default:
learnTimeTv.setText("learning time "+msg.what+"s");
break;
}
}
private class Calculator extends CommonAsyncTask<Void,Void,Integer> {
private int i;
@Override
protected Integer doInBackground(Void... params) {
while (i<1000){
if (isCancelled()){
i=0;
showToast("learning time is stopped");
break;
}
i++;
mUiHandler.sendEmptyMessage(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if (isCancelled()){
return 0;
}
return i;
}
@Override
protected void onPostExecute(Integer integer) {
super.onPostExecute(integer);
mUiHandler.sendEmptyMessage(i);
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.alpha_sllow_in, R.anim.push_right_out);
}
@Override
protected void onResume() {
super.onResume();
StatService.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
StatService.onPause(this);
}
}