diff --git a/demos/demo-android/app/build.gradle b/demos/demo-android/app/build.gradle index 40624951d8..66dd667389 100755 --- a/demos/demo-android/app/build.gradle +++ b/demos/demo-android/app/build.gradle @@ -75,7 +75,7 @@ dependencies { implementation 'com.jakewharton.timber:timber:5.0.1' implementation 'io.coil-kt:coil-compose:2.2.2' implementation "io.ktor:ktor-client-cio:2.3.9" - implementation "com.ricoh360.thetaclient:theta-client:1.11.0" + implementation "com.ricoh360.thetaclient:theta-client:1.11.1" testImplementation 'org.junit.jupiter:junit-jupiter:5.9.0' testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_version" diff --git a/demos/demo-ios/Podfile b/demos/demo-ios/Podfile index 48e8f83579..daeda5bd64 100644 --- a/demos/demo-ios/Podfile +++ b/demos/demo-ios/Podfile @@ -7,5 +7,5 @@ target 'SdkSample' do use_frameworks! # Pods for SdkSample - pod 'THETAClient', '1.11.0' + pod 'THETAClient', '1.11.1' end diff --git a/demos/demo-react-native/package.json b/demos/demo-react-native/package.json index 75afe9ebea..34bc524d0e 100644 --- a/demos/demo-react-native/package.json +++ b/demos/demo-react-native/package.json @@ -13,7 +13,7 @@ "dependencies": { "@react-navigation/native": "^6.1.0", "@react-navigation/native-stack": "^6.9.5", - "theta-client-react-native": "1.11.0", + "theta-client-react-native": "1.11.1", "react": "18.2.0", "react-native": "0.71.14", "react-native-safe-area-context": "^4.4.1", diff --git a/docs/tutorial-android.ja.md b/docs/tutorial-android.ja.md index 3c75b0ce9b..eb392d6de7 100644 --- a/docs/tutorial-android.ja.md +++ b/docs/tutorial-android.ja.md @@ -4,7 +4,7 @@ - モジュールの`build.gradle`の`dependencies`に次を追加します。 ``` - implementation "com.ricoh360.thetaclient:theta-client:1.11.0" + implementation "com.ricoh360.thetaclient:theta-client:1.11.1" ``` - 本 SDK を使用したアプリケーションが動作するスマートフォンと THETA を無線 LAN 接続しておきます。 diff --git a/docs/tutorial-android.md b/docs/tutorial-android.md index c960001ec1..b4950fe165 100644 --- a/docs/tutorial-android.md +++ b/docs/tutorial-android.md @@ -5,7 +5,7 @@ - Add following descriptions to the `dependencies` of your module's `build.gradle`. ``` - implementation "com.ricoh360.thetaclient:theta-client:1.11.0" + implementation "com.ricoh360.thetaclient:theta-client:1.11.1" ``` - Connect the wireless LAN between THETA and the smartphone that runs on the application using this SDK. diff --git a/flutter/android/build.gradle b/flutter/android/build.gradle index 4efa5ef423..1720919913 100644 --- a/flutter/android/build.gradle +++ b/flutter/android/build.gradle @@ -53,5 +53,5 @@ dependencies { implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.9") implementation("com.soywiz.korlibs.krypto:krypto:4.0.10") - implementation("com.ricoh360.thetaclient:theta-client:1.11.0") + implementation("com.ricoh360.thetaclient:theta-client:1.11.1") } diff --git a/flutter/ios/theta_client_flutter.podspec b/flutter/ios/theta_client_flutter.podspec index 2290e08c5e..9bd43993a5 100644 --- a/flutter/ios/theta_client_flutter.podspec +++ b/flutter/ios/theta_client_flutter.podspec @@ -4,7 +4,7 @@ # Pod::Spec.new do |s| s.name = 'theta_client_flutter' - s.version = '1.11.0' + s.version = '1.11.1' s.summary = 'theta-client plugin project.' s.description = <<-DESC theta-client Flutter plugin project. @@ -17,7 +17,7 @@ Pod::Spec.new do |s| s.dependency 'Flutter' s.platform = :ios, '15.0' - s.dependency 'THETAClient', '1.11.0' + s.dependency 'THETAClient', '1.11.1' # Flutter.framework does not contain a i386 slice. s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml index 16bb95bdeb..fb8d636a3a 100644 --- a/flutter/pubspec.yaml +++ b/flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: theta_client_flutter description: THETA Client Flutter plugin project. -version: 1.11.0 +version: 1.11.1 homepage: environment: diff --git a/kotlin-multiplatform/build.gradle.kts b/kotlin-multiplatform/build.gradle.kts index 8b2e6ba2f4..7bf01659bc 100644 --- a/kotlin-multiplatform/build.gradle.kts +++ b/kotlin-multiplatform/build.gradle.kts @@ -17,7 +17,7 @@ dependencies { dokkaPlugin("org.jetbrains.dokka:versioning-plugin:1.9.10") } -val thetaClientVersion = "1.11.0" +val thetaClientVersion = "1.11.1" group = "com.ricoh360.thetaclient" version = thetaClientVersion @@ -105,7 +105,7 @@ kotlin { android { namespace = "com.ricoh360.thetaclient" - compileSdk = 33 + compileSdk = 34 sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") defaultConfig { minSdk = 26 diff --git a/kotlin-multiplatform/src/commonMain/kotlin/com/ricoh360/thetaclient/ThetaRepository.kt b/kotlin-multiplatform/src/commonMain/kotlin/com/ricoh360/thetaclient/ThetaRepository.kt index c27d523db8..7070b322e3 100644 --- a/kotlin-multiplatform/src/commonMain/kotlin/com/ricoh360/thetaclient/ThetaRepository.kt +++ b/kotlin-multiplatform/src/commonMain/kotlin/com/ricoh360/thetaclient/ThetaRepository.kt @@ -416,18 +416,9 @@ class ThetaRepository internal constructor(val endpoint: String, config: Config? throw ThetaWebApiException(response.toString()) } val input = response.body() - val builder = StringBuilder() - try { - while (!input.endOfInput) { - val char = input.readText(1, 1) - builder.append(char) - } - } catch (e: Throwable) { - throw e - } finally { - input.close() - } - return builder.toString() + val bytes = input.readBytes() + // decodeToString replaces invalid byte sequence with \uFFFD + return bytes.decodeToString() } catch (e: JsonConvertException) { throw ThetaWebApiException(e.message ?: e.toString()) } catch (e: ResponseException) { @@ -7789,7 +7780,10 @@ class ThetaRepository internal constructor(val endpoint: String, config: Config? if (response.status != HttpStatusCode.OK) { throw ThetaWebApiException(response.toString()) } - return response.bodyAsText() + val input = response.body() + val bytes = input.readBytes() + // decodeToString replaces invalid byte sequence with \uFFFD + return bytes.decodeToString() } catch (e: JsonConvertException) { throw ThetaWebApiException(e.message ?: e.toString()) } catch (e: ResponseException) { diff --git a/react-native/android/build.gradle b/react-native/android/build.gradle index 5464a97d7c..de9f812967 100644 --- a/react-native/android/build.gradle +++ b/react-native/android/build.gradle @@ -135,7 +135,7 @@ dependencies { implementation "com.facebook.react:react-native:+" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3" - implementation "com.ricoh360.thetaclient:theta-client:1.11.0" + implementation "com.ricoh360.thetaclient:theta-client:1.11.1" // From node_modules } diff --git a/react-native/package.json b/react-native/package.json index 408d5b167a..73cfa700d4 100644 --- a/react-native/package.json +++ b/react-native/package.json @@ -1,6 +1,6 @@ { "name": "theta-client-react-native", - "version": "1.11.0", + "version": "1.11.1", "description": "This library provides a way to control RICOH THETA using.", "main": "lib/commonjs/index", "module": "lib/module/index", diff --git a/react-native/src/theta-repository/index.ts b/react-native/src/theta-repository/index.ts index 62b9c886fb..02861470cb 100644 --- a/react-native/src/theta-repository/index.ts +++ b/react-native/src/theta-repository/index.ts @@ -5,6 +5,7 @@ export * from './theta-config'; export * from './theta-files'; export * from './theta-info'; export * from './theta-meta'; +export * from './theta-plugin'; export * from './theta-repository'; export * from './theta-state'; export * from './theta-timeout'; diff --git a/react-native/theta-client-react-native.podspec b/react-native/theta-client-react-native.podspec index 21ed79af50..5cf87a75fb 100644 --- a/react-native/theta-client-react-native.podspec +++ b/react-native/theta-client-react-native.podspec @@ -17,7 +17,7 @@ Pod::Spec.new do |s| s.source_files = "ios/**/*.{h,m,mm,swift}" s.dependency "React-Core" - s.dependency "THETAClient", "1.11.0" + s.dependency "THETAClient", "1.11.1" # Don't install the dependencies when we run `pod install` in the old architecture. if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then