Advertisement
javajavajava

Untitled

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