Advertisement
Guest User

Untitled

a guest
Apr 19th, 2014
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.62 KB | None | 0 0
  1. package com.example.myapplication;
  2. import android.app.Application;
  3. import android.graphics.Bitmap;
  4. import android.support.v4.util.LruCache;
  5. import android.text.TextUtils;
  6. import com.android.volley.Request;
  7. import com.android.volley.RequestQueue;
  8. import com.android.volley.VolleyLog;
  9. import com.android.volley.toolbox.ImageLoader;
  10. import com.android.volley.toolbox.Volley;
  11. import java.util.ArrayList;
  12. import API.BitmapLruCache;
  13. import Helpers.Calendar;
  14. import Helpers.Dates;
  15. public class ApplicationController extends Application
  16. {
  17.  
  18. /**
  19. * Log or request TAG
  20. */
  21. public static final String TAG = "VolleyPatterns";
  22.  
  23. /**
  24. * Global request queue for Volley
  25. */
  26. private RequestQueue mRequestQueue;
  27. private ImageLoader mImageLoader;
  28.  
  29. /**
  30. * A singleton instance of the application class for easy access in other places
  31. */
  32. private static ApplicationController sInstance;
  33. ArrayList<Dates> group;
  34.  
  35. @Override
  36. public void onCreate() {
  37.  
  38.  
  39. // initialize the singleton
  40. sInstance = this;
  41. System.out.println("the value is sinstance is "+sInstance);
  42. super.onCreate();
  43. }
  44.  
  45. /**
  46. * @return ApplicationController singleton instance
  47. */
  48. public static synchronized ApplicationController getInstance()
  49. {
  50.  
  51. return sInstance;
  52.  
  53. }
  54. public void setcalendar()
  55. {
  56. Calendar ob = new Calendar();
  57. group=ob.computemaxdays(12, 2015);
  58. }
  59.  
  60. public ArrayList<Dates> getcalendar()
  61. {
  62. return group;
  63. }
  64. /**
  65. * @return The Volley Request queue, the queue will be created if it is null
  66. */
  67. public RequestQueue getRequestQueue() {
  68. // lazy initialize the request queue, the queue instance will be
  69. // created when it is accessed for the first time
  70. if (mRequestQueue == null) {
  71. System.out.println("insdie null");
  72. mRequestQueue = Volley.newRequestQueue(getApplicationContext());
  73. }
  74.  
  75. return mRequestQueue;
  76. }
  77. public ImageLoader getmImageLoader() {
  78. // lazy initialize the request queue, the queue instance will be
  79. // created when it is accessed for the first time
  80. if (mImageLoader == null) {
  81. System.out.println("insdie null");
  82. mImageLoader = new ImageLoader(this.mRequestQueue, new BitmapLruCache())
  83. }
  84.  
  85. /**
  86. * Adds the specified request to the global queue, if tag is specified
  87. * then it is used else Default TAG is used.
  88. *
  89. * @param req
  90. * @param tag
  91. */
  92. public <T> void addToRequestQueue(Request<T> req, String tag) {
  93. // set the default tag if tag is empty
  94. req.setTag(TextUtils.isEmpty(tag) ? TAG : tag);
  95.  
  96. VolleyLog.d("Adding request to queue: %s", req.getUrl());
  97.  
  98. getRequestQueue().add(req);
  99. }
  100. /**
  101. * Adds the specified request to the global queue using the Default TAG.
  102. *
  103. * @param req
  104. */
  105.  
  106.  
  107.  
  108. public <T> void addToRequestQueue(Request<T> req) {
  109. // set the default tag if tag is empty
  110. VolleyLog.d("Adding request to queue: %s", req.getUrl());
  111. req.setTag(TAG);
  112.  
  113. getRequestQueue().add(req);
  114. }
  115.  
  116. /**
  117. * Cancels all pending requests by the specified TAG, it is important
  118. * to specify a TAG so that the pending/ongoing requests can be cancelled.
  119. *
  120. * @param tag
  121. */
  122. public void cancelPendingRequests(Object tag) {
  123. if (mRequestQueue != null)
  124. {
  125. mRequestQueue.cancelAll(tag);
  126. }
  127. }
  128.  
  129. public class BitmapLruCache extends LruCache<String, Bitmap> implements ImageLoader.ImageCache
  130.  
  131.  
  132.  
  133. {
  134.  
  135.  
  136.  
  137. public static int getDefaultLruCacheSize() {
  138. final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
  139. final int cacheSize = maxMemory / 8;
  140.  
  141. return cacheSize;
  142. }
  143.  
  144. public BitmapLruCache() {
  145. this(getDefaultLruCacheSize());
  146. }
  147.  
  148. public BitmapLruCache(int sizeInKiloBytes) {
  149. super(sizeInKiloBytes);
  150. }
  151.  
  152. @Override
  153. protected int sizeOf(String key, Bitmap value) {
  154. return value.getRowBytes() * value.getHeight() / 1024;
  155. }
  156.  
  157. @Override
  158. public Bitmap getBitmap(String url) {
  159. return get(url);
  160. }
  161.  
  162. @Override
  163. public void putBitmap(String url, Bitmap bitmap) {
  164. put(url, bitmap);
  165. }
  166. }
  167.  
  168. import android.app.Activity;
  169. import android.content.Intent;
  170. import android.os.Bundle;
  171. import android.support.v4.app.FragmentActivity;
  172. import android.support.v4.view.ViewPager;
  173. import android.view.View;
  174. import android.view.ViewGroup;
  175. import android.widget.AdapterView;
  176. import android.widget.Button;
  177. import android.widget.TextView;
  178. import com.android.volley.Request;
  179. import com.android.volley.toolbox.ImageLoader;
  180. import com.android.volley.toolbox.NetworkImageView;
  181. import java.util.HashMap;
  182. import API.BitmapLruCache;
  183. import API.ConnectionManager;
  184. import API.JSONParser;
  185. import API.VolleyCall;
  186. import DataModel.ILP;
  187. import Helpers.ImagePagerAdapter;
  188. import Helpers.MyAdapter;
  189. import Helpers.MyadapterILP;
  190.  
  191. public class ILPActivity extends FragmentActivity
  192. {
  193.  
  194.  
  195. // ImageLoader mImageLoader = new ImageLoader(ApplicationController.getInstance().getRequestQueue(), new BitmapLruCache());
  196. HashMap<String,String> params = new HashMap<String, String>();
  197. String listing_id;
  198. ConnectionManager ob;
  199.  
  200.  
  201. @Override
  202. protected void onCreate(Bundle savedInstanceState)
  203. {
  204.  
  205. super.onCreate(savedInstanceState);
  206. Bundle extras = getIntent().getExtras();
  207. if (extras != null)
  208. {
  209. listing_id=extras.getString("listingid");
  210. }
  211.  
  212.  
  213. params.clear();
  214. params.put("client_id", "68724548-WPK34D9KEXEJ02DJ.api.v1.travelmob.com");
  215. params.put("listing_id",listing_id);
  216. ob = new ConnectionManager(params,getApplicationContext());
  217. ob.callvolley= new VolleyCall() {
  218. @Override
  219. public void onsuccess(JSONParser parser)
  220. {
  221. final ILP listing=parser.parseILPResponse(parser);
  222. try
  223. {
  224.  
  225. setContentView(R.layout.selection);
  226. TextView title = (TextView)findViewById(R.id.ilpltitle);
  227. title.setText(listing.getTitle());
  228. TextView desc = (TextView)findViewById(R.id.desc_value);
  229. desc.setText(listing.getDescription().toCharArray(),0,listing.getDescription().length()-1);
  230. NetworkImageView imageView= (NetworkImageView) findViewById(R.id.main_table);
  231. title = (TextView)findViewById(R.id.details_value);
  232. imageView.setImageUrl("http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=14&size=300x100&sensor=false", ApplicationController.getInstance().getmImageLoader());
  233. String tem= "Propertytype:"+listing.getProperty_type()+"t"+"Bedrooms:"+listing.getBedrooms()+"t"+"Roomtype:"+listing.getRoom_type()+"t"+"accommodates:"+listing.getAccomodates();
  234. title.setText(tem);
  235. NetworkImageView host_imageView= (NetworkImageView)findViewById(R.id.host_image);
  236. if(listing.getHost_imageurl()!=null)
  237. {
  238. System.out.println("the host image url is "+listing.getHost_imageurl());
  239. if(!listing.getHost_imageurl().contentEquals("null"))
  240. host_imageView.setImageUrl(listing.getHost_imageurl(),ApplicationController.getInstance().getmImageLoader());
  241. }
  242. System.out.println("before view pager ");
  243. System.out.println("the size is "+listing.getImagearray().size());
  244. ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
  245. viewPager.setOffscreenPageLimit(3);
  246. System.out.println("after size ");
  247. // ImagePagerAdapter adapter =new ImagePagerAdapter(ILPActivity.this,listing.getImagearray());
  248. MyadapterILP adapter= new MyadapterILP(getSupportFragmentManager(),ILPActivity.this,listing.getImagearray());
  249. viewPager.setAdapter(adapter);
  250.  
  251.  
  252.  
  253. System.out.println("after set adapter ");
  254. Button contact_host = (Button) findViewById(R.id.contact_host);
  255.  
  256.  
  257. contact_host.setOnClickListener(new View.OnClickListener()
  258.  
  259. {
  260. @Override
  261. public void onClick (View view)
  262. {
  263. Intent i = new Intent(ILPActivity.this, ContactMeActivity.class);
  264.  
  265. System.out.println("the listing id inside ILP activity" + listing_id);
  266. i.putExtra("listingid ", listing_id);
  267. i.putExtra("temp", listing_id);
  268. startActivityForResult(i, 1);
  269.  
  270.  
  271. }
  272. }
  273.  
  274. );
  275.  
  276.  
  277. }
  278. catch (Exception e)
  279. {
  280. System.out.println("exception"+e);
  281. }
  282.  
  283.  
  284. }
  285.  
  286. @Override
  287. public void onfailure()
  288. {
  289.  
  290. }
  291.  
  292. @Override
  293. public void noNetworkConnectivity() {
  294.  
  295. }
  296. };
  297. ob.makeapirequest(Request.URL.listing_url,getApplicationContext(),0);
  298. ob.addtoRequestqueue();
  299.  
  300.  
  301.  
  302.  
  303. }
  304.  
  305. protected void onActivityResult(int requestCode, int resultCode, Intent data)
  306. {
  307.  
  308. if (requestCode == 1)
  309. {
  310.  
  311. if(resultCode == RESULT_OK)
  312. {
  313.  
  314. }
  315. if (resultCode == RESULT_CANCELED)
  316. {
  317. //Write your code if there's no result
  318. }
  319. }
  320. }
  321.  
  322. public void gobacktoSearchActivity(View v)
  323. {
  324. finish();
  325. }
  326.  
  327.  
  328. protected void onDestroy()
  329. {
  330. super.onDestroy();
  331.  
  332. unbindDrawables(findViewById(R.id.view_pager));
  333. unbindDrawables(findViewById(R.id.main_table));
  334. unbindDrawables(findViewById(R.id.host_image));
  335.  
  336. }
  337. private void unbindDrawables(View view)
  338. {
  339. if (view.getBackground() != null)
  340. {
  341. view.getBackground().setCallback(null);
  342. }
  343. if (view instanceof ViewGroup && !(view instanceof AdapterView))
  344. {
  345. for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++)
  346. {
  347. unbindDrawables(((ViewGroup) view).getChildAt(i));
  348. }
  349. ((ViewGroup) view).removeAllViews();
  350. }
  351. }
  352.  
  353. public class MyadapterILP extends FragmentStatePagerAdapter
  354. {
  355.  
  356. int ITEMS;
  357.  
  358. Context context;
  359. private ArrayList<String> image_urls;
  360. public MyadapterILP(FragmentManager fragmentManager,Context context ,ArrayList<String> image_url)
  361. {
  362. super(fragmentManager);
  363. this.image_urls=image_url;
  364. this.context=context;
  365. ITEMS= image_url.size();
  366. }
  367.  
  368. @Override
  369. public int getCount() {
  370. return ITEMS;
  371. }
  372.  
  373. @Override
  374. public Fragment getItem(int position)
  375. {
  376.  
  377.  
  378.  
  379. return ImageFragment.init(position,image_urls.get(position),image_urls,context);
  380.  
  381.  
  382. }
  383.  
  384. }
  385.  
  386. public class ImageFragment extends Fragment {
  387. int fragVal;
  388.  
  389.  
  390. static ImageFragment init(int val ,String url , ArrayList<String> image_urls , Context context) {
  391. ImageFragment truitonFrag = new ImageFragment();
  392. // Supply val input as an argument.
  393.  
  394.  
  395. Bundle args = new Bundle();
  396. args.putInt("val", val);
  397. args.putString("url", url);
  398. args.putStringArrayList("image_urls", image_urls);
  399.  
  400. truitonFrag.setArguments(args);
  401.  
  402.  
  403. return truitonFrag;
  404. }
  405.  
  406. @Override
  407. public void onCreate(Bundle savedInstanceState) {
  408. super.onCreate(savedInstanceState);
  409. fragVal = getArguments() != null ? getArguments().getInt("val") : 1;
  410. }
  411.  
  412. @Override
  413. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  414. Bundle savedInstanceState)
  415. {
  416. View layoutView = inflater.inflate(R.layout.fragment_image, container,
  417. false);
  418. NetworkImageView imageView = (NetworkImageView) layoutView.findViewById(R.id.listing_image);
  419. imageView.setImageUrl(getArguments().getString("url"), ApplicationController.getInstance().getmImageLoader());
  420. imageView.setOnClickListener(new View.OnClickListener() {
  421. @Override
  422. public void onClick(View view) {
  423.  
  424. System.out.println("insdie image view click ");
  425.  
  426. Intent i = new Intent(getActivity(), ViewpagerActivity.class);
  427. i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  428. i.putStringArrayListExtra("imagearray",getArguments().getStringArrayList("image_urls"));
  429. getActivity().startActivity(i);
  430.  
  431. }
  432. });
  433.  
  434.  
  435.  
  436. return layoutView;
  437. }
  438.  
  439. public class ViewpagerActivity extends FragmentActivity
  440. {
  441.  
  442. ArrayList<String> image_urls = new ArrayList<String>();
  443. @Override
  444. public void onCreate(Bundle savedInstanceState)
  445. {
  446. super.onCreate(savedInstanceState);
  447.  
  448. setContentView(R.layout.ilp_fullimageview);
  449. Bundle extras = getIntent().getExtras();
  450. if (extras != null)
  451. {
  452. image_urls=extras.getStringArrayList("imagearray");
  453. }
  454.  
  455. ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager_fullimage);
  456. viewPager.setOffscreenPageLimit(3);
  457. // FullscreenImagePagerAdapter adapter =new FullscreenImagePagerAdapter(ViewpagerActivity.this,image_urls);
  458. MyAdapter adapter= new MyAdapter(getSupportFragmentManager(),ViewpagerActivity.this,image_urls);
  459. viewPager.setAdapter(adapter);
  460. }
  461. public void gobacktoPreviousActivity(View v)
  462. {
  463. System.out.println("inside go back to previous activity");
  464. finish();
  465.  
  466. }
  467.  
  468. @Override
  469. protected void onDestroy()
  470. {
  471. super.onDestroy();
  472.  
  473. unbindDrawables(findViewById(R.id.viewpager_fullimage));
  474.  
  475. }
  476. private void unbindDrawables(View view)
  477. {
  478. if (view.getBackground() != null)
  479. {
  480. view.getBackground().setCallback(null);
  481. }
  482. if (view instanceof ViewGroup && !(view instanceof AdapterView))
  483. {
  484. for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++)
  485. {
  486. unbindDrawables(((ViewGroup) view).getChildAt(i));
  487. }
  488. ((ViewGroup) view).removeAllViews();
  489. }
  490. }
  491.  
  492. public class MyAdapter extends FragmentStatePagerAdapter
  493. {
  494.  
  495. int ITEMS;
  496.  
  497. Context context;
  498. private ArrayList<String> image_urls;
  499. public MyAdapter(FragmentManager fragmentManager,Context context ,ArrayList<String> image_url)
  500. {
  501. super(fragmentManager);
  502. this.image_urls=image_url;
  503. this.context=context;
  504. ITEMS= image_url.size();
  505. }
  506.  
  507. @Override
  508. public int getCount() {
  509. return ITEMS;
  510. }
  511.  
  512. @Override
  513. public Fragment getItem(int position)
  514. {
  515.  
  516.  
  517.  
  518. return ILPImageFragment.init(position,image_urls.get(position));
  519.  
  520.  
  521. }
  522.  
  523. }
  524.  
  525. public class ILPImageFragment extends Fragment {
  526. int fragVal;
  527.  
  528. static ImageFragment init(int val ,String url) {
  529. ImageFragment truitonFrag = new ImageFragment();
  530. // Supply val input as an argument.
  531.  
  532.  
  533. Bundle args = new Bundle();
  534. args.putInt("val", val);
  535. args.putString("url",url);
  536. truitonFrag.setArguments(args);
  537.  
  538. return truitonFrag;
  539. }
  540.  
  541. @Override
  542. public void onCreate(Bundle savedInstanceState) {
  543. super.onCreate(savedInstanceState);
  544. fragVal = getArguments() != null ? getArguments().getInt("val") : 1;
  545. }
  546.  
  547. @Override
  548. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  549. Bundle savedInstanceState)
  550. {
  551. View layoutView = inflater.inflate(R.layout.fragment_image, container,
  552. false);
  553. NetworkImageView imageView = (NetworkImageView) layoutView.findViewById(R.id.listing_image);
  554. imageView.setImageUrl(getArguments().getString("url"), ApplicationController.getInstance().getmImageLoader());
  555.  
  556.  
  557.  
  558. return layoutView;
  559. }
  560.  
  561.  
  562.  
  563. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement