// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/services.dart'; /// Tracks how often feedback has been requested since its instantiation. /// /// It replaces the MockMethodCallHandler of [SystemChannels.platform] and /// cannot be used in combination with other classes that do the same. class FeedbackTester { FeedbackTester() { SystemChannels.platform.setMockMethodCallHandler((MethodCall methodCall) async { if (methodCall.method == 'HapticFeedback.vibrate') _hapticCount++; if (methodCall.method == 'SystemSound.play' && methodCall.arguments == SystemSoundType.click.toString()) _clickSoundCount++; }); } /// Number of times haptic feedback was requested (vibration). int get hapticCount => _hapticCount; int _hapticCount = 0; /// Number of times the click sound was requested to play. int get clickSoundCount => _clickSoundCount; int _clickSoundCount = 0; /// Stops tracking. void dispose() { SystemChannels.platform.setMockMethodCallHandler(null); } }