Skip to content

Commit 13758cf

Browse files
authored
Merge pull request #11 from Notalib/fix/android-crash-fragment
fix/android crash fragment
2 parents 2183543 + 72a3acd commit 13758cf

37 files changed

+1646
-696
lines changed

flutter_readium/android/build.gradle

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ buildscript {
1111
}
1212

1313
dependencies {
14-
classpath 'com.android.tools.build:gradle:7.4.2'
14+
classpath 'com.android.tools.build:gradle:8.11.0'
1515
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
1616
}
1717
}
@@ -40,19 +40,24 @@ android {
4040
jvmTarget = '18'
4141
}
4242

43-
compileSdkVersion 35
43+
compileSdk 35
4444
ndkVersion = "26.3.11579264"
4545

4646
sourceSets {
4747
main.java.srcDirs += 'src/main/kotlin'
48+
main.res.srcDirs += 'src/main/res'
4849
}
4950
defaultConfig {
5051
minSdkVersion 24
5152
}
53+
54+
buildFeatures {
55+
viewBinding = true
56+
}
5257
}
5358

5459
dependencies {
55-
implementation 'androidx.fragment:fragment-ktx:1.3.5'
60+
implementation 'androidx.fragment:fragment-ktx:1.8.8'
5661

5762
implementation fileTree(include: ['*.jar'], dir: 'libs')
5863
implementation "org.readium.kotlin-toolkit:readium-shared:$readium_version"
@@ -61,11 +66,15 @@ dependencies {
6166
implementation "org.readium.kotlin-toolkit:readium-navigator:$readium_version"
6267
implementation "org.readium.kotlin-toolkit:readium-navigator-media-common:$readium_version"
6368
implementation "org.readium.kotlin-toolkit:readium-navigator-media-tts:$readium_version"
69+
// implementation "androidx.compose.ui:ui:1.8.2" // UI
70+
// implementation "androidx.activity:activity-compose:1.10.1" // Activity Compose integration
6471
// implementation "org.readium.kotlin-toolkit:readium-navigator-media-audio:$readium_version"
6572
// implementation "org.readium.kotlin-toolkit:readium-adapter-exoplayer-audio:$readium_version"
6673
// implementation "org.readium.kotlin-toolkit:readium-adapter-pspdfkit-document:$readium_version"
6774
// implementation "org.readium.kotlin-toolkit:readium-adapter-pspdfkit-navigator:$readium_version"
6875
//implementation "org.readium.kotlin-toolkit:readium-lcp:$readium_version"
6976

70-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1'
77+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2'
78+
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0"
79+
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
7180
}

flutter_readium/android/src/main/kotlin/dk/nota/flutter_readium/EpubNavigatorView.kt

Lines changed: 0 additions & 259 deletions
This file was deleted.

flutter_readium/android/src/main/kotlin/dk/nota/flutter_readium/FlutterReadiumPlugin.kt

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,18 @@ import android.content.Context
44
import android.util.Log
55
import io.flutter.embedding.engine.plugins.FlutterPlugin
66
import io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding
7+
import io.flutter.embedding.engine.plugins.activity.ActivityAware
8+
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding
79
import io.flutter.plugin.common.MethodCall
810
import io.flutter.plugin.common.MethodChannel
911
import io.flutter.plugin.common.MethodChannel.MethodCallHandler
1012
import io.flutter.plugin.common.MethodChannel.Result
1113
import java.io.File
1214
import java.io.IOException
1315

16+
private const val TAG = "FlutterReadiumPlugin"
1417

15-
//internal const val publicationChannelName = "dk.nota.flutter_readium/main"
16-
17-
internal var pluginAppContext: Context? = null
18-
19-
class FlutterReadiumPlugin : FlutterPlugin, MethodCallHandler {
18+
class FlutterReadiumPlugin : FlutterPlugin, ActivityAware, MethodCallHandler {
2019
/// The MethodChannel that will the communication between Flutter and native Android
2120
///
2221
/// This local reference serves to register the plugin with the Flutter Engine and unregister it
@@ -26,10 +25,9 @@ class FlutterReadiumPlugin : FlutterPlugin, MethodCallHandler {
2625
private lateinit var publicationMethodCallHandler: PublicationMethodCallHandler
2726

2827
override fun onAttachedToEngine(flutterPluginBinding: FlutterPluginBinding) {
28+
Log.d(TAG, "onAttachedToEngine")
2929
val messenger = flutterPluginBinding.binaryMessenger
3030

31-
pluginAppContext = flutterPluginBinding.applicationContext
32-
3331
// Register reader view factory
3432
flutterPluginBinding.platformViewRegistry.registerViewFactory(
3533
viewTypeChannelName,
@@ -50,10 +48,12 @@ class FlutterReadiumPlugin : FlutterPlugin, MethodCallHandler {
5048
}
5149

5250
override fun onMethodCall(call: MethodCall, result: Result) {
51+
Log.d(TAG, "onMethodCall")
5352
result.notImplemented()
5453
}
5554

5655
override fun onDetachedFromEngine(binding: FlutterPluginBinding) {
56+
Log.d(TAG, "onDetachedFromEngine")
5757
publicationChannel.setMethodCallHandler(null)
5858
}
5959

@@ -76,4 +76,19 @@ class FlutterReadiumPlugin : FlutterPlugin, MethodCallHandler {
7676
return files
7777
}
7878

79+
override fun onAttachedToActivity(binding: ActivityPluginBinding) {
80+
Log.d(TAG, "onAttachedToActivity")
81+
}
82+
83+
override fun onDetachedFromActivityForConfigChanges() {
84+
Log.d(TAG, "onDetachedFromActivityForConfigChanges")
85+
}
86+
87+
override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) {
88+
Log.d(TAG, "onReattachedToActivityForConfigChanges")
89+
}
90+
91+
override fun onDetachedFromActivity() {
92+
Log.d(TAG, "onDetachedFromActivity")
93+
}
7994
}

0 commit comments

Comments
 (0)