1 /* 2 * Copyright (C) 2013 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.dialer.util; 18 19 import android.support.annotation.Nullable; 20 import android.text.TextUtils; 21 22 /** Static utility methods for Strings. */ 23 public class MoreStrings { 24 25 /** 26 * Returns the given string if it is non-null; the empty string otherwise. 27 * 28 * @param string the string to test and possibly return 29 * @return {@code string} itself if it is non-null; {@code ""} if it is null 30 */ nullToEmpty(@ullable String string)31 public static String nullToEmpty(@Nullable String string) { 32 return (string == null) ? "" : string; 33 } 34 35 /** 36 * Returns the given string if it is nonempty; {@code null} otherwise. 37 * 38 * @param string the string to test and possibly return 39 * @return {@code string} itself if it is nonempty; {@code null} if it is empty or null 40 */ 41 @Nullable emptyToNull(@ullable String string)42 public static String emptyToNull(@Nullable String string) { 43 return TextUtils.isEmpty(string) ? null : string; 44 } 45 toSafeString(String value)46 public static String toSafeString(String value) { 47 if (value == null) { 48 return null; 49 } 50 51 // Do exactly same thing as Uri#toSafeString() does, which will enable us to compare 52 // sanitized phone numbers. 53 final StringBuilder builder = new StringBuilder(); 54 for (int i = 0; i < value.length(); i++) { 55 final char c = value.charAt(i); 56 if (c == '-' || c == '@' || c == '.') { 57 builder.append(c); 58 } else { 59 builder.append('x'); 60 } 61 } 62 return builder.toString(); 63 } 64 } 65