summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Sliwowski <psliwowski@google.com>2013-06-25 19:39:08 -0700
committerPaul Sliwowski <psliwowski@google.com>2013-06-25 19:39:08 -0700
commitf2346bc730dc676b6ba6248f5b6949b90d201b9b (patch)
tree308e550685e39d5496aef9d53098c4aceda7eecd
parentfbb045399fd7b455c8fd17cfc23a2f53642ba16b (diff)
downloadandroid_frameworks_opt_datetimepicker-f2346bc730dc676b6ba6248f5b6949b90d201b9b.tar.gz
android_frameworks_opt_datetimepicker-f2346bc730dc676b6ba6248f5b6949b90d201b9b.tar.bz2
android_frameworks_opt_datetimepicker-f2346bc730dc676b6ba6248f5b6949b90d201b9b.zip
Small refactor on haptic feddback for TimeDailogPicker.
Change-Id: Ic7d4f8d9a3a98a0b11acfde3f69ccba2f3964fe7
-rw-r--r--src/com/android/datetimepicker/time/RadialPickerLayout.java13
-rw-r--r--src/com/android/datetimepicker/time/TimePickerDialog.java8
2 files changed, 12 insertions, 9 deletions
diff --git a/src/com/android/datetimepicker/time/RadialPickerLayout.java b/src/com/android/datetimepicker/time/RadialPickerLayout.java
index bad77ed..71b1740 100644
--- a/src/com/android/datetimepicker/time/RadialPickerLayout.java
+++ b/src/com/android/datetimepicker/time/RadialPickerLayout.java
@@ -38,6 +38,7 @@ import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.FrameLayout;
+import com.android.datetimepicker.HapticFeedbackController;
import com.android.datetimepicker.R;
public class RadialPickerLayout extends FrameLayout implements OnTouchListener {
@@ -58,7 +59,7 @@ public class RadialPickerLayout extends FrameLayout implements OnTouchListener {
private int mLastValueSelected;
- private TimePickerDialog mController;
+ private HapticFeedbackController mHapticFeedbackController;
private OnValueSelectedListener mListener;
private boolean mTimeInitialized;
private int mCurrentHoursOfDay;
@@ -161,14 +162,14 @@ public class RadialPickerLayout extends FrameLayout implements OnTouchListener {
* @param initialMinutes
* @param is24HourMode
*/
- public void initialize(Context context, TimePickerDialog controller,
+ public void initialize(Context context, HapticFeedbackController hapticFeedbackController,
int initialHoursOfDay, int initialMinutes, boolean is24HourMode) {
if (mTimeInitialized) {
Log.e(TAG, "Time has already been initialized.");
return;
}
- mController = controller;
+ mHapticFeedbackController = hapticFeedbackController;
mIs24HourMode = is24HourMode;
mHideAmPm = mAccessibilityManager.isTouchExplorationEnabled()? true : mIs24HourMode;
@@ -577,7 +578,7 @@ public class RadialPickerLayout extends FrameLayout implements OnTouchListener {
if (mIsTouchingAmOrPm == AM || mIsTouchingAmOrPm == PM) {
// If the touch is on AM or PM, set it as "touched" after the TAP_TIMEOUT
// in case the user moves their finger quickly.
- mController.tryVibrate();
+ mHapticFeedbackController.tryVibrate();
mDownDegrees = -1;
mHandler.postDelayed(new Runnable() {
@Override
@@ -595,7 +596,7 @@ public class RadialPickerLayout extends FrameLayout implements OnTouchListener {
if (mDownDegrees != -1) {
// If it's a legal touch, set that number as "selected" after the
// TAP_TIMEOUT in case the user moves their finger quickly.
- mController.tryVibrate();
+ mHapticFeedbackController.tryVibrate();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
@@ -650,7 +651,7 @@ public class RadialPickerLayout extends FrameLayout implements OnTouchListener {
if (degrees != -1) {
value = reselectSelector(degrees, isInnerCircle[0], false, true);
if (value != mLastValueSelected) {
- mController.tryVibrate();
+ mHapticFeedbackController.tryVibrate();
mLastValueSelected = value;
mListener.onValueSelected(getCurrentItemShowing(), value, false);
}
diff --git a/src/com/android/datetimepicker/time/TimePickerDialog.java b/src/com/android/datetimepicker/time/TimePickerDialog.java
index bdde56e..953f03d 100644
--- a/src/com/android/datetimepicker/time/TimePickerDialog.java
+++ b/src/com/android/datetimepicker/time/TimePickerDialog.java
@@ -199,11 +199,14 @@ public class TimePickerDialog extends DialogFragment implements OnValueSelectedL
mAmText = amPmTexts[0];
mPmText = amPmTexts[1];
+ mHapticFeedbackController = new HapticFeedbackController(getActivity());
+
mTimePicker = (RadialPickerLayout) view.findViewById(R.id.time_picker);
mTimePicker.setOnValueSelectedListener(this);
mTimePicker.setOnKeyListener(keyboardListener);
- mTimePicker.initialize(getActivity(), this, mInitialHourOfDay, mInitialMinute,
- mIs24HourMode);
+ mTimePicker.initialize(getActivity(), mHapticFeedbackController, mInitialHourOfDay,
+ mInitialMinute, mIs24HourMode);
+
int currentItemShowing = HOUR_INDEX;
if (savedInstanceState != null &&
savedInstanceState.containsKey(KEY_CURRENT_ITEM_SHOWING)) {
@@ -212,7 +215,6 @@ public class TimePickerDialog extends DialogFragment implements OnValueSelectedL
setCurrentItemShowing(currentItemShowing, false, true, true);
mTimePicker.invalidate();
- mHapticFeedbackController = new HapticFeedbackController(getActivity());
mHourView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {