package com.example.ipcplayer.activity;
import java.util.ArrayList;
import com.example.ipcplayer.R;
import com.example.ipcplayer.widget.CellLayout;
import com.example.ipcplayer.widget.DocIndicator;
import com.example.ipcplayer.widget.Workspace;
import com.example.ipcplayer.widget.Workspace.IWorkspaceListener;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;
import android.view.View.OnClickListener;
public class HelpActivity extends Activity implements IWorkspaceListener{
private static final String TAG = HelpActivity.class.getSimpleName();
private static final int CELL_NUMBER = 4;
private Workspace mWorkspace;
private DocIndicator mDocIndicator;
private TextView mStartTV;
private boolean mExited;
private ArrayList<CellLayout> mCellList = new ArrayList<CellLayout>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.help);
setupViews();
updateIndicatorFromWorkspace();
}
private void setupViews(){
mWorkspace = (Workspace) findViewById(R.id.help_workspace);
mDocIndicator = (DocIndicator) findViewById(R.id.help_indicator);
mStartTV = (TextView) findViewById(R.id.start);
mStartTV.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
mExited = true;
doStartActivity();
}
});
mWorkspace.setWorkspaceListener(this);
initCells();
}
private void initCells(){
mWorkspace.addView(this.createCellLayout(R.drawable.welcome_1));
mWorkspace.addView(this.createCellLayout(R.drawable.welcome_2));
mWorkspace.addView(this.createCellLayout(R.drawable.welcome_3));
mWorkspace.addView(this.createCellLayout(R.drawable.welcome_4));
}
private void updateIndicatorFromWorkspace(){
mDocIndicator.setTotal(mWorkspace.getChildCount());
mDocIndicator.setCurrent(mWorkspace.getCurrentScreen());
}
private void doStartActivity(){
Intent intent = new Intent(this, MainActivity.class);
this.startActivity(intent);
finish();
}
private CellLayout createCellLayout(int resId){
CellLayout cellLayout = (CellLayout) getLayoutInflater().from(this).inflate(R.layout.help_item, null);
ImageView image = (ImageView) cellLayout.findViewById(R.id.help_item_img);
image.setImageResource(resId);
mCellList.add(cellLayout);
return cellLayout;
}
private void hideStartButton(){
mStartTV.setVisibility(View.GONE);
}
private void showStartButton(){
mStartTV.setVisibility(View.VISIBLE);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
public void onUpdateTotalNum(int total) {
if(mDocIndicator != null){
mDocIndicator.setTotal(total);
}
}
@Override
public void onUpdateCurrent(int current) {
if(mDocIndicator != null){
mDocIndicator.setCurrent(current);
}
if(current >= CELL_NUMBER -1){
showStartButton();
}else{
hideStartButton();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {// 屏蔽回退键
mExited = true;
doStartActivity();
return true;
}
return super.onKeyDown(keyCode, event);
}
}