com.passwordboss.android.helper.SecureItemSubTitle.java Source code

Java tutorial

Introduction

Here is the source code for com.passwordboss.android.helper.SecureItemSubTitle.java

Source

package com.passwordboss.android.helper;

import android.support.annotation.Nullable;

import com.google.common.base.Strings;
import com.j256.ormlite.dao.ForeignCollection;
import com.passwordboss.android.database.beans.SecureItem;
import com.passwordboss.android.database.beans.SecureItemData;
import com.passwordboss.android.model.ItemType;

public class SecureItemSubTitle {
    final SecureItem mSecureItem;

    public SecureItemSubTitle(SecureItem secureItem) {
        mSecureItem = secureItem;
    }

    @Nullable
    public String get() {
        ItemType itemType = ItemType.from(mSecureItem);
        if (null == itemType)
            return null;
        switch (itemType) {
        case Address:
            return getValue(SecureItemData.Identifier.ADDRESS1);
        case BankAccount:
            return getValue(SecureItemData.Identifier.BANK_NAME);
        case CreditCard:
            String cardNumber = Strings.nullToEmpty(getValue(SecureItemData.Identifier.CARD_NUMBER));
            if (cardNumber.length() >= 4) {
                cardNumber = cardNumber.substring(cardNumber.length() - 4);
            }
            return "####-" + cardNumber;
        case DriversLicense:
            return getValue(SecureItemData.Identifier.DRIVER_LICENSE_NUMBER);
        case Email:
            return getValue(SecureItemData.Identifier.EMAIL);
        case EmailAccount:
        case InstantMessenger:
        case Server:
        case Website:
            return getValue(SecureItemData.Identifier.USERNAME);
        case FrequentFlyer:
            return getValue(SecureItemData.Identifier.FREQUENT_FLYER_NUMBER);
        case HealthInsurance:
            return getValue(SecureItemData.Identifier.MEMBER_ID);
        case HotelRewards:
            return getValue(SecureItemData.Identifier.MEMBERSHIP_NUMBER);
        case Insurance:
            return getValue(SecureItemData.Identifier.POLICY_NUMBER);
        case MemberId:
            return getValue(SecureItemData.Identifier.MEMBER_ID);
        case Passport:
            return getValue(SecureItemData.Identifier.PASSPORT_NUMBER);
        case Phone:
            return getValue(SecureItemData.Identifier.PHONE_NUMBER);
        case Prescription:
            return getValue(SecureItemData.Identifier.PRESCRIPTION_NUMBER);
        case SocialSecurity:
            return getValue(SecureItemData.Identifier.SOCIAL_SECURITY_NUMBER);
        case SshKey:
            return getValue(SecureItemData.Identifier.SERVER_ADDRESS);
        case WiFi:
            return getValue(SecureItemData.Identifier.SSID);
        default:
            return null;
        }
    }

    @Nullable
    private String getValue(String identifier) {
        ForeignCollection<SecureItemData> foreignCollection = mSecureItem.getSecureItemData();
        for (SecureItemData itemData : foreignCollection) {
            if (identifier.equals(itemData.getIdentifier()))
                return itemData.getValue();
        }
        return null;
    }

}