summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/PointerSpeedPreference.java
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2012-04-05 18:50:14 -0700
committerJeff Brown <jeffbrown@google.com>2012-04-05 18:50:14 -0700
commitb4765ac70d4ebf7ce0e3bbcbc2697cb242ed176d (patch)
tree07c3e592e40392206d30b9d815d8a02c21db16f9 /src/com/android/settings/PointerSpeedPreference.java
parente46c5f30caddb10c69eee62fc2f9db3f26f29bb5 (diff)
downloadpackages_apps_Settings-b4765ac70d4ebf7ce0e3bbcbc2697cb242ed176d.zip
packages_apps_Settings-b4765ac70d4ebf7ce0e3bbcbc2697cb242ed176d.tar.gz
packages_apps_Settings-b4765ac70d4ebf7ce0e3bbcbc2697cb242ed176d.tar.bz2
Use new input manager API.
Bug: 6110399 Change-Id: I13f23b5d0aa5dc461a135303fc47432a6d57cbb4
Diffstat (limited to 'src/com/android/settings/PointerSpeedPreference.java')
-rw-r--r--src/com/android/settings/PointerSpeedPreference.java52
1 files changed, 13 insertions, 39 deletions
diff --git a/src/com/android/settings/PointerSpeedPreference.java b/src/com/android/settings/PointerSpeedPreference.java
index 6a6a71f..7679cfb 100644
--- a/src/com/android/settings/PointerSpeedPreference.java
+++ b/src/com/android/settings/PointerSpeedPreference.java
@@ -19,22 +19,20 @@ package com.android.settings;
import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
+import android.hardware.input.InputManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Parcel;
import android.os.Parcelable;
-import android.os.RemoteException;
-import android.os.ServiceManager;
import android.preference.SeekBarDialogPreference;
import android.provider.Settings;
-import android.provider.Settings.SettingNotFoundException;
import android.util.AttributeSet;
-import android.view.IWindowManager;
import android.view.View;
import android.widget.SeekBar;
public class PointerSpeedPreference extends SeekBarDialogPreference implements
SeekBar.OnSeekBarChangeListener {
+ private final InputManager mIm;
private SeekBar mSeekBar;
private int mOldSpeed;
@@ -42,9 +40,6 @@ public class PointerSpeedPreference extends SeekBarDialogPreference implements
private boolean mTouchInProgress;
- private static final int MIN_SPEED = -7;
- private static final int MAX_SPEED = 7;
-
private ContentObserver mSpeedObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
@@ -54,6 +49,7 @@ public class PointerSpeedPreference extends SeekBarDialogPreference implements
public PointerSpeedPreference(Context context, AttributeSet attrs) {
super(context, attrs);
+ mIm = (InputManager)getContext().getSystemService(Context.INPUT_SERVICE);
}
@Override
@@ -72,15 +68,15 @@ public class PointerSpeedPreference extends SeekBarDialogPreference implements
super.onBindDialogView(view);
mSeekBar = getSeekBar(view);
- mSeekBar.setMax(MAX_SPEED - MIN_SPEED);
- mOldSpeed = getSpeed(0);
- mSeekBar.setProgress(mOldSpeed - MIN_SPEED);
+ mSeekBar.setMax(InputManager.MAX_POINTER_SPEED - InputManager.MIN_POINTER_SPEED);
+ mOldSpeed = mIm.getPointerSpeed();
+ mSeekBar.setProgress(mOldSpeed - InputManager.MIN_POINTER_SPEED);
mSeekBar.setOnSeekBarChangeListener(this);
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
if (!mTouchInProgress) {
- setSpeed(progress + MIN_SPEED);
+ mIm.tryPointerSpeed(progress + InputManager.MIN_POINTER_SPEED);
}
}
@@ -90,22 +86,12 @@ public class PointerSpeedPreference extends SeekBarDialogPreference implements
public void onStopTrackingTouch(SeekBar seekBar) {
mTouchInProgress = false;
- setSpeed(seekBar.getProgress() + MIN_SPEED);
- }
-
- private int getSpeed(int defaultValue) {
- int speed = defaultValue;
- try {
- speed = Settings.System.getInt(getContext().getContentResolver(),
- Settings.System.POINTER_SPEED);
- } catch (SettingNotFoundException snfe) {
- }
- return speed;
+ mIm.tryPointerSpeed(seekBar.getProgress() + InputManager.MIN_POINTER_SPEED);
}
private void onSpeedChanged() {
- int speed = getSpeed(0);
- mSeekBar.setProgress(speed - MIN_SPEED);
+ int speed = mIm.getPointerSpeed();
+ mSeekBar.setProgress(speed - InputManager.MIN_POINTER_SPEED);
}
@Override
@@ -115,8 +101,7 @@ public class PointerSpeedPreference extends SeekBarDialogPreference implements
final ContentResolver resolver = getContext().getContentResolver();
if (positiveResult) {
- Settings.System.putInt(resolver, Settings.System.POINTER_SPEED,
- mSeekBar.getProgress() + MIN_SPEED);
+ mIm.setPointerSpeed(mSeekBar.getProgress() + InputManager.MIN_POINTER_SPEED);
} else {
restoreOldState();
}
@@ -127,21 +112,10 @@ public class PointerSpeedPreference extends SeekBarDialogPreference implements
private void restoreOldState() {
if (mRestoredOldState) return;
- setSpeed(mOldSpeed);
+ mIm.tryPointerSpeed(mOldSpeed);
mRestoredOldState = true;
}
- private void setSpeed(int speed) {
- try {
- IWindowManager wm = IWindowManager.Stub.asInterface(
- ServiceManager.getService("window"));
- if (wm != null) {
- wm.setPointerSpeed(speed);
- }
- } catch (RemoteException e) {
- }
- }
-
@Override
protected Parcelable onSaveInstanceState() {
final Parcelable superState = super.onSaveInstanceState();
@@ -169,7 +143,7 @@ public class PointerSpeedPreference extends SeekBarDialogPreference implements
super.onRestoreInstanceState(myState.getSuperState());
mOldSpeed = myState.oldSpeed;
mSeekBar.setProgress(myState.progress);
- setSpeed(myState.progress + MIN_SPEED);
+ mIm.tryPointerSpeed(myState.progress + InputManager.MIN_POINTER_SPEED);
}
private static class SavedState extends BaseSavedState {