Skip to content

Commit 65febc0

Browse files
Merge pull request #70 from Omega-R/develop
Develop
2 parents 3b684ba + 1d545a4 commit 65febc0

3 files changed

Lines changed: 682 additions & 656 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@
77
/build
88
/captures
99
.externalNativeBuild
10+
app/build
11+
omegaintentbuilderlibs/build

core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/BaseUriBuilder.kt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ abstract class BaseUriBuilder(private val context: Context): BaseActivityBuilder
8686
* @return BaseUriBuilder for method chaining
8787
*/
8888
fun file(vararg file: File): BaseUriBuilder {
89-
file.forEach { uriSet.add(Uri.fromFile(it)) }
89+
file.forEach { uriSet.add(toUri(it)) }
9090
return this
9191
}
9292

@@ -98,9 +98,9 @@ abstract class BaseUriBuilder(private val context: Context): BaseActivityBuilder
9898
*/
9999
fun <T> file(collection: Collection<T>): BaseUriBuilder {
100100
if (collection.all { it is String }) {
101-
collection.forEach { uriSet.add(Uri.fromFile(File(it as String))) }
101+
collection.forEach { uriSet.add(toUri(File(it as String))) }
102102
} else if (collection.all { it is File }) {
103-
collection.forEach { uriSet.add(Uri.fromFile(it as File)) }
103+
collection.forEach { uriSet.add(toUri(it as File)) }
104104
} else {
105105
throw IllegalStateException("Collection type should be String or File")
106106
}
@@ -112,10 +112,16 @@ abstract class BaseUriBuilder(private val context: Context): BaseActivityBuilder
112112
* @return BaseUriBuilder for method chaining
113113
*/
114114
fun file(vararg file: String): BaseUriBuilder {
115-
file.forEach { uriSet.add(Uri.fromFile(File(it))) }
115+
file.forEach { uriSet.add(toUri(File(it))) }
116116
return this
117117
}
118118

119+
private fun toUri(file:File): Uri {
120+
val cacheFile = File(localFilesDir, file.name)
121+
file.copyTo(cacheFile, overwrite = true)
122+
return FileProvider.getLocalFileUri(context, cacheFile)
123+
}
124+
119125
/**
120126
* @param bitmap Bitmap
121127
* @return BaseUriBuilder for method chaining

0 commit comments

Comments
 (0)