summaryrefslogtreecommitdiff
path: root/src/com/android/datetimepicker/time/TimePickerDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/datetimepicker/time/TimePickerDialog.java')
-rw-r--r--src/com/android/datetimepicker/time/TimePickerDialog.java31
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);