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 { | ||||
|     implementation ("androidx.lifecycle:lifecycle-runtime-ktx:2.3.0") { | ||||
|         force = true | ||||
|     } | ||||
|  | ||||
|     implementation fileTree(dir: "libs", include: ["*.jar"]) | ||||
|     //noinspection GradleDynamicVersion | ||||
|     implementation "com.facebook.react:react-native:+"  // From node_modules | ||||
|   | ||||
| @@ -2,11 +2,12 @@ | ||||
|  | ||||
| buildscript { | ||||
|     ext { | ||||
|         buildToolsVersion = "29.0.3" | ||||
|         buildToolsVersion = "30.0.2" | ||||
|         minSdkVersion = 21 | ||||
|         compileSdkVersion = 30 | ||||
|         targetSdkVersion = 30 | ||||
|         ndkVersion = "20.1.5948944" | ||||
|         ndkVersion = "21.4.7075529" | ||||
|         kotlinVersion = '1.5.32' | ||||
|     } | ||||
|     repositories { | ||||
|         google() | ||||
| @@ -15,7 +16,7 @@ buildscript { | ||||
|     } | ||||
|     dependencies { | ||||
|         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 | ||||
|         // in the individual module build.gradle files | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| distributionBase=GRADLE_USER_HOME | ||||
| 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 | ||||
| zipStorePath=wrapper/dists | ||||
|   | ||||
| @@ -45,7 +45,7 @@ | ||||
|     "expo-constants": "^13.0.0", | ||||
|     "expo-crypto": "10.1.1", | ||||
|     "expo-device": "4.1.0", | ||||
|     "expo-file-system": "^13.1.0", | ||||
|     "expo-file-system": "13.1.0", | ||||
|     "expo-firebase-analytics": "6.0.0", | ||||
|     "expo-haptics": "11.1.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