Move VibratorCompatWrapper to VibratorUtils.
bug: 6129704 Change-Id: Ib63f1ed2d610e27e14957cf8805ef884cae6adf6
This commit is contained in:
parent
3224878351
commit
376eb52450
4 changed files with 25 additions and 26 deletions
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue