Clean up Messaging&ConversationLayout
Fixed some IDE warnings and removed some unused code.
Flag: EXEMPT minor cleanup
Test: existing tests pass
Change-Id: I8c48d0597c2e046a9be4e2150882398ac26b2801
diff --git a/core/java/com/android/internal/widget/ConversationLayout.java b/core/java/com/android/internal/widget/ConversationLayout.java
index 04ce9bc..9a5849a 100644
--- a/core/java/com/android/internal/widget/ConversationLayout.java
+++ b/core/java/com/android/internal/widget/ConversationLayout.java
@@ -86,8 +86,6 @@
public static final Interpolator FAST_OUT_LINEAR_IN = new PathInterpolator(0.4f, 0f, 1f, 1f);
public static final Interpolator FAST_OUT_SLOW_IN = new PathInterpolator(0.4f, 0f, 0.2f, 1f);
public static final Interpolator OVERSHOOT = new PathInterpolator(0.4f, 0f, 0.2f, 1.4f);
- public static final OnLayoutChangeListener MESSAGING_PROPERTY_ANIMATOR
- = new MessagingPropertyAnimator();
public static final int IMPORTANCE_ANIM_GROW_DURATION = 250;
public static final int IMPORTANCE_ANIM_SHRINK_DURATION = 200;
public static final int IMPORTANCE_ANIM_SHRINK_DELAY = 25;
@@ -96,13 +94,13 @@
private List<MessagingMessage> mHistoricMessages = new ArrayList<>();
private MessagingLinearLayout mMessagingLinearLayout;
private boolean mShowHistoricMessages;
- private ArrayList<MessagingGroup> mGroups = new ArrayList<>();
+ private final ArrayList<MessagingGroup> mGroups = new ArrayList<>();
private int mLayoutColor;
private int mSenderTextColor;
private int mMessageTextColor;
private Icon mAvatarReplacement;
private boolean mIsOneToOne;
- private ArrayList<MessagingGroup> mAddedGroups = new ArrayList<>();
+ private final ArrayList<MessagingGroup> mAddedGroups = new ArrayList<>();
private Person mUser;
private CharSequence mNameReplacement;
private CharSequence mSummarizedContent;
@@ -163,8 +161,8 @@
private Icon mConversationIcon;
private Icon mShortcutIcon;
private View mAppNameDivider;
- private TouchDelegateComposite mTouchDelegate = new TouchDelegateComposite(this);
- private ArrayList<MessagingLinearLayout.MessagingChild> mToRecycle = new ArrayList<>();
+ private final TouchDelegateComposite mTouchDelegate = new TouchDelegateComposite(this);
+ private final ArrayList<MessagingLinearLayout.MessagingChild> mToRecycle = new ArrayList<>();
private boolean mPrecomputedTextEnabled = false;
@Nullable
private ConversationHeaderData mConversationHeaderData;
@@ -440,9 +438,8 @@
// mUser now set (would be nice to avoid the side effect but WHATEVER)
final Person user = extras.getParcelable(Notification.EXTRA_MESSAGING_PERSON, Person.class);
// Append remote input history to newMessages (again, side effect is lame but WHATEVS)
- RemoteInputHistoryItem[] history = (RemoteInputHistoryItem[])
- extras.getParcelableArray(Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS,
- RemoteInputHistoryItem.class);
+ RemoteInputHistoryItem[] history = extras.getParcelableArray(
+ Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS, RemoteInputHistoryItem.class);
addRemoteInputHistoryToMessages(newMessages, history);
boolean showSpinner =
@@ -547,7 +544,7 @@
for (int i = remoteInputHistory.length - 1; i >= 0; i--) {
RemoteInputHistoryItem historyMessage = remoteInputHistory[i];
Notification.MessagingStyle.Message message = new Notification.MessagingStyle.Message(
- historyMessage.getText(), 0, (Person) null, true /* remoteHistory */);
+ historyMessage.getText(), 0, null, true /* remoteHistory */);
if (historyMessage.getUri() != null) {
message.setData(historyMessage.getMimeType(), historyMessage.getUri());
}
@@ -718,11 +715,11 @@
private void updateImageMessages() {
View newMessage = null;
- if (mIsCollapsed && mGroups.size() > 0) {
+ if (mIsCollapsed && !mGroups.isEmpty()) {
// When collapsed, we're displaying the image message in a dedicated container
// on the right of the layout instead of inline. Let's add the isolated image there
- MessagingGroup messagingGroup = mGroups.get(mGroups.size() - 1);
+ MessagingGroup messagingGroup = mGroups.getLast();
MessagingImageMessage isolatedMessage = messagingGroup.getIsolatedMessage();
if (isolatedMessage != null) {
newMessage = isolatedMessage.getView();
@@ -1234,7 +1231,7 @@
final Person sender = message.getSenderPerson();
final CharSequence senderKey = getKey(sender);
if ((sender != null && senderKey != userKey) || i == 0) {
- if (conversationText == null || conversationText.length() == 0) {
+ if (conversationText == null || conversationText.isEmpty()) {
conversationText = sender != null ? sender.getName() : "";
}
if (conversationIcon == null) {
diff --git a/core/java/com/android/internal/widget/MessagingLayout.java b/core/java/com/android/internal/widget/MessagingLayout.java
index d000596..5d19070 100644
--- a/core/java/com/android/internal/widget/MessagingLayout.java
+++ b/core/java/com/android/internal/widget/MessagingLayout.java
@@ -46,7 +46,6 @@
import android.widget.RemoteViews;
import com.android.internal.R;
-import com.android.internal.util.ContrastColorUtil;
import java.util.ArrayList;
import java.util.List;
@@ -60,7 +59,6 @@
public class MessagingLayout extends FrameLayout
implements ImageMessageConsumer, IMessagingLayout {
- private static final float COLOR_SHIFT_AMOUNT = 60;
public static final Interpolator LINEAR_OUT_SLOW_IN = new PathInterpolator(0f, 0f, 0.2f, 1f);
public static final Interpolator FAST_OUT_LINEAR_IN = new PathInterpolator(0.4f, 0f, 1f, 1f);
public static final Interpolator FAST_OUT_SLOW_IN = new PathInterpolator(0.4f, 0f, 0.2f, 1f);
@@ -71,7 +69,7 @@
private List<MessagingMessage> mHistoricMessages = new ArrayList<>();
private MessagingLinearLayout mMessagingLinearLayout;
private boolean mShowHistoricMessages;
- private ArrayList<MessagingGroup> mGroups = new ArrayList<>();
+ private final ArrayList<MessagingGroup> mGroups = new ArrayList<>();
private MessagingLinearLayout mImageMessageContainer;
private ImageView mRightIconView;
private Rect mMessagingClipRect;
@@ -80,14 +78,15 @@
private int mMessageTextColor;
private Icon mAvatarReplacement;
private boolean mIsOneToOne;
- private ArrayList<MessagingGroup> mAddedGroups = new ArrayList<>();
+ private final ArrayList<MessagingGroup> mAddedGroups = new ArrayList<>();
private Person mUser;
private CharSequence mNameReplacement;
private boolean mIsCollapsed;
private ImageResolver mImageResolver;
private CharSequence mConversationTitle;
- private ArrayList<MessagingLinearLayout.MessagingChild> mToRecycle = new ArrayList<>();
+ private final ArrayList<MessagingLinearLayout.MessagingChild> mToRecycle = new ArrayList<>();
private boolean mPrecomputedTextEnabled = false;
+
public MessagingLayout(@NonNull Context context) {
super(context);
}
@@ -175,10 +174,8 @@
Notification.MessagingStyle.Message.getMessagesFromBundleArray(histMessages);
setUser(extras.getParcelable(Notification.EXTRA_MESSAGING_PERSON,
Person.class));
- RemoteInputHistoryItem[] history =
- (RemoteInputHistoryItem[]) extras.getParcelableArray(
- Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS,
- RemoteInputHistoryItem.class);
+ RemoteInputHistoryItem[] history = extras.getParcelableArray(
+ Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS, RemoteInputHistoryItem.class);
addRemoteInputHistoryToMessages(newMessages, history);
final Person user = extras.getParcelable(Notification.EXTRA_MESSAGING_PERSON, Person.class);
@@ -251,7 +248,7 @@
for (int i = remoteInputHistory.length - 1; i >= 0; i--) {
RemoteInputHistoryItem historyMessage = remoteInputHistory[i];
Notification.MessagingStyle.Message message = new Notification.MessagingStyle.Message(
- historyMessage.getText(), 0, (Person) null, true /* remoteHistory */);
+ historyMessage.getText(), 0, null, true /* remoteHistory */);
if (historyMessage.getUri() != null) {
message.setData(historyMessage.getMimeType(), historyMessage.getUri());
}
@@ -302,7 +299,7 @@
if (mIsCollapsed && !mGroups.isEmpty()) {
// When collapsed, we're displaying the image message in a dedicated container
// on the right of the layout instead of inline. Let's add the isolated image there
- MessagingGroup messagingGroup = mGroups.get(mGroups.size() - 1);
+ MessagingGroup messagingGroup = mGroups.getLast();
MessagingImageMessage isolatedMessage = messagingGroup.getIsolatedMessage();
if (isolatedMessage != null) {
newMessage = isolatedMessage.getView();
@@ -398,26 +395,6 @@
return mPeopleHelper.createAvatarSymbol(senderName, symbol, layoutColor);
}
- private int findColor(CharSequence senderName, int layoutColor) {
- double luminance = ContrastColorUtil.calculateLuminance(layoutColor);
- float shift = Math.abs(senderName.hashCode()) % 5 / 4.0f - 0.5f;
-
- // we need to offset the range if the luminance is too close to the borders
- shift += Math.max(COLOR_SHIFT_AMOUNT / 2.0f / 100 - luminance, 0);
- shift -= Math.max(COLOR_SHIFT_AMOUNT / 2.0f / 100 - (1.0f - luminance), 0);
- return ContrastColorUtil.getShiftedColor(layoutColor,
- (int) (shift * COLOR_SHIFT_AMOUNT));
- }
-
- private String findNameSplit(String existingName) {
- String[] split = existingName.split(" ");
- if (split.length > 1) {
- return Character.toString(split[0].charAt(0))
- + Character.toString(split[1].charAt(0));
- }
- return existingName.substring(0, 1);
- }
-
@RemotableViewMethod
public void setLayoutColor(int color) {
mLayoutColor = color;