Advertisement
Guest User

Post Draft Picks to Twitter

a guest
Sep 16th, 2014
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.42 KB | None | 0 0
  1. @Override
  2.     public void onActivityCreated(final Bundle savedInstanceState) {
  3.         super.onCreate(savedInstanceState);
  4.         String mLeagueId = getArguments().getString(FANTASY_LEAGUE_ID);
  5.         mContext = getActivity().getApplicationContext();
  6.         mLeague = FantasyLeague.find(mContext, mLeagueId);
  7.         mPosition = getArguments().getString(POSITION);
  8.         mFreeAgents = mLeague.free_agents_by_position(mPosition);
  9.         mOriginalFreeAgents = new ArrayList<Player>(mFreeAgents);
  10.         mUserCanDraft = mLeague.isMyTeamOnTheClock(mContext);
  11.  
  12.         setEmptyText("No free agents available at this position.");
  13.  
  14.         // Check if Twitter app is on the phone.
  15.         final boolean twitterInstalled = appInstalledOrNot("com.twitter.android");
  16.  
  17.         if(mFreeAgents!= null) {
  18.  
  19.             // Sort the free agents by season point projections.
  20.             Collections.sort(mFreeAgents, new Comparator<Player>() {
  21.                 @Override
  22.                 public int compare(Player player, Player player2) {
  23.                     return player.getSeasonProjection().getPoints() > player2.getSeasonProjection().getPoints() ? -1 :
  24.                             player.getSeasonProjection().getPoints() < player2.getSeasonProjection().getPoints() ? 1 : 0;
  25.                 }
  26.             });
  27.             /**
  28.              * Set the list adapter to handle and display the free agents
  29.              * in this ListFragment.
  30.              */
  31.             mListAdapter = new BaseAdapter() {
  32.  
  33.                 public int getCount() {
  34.                     return mFreeAgents.size();
  35.                 }
  36.  
  37.                 public Object getItem(int position) {
  38.                     return mFreeAgents.get(position);
  39.                 }
  40.  
  41.                 public long getItemId(int position) {
  42.                     return position;
  43.                 }
  44.  
  45.                 // Set the player name in the TextView for each row.
  46.                 @Override
  47.                 public View getView(int position, View convertView, ViewGroup parent) {
  48.                     ViewHolder holder;
  49.                     final Player player = mFreeAgents.get(position);
  50.  
  51.                     if (convertView == null) {
  52.                         holder = new ViewHolder();
  53.                         LayoutInflater inflater = getLayoutInflater(savedInstanceState);
  54.                         convertView = inflater.inflate(R.layout.in_draft_player_list_row, null);
  55.                         holder.playerName = (TextView) convertView.findViewById(R.id.playerName);
  56.                         holder.positionTeamName = (TextView) convertView.findViewById(R.id.positionTeamName);
  57.                         holder.projectionLabel = (TextView) convertView.findViewById(R.id.projectionLabel);
  58.                         holder.projectionNumber = (TextView) convertView.findViewById(R.id.projectionNumber);
  59.                         holder.draftButton = (Button) convertView.findViewById(R.id.draft_button);
  60.  
  61.                         convertView.setTag(holder);
  62.                     } else {
  63.                         holder = (ViewHolder) convertView.getTag();
  64.                     }
  65.                     holder.playerName.setText(player.getFirstName() + " " + player.getLastName());
  66.                     holder.positionTeamName.setText(player.getPosition() + " - " + player.getTeamName());
  67.                     holder.projectionLabel.setText("Proj: ");
  68.                     DecimalFormat decimalFormat = new DecimalFormat("0.0");
  69.                     holder.projectionNumber.setText(String.valueOf(decimalFormat.format(player.getSeasonProjection().getPoints())));
  70.  
  71.                     // Show the draft button if the user can draft. If not, hide it.
  72.                     if (mUserCanDraft) {
  73.                         holder.draftButton.setVisibility(View.VISIBLE);
  74.                     } else {
  75.                         holder.draftButton.setVisibility(View.GONE);
  76.                     }
  77.  
  78.                     // Handle a Draft button click.
  79.                     holder.draftButton.setOnClickListener(new View.OnClickListener() {
  80.                         @Override
  81.                         public void onClick(final View view) {
  82.  
  83.                             /**
  84.                              * Show the Twitter share toggle, if it is installed on the user's phone.
  85.                              */
  86.                             if(twitterInstalled) {
  87.                                 View draftDialogView = View.inflate(view.getContext(), R.layout.toggle_draft_pick_share, null);
  88.                                 final Switch toggleButton = (Switch) draftDialogView.findViewById(R.id.ToggleButton);
  89.  
  90.                                 /**
  91.                                  * Set the last-picked share action from the user, if they have previously
  92.                                  * chosen not to share. Otherwise, it defaults to enabled.
  93.                                  */
  94.                                 if (SharedPreferencesHelper.getData(view.getContext(), Constants.TWITTER_TOGGLE_KEY, null) != null) {
  95.                                     if (SharedPreferencesHelper.getData(view.getContext(), Constants.TWITTER_TOGGLE_KEY, null).equals("false")) {
  96.                                         toggleButton.setChecked(false);
  97.                                     }
  98.                                 }
  99.  
  100.                                 new CustomAlertDialog(getActivity())
  101.                                         .setTitle("Draft")
  102.                                         .setTitleColor(getResources().getString(R.color.apptheme))
  103.                                         .setMessage("Are you sure you want to draft " + player.getFirstName() + " " + player.getLastName() + " to your team?")
  104.                                         .setCustomView(draftDialogView, getActivity())
  105.                                         .setIcon(R.drawable.social_add_person)
  106.                                         .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
  107.                                             public void onClick(DialogInterface dialog, int whichButton) {
  108.  
  109.                                                 // Save the drafted player for use in the Twitter intent.
  110.                                                 mDraftedPlayer = player;
  111.  
  112.                                                 // Save the state of the Tweet toggle state to shared preferences.
  113.                                                 if (toggleButton.isChecked()) {
  114.                                                     SharedPreferencesHelper.saveData(view.getContext(), Constants.TWITTER_TOGGLE_KEY, "true");
  115.                                                 } else {
  116.                                                     SharedPreferencesHelper.saveData(view.getContext(), Constants.TWITTER_TOGGLE_KEY, "false");
  117.                                                 }
  118.  
  119.                                                 // Start the draft player task.
  120.                                                 mDraftPlayerTask = new DraftPlayerTask();
  121.                                                 mDraftPlayerTask.execute(player);
  122.                                             }
  123.                                         })
  124.                                         .setNegativeButton(android.R.string.cancel, null).show();
  125.                             } else {
  126.  
  127.  
  128.                                 // Show the draft dialog without the share option.
  129.                                 new CustomAlertDialog(getActivity())
  130.                                     .setTitle("Draft")
  131.                                     .setTitleColor(getResources().getString(R.color.apptheme))
  132.                                     .setMessage("Are you sure you want to draft " + player.getFirstName() + " " + player.getLastName() + " to your team?")
  133.                                     .setIcon(R.drawable.social_add_person)
  134.                                     .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
  135.                                         public void onClick(DialogInterface dialog, int whichButton) {
  136.                                             mDraftPlayerTask = new DraftPlayerTask();
  137.                                             mDraftPlayerTask.execute(player);
  138.                                             mDraftedPlayer = player;
  139.                                         }
  140.                                     })
  141.                                     .setNegativeButton(android.R.string.cancel, null).show();
  142.                             }
  143.                         }
  144.                     });
  145.  
  146.                     // Set the background selector.
  147.                     // setBackground() is only available in API 16 and up!
  148.                     if (Build.VERSION.SDK_INT >= 16) {
  149.                         convertView.setBackground(convertView.getContext().getResources().getDrawable(R.drawable.cell_selector));
  150.                     } else {
  151.                         convertView.setBackgroundDrawable(convertView.getContext().getResources().getDrawable(R.drawable.cell_selector));
  152.                     }
  153.  
  154.                     return convertView;
  155.                 }
  156.  
  157.                 class ViewHolder {
  158.                     TextView playerName;
  159.                     TextView positionTeamName;
  160.                     TextView projectionLabel;
  161.                     TextView projectionNumber;
  162.                     Button draftButton;
  163.                 }
  164.             };
  165.             setListAdapter(mListAdapter);
  166.         }
  167.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement