// Path: src/com/nitindhar/kampr/adapters/UserPostsAdapter.java
// public class UserPostsAdapter<T> extends AbstractListAdapter<T> {
// 
//     public UserPostsAdapter(Context context, List<T> posts) {
//         super(context, posts);
//     }
// 
//     @Override
//     public View getView(int position, View convertView, ViewGroup parent) {
//         convertView = getConvertView(convertView, R.layout.user_post_item);
// 
//         final PostDecorator pd = (PostDecorator) objects.get(position);
// 
//         TextView postDate = (TextView) getViewHandle(convertView,
//                 R.id.user_post_item_date);
//         postDate.setText(TimeUtils.getPostDate(pd.getPost().getCreatedAt()));
// 
//         TextView postLikes = (TextView) getViewHandle(convertView,
//                 R.id.post_likes_count);
//         postLikes.setText(Integer.toString(pd.getPost().getLikeCount()));
// 
//         TextView postViews = (TextView) getViewHandle(convertView,
//                 R.id.post_views_count);
//         postViews.setText(Integer.toString(pd.getPost().getViewCount()));
// 
//         TextView postComments = (TextView) getViewHandle(convertView,
//                 R.id.post_comments_count);
//         postComments.setText(Integer.toString(pd.getPost().getCommentCount()));
// 
//         TextView postTitle = (TextView) getViewHandle(convertView,
//                 R.id.user_post_item_content);
//         postTitle.setText(pd.getPost().getTitle());
// 
//         TextView postDescription = (TextView) getViewHandle(convertView,
//                 R.id.user_post_item_description);
//         postDescription.setText(pd.getPost().getDescription().trim());
// 
//         OnClickListener onCountsClickListener = new OnClickListener() {
// 
//             @Override
//             public void onClick(View v) {
//                 View commentsFlyout = inflater.inflate(R.layout.comments_flyout, null);
//                 ListView comments = (ListView) commentsFlyout.findViewById(android.R.id.list);
//                 comments.setVerticalScrollBarEnabled(false);
//                 comments.setVerticalFadingEdgeEnabled(false);
//                 comments.setDivider(context.getResources().getDrawable(R.color.kampr_light_green));
//                 comments.setDividerHeight(1);
// 
//                 CommentsTask commentsTask = new CommentsTask(context, comments);
//                 commentsTask.execute(pd.getPost().getId());
// 
//                 AlertDialog.Builder builder = new AlertDialog.Builder(context);
//                 AlertDialog alert = builder.create();
//                 alert.setView(commentsFlyout);
//                 alert.show();
//             }
//         };
// 
//         RelativeLayout postItemCounts = (RelativeLayout) getViewHandle(convertView,
//                 R.id.user_post_item_counts);
//         if(pd.getPost().getCommentCount() > 0) {
//             postItemCounts.setOnClickListener(onCountsClickListener);
//         }
// 
//         convertView.setId(pd.getPost().getId());
// 
//         return convertView;
//     }
// 
//     public PostDecorator getViewObject(int position) {
//         return (PostDecorator) objects.get(position);
//     }
// 
// }
// 
// Path: src/com/nitindhar/kampr/models/PostDecorator.java
// @SuppressWarnings("serial")
// public class PostDecorator implements Serializable {
// 
//     private Post post;
//     private Future<Bitmap> userIconFuture;
//     private List<Future<Bitmap>> postSnapFutures;
// 
//     public Bitmap getUserIcon() {
//         Bitmap userIcon = null;
//         try {
//             userIcon = userIconFuture.get();
//         } catch (Exception e) {}
//         return userIcon;
//     }
// 
//     public Future<Bitmap> getUserIconFuture() {
//         return userIconFuture;
//     }
// 
//     public List<Bitmap> getPostSnaps() {
//         List<Bitmap> snaps = new ArrayList<Bitmap>();
//         for(Future<Bitmap> future : postSnapFutures) {
//             try {
//                 snaps.add(future.get());
//             } catch (Exception e) {}
//         }
//         return snaps;
//     }
// 
//     public List<Future<Bitmap>> getPostSnapFutures() {
//         return postSnapFutures;
//     }
// 
//     public void setUserIconFuture(Future<Bitmap> userIconFuture) {
//         this.userIconFuture = userIconFuture;
//     }
// 
//     public void setPostSnapFutures(List<Future<Bitmap>> postSnapFutures) {
//         this.postSnapFutures = postSnapFutures;
//     }
// 
//     public Post getPost() {
//         return post;
//     }
// 
//     public void setPost(Post post) {
//         this.post = post;
//     }
// 
// }
// 
// Path: src/com/nitindhar/kampr/util/ForrstUtil.java
// public class ForrstUtil {
// 
//     private static final ForrstAPI forrst = new ForrstAPIClient(HttpProvider.JAVA_NET);
// 
//     public static ForrstAPI client() {
//         return forrst;
//     }
// 
// }


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import android.content.Context;
import android.os.AsyncTask;
import android.view.MenuItem;
import android.widget.ListView;
import com.nitindhar.forrst.model.Post;
import com.nitindhar.kampr.adapters.UserPostsAdapter;
import com.nitindhar.kampr.models.PostDecorator;
import com.nitindhar.kampr.util.ForrstUtil;
package com.nitindhar.kampr.async;




public class UserPostsTask extends
        AsyncTask<Integer, Integer, List<PostDecorator>> {

    private static final ExecutorService executor = Executors
            .newFixedThreadPool(10);

    private final Context context;
    private final ListView userPosts;
    private final List<PostDecorator> listOfPosts;

// Path: src/com/nitindhar/kampr/adapters/UserPostsAdapter.java
// public class UserPostsAdapter<T> extends AbstractListAdapter<T> {
// 
//     public UserPostsAdapter(Context context, List<T> posts) {
//         super(context, posts);
//     }
// 
//     @Override
//     public View getView(int position, View convertView, ViewGroup parent) {
//         convertView = getConvertView(convertView, R.layout.user_post_item);
// 
//         final PostDecorator pd = (PostDecorator) objects.get(position);
// 
//         TextView postDate = (TextView) getViewHandle(convertView,
//                 R.id.user_post_item_date);
//         postDate.setText(TimeUtils.getPostDate(pd.getPost().getCreatedAt()));
// 
//         TextView postLikes = (TextView) getViewHandle(convertView,
//                 R.id.post_likes_count);
//         postLikes.setText(Integer.toString(pd.getPost().getLikeCount()));
// 
//         TextView postViews = (TextView) getViewHandle(convertView,
//                 R.id.post_views_count);
//         postViews.setText(Integer.toString(pd.getPost().getViewCount()));
// 
//         TextView postComments = (TextView) getViewHandle(convertView,
//                 R.id.post_comments_count);
//         postComments.setText(Integer.toString(pd.getPost().getCommentCount()));
// 
//         TextView postTitle = (TextView) getViewHandle(convertView,
//                 R.id.user_post_item_content);
//         postTitle.setText(pd.getPost().getTitle());
// 
//         TextView postDescription = (TextView) getViewHandle(convertView,
//                 R.id.user_post_item_description);
//         postDescription.setText(pd.getPost().getDescription().trim());
// 
//         OnClickListener onCountsClickListener = new OnClickListener() {
// 
//             @Override
//             public void onClick(View v) {
//                 View commentsFlyout = inflater.inflate(R.layout.comments_flyout, null);
//                 ListView comments = (ListView) commentsFlyout.findViewById(android.R.id.list);
//                 comments.setVerticalScrollBarEnabled(false);
//                 comments.setVerticalFadingEdgeEnabled(false);
//                 comments.setDivider(context.getResources().getDrawable(R.color.kampr_light_green));
//                 comments.setDividerHeight(1);
// 
//                 CommentsTask commentsTask = new CommentsTask(context, comments);
//                 commentsTask.execute(pd.getPost().getId());
// 
//                 AlertDialog.Builder builder = new AlertDialog.Builder(context);
//                 AlertDialog alert = builder.create();
//                 alert.setView(commentsFlyout);
//                 alert.show();
//             }
//         };
// 
//         RelativeLayout postItemCounts = (RelativeLayout) getViewHandle(convertView,
//                 R.id.user_post_item_counts);
//         if(pd.getPost().getCommentCount() > 0) {
//             postItemCounts.setOnClickListener(onCountsClickListener);
//         }
// 
//         convertView.setId(pd.getPost().getId());
// 
//         return convertView;
//     }
// 
//     public PostDecorator getViewObject(int position) {
//         return (PostDecorator) objects.get(position);
//     }
// 
// }
// 
// Path: src/com/nitindhar/kampr/models/PostDecorator.java
// @SuppressWarnings("serial")
// public class PostDecorator implements Serializable {
// 
//     private Post post;
//     private Future<Bitmap> userIconFuture;
//     private List<Future<Bitmap>> postSnapFutures;
// 
//     public Bitmap getUserIcon() {
//         Bitmap userIcon = null;
//         try {
//             userIcon = userIconFuture.get();
//         } catch (Exception e) {}
//         return userIcon;
//     }
// 
//     public Future<Bitmap> getUserIconFuture() {
//         return userIconFuture;
//     }
// 
//     public List<Bitmap> getPostSnaps() {
//         List<Bitmap> snaps = new ArrayList<Bitmap>();
//         for(Future<Bitmap> future : postSnapFutures) {
//             try {
//                 snaps.add(future.get());
//             } catch (Exception e) {}
//         }
//         return snaps;
//     }
// 
//     public List<Future<Bitmap>> getPostSnapFutures() {
//         return postSnapFutures;
//     }
// 
//     public void setUserIconFuture(Future<Bitmap> userIconFuture) {
//         this.userIconFuture = userIconFuture;
//     }
// 
//     public void setPostSnapFutures(List<Future<Bitmap>> postSnapFutures) {
//         this.postSnapFutures = postSnapFutures;
//     }
// 
//     public Post getPost() {
//         return post;
//     }
// 
//     public void setPost(Post post) {
//         this.post = post;
//     }
// 
// }
// 
// Path: src/com/nitindhar/kampr/util/ForrstUtil.java
// public class ForrstUtil {
// 
//     private static final ForrstAPI forrst = new ForrstAPIClient(HttpProvider.JAVA_NET);
// 
//     public static ForrstAPI client() {
//         return forrst;
//     }
// 
// }


// Path: src/com/nitindhar/kampr/async/UserPostsTask.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import android.content.Context;
import android.os.AsyncTask;
import android.view.MenuItem;
import android.widget.ListView;
import com.nitindhar.forrst.model.Post;
import com.nitindhar.kampr.adapters.UserPostsAdapter;
import com.nitindhar.kampr.models.PostDecorator;
import com.nitindhar.kampr.util.ForrstUtil;

package com.nitindhar.kampr.async;




public class UserPostsTask extends
        AsyncTask<Integer, Integer, List<PostDecorator>> {

    private static final ExecutorService executor = Executors
            .newFixedThreadPool(10);

    private final Context context;
    private final ListView userPosts;
    private final List<PostDecorator> listOfPosts;

    private UserPostsAdapter<PostDecorator> userPostsAdapter;