summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/incall/protocol/PrimaryInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/incall/protocol/PrimaryInfo.java')
-rw-r--r--java/com/android/incallui/incall/protocol/PrimaryInfo.java116
1 files changed, 116 insertions, 0 deletions
diff --git a/java/com/android/incallui/incall/protocol/PrimaryInfo.java b/java/com/android/incallui/incall/protocol/PrimaryInfo.java
new file mode 100644
index 000000000..c1709501d
--- /dev/null
+++ b/java/com/android/incallui/incall/protocol/PrimaryInfo.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+package com.android.incallui.incall.protocol;
+
+import android.graphics.drawable.Drawable;
+import android.support.annotation.Nullable;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.multimedia.MultimediaData;
+import java.util.Locale;
+
+/** Information about the primary call. */
+public class PrimaryInfo {
+ @Nullable public final String number;
+ @Nullable public final String name;
+ public final boolean nameIsNumber;
+ // This is from contacts and shows the type of number. For example, "Mobile".
+ @Nullable public final String label;
+ @Nullable public final String location;
+ @Nullable public final Drawable photo;
+ @ContactPhotoType public final int photoType;
+ public final boolean isSipCall;
+ public final boolean isContactPhotoShown;
+ public final boolean isWorkCall;
+ public final boolean isSpam;
+ public final boolean answeringDisconnectsOngoingCall;
+ public final boolean shouldShowLocation;
+ // Used for consistent LetterTile coloring.
+ @Nullable public final String contactInfoLookupKey;
+ @Nullable public final MultimediaData multimediaData;
+ public final int numberPresentation;
+
+ // TODO: Convert to autovalue. b/34502119
+ public static PrimaryInfo createEmptyPrimaryInfo() {
+ return new PrimaryInfo(
+ null,
+ null,
+ false,
+ null,
+ null,
+ null,
+ ContactPhotoType.DEFAULT_PLACEHOLDER,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ null,
+ null,
+ -1);
+ }
+
+ public PrimaryInfo(
+ @Nullable String number,
+ @Nullable String name,
+ boolean nameIsNumber,
+ @Nullable String location,
+ @Nullable String label,
+ @Nullable Drawable photo,
+ @ContactPhotoType int phototType,
+ boolean isSipCall,
+ boolean isContactPhotoShown,
+ boolean isWorkCall,
+ boolean isSpam,
+ boolean answeringDisconnectsOngoingCall,
+ boolean shouldShowLocation,
+ @Nullable String contactInfoLookupKey,
+ @Nullable MultimediaData multimediaData,
+ int numberPresentation) {
+ this.number = number;
+ this.name = name;
+ this.nameIsNumber = nameIsNumber;
+ this.location = location;
+ this.label = label;
+ this.photo = photo;
+ this.photoType = phototType;
+ this.isSipCall = isSipCall;
+ this.isContactPhotoShown = isContactPhotoShown;
+ this.isWorkCall = isWorkCall;
+ this.isSpam = isSpam;
+ this.answeringDisconnectsOngoingCall = answeringDisconnectsOngoingCall;
+ this.shouldShowLocation = shouldShowLocation;
+ this.contactInfoLookupKey = contactInfoLookupKey;
+ this.multimediaData = multimediaData;
+ this.numberPresentation = numberPresentation;
+ }
+
+ @Override
+ public String toString() {
+ return String.format(
+ Locale.US,
+ "PrimaryInfo, number: %s, name: %s, location: %s, label: %s, "
+ + "photo: %s, photoType: %d, isPhotoVisible: %b",
+ LogUtil.sanitizePhoneNumber(number),
+ LogUtil.sanitizePii(name),
+ LogUtil.sanitizePii(location),
+ label,
+ photo,
+ photoType,
+ isContactPhotoShown);
+ }
+}