Advertisement
javajavajava

Untitled

Dec 18th, 2013
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. private String[] stringArray = new String[] { "vevo", "TheMozARTGROUP‎", "TimMcGrawVEVO‎", "TiestoVEVO‎", "EminemVEVO‎" };
  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. if(playlist!=null){
  116. new GetYouTubeUserVideosTask(responseHandler, playlist1)
  117. .execute();
  118.  
  119. }
  120. }
  121. @Override
  122. public void onPageScrolled(int arg0, float arg1, int arg2) {
  123.  
  124. }
  125.  
  126. @Override
  127. public void onPageScrollStateChanged(int pos) {
  128.  
  129. }
  130. });
  131.  
  132. mPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
  133.  
  134. @Override
  135. public void onPageSelected(int position) {
  136. onTabChanged(mPager.getAdapter(), mCurrentTabPosition, position);
  137. position = mCurrentTabPosition;
  138. int oldPos = mPager.getCurrentItem();
  139.  
  140. Log.d("PK", "Page selected");
  141.  
  142. if (position > oldPos) {
  143.  
  144. System.out.print(position);
  145. // Moving to the right
  146. String playlist = "TheMozARTGROUP‎";
  147. new GetYouTubeUserVideosTask(responseHandler, playlist)
  148. .execute();
  149.  
  150. } else if (position < oldPos) {
  151. // Moving to the Left
  152. System.out.print(position);
  153. String playlist = "TheMozARTGROUP‎";
  154. new GetYouTubeUserVideosTask(responseHandler, playlist)
  155. .execute();
  156.  
  157. }
  158. // mPager.setOnPageChangeListener(mPageChangeListener);
  159. }
  160.  
  161. private void onTabChanged(PagerAdapter adapter,
  162. int mCurrentTabPosition, int position) {
  163.  
  164. Log.d("PK", "Tab changed");
  165. // TODO Auto-generated method stub
  166.  
  167. }
  168. };
  169. }
  170.  
  171. private class MyActivityGetYouTubeUserVideosTask extends
  172. GetYouTubeUserVideosTask {
  173. public MyActivityGetYouTubeUserVideosTask(Handler replyTo,
  174. String username) {
  175. super(replyTo, username);
  176. // TODO Auto-generated constructor stub
  177. }
  178.  
  179. @Override
  180. protected void onPostExecute(Void result) {
  181. if (result != null) {
  182. // TODO update your list data
  183. adapter.notifyDataSetChanged();
  184. }
  185.  
  186. }
  187. }
  188.  
  189. private void _initMenu() {
  190.  
  191. // drawerListView.setOnItemClickListener(new DrawerItemClickListener());
  192.  
  193. }
  194.  
  195. Handler responseHandler = new Handler() {
  196. @Override
  197. public void handleMessage(Message msg) {
  198. populateListWithVideos(msg);
  199. };
  200. };
  201.  
  202. private void populateListWithVideos(Message msg) {
  203. Library lib = (Library) msg.getData().get(
  204. GetYouTubeUserVideosTask.LIBRARY);
  205. listView.setVideos(lib.getVideos());
  206.  
  207. }
  208.  
  209. @Override
  210. protected void onStop() {
  211. responseHandler = null;
  212. super.onStop();
  213. }
  214.  
  215. @Override
  216. public void onVideoClicked(Video video) {
  217. Intent intent = new Intent(this, Player.class);
  218. intent.putExtra("id", video.getId());
  219. intent.putExtra("title", video.getTitle());
  220. intent.putExtra("uploader", video.getUploader());
  221. intent.putExtra("viewCount", video.getviewCount());
  222. startActivity(intent);
  223. }
  224.  
  225. @Override
  226. public void onConfigurationChanged(Configuration newConfig) {
  227. super.onConfigurationChanged(newConfig);
  228. actionBarDrawerToggle.onConfigurationChanged(newConfig);
  229. }
  230.  
  231. @Override
  232. public boolean onCreateOptionsMenu(Menu menu) {
  233. MenuInflater inflater = getMenuInflater();
  234. inflater.inflate(R.menu.main, menu);
  235. return super.onCreateOptionsMenu(menu);
  236. }
  237.  
  238. @Override
  239. public boolean onOptionsItemSelected(MenuItem item) {
  240.  
  241. if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
  242. return true;
  243. }
  244. return super.onOptionsItemSelected(item);
  245. }
  246.  
  247. private class ImagePagerAdapter extends PagerAdapter implements
  248. ViewPager.OnPageChangeListener {
  249. public ImagePagerAdapter(Activity act, int[] mImages,
  250. String[] stringArra) {
  251. imageArray = mImages;
  252. activity = act;
  253. setStringArray(stringArra);
  254. }
  255.  
  256. public ImagePagerAdapter() {
  257. super();
  258.  
  259. }
  260.  
  261. private int[] mImages = new int[] { R.drawable.selstation_up_btn,
  262. R.drawable.classical_up_btn, R.drawable.country_up_btn,
  263. R.drawable.dance_up_btn, R.drawable.hiphop_up_btn,
  264. R.drawable.island_up_btn, R.drawable.latin_up_btn,
  265. R.drawable.pop_up_btn, R.drawable.samba_up_btn };
  266.  
  267.  
  268. @Override
  269. public int getCount() {
  270. return mImages.length;
  271. }
  272.  
  273. @Override
  274. public boolean isViewFromObject(View view, Object object) {
  275. return view == ((ImageView) object);
  276. }
  277.  
  278. @Override
  279. public Object instantiateItem(ViewGroup container, int position) {
  280. Context context = Home.this;
  281. ImageView imageView = new ImageView(context);
  282. imageView.setScaleType(ScaleType.FIT_XY);
  283. imageView.setImageResource(mImages[position]);
  284. ((ViewPager) container).addView(imageView, 0);
  285. return imageView;
  286. }
  287.  
  288. public void destroyItem(ViewGroup container, int position, Object object) {
  289. ((ViewPager) container).removeView((ImageView) object);
  290. }
  291.  
  292. private class DrawerItemClickListener implements
  293. ListView.OnItemClickListener {
  294.  
  295. @Override
  296. public void onItemClick(AdapterView parent, View view,
  297. int position, long id) {
  298.  
  299. Log.d("pk", "onItemClick");
  300. // Highlight the selected item, update the title, and close the
  301. // drawer
  302. // update selected item and title, then close the drawer
  303. drawerListView.setItemChecked(position, true);
  304. setTitle("......");
  305.  
  306. String text = "menu click... should be implemented";
  307. // Toast.makeText(Home.this, text, Toast.LENGTH_LONG).show();
  308. drawerLayout.closeDrawer(drawerListView);
  309.  
  310. }
  311.  
  312. }
  313.  
  314. // private String[] stringArray = new String[] { "vevo",
  315. // "TheMozARTGROUP‎", "TimMcGrawVEVO‎", "TiestoVEVO‎",
  316. // "EminemVEVO‎" };
  317.  
  318. @Override
  319. public void onPageScrollStateChanged(int arg0) {
  320. // TODO Auto-generated method stub
  321. Log.d("pk", "onPageScrollStateChanged");
  322. }
  323.  
  324. @Override
  325. public void onPageScrolled(int arg0, float arg1, int arg2) {
  326. // TODO Auto-generated method stub
  327. Log.d("pk", "onPageScrolled");
  328. }
  329.  
  330. @Override
  331. public void onPageSelected(int arg0) {
  332. // TODO Auto-generated method stub
  333. Log.d("pk", "onPageSelected");
  334. }
  335.  
  336. public String[] getStringArray() {
  337. return stringArray;
  338. }
  339.  
  340. public void setStringArray(String[] stringArray) {
  341. // this.stringArray = stringArray;
  342. }
  343. }
  344. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement