Advertisement
javajavajava

Untitled

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