android-ibc-forum

Unnamed repository; edit this file 'description' to name the repository.
git clone http://git.code.weiherhei.de/android-ibc-forum.git
Log | Files | Refs

MailActivity.java (3792B)


      1 package de.mtbnews.android;
      2 
      3 import android.content.Intent;
      4 import android.content.SharedPreferences;
      5 import android.os.Bundle;
      6 import android.preference.PreferenceManager;
      7 import android.view.Menu;
      8 import android.view.MenuInflater;
      9 import android.view.MenuItem;
     10 import android.view.View;
     11 import android.widget.AdapterView;
     12 import android.widget.ListAdapter;
     13 import android.widget.ListView;
     14 import android.widget.AdapterView.OnItemClickListener;
     15 import android.widget.AdapterView.OnItemLongClickListener;
     16 import de.mtbnews.android.adapter.ListEntryContentAdapter;
     17 import de.mtbnews.android.tapatalk.TapatalkClient;
     18 import de.mtbnews.android.tapatalk.TapatalkException;
     19 import de.mtbnews.android.tapatalk.wrapper.Mailbox;
     20 import de.mtbnews.android.tapatalk.wrapper.Message;
     21 import de.mtbnews.android.util.ServerAsyncTask;
     22 import de.mtbnews.android.util.Utils;
     23 
     24 public class MailActivity extends EndlessListActivity<Message>
     25 {
     26 	private int totalMessageCount;
     27 	private String boxId;
     28 	private SharedPreferences prefs;
     29 
     30 	/**
     31 	 * Diese Liste immer von oben beginnen.
     32 	 * 
     33 	 * @see de.mtbnews.android.EndlessListActivity#isAutoScrolldown()
     34 	 */
     35 	@Override
     36 	protected boolean isAutoScrolldown()
     37 	{
     38 		return false;
     39 	}
     40 
     41 	@Override
     42 	protected void onCreate(Bundle savedInstanceState)
     43 	{
     44 		setTheme(((IBCApplication) getApplication()).themeResId);
     45 		setContentView(R.layout.listing);
     46 
     47 		super.onCreate(savedInstanceState);
     48 		prefs = PreferenceManager.getDefaultSharedPreferences(this);
     49 		boxId = getIntent().getStringExtra("box_id");
     50 
     51 		ListAdapter adapter = new ListEntryContentAdapter(MailActivity.this, super.entries);
     52 		setListAdapter(adapter);
     53 
     54 		initialLoad();
     55 
     56 		final ListView list = getListView();
     57 
     58 		list.setOnItemClickListener(new OnItemClickListener()
     59 		{
     60 
     61 			@Override
     62 			public void onItemClick(AdapterView<?> parent, View view, int position, long id)
     63 			{
     64 				Intent i = new Intent(MailActivity.this, MessageActivity.class);
     65 				i.putExtra("box_id", boxId);
     66 				i.putExtra("message_id", MailActivity.super.entries.get(position).id);
     67 				startActivity(i);
     68 			}
     69 		});
     70 		list.setOnItemLongClickListener(new OnItemLongClickListener()
     71 		{
     72 			@Override
     73 			public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
     74 			{
     75 				Intent i = new Intent(MailActivity.this, ReplyMailActivity.class);
     76 				i.putExtra("box_id", boxId);
     77 				i.putExtra("message_id", MailActivity.super.entries.get(arg2).id);
     78 				startActivity(i);
     79 				return true;
     80 			}
     81 		});
     82 
     83 	}
     84 
     85 	@Override
     86 	public boolean onCreateOptionsMenu(Menu menu)
     87 	{
     88 		super.onCreateOptionsMenu(menu);
     89 		MenuInflater mi = new MenuInflater(getApplication());
     90 
     91 		mi.inflate(R.menu.mailbox, menu);
     92 
     93 		return true;
     94 	}
     95 
     96 	public boolean onOptionsItemSelected(MenuItem item)
     97 	{
     98 		switch (item.getItemId())
     99 		{
    100 			case R.id.menu_new_message:
    101 				Intent intent = new Intent(this, ReplyMailActivity.class);
    102 				startActivity(intent);
    103 				return true;
    104 		}
    105 		return false;
    106 	}
    107 
    108 	@Override
    109 	protected int getTotalSize()
    110 	{
    111 		return totalMessageCount;
    112 	}
    113 
    114 	@Override
    115 	protected void loadEntries(final OnListLoadedListener<Message> onListLoaded, final int from, final int to,
    116 			boolean firstLoad)
    117 	{
    118 
    119 		new ServerAsyncTask(this, R.string.waitingforcontent)
    120 		{
    121 
    122 			private Mailbox mailbox;
    123 
    124 			@Override
    125 			protected void callServer() throws TapatalkException
    126 			{
    127 				TapatalkClient client = ((IBCApplication) getApplication()).getTapatalkClient();
    128 
    129 				if (Utils.loginExceeded(client))
    130 					client.login(prefs.getString("username", ""), prefs.getString("password", ""));
    131 
    132 				mailbox = client.getBoxContent(boxId, from, to);
    133 
    134 				totalMessageCount = mailbox.countAll;
    135 			}
    136 
    137 			protected void doOnSuccess()
    138 			{
    139 				// MailActivity.this.setTitle(mailbox.getName());
    140 				onListLoaded.listLoaded(mailbox.messages);
    141 			}
    142 
    143 		}.execute();
    144 
    145 	}
    146 }