Merge "Remove unnecessary assets"
diff --git a/res/drawable-hdpi/ic_call_log_list_action_call.png b/res/drawable-hdpi/ic_call_log_list_action_call.png
deleted file mode 100644
index f47ada7..0000000
--- a/res/drawable-hdpi/ic_call_log_list_action_call.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_call_log_list_action_call.png b/res/drawable-mdpi/ic_call_log_list_action_call.png
deleted file mode 100644
index f47ada7..0000000
--- a/res/drawable-mdpi/ic_call_log_list_action_call.png
+++ /dev/null
Binary files differ
diff --git a/res/layout/call_log_action_group.xml b/res/layout/call_log_action_group.xml
deleted file mode 100644
index fa6bb79..0000000
--- a/res/layout/call_log_action_group.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<merge xmlns:android="http://schemas.android.com/apk/res/android">
-
- <ImageView
- android:id="@+id/groupIndicator"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:paddingLeft="12dip"
- android:paddingRight="13dip"
- android:layout_alignParentRight="true"
- android:gravity="center_vertical"
- android:src="@*android:drawable/expander_ic_minimized"
- />
-
- <View android:id="@+id/divider"
- android:layout_width="1px"
- android:layout_height="match_parent"
- android:layout_marginTop="5dip"
- android:layout_marginBottom="5dip"
- android:layout_toLeftOf="@id/groupIndicator"
- android:layout_marginLeft="11dip"
- android:background="@drawable/divider_vertical_dark"
- />
-
-</merge>
diff --git a/res/layout/call_log_fragment.xml b/res/layout/call_log_fragment.xml
index 2a27fcd..573969b 100644
--- a/res/layout/call_log_fragment.xml
+++ b/res/layout/call_log_fragment.xml
@@ -14,21 +14,29 @@
limitations under the License.
-->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:orientation="vertical"
>
- <ListView android:id="@android:id/list"
+ <include layout="@layout/call_log_voicemail_status"/>
+ <FrameLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:scrollbarStyle="outsideOverlay"
- />
+ android:layout_height="wrap_content"
+ >
+ <ListView android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scrollbarStyle="outsideOverlay"
+ />
- <TextView android:id="@android:id/empty"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="@string/recentCalls_empty"
- android:gravity="center"
- android:textAppearance="?android:attr/textAppearanceLarge"
- />
-</FrameLayout>
+ <TextView android:id="@android:id/empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="@string/recentCalls_empty"
+ android:gravity="center"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ />
+ </FrameLayout>
+</LinearLayout>
+
diff --git a/res/layout/call_log_voicemail_status.xml b/res/layout/call_log_voicemail_status.xml
new file mode 100644
index 0000000..1abe998
--- /dev/null
+++ b/res/layout/call_log_voicemail_status.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/voicemail_status"
+ android:layout_width="match_parent"
+ android:layout_height="?attr/call_log_voicemail_status_height"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentBottom="true"
+ android:background="?attr/call_log_voicemail_status_background_color"
+ android:baselineAligned="false">
+ <TextView
+ android:id="@+id/voicemail_status_message"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingLeft="14dip"
+ android:paddingRight="14dip"
+ android:textColor="?attr/call_log_voicemail_status_text_color"
+ android:layout_gravity="left"
+ android:layout_weight="5"/>
+ <View android:id="@+id/divider"
+ android:layout_width="1px"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="5dip"
+ android:layout_marginBottom="5dip"
+ android:layout_marginLeft="11dip"
+ android:background="@drawable/divider_vertical_dark"/>
+ <TextView
+ android:id="@+id/voicemail_status_action"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="right"
+ android:paddingLeft="14dip"
+ android:paddingRight="14dip"
+ android:textColor="?attr/call_log_voicemail_status_text_color"
+ android:gravity="right"
+ android:layout_alignParentRight="true"
+ android:clickable="true"
+ />
+</LinearLayout>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 4638b2e..43ea301 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -49,6 +49,10 @@
<item name="call_log_primary_background_color">#000000</item>
<item name="call_log_secondary_text_color">#FFFFFF</item>
<item name="call_log_secondary_background_color">#333333</item>
+ <!-- VoicemailStatus -->
+ <item name="call_log_voicemail_status_height">40dip</item>
+ <item name="call_log_voicemail_status_background_color">#FFFFE0</item>
+ <item name="call_log_voicemail_status_text_color">#000000</item>
</style>
<style name="CallDetailActivityTheme" parent="android:Theme.Holo">
@@ -161,6 +165,12 @@
<attr name="call_log_list_header_background" format="reference" />
</declare-styleable>
+ <declare-styleable name="VoicemailStatus">
+ <attr name="call_log_voicemail_status_height" format="dimension" />
+ <attr name="call_log_voicemail_status_background_color" format="color" />
+ <attr name="call_log_voicemail_status_text_color" format="color" />
+ </declare-styleable>
+
<style name="PeopleTheme" parent="android:Theme.Holo.Light.SplitActionBarWhenNarrow">
<item name="list_item_height">?android:attr/listPreferredItemHeight</item>
<item name="activated_background">@drawable/list_item_activated_background</item>
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 77b978d..9dfa972 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -90,6 +90,7 @@
import android.widget.Toast;
import java.util.ArrayList;
+import java.util.concurrent.atomic.AtomicInteger;
/**
* Displays a list to browse contacts. For xlarge screens, this also displays a detail-pane on
@@ -101,6 +102,7 @@
ContactListFilterController.ContactListFilterListener, ProviderStatusListener {
private static final String TAG = "PeopleActivity";
+ private static final Boolean DEBUG = false; // DO NOT SUBMIT WITH TRUE
private static final int SUBACTIVITY_NEW_CONTACT = 2;
private static final int SUBACTIVITY_EDIT_CONTACT = 3;
@@ -182,13 +184,24 @@
*/
private boolean mFragmentInitialized;
+ /** Sequential ID assigned to each instance; used for logging */
+ private final int mInstanceId;
+ private static final AtomicInteger sNextInstanceId = new AtomicInteger();
+
public PeopleActivity() {
+ mInstanceId = sNextInstanceId.getAndIncrement();
mIntentResolver = new ContactsIntentResolver(this);
mContactListFilterController = new ContactListFilterController(this);
mContactListFilterController.addListener(this);
mProviderStatusLoader = new ProviderStatusLoader(this);
}
+ @Override
+ public String toString() {
+ // Shown on logcat
+ return String.format("%s@%d", getClass().getSimpleName(), mInstanceId);
+ }
+
public boolean areContactsAvailable() {
return mProviderStatus == ProviderStatus.STATUS_NORMAL;
}
@@ -225,7 +238,7 @@
protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
- if (!processIntent()) {
+ if (!processIntent(false)) {
finish();
return;
}
@@ -237,7 +250,7 @@
@Override
protected void onNewIntent(Intent intent) {
setIntent(intent);
- if (!processIntent()) {
+ if (!processIntent(true)) {
finish();
return;
}
@@ -252,13 +265,18 @@
* Resolve the intent and initialize {@link #mRequest}, and launch another activity if redirect
* is needed.
*
+ * @param forNewIntent set true if it's called from {@link #onNewIntent(Intent)}.
* @return {@code true} if {@link PeopleActivity} should continue running. {@code false}
* if it shouldn't, in which case the caller should finish() itself and shouldn't do
* farther initialization.
*/
- private boolean processIntent() {
+ private boolean processIntent(boolean forNewIntent) {
// Extract relevant information from the intent
mRequest = mIntentResolver.resolveIntent(getIntent());
+ if (DEBUG) {
+ Log.d(TAG, this + " processIntent: forNewIntent=" + forNewIntent
+ + " intent=" + getIntent() + " request=" + mRequest);
+ }
if (!mRequest.isValid()) {
setResult(RESULT_CANCELED);
return false;
diff --git a/src/com/android/contacts/calllog/CallLogFragment.java b/src/com/android/contacts/calllog/CallLogFragment.java
index cd95c88..1fb0a03 100644
--- a/src/com/android/contacts/calllog/CallLogFragment.java
+++ b/src/com/android/contacts/calllog/CallLogFragment.java
@@ -25,6 +25,7 @@
import com.android.contacts.R;
import com.android.contacts.activities.DialtactsActivity;
import com.android.contacts.activities.DialtactsActivity.ViewPagerVisibilityListener;
+import com.android.contacts.calllog.VoicemailStatusHelper.StatusMessage;
import com.android.contacts.util.ExpirableCache;
import com.android.internal.telephony.CallerInfo;
import com.google.common.annotations.VisibleForTesting;
@@ -59,8 +60,10 @@
import android.view.ViewTreeObserver;
import android.widget.ListView;
import android.widget.QuickContactBadge;
+import android.widget.TextView;
import java.util.LinkedList;
+import java.util.List;
/**
@@ -142,6 +145,11 @@
private boolean mShowOptionsMenu;
+ private VoicemailStatusHelper mVoicemailStatusHelper;
+ private View mStatusMessageView;
+ private TextView mStatusMessageText;
+ private TextView mStatusMessageAction;
+
public static final class ContactInfo {
public long personId;
public String name;
@@ -264,8 +272,7 @@
resources.getDrawable(R.drawable.ic_call_outgoing_holo_dark),
resources.getDrawable(R.drawable.ic_call_missed_holo_dark),
resources.getDrawable(R.drawable.ic_call_voicemail_holo_dark));
- Drawable callDrawable = resources.getDrawable(
- R.drawable.ic_call_log_list_action_call);
+ Drawable callDrawable = resources.getDrawable(R.drawable.ic_dial_action_call);
Drawable playDrawable = resources.getDrawable(
R.drawable.ic_call_log_list_action_play);
@@ -829,7 +836,12 @@
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
- return inflater.inflate(R.layout.call_log_fragment, container, false);
+ View view = inflater.inflate(R.layout.call_log_fragment, container, false);
+ mVoicemailStatusHelper = new VoicemailStatusHelperImpl(getActivity().getContentResolver());
+ mStatusMessageView = view.findViewById(R.id.voicemail_status);
+ mStatusMessageText = (TextView) view.findViewById(R.id.voicemail_status_message);
+ mStatusMessageAction = (TextView) view.findViewById(R.id.voicemail_status_action);
+ return view;
}
@Override
@@ -855,12 +867,42 @@
startQuery();
resetNewCallsFlag();
-
+ updateVoicemailStatusMessage();
super.onResume();
mAdapter.mPreDrawListener = null; // Let it restart the thread after next draw
}
+ private void updateVoicemailStatusMessage() {
+ // TODO: make call to mVoicemailStatusHelper asynchronously.
+ List<StatusMessage> messages = mVoicemailStatusHelper.getStatusMessages();
+ if (messages.size() == 0) {
+ mStatusMessageView.setVisibility(View.GONE);
+ } else {
+ mStatusMessageView.setVisibility(View.VISIBLE);
+ // TODO: Change the code to show all messages. For now just pick the first message.
+ final StatusMessage message = messages.get(0);
+ if (message.statusMessageId != -1) {
+ mStatusMessageText.setText(message.statusMessageId);
+ }
+ if (message.actionMessageId != -1) {
+ mStatusMessageAction.setText(message.actionMessageId);
+ }
+ if (message.actionUri != null) {
+ mStatusMessageAction.setClickable(true);
+ mStatusMessageAction.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ getActivity().startActivity(
+ new Intent(Intent.ACTION_VIEW, message.actionUri));
+ }
+ });
+ } else {
+ mStatusMessageAction.setClickable(false);
+ }
+ }
+ }
+
@Override
public void onPause() {
super.onPause();
diff --git a/src/com/android/contacts/calllog/VoicemailStatusHelper.java b/src/com/android/contacts/calllog/VoicemailStatusHelper.java
index d4a3965..607d31a 100644
--- a/src/com/android/contacts/calllog/VoicemailStatusHelper.java
+++ b/src/com/android/contacts/calllog/VoicemailStatusHelper.java
@@ -30,7 +30,7 @@
* this class to check if any message needs to be shown.
*/
public interface VoicemailStatusHelper {
- public class Message {
+ public class StatusMessage {
/** Package of the source on behalf of which this message has to be shown.*/
public final String sourcePackage;
/** The string resource id of the status message that should be shown. */
@@ -39,7 +39,7 @@
public final int actionMessageId;
/** URI for the corrective action, where applicable. Null if no action URI is available. */
public final Uri actionUri;
- public Message(String sourcePackage, int statusMessageId, int actionMessageId,
+ public StatusMessage(String sourcePackage, int statusMessageId, int actionMessageId,
Uri actionUri) {
this.sourcePackage = sourcePackage;
this.statusMessageId = statusMessageId;
@@ -52,5 +52,5 @@
* Returns a list of messages, in the order or priority that should be shown to the user. An
* empty list is returned if no message needs to be shown.
*/
- public List<Message> getStatusMessages();
+ public List<StatusMessage> getStatusMessages();
}
diff --git a/src/com/android/contacts/calllog/VoicemailStatusHelperImpl.java b/src/com/android/contacts/calllog/VoicemailStatusHelperImpl.java
index 9738fd7..690f102 100644
--- a/src/com/android/contacts/calllog/VoicemailStatusHelperImpl.java
+++ b/src/com/android/contacts/calllog/VoicemailStatusHelperImpl.java
@@ -133,26 +133,26 @@
mContentResolver = contentResolver;
}
- /** A wrapper on {@link Message} which additionally stores the priority of the message. */
- private static class MessageWrapper {
- private final Message mMessage;
+ /** A wrapper on {@link StatusMessage} which additionally stores the priority of the message. */
+ private static class MessageStatusWithPriority {
+ private final StatusMessage mMessage;
private final int mPriority;
- public MessageWrapper(Message message, int priority) {
+ public MessageStatusWithPriority(StatusMessage message, int priority) {
mMessage = message;
mPriority = priority;
}
}
@Override
- public List<Message> getStatusMessages() {
+ public List<StatusMessage> getStatusMessages() {
Cursor cursor = null;
try {
cursor = mContentResolver.query(Status.CONTENT_URI, PROJECTION, null, null, null);
- List<MessageWrapper> messages =
- new ArrayList<VoicemailStatusHelperImpl.MessageWrapper>();
+ List<MessageStatusWithPriority> messages =
+ new ArrayList<VoicemailStatusHelperImpl.MessageStatusWithPriority>();
while(cursor.moveToNext()) {
- MessageWrapper message = getMessageForStatusEntry(cursor);
+ MessageStatusWithPriority message = getMessageForStatusEntry(cursor);
if (message != null) {
messages.add(message);
}
@@ -164,16 +164,16 @@
}
}
- private List<Message> reorderMessages(List<MessageWrapper> messageWrappers) {
- Collections.sort(messageWrappers, new Comparator<MessageWrapper>() {
+ private List<StatusMessage> reorderMessages(List<MessageStatusWithPriority> messageWrappers) {
+ Collections.sort(messageWrappers, new Comparator<MessageStatusWithPriority>() {
@Override
- public int compare(MessageWrapper msg1, MessageWrapper msg2) {
+ public int compare(MessageStatusWithPriority msg1, MessageStatusWithPriority msg2) {
return msg1.mPriority - msg2.mPriority;
}
});
- List<Message> reorderMessages = new ArrayList<VoicemailStatusHelper.Message>();
+ List<StatusMessage> reorderMessages = new ArrayList<VoicemailStatusHelper.StatusMessage>();
// Copy the ordered message objects into the final list.
- for (MessageWrapper messageWrapper : messageWrappers) {
+ for (MessageStatusWithPriority messageWrapper : messageWrappers) {
reorderMessages.add(messageWrapper.mMessage);
}
return reorderMessages;
@@ -182,7 +182,7 @@
/**
* Returns the message for the status entry pointed to by the cursor.
*/
- private MessageWrapper getMessageForStatusEntry(Cursor cursor) {
+ private MessageStatusWithPriority getMessageForStatusEntry(Cursor cursor) {
final String sourcePackage = cursor.getString(SOURCE_PACKAGE_INDEX);
if (sourcePackage == null) {
return null;
@@ -203,8 +203,8 @@
} else if (action == Action.CONFIGURE_VOICEMAIL) {
actionUri = Uri.parse(cursor.getString(SETTINGS_URI_INDEX));
}
- return new MessageWrapper(
- new Message(sourcePackage, overallState.getMessageId(), action.getMessageId(),
+ return new MessageStatusWithPriority(
+ new StatusMessage(sourcePackage, overallState.getMessageId(), action.getMessageId(),
actionUri),
overallState.getPriority());
}
diff --git a/src/com/android/contacts/list/ContactsRequest.java b/src/com/android/contacts/list/ContactsRequest.java
index 469cd1d..b7e21b4 100644
--- a/src/com/android/contacts/list/ContactsRequest.java
+++ b/src/com/android/contacts/list/ContactsRequest.java
@@ -89,6 +89,22 @@
private boolean mDirectorySearchEnabled = true;
private Uri mContactUri;
+ @Override
+ public String toString() {
+ return "{ContactsRequest:mValid=" + mValid
+ + " mActionCode=" + mActionCode
+ + " mRedirectIntent=" + mRedirectIntent
+ + " mTitle=" + mTitle
+ + " mSearchMode=" + mSearchMode
+ + " mQueryString=" + mQueryString
+ + " mIncludeProfile=" + mIncludeProfile
+ + " mGroupName=" + mGroupName
+ + " mLegacyCompatibilityMode=" + mLegacyCompatibilityMode
+ + " mDirectorySearchEnabled=" + mDirectorySearchEnabled
+ + " mContactUri=" + mContactUri
+ + "}";
+ }
+
/**
* Copies all fields.
*/
diff --git a/tests/src/com/android/contacts/activities/CallLogActivityTests.java b/tests/src/com/android/contacts/activities/CallLogActivityTests.java
index dfb6d0c..ee7f608 100644
--- a/tests/src/com/android/contacts/activities/CallLogActivityTests.java
+++ b/tests/src/com/android/contacts/activities/CallLogActivityTests.java
@@ -177,7 +177,6 @@
View view = mAdapter.newStandAloneView(getActivity(), mParentView);
mAdapter.bindStandAloneView(view, getActivity(), mCursor);
assertNotNull(view.findViewById(R.id.call_icon));
- assertNull(view.findViewById(R.id.groupIndicator));
}
@MediumTest
@@ -187,7 +186,6 @@
View view = mAdapter.newChildView(getActivity(), mParentView);
mAdapter.bindChildView(view, getActivity(), mCursor);
assertNotNull(view.findViewById(R.id.call_icon));
- assertNull(view.findViewById(R.id.groupIndicator));
}
@MediumTest
diff --git a/tests/src/com/android/contacts/calllog/VoicemailStatusHelperImplTest.java b/tests/src/com/android/contacts/calllog/VoicemailStatusHelperImplTest.java
index d577d4c..c6bff13 100644
--- a/tests/src/com/android/contacts/calllog/VoicemailStatusHelperImplTest.java
+++ b/tests/src/com/android/contacts/calllog/VoicemailStatusHelperImplTest.java
@@ -28,7 +28,7 @@
import static android.provider.VoicemailContract.Status.NOTIFICATION_CHANNEL_STATE_OK;
import com.android.contacts.R;
-import com.android.contacts.calllog.VoicemailStatusHelper.Message;
+import com.android.contacts.calllog.VoicemailStatusHelper.StatusMessage;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -50,7 +50,8 @@
private static final Uri TEST_SETTINGS_URI = Uri.parse("http://www.visual.voicemail.setup");
private static final Uri TEST_VOICEMAIL_URI = Uri.parse("tel:901");
- private static final int ACTION_MSG_CALL_VOICEMAIL = R.string.voicemail_status_action_call_server;
+ private static final int ACTION_MSG_CALL_VOICEMAIL =
+ R.string.voicemail_status_action_call_server;
private static final int ACTION_MSG_CONFIGURE = R.string.voicemail_status_action_configure;
private static final int STATUS_MSG_VOICEMAIL_NOT_AVAILABLE =
@@ -166,7 +167,7 @@
// package2 with valuesNoNotificationNoDataChannel. Package2 should be above.
updateEntryForPackage(TEST_PACKAGE_1, valuesNoNotificationGoodDataChannel);
updateEntryForPackage(TEST_PACKAGE_2, valuesNoNotificationNoDataChannel);
- List<Message> messages = mStatusHelper.getStatusMessages();
+ List<StatusMessage> messages = mStatusHelper.getStatusMessages();
assertEquals(2, messages.size());
assertEquals(TEST_PACKAGE_1, messages.get(1).sourcePackage);
assertEquals(TEST_PACKAGE_2, messages.get(0).sourcePackage);
@@ -189,13 +190,13 @@
private void checkExpectedMessage(String sourcePackage, ContentValues values,
int expectedStatusMsg, int expectedActionMsg, Uri expectedUri) {
- List<Message> messages = mStatusHelper.getStatusMessages();
+ List<StatusMessage> messages = mStatusHelper.getStatusMessages();
assertEquals(1, messages.size());
checkMessageMatches(messages.get(0), sourcePackage, expectedStatusMsg, expectedActionMsg,
expectedUri);
}
- private void checkMessageMatches(Message message, String expectedSourcePackage,
+ private void checkMessageMatches(StatusMessage message, String expectedSourcePackage,
int expectedStatusMsg, int expectedActionMsg, Uri expectedUri) {
assertEquals(expectedSourcePackage, message.sourcePackage);
assertEquals(expectedStatusMsg, message.statusMessageId);
@@ -209,7 +210,7 @@
private void checkNoMessages(String sourcePackage, ContentValues values) {
assertEquals(1, updateEntryForPackage(sourcePackage, values));
- List<Message> messages = mStatusHelper.getStatusMessages();
+ List<StatusMessage> messages = mStatusHelper.getStatusMessages();
assertEquals(0, messages.size());
}