Created BaseTimePickerDialog

This commit is contained in:
Phillip Hsu 2016-07-16 20:28:13 -07:00
parent 5405be9b26
commit d1c0820de4
5 changed files with 69 additions and 12 deletions

View File

@ -0,0 +1,21 @@
package com.philliphsu.clock2.editalarm;
import android.support.v4.app.DialogFragment;
/**
* Created by Phillip Hsu on 7/16/2016.
*/
public abstract class BaseTimePickerDialog extends DialogFragment {
/*package*/ TimePicker.OnTimeSetListener mCallback;
/**
* Empty constructor required for dialog fragment.
* Subclasses do not need to write their own.
*/
public BaseTimePickerDialog() {}
public final void setOnTimeSetListener(TimePicker.OnTimeSetListener callback) {
mCallback = callback;
}
}

View File

@ -1,7 +1,6 @@
package com.philliphsu.clock2.editalarm; package com.philliphsu.clock2.editalarm;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@ -19,15 +18,14 @@ import butterknife.OnTouch;
* Created by Phillip Hsu on 7/12/2016. * Created by Phillip Hsu on 7/12/2016.
* *
*/ */
public class NumpadTimePickerDialog extends DialogFragment implements NumpadTimePicker.OnInputChangeListener { public class NumpadTimePickerDialog extends BaseTimePickerDialog
implements NumpadTimePicker.OnInputChangeListener {
private static final String KEY_HOUR_OF_DAY = "hour_of_day"; private static final String KEY_HOUR_OF_DAY = "hour_of_day";
private static final String KEY_MINUTE = "minute"; private static final String KEY_MINUTE = "minute";
private static final String KEY_IS_24_HOUR_VIEW = "is_24_hour_view"; private static final String KEY_IS_24_HOUR_VIEW = "is_24_hour_view";
private static final String KEY_DIGITS_INPUTTED = "digits_inputted"; private static final String KEY_DIGITS_INPUTTED = "digits_inputted";
private TimePicker.OnTimeSetListener mCallback;
private int mInitialHourOfDay; private int mInitialHourOfDay;
private int mInitialMinute; private int mInitialMinute;
private boolean mIs24HourMode; private boolean mIs24HourMode;
@ -46,10 +44,6 @@ public class NumpadTimePickerDialog extends DialogFragment implements NumpadTime
@Bind(R.id.number_grid) NumpadTimePicker mNumpad; @Bind(R.id.number_grid) NumpadTimePicker mNumpad;
@Bind(R.id.focus_grabber) View mFocusGrabber; @Bind(R.id.focus_grabber) View mFocusGrabber;
public NumpadTimePickerDialog() {
// Empty constructor required for dialog fragment.
}
// TODO: We don't need to pass in an initial hour and minute for a new instance. // TODO: We don't need to pass in an initial hour and minute for a new instance.
// TODO: Delete is24HourMode? // TODO: Delete is24HourMode?
@Deprecated @Deprecated
@ -75,10 +69,6 @@ public class NumpadTimePickerDialog extends DialogFragment implements NumpadTime
mIs24HourMode = is24HourMode; mIs24HourMode = is24HourMode;
} }
public void setOnTimeSetListener(TimePicker.OnTimeSetListener callback) {
mCallback = callback;
}
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);

View File

@ -0,0 +1,29 @@
package com.philliphsu.clock2.editalarm;
import android.content.Context;
import android.support.v7.widget.GridLayout;
import android.util.AttributeSet;
/**
* Created by Phillip Hsu on 7/16/2016.
*/
public class ScrollingGridTimePicker extends GridLayout implements TimePicker {
public ScrollingGridTimePicker(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ScrollingGridTimePicker(Context context) {
super(context);
}
@Override
public int hourOfDay() {
return 0;
}
@Override
public int minute() {
return 0;
}
}

View File

@ -0,0 +1,16 @@
package com.philliphsu.clock2.editalarm;
/**
* Created by Phillip Hsu on 7/16/2016.
*/
public class ScrollingGridTimePickerDialog extends BaseTimePickerDialog {
private TimePicker.OnTimeSetListener mCallback;
public static NumpadTimePickerDialog newInstance(TimePicker.OnTimeSetListener callback) {
NumpadTimePickerDialog ret = new NumpadTimePickerDialog();
ret.setOnTimeSetListener(callback);
return ret;
}
}

View File

@ -22,6 +22,7 @@ public interface TimePicker {
* @param hourOfDay The hour that was set. * @param hourOfDay The hour that was set.
* @param minute The minute that was set. * @param minute The minute that was set.
*/ */
// TODO: Consider changing VG param to TimePicker
void onTimeSet(ViewGroup viewGroup, int hourOfDay, int minute); void onTimeSet(ViewGroup viewGroup, int hourOfDay, int minute);
} }
} }