Skip to content

Commit

Permalink
temporary fix for CT issue, see #14
Browse files Browse the repository at this point in the history
  • Loading branch information
jbphet committed Jun 9, 2022
1 parent 7d3dcf3 commit 0d96e77
Showing 1 changed file with 21 additions and 6 deletions.
27 changes: 21 additions & 6 deletions js/VibrationPatterns.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,25 @@

import tappi from './tappi.js';
import stepTimer from '../../axon/js/stepTimer.js';
import VibrationManageriOS from './VibrationManageriOS.js';
import VibrationManageriOS, { VibrateOptions } from './VibrationManageriOS.js';
import platform from '../../phet-core/js/platform.js';

// constants
const vibrationManager = new VibrationManageriOS();
// TODO: This is a temporary type, created to fix some load errors that were occurring. See https://github.com/phetsims/tappi/issues/14.
type VibrationManagerStubType = {
vibrateTransient: ( options?: VibrateOptions ) => void;
}

let vibrationManagerInstance: VibrationManageriOS | VibrationManagerStubType;
if ( platform.safari ) {
vibrationManagerInstance = new VibrationManageriOS();
}
else {
vibrationManagerInstance = {
vibrateTransient( options?: VibrateOptions ) {
console.warn( 'vibrateTransient called on non-iOS platform' );
}
};
}

const VibrationPatterns = {

Expand Down Expand Up @@ -43,12 +58,12 @@ const VibrationPatterns = {
// request three rapid transient vibrations to indicate a successful UI interaction
interactionSuccess: () => {
const resetVibrationInterval = 150; // ms
vibrationManager.vibrateTransient();
vibrationManagerInstance.vibrateTransient();
stepTimer.setTimeout( () => {
vibrationManager.vibrateTransient();
vibrationManagerInstance.vibrateTransient();

stepTimer.setTimeout( () => {
vibrationManager.vibrateTransient();
vibrationManagerInstance.vibrateTransient();
}, resetVibrationInterval );
}, resetVibrationInterval );
}
Expand Down

0 comments on commit 0d96e77

Please sign in to comment.