This repository was archived by the owner on Nov 14, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 560
Expand file tree
/
Copy pathUri.kt
More file actions
72 lines (63 loc) · 1.97 KB
/
Uri.kt
File metadata and controls
72 lines (63 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
* Copyright (C) 2017 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.
*/
@file:Suppress("NOTHING_TO_INLINE") // Aliases to public API.
package androidx.core.net
import android.content.ContentUris
import android.net.Uri
import java.io.File
/**
* Creates a Uri from the given encoded URI string.
*
* @see Uri.parse
*/
inline fun String.toUri(): Uri = Uri.parse(this)
/**
* Creates a Uri from the given file.
*
* @see Uri.fromFile
*/
inline fun File.toUri(): Uri = Uri.fromFile(this)
/** Creates a [File] from the given [Uri]. */
inline fun Uri.toFile(): File = File(path)
/**
* Appends the given ID to the end of the path.
*
* @param id to append
*
* @return the builder
*/
inline fun Uri.Builder.appendId(id: Long): Uri.Builder = ContentUris.appendId(this, id)
/**
* Appends the given ID to the end of the path.
*
* @param id to append
*
* @return a new URI with the given ID appended to the end of the path
*/
inline fun Uri.withAppendedId(id: Long): Uri = ContentUris.withAppendedId(this, id)
/**
* Converts the last path segment to a long.
*
* <p>This supports a common convention for content URIs where an ID is
* stored in the last segment.
*
* @throws UnsupportedOperationException if this isn't a hierarchical URI
* @throws NumberFormatException if the last segment isn't a number
*
* @return the long conversion of the last segment or -1 if the path is
* empty
*/
inline fun Uri.parseId(): Long = ContentUris.parseId(this)