@@ -508,63 +508,63 @@ devices; history is still recorded as renames via copy + `git rm`.
508508Use API 24 as the initial native capture floor.
509509Use the Flutter backend on older supported devices.
510510
511- - [ ] P4.01 Create the Android Gradle workspace.
512- - [ ] P4.02 Add the ` capture-runtime ` Android library.
513- - [ ] P4.03 Set the namespace to ` com.tugboat.capture.runtime ` .
514- - [ ] P4.04 Set the coordinate to ` com.tugboat.sdk:capture-runtime ` .
515- - [ ] P4.05 Configure the pinned NDK version.
516- - [ ] P4.06 Connect Gradle to CMake.
517- - [ ] P4.07 Compile the core for ` arm64-v8a ` .
518- - [ ] P4.08 Compile the core for ` armeabi-v7a ` .
519- - [ ] P4.09 Compile the core for ` x86_64 ` .
520- - [ ] P4.10 Define the Kotlin public API.
521- - [ ] P4.11 Define the capability result.
522- - [ ] P4.12 Define the capture request.
523- - [ ] P4.13 Define the capture result.
524- - [ ] P4.14 Define bounded failure codes.
525- - [ ] P4.15 Add request identifiers.
526- - [ ] P4.16 Add capture cancellation.
527- - [ ] P4.17 Add runtime disposal.
528- - [ ] P4.18 Add one serialized capture queue.
529- - [ ] P4.19 Add a configurable native timeout.
530- - [ ] P4.20 Accept an active ` FlutterView ` .
531- - [ ] P4.21 Find the active ` FlutterSurfaceView ` .
532- - [ ] P4.22 Detect ` FlutterTextureView ` .
533- - [ ] P4.23 Report unsupported render modes.
534- - [ ] P4.24 Calculate the app-content capture rectangle.
535- - [ ] P4.25 Allocate a target-size mutable bitmap.
536- - [ ] P4.26 Request ` PixelCopy ` .
537- - [ ] P4.27 Handle each ` PixelCopy ` result code.
538- - [ ] P4.28 Reject stale completion callbacks.
539- - [ ] P4.29 Lock bitmap pixels through the NDK.
540- - [ ] P4.30 Call the C++ processor through JNI.
541- - [ ] P4.31 Unlock bitmap pixels on each code path.
542- - [ ] P4.32 Skip JPEG encoding after a dHash skip.
543- - [ ] P4.33 Encode JPEG with quality 80.
544- - [ ] P4.34 Calculate SHA-256 over the JPEG.
545- - [ ] P4.35 Return masked JPEG bytes.
546- - [ ] P4.36 Return image dimensions.
547- - [ ] P4.37 Return dHash.
548- - [ ] P4.38 Return the content hash.
549- - [ ] P4.39 Return stage timings.
550- - [ ] P4.40 Return capture coverage.
551- - [ ] P4.41 Clear raw bitmap references after completion.
552- - [ ] P4.42 Do not log pixel data.
553- - [ ] P4.43 Do not log JPEG data.
554- - [ ] P4.44 Build a release AAR.
555- - [ ] P4.45 Add consumer ProGuard rules.
556- - [ ] P4.46 Add native symbol handling.
557- - [ ] P4.47 Publish the AAR to a local Maven repository.
558- - [ ] P4.48 Consume the local artifact from the sample.
559- - [ ] P4.49 Add Android unit tests.
560- - [ ] P4.50 Add Android instrumentation tests.
511+ - [x ] P4.01 Create the Android Gradle workspace.
512+ - [x ] P4.02 Add the ` capture-runtime ` Android library.
513+ - [x ] P4.03 Set the namespace to ` com.tugboat.capture.runtime ` .
514+ - [x ] P4.04 Set the coordinate to ` com.tugboat.sdk:capture-runtime ` .
515+ - [x ] P4.05 Configure the pinned NDK version.
516+ - [x ] P4.06 Connect Gradle to CMake.
517+ - [x ] P4.07 Compile the core for ` arm64-v8a ` .
518+ - [x ] P4.08 Compile the core for ` armeabi-v7a ` .
519+ - [x ] P4.09 Compile the core for ` x86_64 ` .
520+ - [x ] P4.10 Define the Kotlin public API.
521+ - [x ] P4.11 Define the capability result.
522+ - [x ] P4.12 Define the capture request.
523+ - [x ] P4.13 Define the capture result.
524+ - [x ] P4.14 Define bounded failure codes.
525+ - [x ] P4.15 Add request identifiers.
526+ - [x ] P4.16 Add capture cancellation.
527+ - [x ] P4.17 Add runtime disposal.
528+ - [x ] P4.18 Add one serialized capture queue.
529+ - [x ] P4.19 Add a configurable native timeout.
530+ - [x ] P4.20 Accept an active ` FlutterView ` .
531+ - [x ] P4.21 Find the active ` FlutterSurfaceView ` .
532+ - [x ] P4.22 Detect ` FlutterTextureView ` .
533+ - [x ] P4.23 Report unsupported render modes.
534+ - [x ] P4.24 Calculate the app-content capture rectangle.
535+ - [x ] P4.25 Allocate a target-size mutable bitmap.
536+ - [x ] P4.26 Request ` PixelCopy ` .
537+ - [x ] P4.27 Handle each ` PixelCopy ` result code.
538+ - [x ] P4.28 Reject stale completion callbacks.
539+ - [x ] P4.29 Lock bitmap pixels through the NDK.
540+ - [x ] P4.30 Call the C++ processor through JNI.
541+ - [x ] P4.31 Unlock bitmap pixels on each code path.
542+ - [x ] P4.32 Skip JPEG encoding after a dHash skip.
543+ - [x ] P4.33 Encode JPEG with quality 80.
544+ - [x ] P4.34 Calculate SHA-256 over the JPEG.
545+ - [x ] P4.35 Return masked JPEG bytes.
546+ - [x ] P4.36 Return image dimensions.
547+ - [x ] P4.37 Return dHash.
548+ - [x ] P4.38 Return the content hash.
549+ - [x ] P4.39 Return stage timings.
550+ - [x ] P4.40 Return capture coverage.
551+ - [x ] P4.41 Clear raw bitmap references after completion.
552+ - [x ] P4.42 Do not log pixel data.
553+ - [x ] P4.43 Do not log JPEG data.
554+ - [x ] P4.44 Build a release AAR.
555+ - [x ] P4.45 Add consumer ProGuard rules.
556+ - [x ] P4.46 Add native symbol handling.
557+ - [x ] P4.47 Publish the AAR to a local Maven repository.
558+ - [x ] P4.48 Consume the local artifact from the sample.
559+ - [x ] P4.49 Add Android unit tests.
560+ - [x ] P4.50 Add Android instrumentation tests.
561561- [ ] P4.51 Add API 24 tests.
562562- [ ] P4.52 Add a recent Android API test.
563563- [ ] P4.53 Add device-rotation tests.
564564- [ ] P4.54 Add foreground and background tests.
565565- [ ] P4.55 Add activity-recreation tests.
566- - [ ] P4.56 Add repeated-initialization tests.
567- - [ ] P4.57 Add repeated-disposal tests.
566+ - [x ] P4.56 Add repeated-initialization tests.
567+ - [x ] P4.57 Add repeated-disposal tests.
568568
569569### Phase 5 - Convert the Flutter SDK into a plugin
570570
0 commit comments