ListPM.java :  » Chat-Messenger » sofurry-android-app » com » sofurry » list » Android Open Source

Android Open Source » Chat Messenger » sofurry android app 
sofurry android app » com » sofurry » list » ListPM.java
package com.sofurry.list;

import android.content.Context;
import android.content.Intent;

import android.util.Log;

import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

import android.widget.BaseAdapter;

import com.sofurry.AppConstants;
import com.sofurry.R;
import com.sofurry.base.classes.AbstractContentList;
import com.sofurry.itemviews.ViewPMActivity;
import com.sofurry.listadapters.PrivateMessageAdapter;
import com.sofurry.model.PrivateMessage;
import com.sofurry.requests.AjaxRequest;
import com.sofurry.submits.SendPMActivity;

import org.json.JSONArray;
import org.json.JSONObject;


//~--- classes ----------------------------------------------------------------

/**
 * Class description
 *
 *
 * @author SoFurry
 */
public class ListPM
        extends AbstractContentList<PrivateMessage> {

    /**
     * Suppresses the default options menu, and replaces it with one that makes
     * more sense for this context.
     *
     *
     * @param menu
     *
     * @return
     */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();

        inflater.inflate(R.menu.listpmmenu, menu);

        return true;
    }

    /**
     * Method description
     *
     *
     * @param item
     *
     * @return
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Intent intent;

        switch (item.getItemId()) {
            case R.id.compose:
                intent = new Intent(this, SendPMActivity.class);

                startActivity(intent);

                return true;

            default:
                return super.onOptionsItemSelected(item);
        }
    }

    /**
     * Parses the Response for private messages
     *
     *
     * @param obj
     */
    @Override
    public void parseResponse(JSONObject obj) {
        try {
            JSONArray items = new JSONArray(obj.getString("items"));

            for (int i = 0; i < items.length(); i++) {
                PrivateMessage m = new PrivateMessage();

                m.populate(items.getJSONObject(i));
                man.getResultList().add(m);

                // man.getPageIDs().add("" + m.getId());
            }
        } catch (Exception e) {
            man.onError(-1, e);
        }
    }

    /**
     * Method description
     *
     *
     * @param newViewSource
     */
    public void resetViewSourceExtra(int newViewSource) {}

    //~--- get methods --------------------------------------------------------

    /**
     * Method description
     *
     *
     * @param context
     *
     * @return
     */
    @Override
    public BaseAdapter getAdapter(Context context) {
        return new PrivateMessageAdapter(context, R.layout.listitemtwolineicon, man.getResultList());
    }

    /**
     * Method description
     *
     *
     * @param page
     * @param source
     *
     * @return
     */
    @Override
    public AjaxRequest getFetchParameters(int page, int source) {
        AjaxRequest req = new AjaxRequest();

        req.addParameter("f", "pm");
        req.addParameter("page", "" + page);
    req.addParameter("entriesPerPage", "" + AppConstants.ENTRIESPERPAGE_LIST);

        return req;
    }

    //~--- set methods --------------------------------------------------------

    /**
     * Method description
     *
     *
     * @param selectedIndex
     */
    @Override
    public void setSelectedIndex(int selectedIndex) {
        PrivateMessage pm = getDataItem(selectedIndex);

        // int pageID = Integer.parseInt(man.getPageIDs().get(selectedIndex));
        Log.i(AppConstants.TAG_STRING, "ListPM: Viewing PM ID: " + pm.getId());

        Intent intent = new Intent(this, ViewPMActivity.class);
       
        intent.putExtra("PMID", pm.getId());
        
        startActivity(intent);

        if ((AppConstants.PM_STATUS_NEW+"").equals(pm.getStatus())) {
          pm.setStatus(""+AppConstants.PM_STATUS_READ);
          updateView();
        }
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.