Java程序  |  51行  |  2.46 KB

/*
 * 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.calllogutils;

import android.text.TextUtils;
import com.android.dialer.NumberAttributes;
import com.android.dialer.phonelookup.PhoneLookupInfo;
import com.android.dialer.phonelookup.consolidator.PhoneLookupInfoConsolidator;

/** Builds {@link NumberAttributes} from other data types. */
public final class NumberAttributesBuilder {

  /** Returns a {@link NumberAttributes.Builder} with info from {@link PhoneLookupInfo}. */
  public static NumberAttributes.Builder fromPhoneLookupInfo(PhoneLookupInfo phoneLookupInfo) {
    PhoneLookupInfoConsolidator phoneLookupInfoConsolidator =
        new PhoneLookupInfoConsolidator(phoneLookupInfo);
    return NumberAttributes.newBuilder()
        .setName(phoneLookupInfoConsolidator.getName())
        .setPhotoUri(
            !TextUtils.isEmpty(phoneLookupInfoConsolidator.getPhotoThumbnailUri())
                ? phoneLookupInfoConsolidator.getPhotoThumbnailUri()
                : phoneLookupInfoConsolidator.getPhotoUri())
        .setPhotoId(phoneLookupInfoConsolidator.getPhotoId())
        .setLookupUri(phoneLookupInfoConsolidator.getLookupUri())
        .setNumberTypeLabel(phoneLookupInfoConsolidator.getNumberLabel())
        .setIsBusiness(phoneLookupInfoConsolidator.isBusiness())
        .setIsBlocked(phoneLookupInfoConsolidator.isBlocked())
        .setIsSpam(phoneLookupInfoConsolidator.isSpam())
        .setCanReportAsInvalidNumber(phoneLookupInfoConsolidator.canReportAsInvalidNumber())
        .setIsCp2InfoIncomplete(phoneLookupInfoConsolidator.isDefaultCp2InfoIncomplete())
        .setContactSource(phoneLookupInfoConsolidator.getContactSource())
        .setCanSupportCarrierVideoCall(phoneLookupInfoConsolidator.canSupportCarrierVideoCall())
        .setGeolocation(phoneLookupInfoConsolidator.getGeolocation())
        .setIsEmergencyNumber(phoneLookupInfoConsolidator.isEmergencyNumber());
  }
}