package com.mistareader; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; public class Messages_Activity extends BaseActivity implements Forum.iOnPOSTRequestExecuted, Messages_Fragment.OnContextMenuListener { private Messages_Fragment messages_Fragment; @Override public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); MenuItem mi; Forum forum = Forum.getInstance(); if (forum.sessionID == null || forum.sessionID.isEmpty()) { mi = menu.findItem(R.id.menu_add); mi.setVisible(false); } mi = menu.findItem(R.id.menu_markAll); mi.setVisible(false); return true; } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); if (v.getId()==R.id.lvMain) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.messages_context, menu); menu.setHeaderTitle(R.string.sPopupMenyHeaderMessage); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState == null) { messages_Fragment = new Messages_Fragment(); Bundle args = getIntent().getExtras(); messages_Fragment.setArguments(args); String sSection = args.getString("section",""); String sForum = args.getString("forum",""); setTitle(sSection, sForum); getFragmentManager().beginTransaction().add(android.R.id.content, messages_Fragment).commit(); } } public void setTitle(String sect1, String forum) { String title = sect1; if (title.isEmpty()) { title = forum; if (title.isEmpty()) title = getString(R.string.sAllSections); else title = title.toUpperCase(); } setTitle(title); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.menu_reload) { if (messages_Fragment != null) { messages_Fragment.reLoad(false); } return true; } else if (id == R.id.menu_add) { if (messages_Fragment != null) { long curTopicId = messages_Fragment.getCurrentTopicId(); Forum forum = Forum.getInstance(); forum.addNewMessage(curTopicId, Messages_Activity.this); } return true; } else { return super.onOptionsItemSelected(item); } } @Override public void onPOSTRequestExecuted(String result) { messages_Fragment.reLoad(true); } public void onContextMenySelected(Message selectedMessage, long currentTopicId) { Forum forum = Forum.getInstance(); forum.addNewMessage(currentTopicId, selectedMessage.n, Messages_Activity.this); } }