Advertisement
javajavajava

Untitled

Dec 18th, 2013
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.81 KB | None | 0 0
  1.  
  2. /**
  3. * The Activity can retrieve Videos for a specific username from YouTube</br> It
  4. * then displays them into a list including the Thumbnail preview and the
  5. * title</br> There is a reference to each video on YouTube as well but this
  6. * isn't used in this tutorial</br> </br> <b>Note<b/> orientation change isn't
  7. * covered in this tutorial, you will want to override onSaveInstanceState() and
  8. * onRestoreInstanceState() when you come to this </br>
  9. *
  10. */
  11. public class Home extends YouTubeBaseActivity implements
  12.  
  13. VideoClickListener {
  14.  
  15. private VideosListView listView;
  16. private ActionBarDrawerToggle actionBarDrawerToggle;
  17. public static final String API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
  18. public static final String VIDEO_ID = "o7VVHhK9zf0";
  19. private int mCurrentTabPosition = NO_CURRENT_POSITION;
  20. private static final int NO_CURRENT_POSITION = -1;
  21. private DrawerLayout drawerLayout;
  22. private ListView drawerListView;
  23. private String[] drawerListViewItems;
  24.  
  25. ScrollView mainScrollView;
  26. Button fav_up_btn1;
  27. Button fav_dwn_btn1;
  28. String TAG = "DEBUG THIS";
  29. String playlist = "eminemvevo";
  30. Activity activity;
  31. int imageArray[];
  32. String[] stringArray;
  33. String runPrevious = "No";
  34. private OnPageChangeListener mPageChangeListener;
  35. ImagePagerAdapter adapter = new ImagePagerAdapter();
  36.  
  37. @Override
  38. public void onCreate(Bundle savedInstanceState) {
  39. super.onCreate(savedInstanceState);
  40. setContentView(R.layout.home);
  41. final ActionBar actionBar = getActionBar();
  42. final ViewPager mPager = (ViewPager) findViewById(R.id.view_pager);
  43. adapter.notifyDataSetChanged();
  44. mPager.setAdapter(adapter);
  45. actionBar.setCustomView(R.layout.actionbar_custom_view_home);
  46. actionBar.setDisplayShowTitleEnabled(false);
  47. actionBar.setDisplayShowCustomEnabled(true);
  48. drawerListViewItems = getResources().getStringArray(R.array.items);
  49. drawerListView = (ListView) findViewById(R.id.left_drawer);
  50. drawerListView.setAdapter(new ArrayAdapter<String>(this,
  51. R.layout.drawer_listview_item, drawerListViewItems));
  52. mPager.setOnPageChangeListener(mPageChangeListener);
  53. drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
  54. actionBarDrawerToggle = new ActionBarDrawerToggle(this,
  55. drawerLayout,
  56. R.drawable.ic_drawer,
  57. R.string.drawer_open,
  58. R.string.drawer_close
  59. );
  60. drawerLayout.setDrawerListener(actionBarDrawerToggle);
  61.  
  62. getActionBar().setDisplayHomeAsUpEnabled(true);
  63. _initMenu();
  64. drawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
  65. GravityCompat.START);
  66.  
  67. listView = (VideosListView) findViewById(R.id.videosListView);
  68. listView.setOnVideoClickListener(this);
  69.  
  70. new GetYouTubeUserVideosTask(responseHandler, playlist).execute();
  71.  
  72. mPager.setOnPageChangeListener(new OnPageChangeListener() {
  73.  
  74. @Override
  75. public void onPageSelected(int pos) {
  76. String playlist1 = "themozartgroup";
  77. Log.d("PK", "**** onPageSelected");
  78. new GetYouTubeUserVideosTask(responseHandler, playlist1)
  79. .execute();
  80.  
  81. }
  82.  
  83. @Override
  84. public void onPageScrolled(int arg0, float arg1, int arg2) {
  85. Log.d("PK", "onPageScrolled");
  86. // TODO Auto-generated method stub
  87. }
  88.  
  89. @Override
  90. public void onPageScrollStateChanged(int pos) {
  91.  
  92. Log.d("PK", "onPageScrollStateChanged");
  93.  
  94. }
  95. });
  96.  
  97. mPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
  98.  
  99. @Override
  100. public void onPageSelected(int position) {
  101. onTabChanged(mPager.getAdapter(), mCurrentTabPosition, position);
  102. position = mCurrentTabPosition;
  103. int oldPos = mPager.getCurrentItem();
  104.  
  105. Log.d("PK", "Page selected");
  106.  
  107. if (position > oldPos) {
  108.  
  109. System.out.print(position);
  110. // Moving to the right
  111. String playlist = "TheMozARTGROUP‎";
  112. new GetYouTubeUserVideosTask(responseHandler, playlist)
  113. .execute();
  114.  
  115. } else if (position < oldPos) {
  116. // Moving to the Left
  117. System.out.print(position);
  118. String playlist = "TheMozARTGROUP‎";
  119. new GetYouTubeUserVideosTask(responseHandler, playlist)
  120. .execute();
  121.  
  122. }
  123. mPager.setOnPageChangeListener(mPageChangeListener);
  124. }
  125.  
  126. private void onTabChanged(PagerAdapter adapter,
  127. int mCurrentTabPosition, int position) {
  128.  
  129. Log.d("PK", "Tab changed");
  130. // TODO Auto-generated method stub
  131.  
  132. }
  133. };
  134. }
  135.  
  136. private class MyActivityGetYouTubeUserVideosTask extends
  137. GetYouTubeUserVideosTask {
  138. public MyActivityGetYouTubeUserVideosTask(Handler replyTo,
  139. String username) {
  140. super(replyTo, username);
  141. // TODO Auto-generated constructor stub
  142. }
  143.  
  144. @Override
  145. protected void onPostExecute(Void result) {
  146. if (result != null) {
  147. // TODO update your list data
  148. adapter.notifyDataSetChanged();
  149. }
  150.  
  151. }
  152. }
  153.  
  154. private void _initMenu() {
  155.  
  156. // drawerListView.setOnItemClickListener(new DrawerItemClickListener());
  157.  
  158. }
  159.  
  160. Handler responseHandler = new Handler() {
  161. @Override
  162. public void handleMessage(Message msg) {
  163. populateListWithVideos(msg);
  164. };
  165. };
  166.  
  167. private void populateListWithVideos(Message msg) {
  168. Library lib = (Library) msg.getData().get(
  169. GetYouTubeUserVideosTask.LIBRARY);
  170. listView.setVideos(lib.getVideos());
  171.  
  172. }
  173.  
  174. @Override
  175. protected void onStop() {
  176. responseHandler = null;
  177. super.onStop();
  178. }
  179.  
  180. @Override
  181. public void onVideoClicked(Video video) {
  182. Intent intent = new Intent(this, Player.class);
  183. intent.putExtra("id", video.getId());
  184. intent.putExtra("title", video.getTitle());
  185. intent.putExtra("uploader", video.getUploader());
  186. intent.putExtra("viewCount", video.getviewCount());
  187. startActivity(intent);
  188. }
  189.  
  190. @Override
  191. public void onConfigurationChanged(Configuration newConfig) {
  192. super.onConfigurationChanged(newConfig);
  193. actionBarDrawerToggle.onConfigurationChanged(newConfig);
  194. }
  195.  
  196. @Override
  197. public boolean onCreateOptionsMenu(Menu menu) {
  198. MenuInflater inflater = getMenuInflater();
  199. inflater.inflate(R.menu.main, menu);
  200. return super.onCreateOptionsMenu(menu);
  201. }
  202.  
  203. @Override
  204. public boolean onOptionsItemSelected(MenuItem item) {
  205.  
  206. if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
  207. return true;
  208. }
  209. return super.onOptionsItemSelected(item);
  210. }
  211.  
  212. private class ImagePagerAdapter extends PagerAdapter implements
  213. ViewPager.OnPageChangeListener {
  214. public ImagePagerAdapter(Activity act, int[] mImages,
  215. String[] stringArra) {
  216. imageArray = mImages;
  217. activity = act;
  218. stringArray = stringArra;
  219. }
  220.  
  221. public ImagePagerAdapter() {
  222. super();
  223.  
  224. }
  225.  
  226. private int[] mImages = new int[] { R.drawable.selstation_up_btn,
  227. R.drawable.classical_up_btn, R.drawable.country_up_btn,
  228. R.drawable.dance_up_btn, R.drawable.hiphop_up_btn,
  229. R.drawable.island_up_btn, R.drawable.latin_up_btn,
  230. R.drawable.pop_up_btn, R.drawable.samba_up_btn };
  231.  
  232. private String[] stringArray = new String[] { "vevo",
  233. "TheMozARTGROUP‎", "TimMcGrawVEVO‎", "TiestoVEVO‎",
  234. "EminemVEVO‎" };
  235.  
  236. @Override
  237. public int getCount() {
  238. return mImages.length;
  239. }
  240.  
  241. @Override
  242. public boolean isViewFromObject(View view, Object object) {
  243. return view == ((ImageView) object);
  244. }
  245.  
  246. @Override
  247. public Object instantiateItem(ViewGroup container, int position) {
  248. Context context = Home.this;
  249. ImageView imageView = new ImageView(context);
  250. imageView.setScaleType(ScaleType.FIT_XY);
  251. imageView.setImageResource(mImages[position]);
  252. container.addView(imageView);
  253.  
  254. TextView text = new TextView(container.getContext());
  255. text.setText(stringArray[position]);
  256. container.addView(text);
  257.  
  258.  
  259. return imageView;
  260. }
  261.  
  262. public void destroyItem(ViewGroup container, int position, Object object) {
  263. ((ViewPager) container).removeView((ImageView) object);
  264. }
  265.  
  266. private class DrawerItemClickListener implements
  267. ListView.OnItemClickListener {
  268.  
  269. @Override
  270. public void onItemClick(AdapterView parent, View view,
  271. int position, long id) {
  272.  
  273. Log.d("pk", "onItemClick");
  274. // Highlight the selected item, update the title, and close the
  275. // drawer
  276. // update selected item and title, then close the drawer
  277. drawerListView.setItemChecked(position, true);
  278. setTitle("......");
  279.  
  280. String text = "menu click... should be implemented";
  281. // Toast.makeText(Home.this, text, Toast.LENGTH_LONG).show();
  282. drawerLayout.closeDrawer(drawerListView);
  283.  
  284. }
  285.  
  286. }
  287.  
  288. @Override
  289. public void onPageScrollStateChanged(int arg0) {
  290. // TODO Auto-generated method stub
  291. Log.d("pk", "onPageScrollStateChanged");
  292. }
  293.  
  294. @Override
  295. public void onPageScrolled(int arg0, float arg1, int arg2) {
  296. // TODO Auto-generated method stub
  297. Log.d("pk", "onPageScrolled");
  298. }
  299.  
  300. @Override
  301. public void onPageSelected(int arg0) {
  302. // TODO Auto-generated method stub
  303. Log.d("pk", "onPageSelected");
  304. }
  305. }
  306. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement