Skip to content

Commit f65dc71

Browse files
committed
Remove the default method channel implementation
1 parent bb15fd7 commit f65dc71

File tree

3 files changed

+10
-89
lines changed

3 files changed

+10
-89
lines changed

google_api_availability_platform_interface/lib/src/google_api_availability_platform_interface.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import 'package:google_api_availability_platform_interface/google_api_availability_platform_interface.dart';
22
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
33

4-
import 'implementations/method_channel_google_api_availability.dart';
5-
64
/// The interface that implementations of `google_api_availability` must implement.
75
///
86
/// Platform implementations should extend this class rather than implement it
@@ -17,18 +15,20 @@ abstract class GoogleApiAvailabilityPlatform extends PlatformInterface {
1715

1816
static final Object _token = Object();
1917

20-
static GoogleApiAvailabilityPlatform _instance =
21-
MethodChannelGoogleApiAvailability();
18+
static GoogleApiAvailabilityPlatform? _instance;
2219

2320
/// The default instance of [GoogleApiAvailabilityPlatform] to use.
24-
///
25-
/// Defaults to [MethodChannelGoogleApiAvailability].
26-
static GoogleApiAvailabilityPlatform get instance => _instance;
21+
static GoogleApiAvailabilityPlatform? get instance => _instance;
2722

2823
/// Platform-specific plugins should set this with their own platform-specific
2924
/// class that extends [GoogleApiAvailabilityPlatform] when they register
3025
/// themselves.
31-
static set instance(GoogleApiAvailabilityPlatform instance) {
26+
static set instance(GoogleApiAvailabilityPlatform? instance) {
27+
if (instance == null) {
28+
throw AssertionError(
29+
'Platform interfaces can only be set to a non-null instance');
30+
}
31+
3232
PlatformInterface.verify(instance, _token);
3333
_instance = instance;
3434
}

google_api_availability_platform_interface/lib/src/implementations/method_channel_google_api_availability.dart

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

google_api_availability_platform_interface/test/google_api_availability_platform_interface_test.dart

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,15 @@
44

55
import 'package:flutter_test/flutter_test.dart';
66
import 'package:google_api_availability_platform_interface/google_api_availability_platform_interface.dart';
7-
import 'package:google_api_availability_platform_interface/src/implementations/method_channel_google_api_availability.dart';
87
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
98
import 'package:mockito/mockito.dart';
109

1110
void main() {
1211
TestWidgetsFlutterBinding.ensureInitialized();
1312

1413
group('$GoogleApiAvailabilityPlatform', () {
15-
test('$MethodChannelGoogleApiAvailability is the default instance', () {
16-
expect(GoogleApiAvailabilityPlatform.instance,
17-
isA<MethodChannelGoogleApiAvailability>());
14+
test('The default instance is null', () {
15+
expect(GoogleApiAvailabilityPlatform.instance, isNull);
1816
});
1917

2018
test('Cannot be implemented with `implements`', () {

0 commit comments

Comments
 (0)