IssueList.java :  » App » openjira » org » alexdalton » jira » Android Open Source

Android Open Source » App » openjira 
openjira » org » alexdalton » jira » IssueList.java
package org.alexdalton.jira;

import java.util.ArrayList;

import org.alexdalton.jira.JiraConn.OnIssueListLoadedListener;
import org.alexdalton.jira.model.JiraIssue;

import android.app.ListActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ListView;
import android.widget.TextView;

public class IssueList extends ListActivity implements OnIssueListLoadedListener {
    private JiraApp app;
    private JiraConn conn;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.issuelist);

        app = JiraApp.get();
        conn = app.getCurrentConnection();

        String filter;
        String filterName;
        Intent intent = getIntent();

        if (intent == null || !intent.hasExtra("filter")) {
            finish();
            return;
        } else {
            filter = intent.getStringExtra("filter");
            filterName = intent.getStringExtra("filterName");
            TextView tv = (TextView) findViewById(R.id.filter);
            tv.setText(filterName);
        }

        if (filter != null) {
            findViewById(R.id.progress).setVisibility(View.VISIBLE);
            conn.getIssueListAsync(filter, this);
        } else if (conn.getIssueList() != null) {
            showIssues(conn.getIssueList());
        }
    }

    private void showIssues(ArrayList<JiraIssue> issueList) {
        IssueListAdapter a = new IssueListAdapter(this, conn, issueList);
        setListAdapter(a);
        TextView tv = (TextView) findViewById(R.id.count);
        tv.setText("" + issueList.size());
    }

    public void onIssueListLoaded(final ArrayList<JiraIssue> issueList) {
        runOnUiThread(new Runnable() {
            public void run() {
                findViewById(R.id.progress).setVisibility(View.GONE);
                showIssues(issueList);
            }
        });
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        String key = ((JiraIssue) getListAdapter().getItem(position)).getKey();
        Intent intent = new Intent(this, IssueDetails.class).setData(Uri.parse("jira://openIssue?key=" + key));
        startActivity(intent);
    }

    @Override
    public void onResume() {
        super.onResume();
        if (conn.getIssueList() != null)
            showIssues(conn.getIssueList());
    }
}
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.