/** * */ package org.orange.familylink; import org.orange.familylink.data.MessageLogRecord.Direction; import org.orange.familylink.data.MessageLogRecord.Status; import org.orange.familylink.fragment.MessagesFragment; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; /** * 消息列表{@link Activity} * @author Team Orange * @see MessagesFragment */ public class MessagesActivity extends Activity { /** * 应当显示的消息的ID列表 * <p> * Type: long[] */ public static final String EXTRA_IDS = MainActivity.class.getName() + ".extra.IDS"; /** * 意图设置的消息状态筛选条件,用{@link Status}表示 * <p> * Type: {@link Status} */ public static final String EXTRA_STATUS = MainActivity.class.getName() + ".extra.STATUS"; /** * 意图设置的消息方向筛选条件,用{@link Direction}表示 * <p> * Type: {@link Direction} */ public static final String EXTRA_DIRECTION = MainActivity.class.getName() + ".extra.DIRECTION"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_messages); Fragment messages = new MessagesFragment(); Bundle extras = getIntent().getExtras(); if(extras != null) { Bundle args = new Bundle(); if(extras.containsKey(EXTRA_STATUS)) args.putSerializable(MessagesFragment.ARGUMENT_KEY_STATUS, extras.getSerializable(EXTRA_STATUS)); if(extras.containsKey(EXTRA_DIRECTION)) args.putSerializable(MessagesFragment.ARGUMENT_KEY_DIRECTION, extras.getSerializable(EXTRA_DIRECTION)); if(extras.containsKey(EXTRA_IDS)) args.putLongArray(MessagesFragment.ARGUMENT_KEY_IDS, extras.getLongArray(EXTRA_IDS)); messages.setArguments(args); } if(savedInstanceState == null) getFragmentManager().beginTransaction().add(R.id.messages, messages).commit(); else getFragmentManager().beginTransaction().replace(R.id.messages, messages).commit(); } }