Move VibratorCompatWrapper to VibratorUtils.

bug: 6129704

Change-Id: Ib63f1ed2d610e27e14957cf8805ef884cae6adf6
main
Ken Wakasa 2012-03-30 18:47:24 +09:00
parent 3224878351
commit 376eb52450
4 changed files with 25 additions and 26 deletions

View File

@ -21,8 +21,8 @@ import android.media.AudioManager;
import android.view.HapticFeedbackConstants; import android.view.HapticFeedbackConstants;
import android.view.View; import android.view.View;
import com.android.inputmethod.compat.VibratorCompatWrapper;
import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.latin.VibratorUtils;
/** /**
* This class gathers audio feedback and haptic feedback functions. * This class gathers audio feedback and haptic feedback functions.
@ -33,13 +33,13 @@ import com.android.inputmethod.keyboard.Keyboard;
public class AudioAndHapticFeedbackManager { public class AudioAndHapticFeedbackManager {
final private SettingsValues mSettingsValues; final private SettingsValues mSettingsValues;
final private AudioManager mAudioManager; final private AudioManager mAudioManager;
final private VibratorCompatWrapper mVibrator; final private VibratorUtils mVibratorUtils;
private boolean mSoundOn; private boolean mSoundOn;
public AudioAndHapticFeedbackManager(final LatinIME latinIme, public AudioAndHapticFeedbackManager(final LatinIME latinIme,
final SettingsValues settingsValues) { final SettingsValues settingsValues) {
mSettingsValues = settingsValues; mSettingsValues = settingsValues;
mVibrator = VibratorCompatWrapper.getInstance(latinIme); mVibratorUtils = VibratorUtils.getInstance(latinIme);
mAudioManager = (AudioManager) latinIme.getSystemService(Context.AUDIO_SERVICE); mAudioManager = (AudioManager) latinIme.getSystemService(Context.AUDIO_SERVICE);
mSoundOn = reevaluateIfSoundIsOn(); mSoundOn = reevaluateIfSoundIsOn();
} }
@ -93,8 +93,8 @@ public class AudioAndHapticFeedbackManager {
HapticFeedbackConstants.KEYBOARD_TAP, HapticFeedbackConstants.KEYBOARD_TAP,
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING); HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);
} }
} else if (mVibrator != null) { } else if (mVibratorUtils != null) {
mVibrator.vibrate(mSettingsValues.mKeypressVibrationDuration); mVibratorUtils.vibrate(mSettingsValues.mKeypressVibrationDuration);
} }
} }

View File

@ -44,7 +44,7 @@ import android.widget.TextView;
import com.android.inputmethod.compat.CompatUtils; import com.android.inputmethod.compat.CompatUtils;
import com.android.inputmethod.compat.InputMethodServiceCompatWrapper; import com.android.inputmethod.compat.InputMethodServiceCompatWrapper;
import com.android.inputmethod.compat.VibratorCompatWrapper; import com.android.inputmethod.latin.VibratorUtils;
import com.android.inputmethod.latin.define.ProductionFlag; import com.android.inputmethod.latin.define.ProductionFlag;
import com.android.inputmethodcommon.InputMethodSettingsActivity; import com.android.inputmethodcommon.InputMethodSettingsActivity;
@ -179,7 +179,7 @@ public class Settings extends InputMethodSettingsActivity
generalSettings.removePreference(mVoicePreference); generalSettings.removePreference(mVoicePreference);
} }
if (!VibratorCompatWrapper.getInstance(context).hasVibrator()) { if (!VibratorUtils.getInstance(context).hasVibrator()) {
generalSettings.removePreference(findPreference(PREF_VIBRATE_ON)); generalSettings.removePreference(findPreference(PREF_VIBRATE_ON));
} }
@ -358,7 +358,7 @@ public class Settings extends InputMethodSettingsActivity
private void refreshEnablingsOfKeypressSoundAndVibrationSettings( private void refreshEnablingsOfKeypressSoundAndVibrationSettings(
SharedPreferences sp, Resources res) { SharedPreferences sp, Resources res) {
if (mKeypressVibrationDurationSettingsPref != null) { if (mKeypressVibrationDurationSettingsPref != null) {
final boolean hasVibrator = VibratorCompatWrapper.getInstance(this).hasVibrator(); final boolean hasVibrator = VibratorUtils.getInstance(this).hasVibrator();
final boolean vibrateOn = hasVibrator && sp.getBoolean(Settings.PREF_VIBRATE_ON, final boolean vibrateOn = hasVibrator && sp.getBoolean(Settings.PREF_VIBRATE_ON,
res.getBoolean(R.bool.config_default_vibration_enabled)); res.getBoolean(R.bool.config_default_vibration_enabled));
mKeypressVibrationDurationSettingsPref.setEnabled(vibrateOn); mKeypressVibrationDurationSettingsPref.setEnabled(vibrateOn);
@ -421,7 +421,7 @@ public class Settings extends InputMethodSettingsActivity
@Override @Override
public void onStopTrackingTouch(SeekBar arg0) { public void onStopTrackingTouch(SeekBar arg0) {
final int tempMs = arg0.getProgress(); final int tempMs = arg0.getProgress();
VibratorCompatWrapper.getInstance(context).vibrate(tempMs); VibratorUtils.getInstance(context).vibrate(tempMs);
} }
}); });
sb.setProgress(currentMs); sb.setProgress(currentMs);

View File

@ -23,8 +23,8 @@ import android.util.Log;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.compat.InputTypeCompatUtils;
import com.android.inputmethod.compat.VibratorCompatWrapper;
import com.android.inputmethod.keyboard.internal.KeySpecParser; import com.android.inputmethod.keyboard.internal.KeySpecParser;
import com.android.inputmethod.latin.VibratorUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -187,7 +187,7 @@ public class SettingsValues {
private static boolean isVibrateOn(final Context context, final SharedPreferences prefs, private static boolean isVibrateOn(final Context context, final SharedPreferences prefs,
final Resources res) { final Resources res) {
final boolean hasVibrator = VibratorCompatWrapper.getInstance(context).hasVibrator(); final boolean hasVibrator = VibratorUtils.getInstance(context).hasVibrator();
return hasVibrator && prefs.getBoolean(Settings.PREF_VIBRATE_ON, return hasVibrator && prefs.getBoolean(Settings.PREF_VIBRATE_ON,
res.getBoolean(R.bool.config_default_vibration_enabled)); res.getBoolean(R.bool.config_default_vibration_enabled));
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2011 The Android Open Source Project * Copyright (C) 2012 The Android Open Source Project
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -14,38 +14,37 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.inputmethod.compat; package com.android.inputmethod.latin;
import android.content.Context; import android.content.Context;
import android.os.Vibrator; import android.os.Vibrator;
import java.lang.reflect.Method; public class VibratorUtils {
private static final VibratorUtils sInstance = new VibratorUtils();
public class VibratorCompatWrapper {
private static final Method METHOD_hasVibrator = CompatUtils.getMethod(Vibrator.class,
"hasVibrator");
private static final VibratorCompatWrapper sInstance = new VibratorCompatWrapper();
private Vibrator mVibrator; private Vibrator mVibrator;
private VibratorCompatWrapper() { private VibratorUtils() {
// This utility class is not publicly instantiable.
} }
public static VibratorCompatWrapper getInstance(Context context) { public static VibratorUtils getInstance(Context context) {
if (sInstance.mVibrator == null) { if (sInstance.mVibrator == null) {
sInstance.mVibrator = sInstance.mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
(Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
} }
return sInstance; return sInstance;
} }
public boolean hasVibrator() { public boolean hasVibrator() {
if (mVibrator == null) if (mVibrator == null) {
return false; return false;
return (Boolean) CompatUtils.invoke(mVibrator, true, METHOD_hasVibrator); }
return mVibrator.hasVibrator();
} }
public void vibrate(long milliseconds) { public void vibrate(long milliseconds) {
if (mVibrator == null) {
return;
}
mVibrator.vibrate(milliseconds); mVibrator.vibrate(milliseconds);
} }
} }