Advertisement
Guest User

Untitled

a guest
May 29th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.21 KB | None | 0 0
  1. private Product product;
  2.  
  3. private ProductRetrievingTask mainTask;
  4. private ProductRetrieverImpl retriever;
  5. String ben;
  6. private ArrayList<Product> products;
  7.  
  8. private ProductAdapter productAdapter;
  9. private static MainActivityListFragment instance = null;
  10.  
  11. //Activity when the main activity calls it
  12. @Override
  13. public void onActivityCreated(Bundle saveInstantceState) {
  14. super.onActivityCreated(saveInstantceState);
  15. instance = this;
  16. new JSOUP().execute();
  17.  
  18. products = new ArrayList<Product>();
  19. products.add(new Product("New ipad mini", 15.99, "#offerPrice_262795", "http://www.homebase.co.uk/en/homebaseuk/black--decker-ni-cad-cordless-drill-driver---18v-623805", "http://www.bhphotovideo.com/images/images2000x2000/Apple_MC770LL_A_32GB_iPad_2_with_758439.jpg"));
  20. products.add(new Product("New ipad mini2", 51.99, "#CSS", "http://www.bbc.co.uk", "http://www.bhphotovideo.com/images/images2000x2000/Apple_MC770LL_A_32GB_iPad_2_with_758439.jpg"));
  21. products.add(new Product("New ipad mini3", 152.99, "#CSS", "http://www.bbc.co.uk", "http://www.bhphotovideo.com/images/images2000x2000/Apple_MC770LL_A_32GB_iPad_2_with_758439.jpg"));
  22. products.add(new Product("New ipad mini4", 153.99, "#CSS", "http://www.bbc.co.uk", "http://www.bhphotovideo.com/images/images2000x2000/Apple_MC770LL_A_32GB_iPad_2_with_758439.jpg"));
  23. products.add(new Product("New ipad mini5", 154.99, "#CSS", "http://www.bbc.co.uk", "http://www.bhphotovideo.com/images/images2000x2000/Apple_MC770LL_A_32GB_iPad_2_with_758439.jpg"));
  24. products.add(new Product("New ipad mini", 15.99, "#CSS", "http://www.bbc.co.uk", "http://www.bhphotovideo.com/images/images2000x2000/Apple_MC770LL_A_32GB_iPad_2_with_758439.jpg"));
  25. products.add(new Product("New ipad mini2", 151.99, "#CSS", "http://www.funktiongolf.co.uk", "http://lightswitchtimer.co.uk/wp-content/uploads/2013/12/lights-for-pets.jpg"));
  26. products.add(new Product("New ipad mini3", 152.99, "#CSS", "http://www.funktiongolf.co.uk", "http://lightswitchtimer.co.uk/wp-content/uploads/2013/12/lights-for-pets.jpg"));
  27. products.add(new Product("New ipad mini4", 153.99, "#CSS", "http://www.funktiongolf.co.uk", "http://lightswitchtimer.co.uk/wp-content/uploads/2013/12/lights-for-pets.jpg"));
  28. products.add(new Product("New ipad mini5", 154.99, "#CSS", "http://www.funktiongolf.co.uk", "http://lightswitchtimer.co.uk/wp-content/uploads/2013/12/lights-for-pets.jpg"));
  29.  
  30.  
  31. productAdapter = new ProductAdapter(getActivity(), products);
  32.  
  33.  
  34. setListAdapter(productAdapter);
  35.  
  36. registerForContextMenu(getListView());
  37. }
  38.  
  39. public static MainActivityListFragment getInstance() {
  40. return instance;
  41. }
  42.  
  43. @Override
  44. public void onListItemClick(ListView l, View v, int position, long id) {
  45.  
  46.  
  47. //Called when an item is clicked
  48. super.onListItemClick(l, v, position, id);
  49.  
  50. launchProductDetail(position);
  51. }
  52.  
  53.  
  54. @Override
  55. public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
  56.  
  57. super.onCreateContextMenu(menu, v, menuInfo);
  58.  
  59. MenuInflater menuInflater = getActivity().getMenuInflater();
  60. menuInflater.inflate(R.menu.long_press_menu, menu);
  61. }
  62.  
  63.  
  64. public void priceUpdate(Product product, double newPrice) {
  65. product.setOldprice(product.getPrice());
  66.  
  67. product.setPrice(newPrice);
  68.  
  69. }
  70.  
  71.  
  72. @Override
  73. public boolean onContextItemSelected(MenuItem item) {
  74. AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
  75. final int rowPosition = info.position;
  76.  
  77.  
  78. //Returns the id of which menu item we select
  79. switch (item.getItemId()) {
  80.  
  81. case R.id.delete:
  82. AlertDialog.Builder adb = new AlertDialog.Builder(getActivity());
  83. adb.setTitle("Delete?");
  84. adb.setMessage("Are you sure you want to delete this item?");
  85. adb.setNegativeButton("Cancel", null);
  86. adb.setPositiveButton("Ok", new AlertDialog.OnClickListener() {
  87. public void onClick(DialogInterface dialog, int which) {
  88. productAdapter.remove(productAdapter.getItem(rowPosition));
  89. productAdapter.notifyDataSetChanged();
  90. }
  91. });
  92. adb.show();
  93.  
  94. Log.d("Menu Click", "We pressed delete");
  95.  
  96. // return true;
  97. break;
  98. case R.id.update:
  99.  
  100.  
  101.  
  102.  
  103.  
  104. break;
  105. case R.id.website:
  106.  
  107.  
  108. product = productAdapter.getItem(rowPosition);
  109. if (product != null)
  110. startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(product.getLink())));
  111.  
  112. break;
  113. // return true;
  114. }
  115.  
  116.  
  117. return super.onContextItemSelected(item);
  118. }
  119.  
  120. private void launchProductDetail(int position) {
  121.  
  122. Product product = (Product) getListAdapter().getItem(position);
  123. Intent intent = new Intent(getActivity(), ProductDetailActivity.class);
  124.  
  125. intent.putExtra("Product", product);
  126.  
  127.  
  128. startActivity(intent);
  129. }
  130.  
  131. public void update() {
  132.  
  133. ProductRetrieverImpl retriever = mainTask.getRetriever();
  134.  
  135. String price = retriever.getBySelectorPrice2();
  136.  
  137.  
  138. double newPrice = Double.parseDouble(price.substring(1));
  139.  
  140. if (newPrice != product.getPrice()) {
  141.  
  142. if (newPrice < product.getPrice()) {
  143.  
  144. product.setPriceIncrease(false);
  145.  
  146. priceUpdate(product, newPrice);
  147. } else {
  148.  
  149. product.setPriceIncrease(true);
  150. priceUpdate(product, newPrice);
  151.  
  152. }
  153.  
  154.  
  155. }
  156.  
  157. }
  158.  
  159.  
  160. public class JSOUP extends AsyncTask<Void, Void, Void> {
  161. ProgressDialog dialog;
  162.  
  163. @Override
  164. protected void onPreExecute() {
  165. super.onPreExecute();
  166. dialog = new ProgressDialog(getContext());
  167. dialog.setMessage("loading.....");
  168. dialog.show();
  169. }
  170.  
  171. @Override
  172. protected Void doInBackground(Void... params) {
  173. try {
  174.  
  175. Document document = Jsoup.connect("http://www.homebase.co.uk/en/homebaseuk/black--decker-ni-cad-cordless-drill-driver---18v-623805").get();
  176. Element element = document.select("#offerPrice_262795").first();
  177. ben = element.text();
  178.  
  179.  
  180. } catch (Exception e) {
  181.  
  182. }
  183. return null;
  184. }
  185.  
  186.  
  187. @Override
  188. protected void onPostExecute(Void aVoid) {
  189. super.onPostExecute(aVoid);
  190. dialog.dismiss();
  191. Log.d("anything selected?", ben);
  192. System.out.println(ben);
  193. }
  194.  
  195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement