From 4ef51165ffd5e2b9fc804b18d5bb8a49937cd44d Mon Sep 17 00:00:00 2001 From: linyuh Date: Tue, 27 Feb 2018 16:49:39 -0800 Subject: Internal cleanup for the new UI's bottom sheet. Test: Existing tests PiperOrigin-RevId: 187254014 Change-Id: I8a57b632d45e87ad075eb8bbb25180858e890f08 --- .../HistoryItemPrimaryActionInfo.java | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 java/com/android/dialer/historyitemactions/HistoryItemPrimaryActionInfo.java (limited to 'java/com/android/dialer/historyitemactions/HistoryItemPrimaryActionInfo.java') diff --git a/java/com/android/dialer/historyitemactions/HistoryItemPrimaryActionInfo.java b/java/com/android/dialer/historyitemactions/HistoryItemPrimaryActionInfo.java new file mode 100644 index 000000000..f4338ce7a --- /dev/null +++ b/java/com/android/dialer/historyitemactions/HistoryItemPrimaryActionInfo.java @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2017 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.dialer.historyitemactions; + +import android.content.Intent; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import com.android.dialer.DialerPhoneNumber; +import com.android.dialer.glidephotomanager.PhotoInfo; +import com.google.auto.value.AutoValue; + +/** + * Contains information necessary to construct the primary action for a history item's bottom sheet. + * + *

A history item is one that is displayed in the call log or the voicemail fragment. + */ +@AutoValue +public abstract class HistoryItemPrimaryActionInfo { + + @Nullable + public abstract DialerPhoneNumber number(); + + @NonNull + public abstract PhotoInfo photoInfo(); + + @Nullable + public abstract CharSequence primaryText(); + + @Nullable + public abstract CharSequence secondaryText(); + + /** + * The intent to fire when the user clicks the top row of the bottom sheet. Null if no action + * should occur (e.g. if the number is unknown). + */ + @Nullable + public abstract Intent intent(); + + // TODO(zachh): Add SIM info here if should be shown in bottom sheet. + + /** Builder for {@link HistoryItemPrimaryActionInfo}. */ + @AutoValue.Builder + public abstract static class Builder { + public abstract Builder setNumber(@Nullable DialerPhoneNumber dialerPhoneNumber); + + public abstract Builder setPhotoInfo(@NonNull PhotoInfo photoInfo); + + public abstract Builder setPrimaryText(@Nullable CharSequence primaryText); + + public abstract Builder setSecondaryText(@Nullable CharSequence secondaryText); + + public abstract Builder setIntent(@Nullable Intent intent); + + public abstract HistoryItemPrimaryActionInfo build(); + } + + public static Builder builder() { + return new AutoValue_HistoryItemPrimaryActionInfo.Builder(); + } +} -- cgit v1.2.3