mirror of
				https://github.com/tooot-app/app
				synced 2025-06-05 22:19:13 +02:00 
			
		
		
		
	Fix Android build issue
This commit is contained in:
		| @@ -188,6 +188,10 @@ android { | |||||||
| } | } | ||||||
|  |  | ||||||
| dependencies { | dependencies { | ||||||
|  |     implementation ("androidx.lifecycle:lifecycle-runtime-ktx:2.3.0") { | ||||||
|  |         force = true | ||||||
|  |     } | ||||||
|  |  | ||||||
|     implementation fileTree(dir: "libs", include: ["*.jar"]) |     implementation fileTree(dir: "libs", include: ["*.jar"]) | ||||||
|     //noinspection GradleDynamicVersion |     //noinspection GradleDynamicVersion | ||||||
|     implementation "com.facebook.react:react-native:+"  // From node_modules |     implementation "com.facebook.react:react-native:+"  // From node_modules | ||||||
|   | |||||||
| @@ -2,11 +2,12 @@ | |||||||
|  |  | ||||||
| buildscript { | buildscript { | ||||||
|     ext { |     ext { | ||||||
|         buildToolsVersion = "29.0.3" |         buildToolsVersion = "30.0.2" | ||||||
|         minSdkVersion = 21 |         minSdkVersion = 21 | ||||||
|         compileSdkVersion = 30 |         compileSdkVersion = 30 | ||||||
|         targetSdkVersion = 30 |         targetSdkVersion = 30 | ||||||
|         ndkVersion = "20.1.5948944" |         ndkVersion = "21.4.7075529" | ||||||
|  |         kotlinVersion = '1.5.32' | ||||||
|     } |     } | ||||||
|     repositories { |     repositories { | ||||||
|         google() |         google() | ||||||
| @@ -15,7 +16,7 @@ buildscript { | |||||||
|     } |     } | ||||||
|     dependencies { |     dependencies { | ||||||
|         classpath 'com.google.gms:google-services:4.3.3' |         classpath 'com.google.gms:google-services:4.3.3' | ||||||
|         classpath("com.android.tools.build:gradle:4.1.0") |         classpath("com.android.tools.build:gradle:4.2.0") | ||||||
|  |  | ||||||
|         // NOTE: Do not place your application dependencies here; they belong |         // NOTE: Do not place your application dependencies here; they belong | ||||||
|         // in the individual module build.gradle files |         // in the individual module build.gradle files | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| distributionBase=GRADLE_USER_HOME | distributionBase=GRADLE_USER_HOME | ||||||
| distributionPath=wrapper/dists | distributionPath=wrapper/dists | ||||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip | ||||||
| zipStoreBase=GRADLE_USER_HOME | zipStoreBase=GRADLE_USER_HOME | ||||||
| zipStorePath=wrapper/dists | zipStorePath=wrapper/dists | ||||||
|   | |||||||
| @@ -45,7 +45,7 @@ | |||||||
|     "expo-constants": "^13.0.0", |     "expo-constants": "^13.0.0", | ||||||
|     "expo-crypto": "10.1.1", |     "expo-crypto": "10.1.1", | ||||||
|     "expo-device": "4.1.0", |     "expo-device": "4.1.0", | ||||||
|     "expo-file-system": "^13.1.0", |     "expo-file-system": "13.1.0", | ||||||
|     "expo-firebase-analytics": "6.0.0", |     "expo-firebase-analytics": "6.0.0", | ||||||
|     "expo-haptics": "11.1.0", |     "expo-haptics": "11.1.0", | ||||||
|     "expo-image-manipulator": "10.2.0", |     "expo-image-manipulator": "10.2.0", | ||||||
|   | |||||||
							
								
								
									
										166
									
								
								patches/expo-file-system+13.1.0.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								patches/expo-file-system+13.1.0.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,166 @@ | |||||||
|  | diff --git a/node_modules/expo-file-system/android/src/main/java/expo/modules/filesystem/FileSystemModule.kt b/node_modules/expo-file-system/android/src/main/java/expo/modules/filesystem/FileSystemModule.kt | ||||||
|  | index 53bf40f..0ba5d89 100644 | ||||||
|  | --- a/node_modules/expo-file-system/android/src/main/java/expo/modules/filesystem/FileSystemModule.kt | ||||||
|  | +++ b/node_modules/expo-file-system/android/src/main/java/expo/modules/filesystem/FileSystemModule.kt | ||||||
|  | @@ -56,6 +56,7 @@ import okhttp3.Callback | ||||||
|  |  import okhttp3.Headers | ||||||
|  |  import okhttp3.JavaNetCookieJar | ||||||
|  |  import okhttp3.MediaType | ||||||
|  | +import okhttp3.MediaType.Companion.toMediaTypeOrNull | ||||||
|  |  import okhttp3.MultipartBody | ||||||
|  |  import okhttp3.OkHttpClient | ||||||
|  |  import okhttp3.Request | ||||||
|  | @@ -63,11 +64,7 @@ import okhttp3.RequestBody | ||||||
|  |  import okhttp3.Response | ||||||
|  |  import okhttp3.ResponseBody | ||||||
|  |   | ||||||
|  | -import okio.Buffer | ||||||
|  | -import okio.BufferedSource | ||||||
|  | -import okio.ForwardingSource | ||||||
|  | -import okio.Okio | ||||||
|  | -import okio.Source | ||||||
|  | +import okio.* | ||||||
|  |   | ||||||
|  |  import org.apache.commons.codec.binary.Hex | ||||||
|  |  import org.apache.commons.codec.digest.DigestUtils | ||||||
|  | @@ -766,7 +763,7 @@ open class FileSystemModule( | ||||||
|  |        } | ||||||
|  |   | ||||||
|  |        val body = createRequestBody(options, decorator, fileUri.toFile()) | ||||||
|  | -      return requestBuilder.method(method, body).build() | ||||||
|  | +      return method?.let { requestBuilder.method(it, body).build() } | ||||||
|  |      } catch (e: Exception) { | ||||||
|  |        e.message?.let { Log.e(TAG, it) } | ||||||
|  |        promise.reject(e) | ||||||
|  | @@ -791,7 +788,7 @@ open class FileSystemModule( | ||||||
|  |          } ?: URLConnection.guessContentTypeFromName(file.name) | ||||||
|  |   | ||||||
|  |          val fieldName = options["fieldName"]?.let { it as String } ?: file.name | ||||||
|  | -        bodyBuilder.addFormDataPart(fieldName, file.name, decorator.decorate(RequestBody.create(MediaType.parse(mimeType), file))) | ||||||
|  | +        bodyBuilder.addFormDataPart(fieldName, file.name, decorator.decorate(RequestBody.create(mimeType.toMediaTypeOrNull(), file))) | ||||||
|  |          bodyBuilder.build() | ||||||
|  |        } | ||||||
|  |        else -> { | ||||||
|  | @@ -816,9 +813,9 @@ open class FileSystemModule( | ||||||
|  |   | ||||||
|  |          override fun onResponse(call: Call, response: Response) { | ||||||
|  |            val result = Bundle().apply { | ||||||
|  | -            putString("body", response.body()?.string()) | ||||||
|  | -            putInt("status", response.code()) | ||||||
|  | -            putBundle("headers", translateHeaders(response.headers())) | ||||||
|  | +            putString("body", response.body?.string()) | ||||||
|  | +            putInt("status", response.code) | ||||||
|  | +            putBundle("headers", translateHeaders(response.headers)) | ||||||
|  |            } | ||||||
|  |            response.close() | ||||||
|  |            promise.resolve(result) | ||||||
|  | @@ -866,7 +863,7 @@ open class FileSystemModule( | ||||||
|  |      taskHandlers[uuid] = TaskHandler(call) | ||||||
|  |      call.enqueue(object : Callback { | ||||||
|  |        override fun onFailure(call: Call, e: IOException) { | ||||||
|  | -        if (call.isCanceled) { | ||||||
|  | +        if (call.isCanceled()) { | ||||||
|  |            promise.resolve(null) | ||||||
|  |            return | ||||||
|  |          } | ||||||
|  | @@ -876,11 +873,11 @@ open class FileSystemModule( | ||||||
|  |   | ||||||
|  |        override fun onResponse(call: Call, response: Response) { | ||||||
|  |          val result = Bundle() | ||||||
|  | -        val body = response.body() | ||||||
|  | +        val body = response.body | ||||||
|  |          result.apply { | ||||||
|  |            putString("body", body?.string()) | ||||||
|  | -          putInt("status", response.code()) | ||||||
|  | -          putBundle("headers", translateHeaders(response.headers())) | ||||||
|  | +          putInt("status", response.code) | ||||||
|  | +          putBundle("headers", translateHeaders(response.headers)) | ||||||
|  |          } | ||||||
|  |          response.close() | ||||||
|  |          promise.resolve(result) | ||||||
|  | @@ -900,10 +897,10 @@ open class FileSystemModule( | ||||||
|  |            val resources = context.resources | ||||||
|  |            val packageName = context.packageName | ||||||
|  |            val resourceId = resources.getIdentifier(url, "raw", packageName) | ||||||
|  | -          val bufferedSource = Okio.buffer(Okio.source(context.resources.openRawResource(resourceId))) | ||||||
|  | +          val bufferedSource = context.resources.openRawResource(resourceId).source().buffer() | ||||||
|  |            val file = uri.toFile() | ||||||
|  |            file.delete() | ||||||
|  | -          val sink = Okio.buffer(Okio.sink(file)) | ||||||
|  | +          val sink = file.sink().buffer() | ||||||
|  |            sink.writeAll(bufferedSource) | ||||||
|  |            sink.close() | ||||||
|  |            val result = Bundle() | ||||||
|  | @@ -934,13 +931,13 @@ open class FileSystemModule( | ||||||
|  |              override fun onResponse(call: Call, response: Response) { | ||||||
|  |                val file = uri.toFile() | ||||||
|  |                file.delete() | ||||||
|  | -              val sink = Okio.buffer(Okio.sink(file)) | ||||||
|  | -              sink.writeAll(response.body()!!.source()) | ||||||
|  | +              val sink = file.sink().buffer() | ||||||
|  | +              sink.writeAll(response.body!!.source()) | ||||||
|  |                sink.close() | ||||||
|  |                val result = Bundle().apply { | ||||||
|  |                  putString("uri", Uri.fromFile(file).toString()) | ||||||
|  | -                putInt("status", response.code()) | ||||||
|  | -                putBundle("headers", translateHeaders(response.headers())) | ||||||
|  | +                putInt("status", response.code) | ||||||
|  | +                putBundle("headers", translateHeaders(response.headers)) | ||||||
|  |                  if (options?.get("md5") == true) { | ||||||
|  |                    putString("md5", md5(file)) | ||||||
|  |                  } | ||||||
|  | @@ -1003,7 +1000,7 @@ open class FileSystemModule( | ||||||
|  |          ?.addNetworkInterceptor { chain -> | ||||||
|  |            val originalResponse = chain.proceed(chain.request()) | ||||||
|  |            originalResponse.newBuilder() | ||||||
|  | -            .body(ProgressResponseBody(originalResponse.body(), progressListener)) | ||||||
|  | +            .body(ProgressResponseBody(originalResponse.body, progressListener)) | ||||||
|  |              .build() | ||||||
|  |          } | ||||||
|  |          ?.build() | ||||||
|  | @@ -1098,7 +1095,7 @@ open class FileSystemModule( | ||||||
|  |        val options = params[0]?.options | ||||||
|  |        return try { | ||||||
|  |          val response = call!!.execute() | ||||||
|  | -        val responseBody = response.body() | ||||||
|  | +        val responseBody = response.body | ||||||
|  |          val input = BufferedInputStream(responseBody!!.byteStream()) | ||||||
|  |          val output = FileOutputStream(file, isResume == true) | ||||||
|  |          val data = ByteArray(1024) | ||||||
|  | @@ -1108,15 +1105,15 @@ open class FileSystemModule( | ||||||
|  |          } | ||||||
|  |          val result = Bundle().apply { | ||||||
|  |            putString("uri", Uri.fromFile(file).toString()) | ||||||
|  | -          putInt("status", response.code()) | ||||||
|  | -          putBundle("headers", translateHeaders(response.headers())) | ||||||
|  | +          putInt("status", response.code) | ||||||
|  | +          putBundle("headers", translateHeaders(response.headers)) | ||||||
|  |            options?.get("md5").takeIf { it == true }?.let { putString("md5", file?.let { md5(it) }) } | ||||||
|  |          } | ||||||
|  |          response.close() | ||||||
|  |          promise?.resolve(result) | ||||||
|  |          null | ||||||
|  |        } catch (e: Exception) { | ||||||
|  | -        if (call?.isCanceled == true) { | ||||||
|  | +        if (call?.isCanceled() == true) { | ||||||
|  |            promise?.resolve(null) | ||||||
|  |            return null | ||||||
|  |          } | ||||||
|  | @@ -1139,7 +1136,7 @@ open class FileSystemModule( | ||||||
|  |      override fun contentLength(): Long = responseBody?.contentLength() ?: -1 | ||||||
|  |   | ||||||
|  |      override fun source(): BufferedSource = | ||||||
|  | -      bufferedSource ?: Okio.buffer(source(responseBody!!.source())) | ||||||
|  | +      bufferedSource ?: source(responseBody!!.source()).buffer() | ||||||
|  |   | ||||||
|  |      private fun source(source: Source): Source { | ||||||
|  |        return object : ForwardingSource(source) { | ||||||
|  | @@ -1304,7 +1301,7 @@ open class FileSystemModule( | ||||||
|  |    // Copied out of React Native's `NetworkingModule.java` | ||||||
|  |    private fun translateHeaders(headers: Headers): Bundle { | ||||||
|  |      val responseHeaders = Bundle() | ||||||
|  | -    for (i in 0 until headers.size()) { | ||||||
|  | +    for (i in 0 until headers.size) { | ||||||
|  |        val headerName = headers.name(i) | ||||||
|  |        // multiple values for the same header | ||||||
|  |        if (responseHeaders[headerName] != null) { | ||||||
							
								
								
									
										12128
									
								
								patches/expo-updates+0.11.1.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12128
									
								
								patches/expo-updates+0.11.1.patch
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user