1071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda/*
2071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * Copyright (C) 2011 The Android Open Source Project
3071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda *
4071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * Licensed under the Apache License, Version 2.0 (the "License");
5071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * you may not use this file except in compliance with the License.
6071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * You may obtain a copy of the License at
7071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda *
8071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda *      http://www.apache.org/licenses/LICENSE-2.0
9071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda *
10071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * Unless required by applicable law or agreed to in writing, software
11071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * distributed under the License is distributed on an "AS IS" BASIS,
12071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * See the License for the specific language governing permissions and
14071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * limitations under the License.
15071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda */
16071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda
17071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerdapackage com.android.contacts.util;
18071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda
19071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerdaimport android.net.Uri;
20071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda
21071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda/**
22071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda * Utility methods for dealing with URIs.
23071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda */
24071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerdapublic class UriUtils {
25071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda    /** Static helper, not instantiable. */
26071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda    private UriUtils() {}
27071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda
28071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda    /** Checks whether two URI are equal, taking care of the case where either is null. */
29071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda    public static boolean areEqual(Uri uri1, Uri uri2) {
30071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda        if (uri1 == null && uri2 == null) {
31071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda            return true;
32071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda        }
33071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda        if (uri1 == null || uri2 == null) {
34071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda            return false;
35071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda        }
36071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda        return uri1.equals(uri2);
37071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda    }
385ee899e689a8ddcc500655f24b0bcdfdbf401702Flavio Lerda
395ee899e689a8ddcc500655f24b0bcdfdbf401702Flavio Lerda    /** Parses a string into a URI and returns null if the given string is null. */
405ee899e689a8ddcc500655f24b0bcdfdbf401702Flavio Lerda    public static Uri parseUriOrNull(String uriString) {
415ee899e689a8ddcc500655f24b0bcdfdbf401702Flavio Lerda        if (uriString == null) {
425ee899e689a8ddcc500655f24b0bcdfdbf401702Flavio Lerda            return null;
435ee899e689a8ddcc500655f24b0bcdfdbf401702Flavio Lerda        }
445ee899e689a8ddcc500655f24b0bcdfdbf401702Flavio Lerda        return Uri.parse(uriString);
455ee899e689a8ddcc500655f24b0bcdfdbf401702Flavio Lerda    }
464813c270af2b5d904437757807541f1f5e19bb93Flavio Lerda
474813c270af2b5d904437757807541f1f5e19bb93Flavio Lerda    /** Converts a URI into a string, returns null if the given URI is null. */
484813c270af2b5d904437757807541f1f5e19bb93Flavio Lerda    public static String uriToString(Uri uri) {
494813c270af2b5d904437757807541f1f5e19bb93Flavio Lerda        return uri == null ? null : uri.toString();
504813c270af2b5d904437757807541f1f5e19bb93Flavio Lerda    }
51071aa0d0511cbffac933539eaa484860fae2132dFlavio Lerda}
52