ToolsFragment.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. package com.usai.apex;
  2. import java.net.URISyntaxException;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import android.R.color;
  8. import android.app.Activity;
  9. import android.content.ComponentName;
  10. import android.content.Context;
  11. import android.content.Intent;
  12. import android.content.Intent.ShortcutIconResource;
  13. import android.graphics.Color;
  14. import android.os.Bundle;
  15. import android.os.Parcelable;
  16. import android.support.v4.app.ListFragment;
  17. import android.util.Log;
  18. import android.view.View;
  19. import android.widget.ArrayAdapter;
  20. import android.widget.ListView;
  21. import android.widget.SimpleAdapter;
  22. public class ToolsFragment extends ListFragment
  23. {
  24. static final int PASSWORD_CHANGED = 1;
  25. private static final int REQUEST_CHANGEPASSWORD_ACTIVITY = 2;
  26. private static final int REQUEST_LOGINACTIVITY = 1;
  27. private void delShortcut()
  28. {
  29. Intent shortcut = new Intent(
  30. "com.android.launcher.action.UNINSTALL_SHORTCUT");
  31. // 快捷方式的名称
  32. shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,
  33. getString(R.string.app_name));
  34. // 指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
  35. // 注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式
  36. String appClass = getActivity().getPackageName() + "."
  37. + getActivity().getLocalClassName();
  38. ComponentName comp = new ComponentName(getActivity().getPackageName(),
  39. appClass);
  40. shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
  41. Intent.ACTION_MAIN).setComponent(comp));
  42. getActivity().sendBroadcast(shortcut);
  43. }
  44. private void addShortcut()
  45. {
  46. Intent shortcut = new Intent(
  47. "com.android.launcher.action.INSTALL_SHORTCUT");
  48. // 快捷方式的名称
  49. shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,
  50. getString(R.string.app_name));
  51. shortcut.putExtra("duplicate", false); // 不允许重复创建
  52. // 指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
  53. // 注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
  54. ComponentName comp = new ComponentName(getActivity().getPackageName(),
  55. "." + getActivity().getLocalClassName());
  56. shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
  57. Intent.ACTION_MAIN).setComponent(comp));
  58. // 快捷方式的图标
  59. ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(
  60. getActivity(), R.drawable.ic_launcher);
  61. shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
  62. getActivity().sendBroadcast(shortcut);
  63. }
  64. @Override
  65. public void onActivityResult(int requestCode, int resultCode, Intent data)
  66. {
  67. switch (requestCode)
  68. {
  69. // case REQUEST_LOGINACTIVITY:
  70. // if (resultCode == Activity.RESULT_CANCELED)
  71. // getActivity().finish();
  72. // break;
  73. case REQUEST_CHANGEPASSWORD_ACTIVITY:
  74. if (resultCode == Activity.RESULT_OK)
  75. {
  76. // String UNIQUE_STRING = "com.usai.apex.push.cancel";
  77. // Intent intent = new Intent(UNIQUE_STRING);
  78. // getActivity().sendBroadcast(intent);
  79. // Intent i = new Intent();
  80. // i.setClass(getActivity(), ApexActivity.class);
  81. // startActivityForResult(i, REQUEST_LOGINACTIVITY);
  82. getActivity().setResult(PASSWORD_CHANGED, null);
  83. getActivity().finish();
  84. }
  85. break;
  86. default:
  87. break;
  88. }
  89. super.onActivityResult(requestCode, resultCode, data);
  90. }
  91. // @Override
  92. // public void onActivityResult(int requestCode, int resultCode, Intent
  93. // data)
  94. // {
  95. // switch (requestCode)
  96. // {
  97. // case REQUEST_LOGINACTIVITY:
  98. // if (resultCode == Activity.RESULT_CANCELED)
  99. // finish();
  100. // break;
  101. // case REQUEST_CHANGEPASSWORD_ACTIVITY:
  102. // if (resultCode == Activity.RESULT_OK)
  103. // {
  104. // String UNIQUE_STRING = "com.usai.apex.push.cancel";
  105. // Intent intent = new Intent(UNIQUE_STRING);
  106. // sendBroadcast(intent);
  107. // Intent i = new Intent();
  108. // i.setClass(this, ApexActivity.class);
  109. // startActivityForResult(i, 1);
  110. // }
  111. // break;
  112. // default:
  113. // break;
  114. // }
  115. //
  116. // super.onActivityResult(requestCode, resultCode, data);
  117. // }
  118. private List<Map<String, Object>> getData()
  119. {
  120. boolean login = false;
  121. Bundle b = getArguments();
  122. if(b!=null)
  123. {
  124. login = b.getBoolean("Login");
  125. }
  126. List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
  127. Map<String, Object> map = new HashMap<String, Object>();
  128. map.put("title", "Market news");
  129. map.put("info", "google 1");
  130. map.put("img", R.drawable.rect_market_news);
  131. list.add(map);
  132. map = new HashMap<String, Object>();
  133. map.put("title", "Announcements");
  134. map.put("info", "google 2");
  135. map.put("img", R.drawable.rect_announcements);
  136. list.add(map);
  137. if (login)
  138. {
  139. map = new HashMap<String, Object>();
  140. map.put("title", "Saved Detail/Search");
  141. map.put("info", "google 2");
  142. map.put("img", R.drawable.rect_search_history);
  143. list.add(map);
  144. map = new HashMap<String, Object>();
  145. map.put("title", "Change Password");
  146. map.put("img", R.drawable.rect_change_password);
  147. list.add(map);
  148. map = new HashMap<String, Object>();
  149. map.put("title", "Setting");
  150. map.put("img", R.drawable.rect_setting);
  151. list.add(map);
  152. }
  153. map = new HashMap<String, Object>();
  154. map.put("title", "Apex History");
  155. map.put("img", R.drawable.rect_history);
  156. list.add(map);
  157. map = new HashMap<String, Object>();
  158. map.put("title", "About this App");
  159. map.put("info", "google 2");
  160. map.put("img", R.drawable.rect_about);
  161. list.add(map);
  162. return list;
  163. }
  164. @Override
  165. public void onActivityCreated(Bundle savedInstanceState)
  166. {
  167. super.onActivityCreated(savedInstanceState);
  168. SimpleAdapter adapter = new SimpleAdapter(this.getActivity(),
  169. getData(), R.layout.fragment_tools, new String[] { "title",
  170. "img" }, new int[] { R.id.tv_toolname, R.id.iv_icon });
  171. setListAdapter(adapter);
  172. this.getListView().setBackgroundColor(Color.WHITE);
  173. }
  174. @Override
  175. public void onListItemClick(ListView l, View v, int position, long id)
  176. {
  177. Log.d("FragmentList", "Item clicked: " + id);
  178. String title = (String) getData().get(position).get("title");
  179. Intent intent = new Intent();
  180. if (title.equals("Market news"))
  181. {
  182. intent.setClass(getActivity(), AnnouncementActivity.class);
  183. intent.putExtra("module_name", "Market News");
  184. }
  185. else if (title.equals("Announcements"))
  186. {
  187. intent.setClass(getActivity(), AnnouncementActivity.class);
  188. intent.putExtra("module_name", "Announcements");
  189. }
  190. else if (title.equals("About this App"))
  191. {
  192. intent.setClass(getActivity(), AboutActivity.class);
  193. }
  194. else if (title.equals("Saved Detail/Search"))
  195. {
  196. intent.setClass(getActivity(), SearchHistoryActivity.class);
  197. }
  198. else if (title.equals("Change Password"))
  199. {
  200. intent.setClass(getActivity(), ChangePasswordActivity.class);
  201. startActivityForResult(intent, REQUEST_CHANGEPASSWORD_ACTIVITY);
  202. return;
  203. }
  204. else if (title.equals("Apex History"))
  205. {
  206. intent.setClass(getActivity(), ApexHistoryActivity.class);
  207. // startActivityForResult(intent, REQUEST_CHANGEPASSWORD_ACTIVITY);
  208. // return;
  209. }
  210. else if (title.equals("Setting"))
  211. {
  212. intent.setClass(getActivity(), SettingsActivity.class);
  213. // startActivityForResult(intent, REQUEST_CHANGEPASSWORD_ACTIVITY);
  214. // return;
  215. }
  216. startActivity(intent);
  217. }
  218. }