package skytv_com.banking.enjoymovie;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import skytv_com.banking.enjoymovie.R;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Process;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.banking.xc.utils.CommonUtil;
import com.banking.xc.utils.DPIUtil;
import com.banking.xc.utils.FileService;
import com.banking.xc.utils.Log;
import com.banking.xc.utils.NoImageUtils;
import com.banking.xc.utils.frame.ScrollableTabActivity;
import com.banking.xc.utils.frame.TabBarButton.StateController;
import com.banking.xc.utils.lbs.LbsUtil;
public class MainActivity extends ScrollableTabActivity {
private Set<String> tokens = new HashSet<String>();
private ViewGroup rootFrameLayout;
private ViewGroup modal;
private TextView stateTextView;
private Runnable resume = null;//
private boolean showStateText = true;
private Handler mHandler;
AlertDialog alertDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
MyApplication.getInstance().setMainActivity(this);
mHandler = new Handler();
super.onCreate(savedInstanceState);
Log.d("MainActivity", "OnCreate");
if (Log.D) {
Log.d("MainActivity", "OnCreate realy");
}
final SharedPreferences defaltPreference = CommonUtil.getSharedPreferences();
if (!globalInit()) {
return;
}
checkNetState();
LbsUtil.getInstance().startLocationService();
}
@Override
protected void onResume() {
if (Log.D) {
Log.d("Temp", "MainActivity onResume() -->> ");
}
try {
super.onResume();
if (null != resume) {
resume.run();
resume = null;
}
} catch (Exception e) {
if (Log.D) {
Log.d("Temp", " onResume()-->> " + e.getMessage());
}
}
}
private void initNetwork() {
if (Log.D) {
Log.d("Temp", "HomeActivity initNetwork() -->> ");
}
}
@Override
protected void onPause() {
super.onPause();
}
public Handler getHandler() {
return mHandler;
}
private int targetActivityState;
public boolean hasTargetActivity() {
if (Log.D) {
Log.d("Temp", "hasTargetActivity() -->> ");
}
if (1 == targetActivityState) {
return true;
}
if (0 == targetActivityState) {
Bundle bundle = getIntent().getExtras();
if (Log.D) {
Log.d("Temp", "hasTargetActivity() bundle -->> " + bundle);
}
if (null != bundle) {
}
}
return false;
}
public void setStateText(final String state) {
if (stateTextView != null) {
if (showStateText) {
stateTextView.setText(state);
} else {
stateTextView.setVisibility(View.GONE);
}
}
}
private boolean globalInit() {
rootFrameLayout = (ViewGroup) getWindow().peekDecorView();
modal = new RelativeLayout(this);
RelativeLayout.LayoutParams textViewLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
textViewLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
textViewLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
stateTextView = new TextView(this);
stateTextView.setPadding(0, 0, 0, DPIUtil.percentHeight(0.25f));
stateTextView.setTextColor(0xFFFFFFFF);
modal.addView(stateTextView, textViewLayoutParams);
modal.setBackgroundDrawable(getResources().getDrawable(R.drawable.start_image));//getResources().getDrawable(R.color.red)
modal.setOnTouchListener(new ViewGroup.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
rootFrameLayout.addView(modal, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
rootFrameLayout.invalidate();
setStateText("加载中...");
loadHomeActivity();
return true;
}
protected void initNoImage(DialogInterface dialog, CheckBox cb) {
if (cb.isChecked()) {
NoImageUtils.setIfNeedAlertDialog(false);
} else {
NoImageUtils.setIfNeedAlertDialog(true);
}
dialog.cancel();
loadHomeActivity();
}
private void loadHomeActivity() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
navigationInit();
}
}, 100);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
deleteToken("");
}
}, 3000);// 5000
}
private boolean checkNetState() {
boolean result = CommonUtil.CheckNetWork();
if (Log.D) {
Log.d("Temp", "CommonUtil.checkNetWorkType() -->> " + CommonUtil.checkNetWorkType());
}
if (!result) {
alertDialog = new Builder(this).create();
alertDialog.setTitle("检查网络");
alertDialog.setMessage("您当前网络状况不佳,请检查下您的网络吧!");
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE,"设置网络", new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = null;
if (android.os.Build.VERSION.SDK_INT > 10) {
// 3.0以上打开设置界面,也可以直接用ACTION_WIRELESS_SETTINGS打开到wifi界面
intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
} else {
intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
}
alertDialog.dismiss();
startActivity(intent);
}
});
alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE,"取消", new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
alertDialog.dismiss();
}
});
alertDialog.show();
}
return result;
}
public void navigationInit() {
{
Intent intent = new Intent(this, MovieHomeActivity.class);
intent.putExtra(ScrollableTabActivity.SINGLE_INSTANCE_FLAG, true);
intent.putExtra(NAVIGATION_FLAG, true);
intent.putExtra(NAVIGATION_ID, NAVIGATION_HOME);
this.addTab(new ButtonStyle("精品", R.drawable.icon_boutique_navi), new ButtonAction(intent, true, true));
//this.addTab(new ButtonStyle("首页", R.drawable.icon_home), new ButtonAction(intent, true, true));
}
commit();
}
public String createToken(String token) {
tokens.add(token);
return token;
}
public void deleteToken(String token) {
tokens.remove(token);
notifyTokenChange();
}
private void notifyTokenChange() {
if (tokens.size() <= 0) {
rootFrameLayout.removeView(modal);
rootFrameLayout.invalidate();
}
}
public void checkSlideScreenState() {
/*if (!isGuided) {
isSlideScreenState = true;
addGuideImage();
}*/
}
}