mailiverse/android/Mailiverse/src/com/benith/mailiverse/FolderView.java

83 lines
2.1 KiB
Java

package com.benith.mailiverse;
import core.callback.CallbackDefault;
import mail.client.Events;
import mail.client.model.Conversation;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
public class FolderView extends ViewContainer
{
ListView list;
MainActivity context;
ConversationListAdapter conversationListAdapter;
public FolderView(MainActivity context)
{
this.context = context;
LayoutInflater inflater = LayoutInflater.from(context);
view = inflater.inflate(R.layout.folder, null);
conversationListAdapter = new ConversationListAdapter(view.getContext());
list = (ListView) view.findViewById(R.id.conversationList);
list.setOnItemClickListener(listener);
list.setAdapter(conversationListAdapter);
Button backButton = (Button) view.findViewById(R.id.folderRevealButton);
backButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
FolderView.this.context.getSlidingMenu().showMenu(true);
}
});
setupEvents();
}
public void setupEvents ()
{
Application.getInstance().state.client.getMaster().getEventPropagator().add(
Events.Initialized, this, new CallbackDefault() {
public void onSuccess(Object... arguments) throws Exception {
chooseInitialFolder();
}
}
);
}
public void chooseInitialFolder ()
{
conversationListAdapter.setFolder(
Application.getInstance().state.client.getMaster().getIndexer().getInbox()
);
}
public View getView ()
{
return view;
}
OnItemClickListener listener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
Application.getInstance().state.conversation =
(Conversation)conversationListAdapter.getItem(position);
Intent intent = new Intent(context, ConversationActivity.class);
context.startActivity(intent);
}
};
}