From 12061c870e823f4de4e217540fa686a2040df9f1 Mon Sep 17 00:00:00 2001 From: maxwelb Date: Fri, 4 May 2018 12:22:12 -0700 Subject: Add SimpleSpamStatus and use it in FakeSpam and SpamStub Test: Tap PiperOrigin-RevId: 195453152 Change-Id: Ida07f465a832e3541d4c9f6abad97b633c38ac13 --- java/com/android/dialer/spam/SimpleSpamStatus.java | 36 ++++++++++++++++++++++ java/com/android/dialer/spam/SpamStub.java | 15 +-------- 2 files changed, 37 insertions(+), 14 deletions(-) create mode 100644 java/com/android/dialer/spam/SimpleSpamStatus.java (limited to 'java/com/android/dialer/spam') diff --git a/java/com/android/dialer/spam/SimpleSpamStatus.java b/java/com/android/dialer/spam/SimpleSpamStatus.java new file mode 100644 index 000000000..b49241cf8 --- /dev/null +++ b/java/com/android/dialer/spam/SimpleSpamStatus.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2018 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.spam; + +import android.support.annotation.Nullable; +import com.google.auto.value.AutoValue; +import com.google.common.base.Optional; + +/** Holds a boolean and long to represent spam status. */ +@AutoValue +public abstract class SimpleSpamStatus implements SpamStatus { + + /** Returns a SimpleSpamStatus with the given boolean and timestamp. */ + public static SimpleSpamStatus create(boolean isSpam, @Nullable Long timestampMillis) { + return new AutoValue_SimpleSpamStatus(isSpam, Optional.fromNullable(timestampMillis)); + } + + /** Returns a SimpleSpamStatus that's not marked as spam and has no timestamp. */ + public static SimpleSpamStatus notSpam() { + return create(false, null); + } +} diff --git a/java/com/android/dialer/spam/SpamStub.java b/java/com/android/dialer/spam/SpamStub.java index 8851fd09e..cbeb3b9b6 100644 --- a/java/com/android/dialer/spam/SpamStub.java +++ b/java/com/android/dialer/spam/SpamStub.java @@ -21,7 +21,6 @@ import com.android.dialer.common.concurrent.Annotations.BackgroundExecutor; import com.android.dialer.logging.ContactLookupResult; import com.android.dialer.logging.ContactSource; import com.android.dialer.logging.ReportingLocation; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.util.concurrent.Futures; @@ -47,19 +46,7 @@ public class SpamStub implements Spam { ImmutableMap.Builder resultBuilder = new ImmutableMap.Builder<>(); for (DialerPhoneNumber dialerPhoneNumber : dialerPhoneNumbers) { - resultBuilder.put( - dialerPhoneNumber, - new SpamStatus() { - @Override - public boolean isSpam() { - return false; - } - - @Override - public Optional getTimestampMillis() { - return Optional.absent(); - } - }); + resultBuilder.put(dialerPhoneNumber, SimpleSpamStatus.notSpam()); } return resultBuilder.build(); }); -- cgit v1.2.3