Created BaseTimePickerDialog
This commit is contained in:
parent
5405be9b26
commit
d1c0820de4
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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);
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user