diff options
Diffstat (limited to 'src/com/android/datetimepicker/time/TimePickerDialog.java')
| -rw-r--r-- | src/com/android/datetimepicker/time/TimePickerDialog.java | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/src/com/android/datetimepicker/time/TimePickerDialog.java b/src/com/android/datetimepicker/time/TimePickerDialog.java index 4b67629..bdde56e 100644 --- a/src/com/android/datetimepicker/time/TimePickerDialog.java +++ b/src/com/android/datetimepicker/time/TimePickerDialog.java @@ -34,6 +34,7 @@ import android.view.Window; import android.widget.RelativeLayout; import android.widget.TextView; +import com.android.datetimepicker.HapticFeedbackController; import com.android.datetimepicker.R; import com.android.datetimepicker.Utils; import com.android.datetimepicker.time.RadialPickerLayout.OnValueSelectedListener; @@ -69,6 +70,8 @@ public class TimePickerDialog extends DialogFragment implements OnValueSelectedL private OnTimeSetListener mCallback; + private HapticFeedbackController mHapticFeedbackController; + private TextView mDoneButton; private TextView mHourView; private TextView mHourSpaceView; @@ -199,7 +202,8 @@ public class TimePickerDialog extends DialogFragment implements OnValueSelectedL mTimePicker = (RadialPickerLayout) view.findViewById(R.id.time_picker); mTimePicker.setOnValueSelectedListener(this); mTimePicker.setOnKeyListener(keyboardListener); - mTimePicker.initialize(getActivity(), mInitialHourOfDay, mInitialMinute, mIs24HourMode); + mTimePicker.initialize(getActivity(), this, mInitialHourOfDay, mInitialMinute, + mIs24HourMode); int currentItemShowing = HOUR_INDEX; if (savedInstanceState != null && savedInstanceState.containsKey(KEY_CURRENT_ITEM_SHOWING)) { @@ -208,18 +212,19 @@ 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) { setCurrentItemShowing(HOUR_INDEX, true, false, true); - mTimePicker.tryVibrate(); + tryVibrate(); } }); mMinuteView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { setCurrentItemShowing(MINUTE_INDEX, true, false, true); - mTimePicker.tryVibrate(); + tryVibrate(); } }); @@ -230,7 +235,7 @@ public class TimePickerDialog extends DialogFragment implements OnValueSelectedL if (mInKbMode && isTypedTimeFullyLegal()) { finishKbMode(false); } else { - mTimePicker.tryVibrate(); + tryVibrate(); } if (mCallback != null) { mCallback.onTimeSet(mTimePicker, @@ -257,7 +262,7 @@ public class TimePickerDialog extends DialogFragment implements OnValueSelectedL mAmPmHitspace.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - mTimePicker.tryVibrate(); + tryVibrate(); int amOrPm = mTimePicker.getIsCurrentlyAmOrPm(); if (amOrPm == AM) { amOrPm = PM; @@ -291,6 +296,22 @@ public class TimePickerDialog extends DialogFragment implements OnValueSelectedL return view; } + @Override + public void onResume() { + super.onResume(); + mHapticFeedbackController.start(); + } + + @Override + public void onPause() { + super.onPause(); + mHapticFeedbackController.stop(); + } + + public void tryVibrate() { + mHapticFeedbackController.tryVibrate(); + } + private void updateAmPmDisplay(int amOrPm) { if (amOrPm == AM) { mAmPmTextView.setText(mAmText); |
