Advertisement
Guest User

Untitled

a guest
Jul 15th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.74 KB | None | 0 0
  1. public class ReceiveListFragment extends ListFragment implements AbsListView.OnScrollListener {
  2. public ArrayList<ReceivedItemStructure> items;
  3.  
  4. private int prevVisibleItem;
  5. private boolean isFirstTime;
  6. private DatabaseHandler db;
  7. private String config_username;
  8. private String config_password;
  9. private ReceivedAdapter adapter;
  10. private Cursor cursor;
  11.  
  12. @Override
  13. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  14.  
  15. db = new DatabaseHandler(G.context);
  16. config_username = Configuration.getInstance()
  17. .getString(getActivity(),
  18. Configuration.SharedPrefsTypes.USERNAME);
  19.  
  20. config_password = Configuration.getInstance()
  21. .getString(getActivity(),
  22. Configuration.SharedPrefsTypes.PASSWORD);
  23.  
  24. items = new ArrayList<ReceivedItemStructure>();
  25.  
  26.  
  27. getRequestFromServer(0, 10);
  28.  
  29. adapter = new ReceivedAdapter(G.context, items);
  30. setListAdapter(adapter);
  31.  
  32. Timer smsThread = new Timer();
  33. GetSMSThread getSMSThread = new GetSMSThread();
  34. smsThread.scheduleAtFixedRate(getSMSThread, 1, 10000); //(timertask,delay,period)
  35.  
  36.  
  37. return super.onCreateView(inflater, container, savedInstanceState);
  38. }
  39.  
  40. private String getRequestFromServer(long lastID, int count) {
  41. String received = "";
  42. try {
  43. received = new JsonService(config_username, config_password, lastID, count, G.F_RECEIVE_SMS).request();
  44. JSONArray data_array = new JSONArray(received);
  45.  
  46. String mUserID = config_username;
  47. for (int i = 0; i < data_array.length(); i++) {
  48. JSONObject json_obj = data_array.getJSONObject(i);
  49.  
  50. String mLastID = json_obj.getString("id_recived_sms");
  51. String mSmsBody = json_obj.getString("sms_body");
  52. String mSmsNumber = json_obj.getString("sms_number");
  53. String mSenderName = json_obj.getString("mobile_number");
  54. String mContactName = json_obj.getString("contact_name");
  55. String mDate = json_obj.getString("recived_date");
  56.  
  57. ReceivedItemStructure item = new ReceivedItemStructure(
  58. mLastID,
  59. mUserID,
  60. mSmsBody,
  61. mSmsNumber,
  62. mSenderName,
  63. mContactName,
  64. mDate
  65. );
  66. items.add(item);
  67. //Log.e(" ", "" + mLastID);
  68. }
  69.  
  70. /** Creating array adapter to set data in listview */
  71.  
  72. } catch (Exception e) {
  73. e.printStackTrace();
  74. }
  75. return received;
  76. }
  77.  
  78.  
  79. public long getLastID() {
  80. return Long.parseLong(items.get(items.size() - 1).getmLastID());
  81. }
  82.  
  83. private void addDataToList(String LastID, String SmsBody, String SmsNumber, String SenderName, String ContactName, String Date) {
  84. String mLastID = LastID;
  85. String mUserID = config_username;
  86. String mSmsBody = SmsBody;
  87. String mSmsNumber = SmsNumber;
  88. String mSenderName = SenderName;
  89. String mContactName = ContactName;
  90. String mDate = Date;
  91. ReceivedItemStructure item = new ReceivedItemStructure(
  92. mLastID,
  93. mUserID,
  94. mSmsBody,
  95. mSmsNumber,
  96. mSenderName,
  97. mContactName,
  98. mDate
  99. );
  100. items.add(item);
  101. adapter.update(items);
  102. adapter.notifyDataSetChanged();
  103. }
  104.  
  105. public class GetSMSThread extends TimerTask {
  106. private Long lastID;
  107. private SQLiteDatabase dbHelper;
  108. private List<ReceiveListFragment> rows;
  109.  
  110. @Override
  111. public void run() {
  112. lastID = getLastID();
  113. if (Configuration.getInstance().checkInternetConnection(G.context)) {
  114. try {
  115. Thread threadTask = new Thread() {
  116. @Override
  117. public void run() {
  118. G.activity.runOnUiThread(new Runnable() {
  119. @Override
  120. public void run() {
  121. try {
  122.  
  123. int countSMS = 0;
  124.  
  125. String smsReceivedSender = "";
  126. String receive_lastID = "";
  127.  
  128. String r = new JsonService(config_username, config_password, 0, 1, G.F_RECEIVE_SMS).request();
  129. JSONArray data_array = new JSONArray(r);
  130.  
  131. ArrayList<String> items_array = new ArrayList<String>();
  132.  
  133. JSONObject json_obj = data_array.getJSONObject(0);
  134. receive_lastID = json_obj.getString("id_recived_sms");
  135. smsReceivedSender = json_obj.getString("mobile_number");
  136.  
  137. for (ReceivedItemStructure rf : items) {
  138. items_array.add(rf.getmLastID());
  139. }
  140.  
  141. if (items_array.indexOf(receive_lastID) == -1) {
  142. countSMS++;
  143. addDataToList(
  144. json_obj.getString("id_recived_sms"),
  145. json_obj.getString("sms_body"),
  146. json_obj.getString("sms_number"),
  147. json_obj.getString("mobile_number"),
  148. json_obj.getString("contact_name"),
  149. json_obj.getString("recived_date")
  150. );
  151. }
  152.  
  153.  
  154. } catch (Exception e) {
  155. e.printStackTrace();
  156. }
  157. }
  158. });
  159. }
  160. };
  161. threadTask.start();
  162. } catch (Exception e) {
  163. e.printStackTrace();
  164. } // END TRY
  165. }
  166. }
  167. }
  168. }
  169.  
  170. public class ReceivedAdapter extends ArrayAdapter<ReceivedItemStructure> {
  171.  
  172. private ArrayList<ReceivedItemStructure> list;
  173.  
  174. public ReceivedAdapter(Context c, ArrayList<ReceivedItemStructure> items) {
  175. super(c,0,items);
  176. list = items;
  177. }
  178.  
  179. @Override
  180. public View getView(int position, View convertView, ViewGroup parent) {
  181. ReceiveItemView itemView = (ReceiveItemView)convertView;
  182. if (null == itemView)
  183. itemView = ReceiveItemView.inflate(parent);
  184.  
  185. itemView.setItem(getItem(position));
  186. return itemView;
  187. }
  188.  
  189. public void update(ArrayList<ReceivedItemStructure> items) {
  190. if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
  191. addAll(items);
  192. } else {
  193. for (ReceivedItemStructure item : items) {
  194. add(item);
  195. }
  196. }
  197. }
  198. }
  199.  
  200. <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21"/>
  201.  
  202. public void update(ArrayList<ReceivedItemStructure> items) {
  203. if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
  204. addAll(items);
  205. } else {
  206. for (ReceivedItemStructure item : items) {
  207. add(item)
  208. }
  209. }
  210. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement