package org.carelife.creader.ui.activity;
import java.util.List;
import org.carelife.creader.dao.VersionData;
import org.carelife.creader.service.UpdateService;
import org.carelife.creader.ui.adapter.GlobalSettingAapter;
import org.carelife.creader.ui.component.IntroduceDialog;
import org.carelife.creader.ui.fragment.GlobalSettingFragment;
import org.carelife.creader.util.ToastUtil;
import org.carelife.creader.R;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class GlobalSetting extends Activity {
GlobalSettingAapter gsAdapter;
List<VersionData> versionData;
Dialog dialog;
int remoteVersion;
ProgressDialog dialog_wait;
protected boolean user_force_close = false;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case -1:
dialog_wait.dismiss();
ToastUtil.getInstance(GlobalSetting.this).setText("�ף��������粻���������Ժ�����...");
break;
case 0:
if(dialog_wait.isShowing()){
dialog_wait.dismiss();
}
// progressbar.setVisibility(View.GONE);
PackageManager packageManager = GlobalSetting.this
.getPackageManager();
PackageInfo packInfo = null;
try {
packInfo = packageManager.getPackageInfo(
GlobalSetting.this.getPackageName(), 0);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
if (null == versionData) {
ToastUtil.getInstance(GlobalSetting.this).setText(
"����ȡ�汾��Ϣ");
return;
}
if (0 == versionData.size()) {
ToastUtil.getInstance(GlobalSetting.this).setText(
"����ȡ�汾��Ϣ");
return;
}
remoteVersion = Integer.valueOf(versionData.get(0).getVersionCode());
if (packInfo.versionCode == remoteVersion) {
ToastUtil.getInstance(GlobalSetting.this).setText(
"�Ѿ������°汾�ˣ�");
return;
} else if (remoteVersion > packInfo.versionCode) {
dialog = new IntroduceDialog(GlobalSetting.this,
R.layout.dialog_check_update, R.style.Theme_dialog);
dialog.setCanceledOnTouchOutside(true);
if(!dialog.isShowing()){
dialog.show();
}
TextView t1 = (TextView) dialog.findViewById(R.id.dialog_content_update);
TextView t2 = (TextView) dialog.findViewById(R.id.dialog_content);
t1.setText("�����°汾��" + remoteVersion);
t2.setText(versionData.get(0).getContent().replaceAll("\n", ""));
Button pButton = (Button) dialog.findViewById(R.id.dialog_ok);
Button cButton = (Button) dialog.findViewById(R.id.dialog_cancer);
pButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent updateIntent = new Intent(GlobalSetting.this, UpdateService.class);
updateIntent.putExtra(UpdateService.FILE_KEY, "SogouNovel_" + remoteVersion + ".apk");
updateIntent.putExtra(UpdateService.URL_KEY, versionData.get(0).getUpdate_url());
updateIntent.putExtra(UpdateService.ACN_KEY, GlobalSetting.this.getLocalClassName());
updateIntent.putExtra(UpdateService.CONTROL_KEY, versionData.get(0).getControl());
startService(updateIntent);
if(dialog.isShowing()){
dialog.dismiss();
}
}
});
cButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(dialog.isShowing()){
dialog.dismiss();
}
}
});
}
break;
}
}
};
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
//// requestWindowFeature(Window.FEATURE_NO_TITLE);
//
// setContentView(R.layout.globalsetting);
//
// List<String> items = new ArrayList<String>();
// items.add("Ԥ������");
// items.add("�Զ���");
// items.add("������");
// items.add("�������");
// items.add("��������");
//
// gsAdapter = new GlobalSettingAapter(this, items);
//
// dialog_wait = new ProgressDialog(GlobalSetting.this);
// dialog_wait.setProgressStyle(ProgressDialog.STYLE_SPINNER);
// dialog_wait.setTitle("������");
// dialog_wait.setMessage("���Ӧ�ø����У����Ժ���");
// dialog_wait.setIndeterminate(false);
// dialog_wait.setCancelable(true);
// dialog_wait.setOnKeyListener(new OnKeyListener() {
//
// public boolean onKey(DialogInterface dialog, int keyCode,
// KeyEvent event) {
// if (keyCode == KeyEvent.KEYCODE_BACK) {
// user_force_close = true;
// return false;
// }
//
// return false;
// }
// });
// dialog_wait.setCanceledOnTouchOutside(false);
// dialog_wait.setCancelable(true);
//
// ListView lViem = (ListView) findViewById(R.id.global_setting);
// lViem.setAdapter(gsAdapter);
//
// lViem.setOnItemClickListener(new OnItemClickListener() {
//
// public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
// long arg3) {
//
// Intent intent = new Intent();
// switch (arg2) {
// case 0:
// intent.setClass(GlobalSetting.this, CacheSetting.class);
// GlobalSetting.this.startActivity(intent);
// break;
// case 1:
// intent.setClass(GlobalSetting.this, AutoUpdate.class);
// GlobalSetting.this.startActivity(intent);
// break;
// case 2:
// if(!dialog_wait.isShowing()){
// dialog_wait.show();
// new Thread() {
// public void run() {
//
// try {
// versionData = XmlUtil
// .getVersionXML(UrlHelper.version_url);
// if(!user_force_close){
// handler.sendEmptyMessage(0);
// }else{
// user_force_close = false;
// }
// } catch (IOException e) {
// handler.sendEmptyMessage(-1);
// e.printStackTrace();
// }
//
//
// }
// }.start();
// }
// break;
// case 3:
// intent.setClass(GlobalSetting.this, Advisor.class);
// GlobalSetting.this.startActivity(intent);
// break;
// case 4:
// intent.setClass(GlobalSetting.this, AboutUs.class);
// GlobalSetting.this.startActivity(intent);
// break;
// default:
// break;
// }
//
// }
// });
//
//
//
//
// }
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setTitle("����");
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new GlobalSettingFragment())
.commit();
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
GlobalSetting.this.finish();
return true;
}
return false;
}
}