package android.source.tuangou; import android.app.Activity; import android.content.DialogInterface; import android.content.Intent; import android.content.res.XmlResourceParser; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.source.tuangou.framework.Application; import android.source.tuangou.framework.Config; import android.source.tuangou.framework.ServiceManager; import android.source.tuangou.framework.auth.Session; import android.source.tuangou.framework.store.beans.Preferences; import android.source.tuangou.framework.update.UpdateService; import android.source.tuangou.framework.update.VersionManager; import android.source.tuangou.framework.util.StringUtil; import android.source.tuangou.services.Umeng; import android.telephony.TelephonyManager; import android.view.View; import android.view.Window; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; /* * 加载页面 * */ public class InitView extends Activity { private ImageView imageView; private TextView info; Handler pdHandler; private ProgressBar progressBar; private TextView rate; public InitView() { Handler1 mHandler1 = new Handler1(); pdHandler = mHandler1; } // 其它工作函数 private void doOtherJobs() { // 开启位置服务监听器 ServiceManager.getLocationService().startLocationListener(); // 不影响UI的轻量级线程 AsyncTask1 mAsyncTask1 = new AsyncTask1(); AsyncTask asynctask = mAsyncTask1.execute(); } // 跳转到主界面 private void startMainActivity() { Intent intent = new Intent(this, MainView.class); startActivity(intent); finish(); } public void onCreate(Bundle bundle) { super.onCreate(bundle); // 设置自定义标题模式 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); // 设置布局文件 setContentView(R.layout.launch); // 设置相关资源 Umeng.setReportPolicy(); // 设置自定义标题 getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); // 进度条控件 progressBar = (ProgressBar) findViewById(R.id.progress_bar); // 信息显示控件 info = (TextView) findViewById(R.id.tips); info.setText("团购"); // 信息显示控件 rate = (TextView) findViewById(R.id.rate); // 图片显示控件 imageView = (ImageView) findViewById(R.id.download); // 删除数据库中temp_preferences表 android.source.tuangou.beans.Preferences.getInstance().removeAll(); // 客户端版本检测是否需要更新 if (VersionManager.checkClientUpdate()) { // 客户端更新对话框 android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder( this); String s = getResources().getString(R.string.new_apk_title); android.app.AlertDialog.Builder builder1 = builder.setTitle(s) .setMessage(R.string.new_apk_text); OnClickListener1 mOnClickListener1 = new OnClickListener1(); android.app.AlertDialog.Builder builder2 = builder1 .setPositiveButton(R.string.dlg_positive, mOnClickListener1); OnClickListener2 mOnClickListener2 = new OnClickListener2(); builder2.setNegativeButton(R.string.dlg_negative, mOnClickListener2) .create().show(); } else { // 不需要更新,做其他工作 doOtherJobs(); } } // actiivty暂停函数 public void onPause() { super.onPause(); Umeng.onPause(this); } // activity重新显示函数 public void onResume() { super.onResume(); Umeng.onResume(this); } // handler类,处理版本更新模块消息 private class Handler1 extends Handler { final InitView this$0; public void handleMessage(Message message) { // 检测具体消息 switch (message.what) { // 正在检测的消息处理 case 0: info.setText("正在检测版本..."); break; // 更新消息处理 case 5: imageView.setVisibility(0); progressBar.setVisibility(0); info.setText("正在更新..."); int i = message.arg1; progressBar.setProgress(i); TextView textview = rate; StringBuilder stringbuilder = new StringBuilder(); int j = message.arg1; String s = stringbuilder.append(j).append("%").toString(); textview.setText(s); if (message.arg1 == 100) Toast.makeText(InitView.this, "更新完成", 0).show(); break; default: return; } return; } Handler1() { super(); this$0 = InitView.this; } } // 轻量级别线程 private class AsyncTask1 extends AsyncTask<Void, Void, Void> { final InitView this$0; protected Void doInBackground(Void... avoid) { try { String s = Config.PAGE_SOURCE; // 判断页面数据源是否为本地 if ("local".equalsIgnoreCase(s)) { Looper.prepare(); UpdateService.checkWebFileUpdate(pdHandler, true); Looper.loop(); } XmlResourceParser xmlresourceparser; int i; String s1; String s2; xmlresourceparser = getResources().getXml(R.xml.partner); i = xmlresourceparser.getEventType(); s1 = "0b2e3f"; s2 = "0"; while (true) { System.out.println("i = " + i); if (i == 1) { if (StringUtil.isEmpty( Preferences.getInstance().getRequestKey()) .booleanValue()) { Preferences preferences = Preferences.getInstance(); TelephonyManager telephonymanager = (TelephonyManager) getSystemService("phone"); preferences.initRequestKey(telephonymanager, "partner", s1); Preferences.getInstance().save("umeng", s2); } break; } else { if (i != 2) { int k = xmlresourceparser.next(); i = k; continue; } else { String s3 = xmlresourceparser.getName(); if (!"partner".equalsIgnoreCase(s3)) { int k = xmlresourceparser.next(); i = k; continue; } else { s1 = xmlresourceparser.getAttributeValue(null, "id"); s2 = StringUtil.getValueOrDefault( xmlresourceparser.getAttributeValue( null, "umeng"), "0"); break; } } } } if (Application.getSession().getCurrentLoginUser() != null) { Session session = Application.getSession(); String s4 = Application.getSession().getCurrentLoginUser().name; String s5 = Application.getSession().getCurrentLoginUser().password; int j = session.login(s4, s5); } } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } return null; } protected void onPostExecute(Void void1) { super.onPostExecute(void1); imageView.setVisibility(View.INVISIBLE); info.setVisibility(View.INVISIBLE); rate.setVisibility(View.INVISIBLE); progressBar.setVisibility(View.INVISIBLE); // 进入主界面 startMainActivity(); } AsyncTask1() { super(); this$0 = InitView.this; } } // 客户端对话框按钮点击事件监听器 private class OnClickListener1 implements android.content.DialogInterface.OnClickListener { final InitView this$0; public void onClick(DialogInterface dialoginterface, int i) { // 客户端更新 UpdateService.checkClientUpdate(pdHandler); } OnClickListener1() { super(); this$0 = InitView.this; } } // 控件点击监听函数 private class OnClickListener2 implements android.content.DialogInterface.OnClickListener { final InitView this$0; public void onClick(DialogInterface dialoginterface, int i) { doOtherJobs(); } OnClickListener2() { super(); this$0 = InitView.this; } } }