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 }