Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions packages/camera/camera_android_camerax/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.6.26

* Removes internal native library Dart proxy.

## 0.6.25

* Adds support for `MediaSettings.fps` for camera preview, image streaming, and video recording.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright 2013 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v26.1.0), do not edit directly.
// Autogenerated from Pigeon (v26.1.2), do not edit directly.
// See also: https://pub.dev/packages/pigeon
@file:Suppress("UNCHECKED_CAST", "ArrayInDataClass")

Expand Down Expand Up @@ -213,7 +213,7 @@ class CameraXLibraryPigeonInstanceManager(
}

/** Retrieves the instance associated with identifier, if present, otherwise `null`. */
fun <T> getInstance(identifier: Long): T? {
fun <T : Any> getInstance(identifier: Long): T? {
logWarningIfFinalizationListenerHasStopped()
val instance = weakInstances[identifier] as IdentityWeakReference<T>?
return instance?.get()
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,46 @@ import 'camerax_library.g.dart' as camerax;

export 'camerax_library.g.dart' hide CameraInfo, LiveData, Observer;

/// Provides overrides for the constructors and static members of classes that
/// extend Dart proxy classes.
///
/// Intended to be similar to [camerax.PigeonOverrides].
///
/// This is only intended to be used with unit tests to prevent errors from
/// making message calls in a unit test.
///
/// See [GenericsPigeonOverrides.reset] to set all overrides back to null.
@visibleForTesting
final class GenericsPigeonOverrides {
/// Overrides [Observer.new].
static Observer<T> Function<T>({
required void Function(Observer<T> pigeonInstance, T value) onChanged,
})?
observerNew;

/// Sets all overridden ProxyApi class members to null.
static void reset() {
observerNew = null;
}
}

/// Handles adding support for generics to the API wrapper.
///
/// APIs wrapped with the pigeon ProxyAPI system doesn't support generics, so
/// this handles using subclasses to add support.
void setUpGenerics({
BinaryMessenger? pigeonBinaryMessenger,
camerax.PigeonInstanceManager? pigeonInstanceManager,
}) {
void setUpGenerics({BinaryMessenger? pigeonBinaryMessenger}) {
camerax.LiveData.pigeon_setUpMessageHandlers(
pigeon_newInstance: (camerax.LiveDataSupportedType type) {
switch (type) {
case camerax.LiveDataSupportedType.cameraState:
return LiveData<camerax.CameraState>.detached(
type: type,
pigeon_binaryMessenger: pigeonBinaryMessenger,
pigeon_instanceManager: pigeonInstanceManager,
);
case camerax.LiveDataSupportedType.zoomState:
return LiveData<camerax.ZoomState>.detached(
type: type,
pigeon_binaryMessenger: pigeonBinaryMessenger,
pigeon_instanceManager: pigeonInstanceManager,
);
}
},
Expand All @@ -43,7 +61,6 @@ void setUpGenerics({
sensorRotationDegrees: sensorRotationDegrees,
exposureState: exposureState,
pigeon_binaryMessenger: pigeonBinaryMessenger,
pigeon_instanceManager: pigeonInstanceManager,
);
},
);
Expand Down Expand Up @@ -87,8 +104,6 @@ class CameraInfo extends camerax.CameraInfo {
required super.exposureState,
// ignore: non_constant_identifier_names
super.pigeon_binaryMessenger,
// ignore: non_constant_identifier_names
super.pigeon_instanceManager,
}) : super.pigeon_detached();

@override
Expand All @@ -108,7 +123,6 @@ class CameraInfo extends camerax.CameraInfo {
sensorRotationDegrees: sensorRotationDegrees,
exposureState: exposureState,
pigeon_binaryMessenger: pigeon_binaryMessenger,
pigeon_instanceManager: pigeon_instanceManager,
);
}
}
Expand All @@ -130,8 +144,6 @@ class LiveData<T> extends camerax.LiveData {
required super.type,
// ignore: non_constant_identifier_names
super.pigeon_binaryMessenger,
// ignore: non_constant_identifier_names
super.pigeon_instanceManager,
}) : super.pigeon_detached();

@override
Expand All @@ -150,7 +162,6 @@ class LiveData<T> extends camerax.LiveData {
return LiveData<T>.detached(
type: type,
pigeon_binaryMessenger: pigeon_binaryMessenger,
pigeon_instanceManager: pigeon_instanceManager,
);
}
}
Expand All @@ -160,12 +171,25 @@ class LiveData<T> extends camerax.LiveData {
/// See https://developer.android.com/reference/androidx/lifecycle/Observer.
class Observer<T> extends camerax.Observer {
/// Constructs an [Observer].
Observer({
factory Observer({
required void Function(Observer<T> instance, T value) onChanged,
BinaryMessenger? binaryMessenger,
}) {
if (GenericsPigeonOverrides.observerNew != null) {
return GenericsPigeonOverrides.observerNew!(onChanged: onChanged);
}
return Observer<T>.pigeonNew(
pigeon_binaryMessenger: binaryMessenger,
onChanged: onChanged,
);
}

/// Constructs an [Observer].
@protected
Observer.pigeonNew({
required void Function(Observer<T> instance, T value) onChanged,
// ignore: non_constant_identifier_names
super.pigeon_binaryMessenger,
// ignore: non_constant_identifier_names
super.pigeon_instanceManager,
}) : _genericOnChanged = onChanged,
super.pigeon_new(
onChanged: (camerax.Observer instance, Object value) {
Expand All @@ -181,8 +205,6 @@ class Observer<T> extends camerax.Observer {
required void Function(Observer<T> instance, T value) onChanged,
// ignore: non_constant_identifier_names
super.pigeon_binaryMessenger,
// ignore: non_constant_identifier_names
super.pigeon_instanceManager,
}) : _genericOnChanged = onChanged,
super.pigeon_detached(
onChanged: (camerax.Observer instance, Object value) {
Expand All @@ -198,7 +220,6 @@ class Observer<T> extends camerax.Observer {
return Observer<T>.detached(
onChanged: _genericOnChanged,
pigeon_binaryMessenger: pigeon_binaryMessenger,
pigeon_instanceManager: pigeon_instanceManager,
);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright 2013 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v26.1.0), do not edit directly.
// Autogenerated from Pigeon (v26.1.2), do not edit directly.
// See also: https://pub.dev/packages/pigeon
// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers

Expand Down
Loading