Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.

[quick_actions]make QuickActions testable #1067

Merged
merged 15 commits into from Jul 10, 2019
2 changes: 1 addition & 1 deletion packages/quick_actions/example/lib/main.dart
Expand Up @@ -36,7 +36,7 @@ class _MyHomePageState extends State<MyHomePage> {
@override
void initState() {
super.initState();
final QuickActions quickActions = const QuickActions();
final QuickActions quickActions = QuickActions();
quickActions.initialize((String shortcutType) {
if (shortcutType == 'action_main') {
print('The user tapped on the "Main view" action.');
Expand Down
14 changes: 10 additions & 4 deletions packages/quick_actions/lib/quick_actions.dart
Expand Up @@ -7,9 +7,6 @@ import 'dart:async';
import 'package:flutter/services.dart';
import 'package:meta/meta.dart';

const MethodChannel _kChannel =
The-Redhat marked this conversation as resolved.
Show resolved Hide resolved
MethodChannel('plugins.flutter.io/quick_actions');

/// Handler for a quick action launch event.
///
/// The argument [type] corresponds to the [ShortcutItem]'s field.
Expand All @@ -36,7 +33,16 @@ class ShortcutItem {

/// Quick actions plugin.
class QuickActions {
const QuickActions();
factory QuickActions() => _instance;

@visibleForTesting
QuickActions.private(MethodChannel channel) : _kChannel = channel;
The-Redhat marked this conversation as resolved.
Show resolved Hide resolved

static final QuickActions _instance = QuickActions.private(
const MethodChannel('plugins.flutter.io/quick_actions'),
);

final MethodChannel _kChannel;
The-Redhat marked this conversation as resolved.
Show resolved Hide resolved

/// Initializes this plugin.
///
Expand Down