MailboxActivity.java (3678B)
1 package de.mtbnews.android; 2 3 import java.util.List; 4 5 import android.app.ListActivity; 6 import android.content.Intent; 7 import android.content.SharedPreferences; 8 import android.os.Bundle; 9 import android.os.Parcelable; 10 import android.preference.PreferenceManager; 11 import android.view.Menu; 12 import android.view.MenuInflater; 13 import android.view.MenuItem; 14 import android.view.View; 15 import android.widget.AdapterView; 16 import android.widget.ListAdapter; 17 import android.widget.ListView; 18 import android.widget.AdapterView.OnItemClickListener; 19 import de.mtbnews.android.adapter.ListEntryContentAdapter; 20 import de.mtbnews.android.tapatalk.TapatalkClient; 21 import de.mtbnews.android.tapatalk.TapatalkException; 22 import de.mtbnews.android.tapatalk.wrapper.Mailbox; 23 import de.mtbnews.android.util.ServerAsyncTask; 24 import de.mtbnews.android.util.Utils; 25 26 public class MailboxActivity extends ListActivity 27 { 28 private List<Mailbox> mailboxList; 29 private SharedPreferences prefs; 30 31 @Override 32 protected void onCreate(Bundle savedInstanceState) 33 { 34 super.onCreate(savedInstanceState); 35 36 setTheme(((IBCApplication) getApplication()).themeResId); 37 setContentView(R.layout.listing); 38 39 prefs = PreferenceManager.getDefaultSharedPreferences(this); 40 41 new ServerAsyncTask(this, R.string.waitingforcontent) 42 { 43 44 @Override 45 protected void callServer() throws TapatalkException 46 { 47 TapatalkClient client = ((IBCApplication) getApplication()).getTapatalkClient(); 48 49 // Login. 50 if (Utils.loginExceeded(client)) 51 client.login(prefs.getString("username", ""), prefs.getString("password", "")); 52 53 mailboxList = client.getMailbox(); 54 55 } 56 57 protected void doOnSuccess() 58 { 59 ListAdapter adapter = new ListEntryContentAdapter(MailboxActivity.this, mailboxList); 60 // IBCActivity.this.setTitle(feed.getTitle()); 61 setListAdapter(adapter); 62 } 63 64 }.execute(); 65 66 final ListView list2 = getListView(); 67 68 list2.setOnItemClickListener(new OnItemClickListener() 69 { 70 71 @Override 72 public void onItemClick(AdapterView<?> parent, View view, int position, long id) 73 { 74 final Mailbox mailbox = mailboxList.get(position); 75 76 if (Intent.ACTION_CREATE_SHORTCUT.equals(getIntent().getAction())) 77 { 78 79 Intent shortcutIntent = new Intent(MailboxActivity.this, MailActivity.class); 80 // Intent shortcutIntent = new Intent(Intent.ACTION_MAIN); 81 shortcutIntent.setClassName(MailboxActivity.this, MailActivity.class.getName()); 82 shortcutIntent.putExtra("box_id", mailbox.getId()); 83 84 // Then, set up the container intent (the response to the 85 // caller) 86 87 Intent intent = new Intent(); 88 intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); 89 intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, mailbox.getTitle()); 90 Parcelable iconResource = Intent.ShortcutIconResource.fromContext(MailboxActivity.this, 91 R.drawable.ibc_icon); 92 intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource); 93 94 // Now, return the result to the launcher 95 96 setResult(RESULT_OK, intent); 97 finish(); 98 99 } 100 else 101 { 102 103 Intent i = new Intent(MailboxActivity.this, MailActivity.class); 104 i.putExtra("box_id", mailbox.getId()); 105 startActivity(i); 106 } 107 } 108 }); 109 110 } 111 112 @Override 113 public boolean onCreateOptionsMenu(Menu menu) 114 { 115 super.onCreateOptionsMenu(menu); 116 MenuInflater mi = new MenuInflater(getApplication()); 117 118 mi.inflate(R.menu.mailbox, menu); 119 120 return true; 121 } 122 123 public boolean onOptionsItemSelected(MenuItem item) 124 { 125 switch (item.getItemId()) 126 { 127 case R.id.menu_new_message: 128 Intent intent = new Intent(this, ReplyMailActivity.class); 129 startActivity(intent); 130 return true; 131 } 132 return false; 133 } 134 135 }