package com.hyrt.ceiphone.common; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Gravity; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.LinearLayout; import android.widget.PopupWindow; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import com.actionbarsherlock.view.Window; import com.hyrt.cei.application.CeiApplication; import com.hyrt.cei.ui.common.LoginActivity; import com.hyrt.cei.ui.econdata.EconDataMain; import com.hyrt.cei.ui.information.InformationActivity; import com.hyrt.cei.ui.personcenter.PersonCenter; import com.hyrt.cei.ui.witsea.WitSeaActivity; import com.hyrt.cei.update.UpdateManager; import com.hyrt.cei.util.AsyncImageLoader; import com.hyrt.cei.util.XmlUtil; import com.hyrt.cei.vo.AnnouncementNews; import com.hyrt.cei.vo.ColumnEntry; import com.hyrt.cei.vo.ImageResourse; import com.hyrt.cei.vo.Preload; import com.hyrt.cei.webservice.service.Service; import com.hyrt.ceiphone.ContainerActivity; import com.hyrt.ceiphone.R; import com.hyrt.ceiphone.adapter.GridViewAdapter; import com.hyrt.ceiphone.phonestudy.FoundationActivity; import com.hyrt.ceiphone.phonestudy.PhoneStudyActivity; import com.hyrt.ceiphone.phonestudy.PreloadActivity; import com.hyrt.readreport.ReadReportMainActivity; public class HomePageDZB extends Activity implements OnClickListener, OnItemClickListener { // 首页背景 public RelativeLayout home_page_re; private String loginName; // 通用页面管理集合 public static List<Activity> commonActivities = new ArrayList<Activity>(); // 消息通告的集合 private List<AnnouncementNews> announcementNews; // 消息数量 private int announcementCount; // 全局的菜单集合 private ColumnEntry columnEntry; // 4大业务模块 public static final String[] MODELS = { "移动学习", "政经资讯", "经济数据", "研究报告" }; // 消息更新的数量textview private TextView textNum; private Intent intent; // 一级业务的数据 private List<ColumnEntry> columnEntries; private AsyncImageLoader asyncImageLoader; @Override protected void onDestroy() { HomePageDZB.commonActivities.remove(this); super.onDestroy(); } @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(0x1); super.onCreate(savedInstanceState); setContentView(R.layout.home_page_dzb); /*new Handler().postDelayed(new Runnable() { @Override public void run() { boolean isDowning = false; List<Preload> preloads = ((CeiApplication) getApplication()).dataHelper.getPreloadList(); for(int i=0;i<preloads.size();i++) if(preloads.get(i).getLoadFinish()!=1) isDowning = true; if(isDowning) alertIsSurePop(new OnClickListener() { @Override public void onClick(View arg0) { popWin.dismiss(); Intent intent = new Intent(HomePageDZB.this,PreloadActivity.class); startActivity(intent); } }); } }, 200);*/ findViewById(R.id.main_login).setOnClickListener(this); textNum = (TextView) findViewById(R.id.home_page_main_num); LinearLayout bottomsLl = (LinearLayout) findViewById(R.id.bottoms_Ll); for (int i = 0; i < bottomsLl.getChildCount(); i++) { ((RelativeLayout) (bottomsLl.getChildAt(i))).getChildAt(0) .setOnClickListener(this); } refreshListData(); showLoginBtnByUserName(); installMainGridView(); for(int i=0;i<columnEntries.size();i++){ if(columnEntries.get(i).getName().contains("报告")){ ((CeiApplication)(getApplication())).nowStart=columnEntries.get(i).getName(); } } startActivity(new Intent().setClass(this, ReadReportMainActivity.class)); this.finish(); } // 根据登陆与否判断是否显示登陆按钮 private void showLoginBtnByUserName() { // 获取登陆名 SharedPreferences settings = getSharedPreferences("loginInfo", Activity.MODE_PRIVATE); loginName = settings.getString("LOGINNAME", ""); // 根据登录名来显示登陆按钮那个位置 if (!loginName.equals("")) { ((TextView) findViewById(R.id.main_login_tv)) .setVisibility(View.VISIBLE); ((TextView) findViewById(R.id.main_login_tv)).setText(loginName + "欢迎您!"); findViewById(R.id.main_login).setVisibility(View.GONE); } } // 更新消息提示 Handler newsHandler = new Handler() { public void handleMessage(Message msg) { SharedPreferences settings = getSharedPreferences( "announcementCount", Activity.MODE_PRIVATE); int changeCount = settings.getInt("new", 0) - settings.getInt("old", 0); if (changeCount > 0) { textNum.setText(changeCount + ""); textNum.setVisibility(View.VISIBLE); } else { textNum.setVisibility(View.GONE); } } }; // 更新消息的数量 private void refreshListData() { new Thread(new Runnable() { @Override public void run() { announcementCount = 0; announcementNews = new ArrayList<AnnouncementNews>(); String rs = ""; rs = Service .queryNotice(((CeiApplication) getApplication()).columnEntry .getUserId()); try { announcementNews = XmlUtil.getAnnouncement(rs); announcementCount = announcementNews.size(); SharedPreferences settings = getSharedPreferences( "announcementCount", Activity.MODE_PRIVATE); SharedPreferences.Editor editor = settings.edit(); editor.putInt("new", announcementCount); editor.commit(); } catch (Exception e) { e.printStackTrace(); } Message msg = newsHandler.obtainMessage(); newsHandler.sendMessage(msg); } }).start(); } /** * 初始化主业务的gridview控件 */ private void installMainGridView() { asyncImageLoader = ((CeiApplication) (this.getApplication())).asyncImageLoader; // 获取一级业务的数据 columnEntry = ((CeiApplication) getApplication()).columnEntry; columnEntries = new ArrayList<ColumnEntry>(); List<ColumnEntry> firstColumnEntries = columnEntry .getEntryChildsForParent(null); /*this.columnEntry.getWitSeaColumns().clear(); for (int i = 0; i < firstColumnEntries.size(); i++) { boolean isModels = false; ColumnEntry columnEntry = firstColumnEntries.get(i); for (int j = 0; j < MODELS.length; j++) { if ((MODELS[j]).equals(columnEntry.getName())) { isModels = true; columnEntries.add(columnEntry); } } if (!isModels && !columnEntry.getName().equals("关于我们")){ System.out.println(columnEntry.getName() + " : " +columnEntry.getOperationImage()); this.columnEntry.getWitSeaColumns().add(columnEntry); } }*/ columnEntries.addAll(firstColumnEntries); GridView gridView = (GridView) findViewById(R.id.main_service_gridview); GridViewAdapter gaAdapter = new GridViewAdapter(this, R.layout.main_griview_item, columnEntries, gridView); gridView.setAdapter(gaAdapter); gridView.setOnItemClickListener(this); home_page_re = (RelativeLayout) findViewById(R.id.welcome); home_page_re.setBackgroundResource(R.drawable.welcome_background); ImageResourse imageResource = new ImageResourse(); imageResource.setIconUrl(columnEntry.getBackground()); imageResource.setIconId(columnEntry.getBackground()); asyncImageLoader.loadDrawable(imageResource, new AsyncImageLoader.ImageCallback() { @Override public void imageLoaded(Drawable drawable, String path) { home_page_re.setBackgroundDrawable(drawable); } }); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.main_login: // 根据登录名来显示登陆按钮那个位置 intent = new Intent(this, LoginActivity.class); startActivity(intent); break; case R.id.main_rl: // 跳转到主页 break; case R.id.notice_rl: intent = new Intent(this, Announcement.class); if (!loginName.equals("")) { startActivity(intent); textNum.setVisibility(View.GONE); } else { Toast.makeText(this, "请登录后查看!", Toast.LENGTH_SHORT).show(); } // 跳转到通知公告页 break; case R.id.collect_rl: // 跳转到应用收藏页 intent = new Intent(this, WitSeaActivity.class); if (!loginName.equals("")) { startActivity(intent); } else { Toast.makeText(this, "请登录后查看!", Toast.LENGTH_SHORT).show(); } break; case R.id.psc_rl: intent = new Intent(this, PersonCenter.class); if (!loginName.equals("")) { startActivity(intent); } else { Toast.makeText(this, "请登录后查看!", Toast.LENGTH_SHORT).show(); } // 跳转到个人中心页 break; } } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String serviceName = columnEntries.get(position).getName(); addLog(serviceName); ((CeiApplication)(getApplication())).nowStart=serviceName; if (serviceName.equals("移动学习")||serviceName.contains("学习")) { FoundationActivity.MODEL_NAME = serviceName; // 跳转到移动学习页面 Intent intent = new Intent(this, PhoneStudyActivity.class); startActivity(intent); } else if (serviceName.equals("政经资讯")||serviceName.contains("资讯")) { Intent intent = new Intent(this, InformationActivity.class); startActivity(intent); // 跳转到政经资讯页面 } else if (serviceName.equals("经济数据")||serviceName.contains("数据")) { Intent intent = new Intent(this, EconDataMain.class); startActivity(intent); // 跳转到经济数据页面 } else if (serviceName.equals("研究报告")||serviceName.contains("报告")) { intent = new Intent(this, ReadReportMainActivity.class); startActivity(intent); // 跳转到研究报告页面 } } /** * 加入操作日志 */ private void addLog(final String title) { new Thread(new Runnable() { @Override public void run() { ColumnEntry columnEntry = new ColumnEntry(); for (int i = 0; i < ((CeiApplication) (HomePageDZB.this .getApplication())).columnEntry.getColumnEntryChilds() .size(); i++) { if (title.equals(((CeiApplication) (HomePageDZB.this .getApplication())).columnEntry .getColumnEntryChilds().get(i).getName())) columnEntry.setId(((CeiApplication) (HomePageDZB.this .getApplication())).columnEntry .getColumnEntryChilds().get(i).getId()); } columnEntry.setLoginid(((CeiApplication) (HomePageDZB.this .getApplication())).columnEntry.getLoginid()); columnEntry.setName(title); Service.addLog(columnEntry); } }).start(); } // @Override // public boolean onCreateOptionsMenu(Menu menu) { // menu.add(0, 1, 1, "服务平台"); // menu.add(0, 2, 2, "关于我们"); // // TODO Auto-generated method stub // return super.onCreateOptionsMenu(menu); // } // @Override // public boolean onOptionsItemSelected(MenuItem item) { // // TODO Auto-generated method stub // if (item.getItemId() == 1) { // intent = new Intent(HomePageDZB.this, WebViewUtil.class); // intent.putExtra("path", "http://mob.cei.gov.cn/"); // startActivity(intent); // } else if (item.getItemId() == 2) { // intent = new Intent(this, Disclaimer.class); // //if (!loginName.equals("")) { // startActivity(intent); // //} else { // //Toast.makeText(this, "请登录后查看!", Toast.LENGTH_SHORT).show(); // //} // } // return super.onOptionsItemSelected(item); // } private PopupWindow popWin; private void alertIsSurePop(OnClickListener clickListener) { View popView = this.getLayoutInflater().inflate( R.layout.phone_study_issure, null); popView.findViewById(R.id.phone_study_issure_sure_btn).setOnClickListener(clickListener); popView.findViewById(R.id.phone_study_issure_cancel_btn) .setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { popWin.dismiss(); } }); ((TextView)popView.findViewById(R.id.issure_title)).setText("是否继续下载课件?"); popWin = new PopupWindow(popView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); popWin.setFocusable(true); popWin.showAtLocation(this.getWindow().getDecorView(), Gravity.CENTER, 0, 0); } }