Advertisement
javajavajava

Untitled

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