Deleted files related to ScrollingGridTimePicker
This commit is contained in:
parent
a07cf222b3
commit
886f10b06c
@ -322,7 +322,6 @@ public class EditAlarmActivity extends BaseActivity implements
|
|||||||
// So the next time we call show() on it, the input field will show the
|
// So the next time we call show() on it, the input field will show the
|
||||||
// last inputted time.
|
// last inputted time.
|
||||||
NumpadTimePickerDialog.newInstance(this).show(getSupportFragmentManager(), TAG_TIME_PICKER);
|
NumpadTimePickerDialog.newInstance(this).show(getSupportFragmentManager(), TAG_TIME_PICKER);
|
||||||
//ScrollingGridTimePickerDialog.newInstance(this, true).show(getSupportFragmentManager(), "tag");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setWeekDaysText() {
|
private void setWeekDaysText() {
|
||||||
|
|||||||
@ -1,54 +0,0 @@
|
|||||||
package com.philliphsu.clock2.editalarm;
|
|
||||||
|
|
||||||
import android.support.v7.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import com.philliphsu.clock2.R;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by Phillip Hsu on 7/17/2016.
|
|
||||||
*/
|
|
||||||
public class ScrollingGridAdapter extends RecyclerView.Adapter<ScrollingGridAdapter.ViewHolder> {
|
|
||||||
|
|
||||||
private String[] mValues;
|
|
||||||
private View.OnClickListener mOnClickListener;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param values the values to display
|
|
||||||
* @param listener a click listener so clients can be notified of when the View corresponding
|
|
||||||
* to a value was clicked, so they may call notifyDataSetChanged() if need be
|
|
||||||
*/
|
|
||||||
public ScrollingGridAdapter(String[] values, View.OnClickListener listener) {
|
|
||||||
mValues = values;
|
|
||||||
mOnClickListener = listener;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
|
||||||
View view = LayoutInflater.from(parent.getContext())
|
|
||||||
.inflate(R.layout.item_scrolling_grid_value, parent, false);
|
|
||||||
return new ViewHolder(view, mOnClickListener);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
|
||||||
TextView tv = (TextView) holder.itemView;
|
|
||||||
tv.setText(mValues[position]);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getItemCount() {
|
|
||||||
return mValues == null ? 0 : mValues.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class ViewHolder extends RecyclerView.ViewHolder {
|
|
||||||
public ViewHolder(View itemView, View.OnClickListener listener) {
|
|
||||||
super(itemView);
|
|
||||||
itemView.setOnClickListener(listener);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
package com.philliphsu.clock2.editalarm;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.support.annotation.Nullable;
|
|
||||||
import android.support.v7.widget.GridLayoutManager;
|
|
||||||
import android.support.v7.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
|
|
||||||
import com.philliphsu.clock2.R;
|
|
||||||
|
|
||||||
import butterknife.Bind;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by Phillip Hsu on 7/16/2016.
|
|
||||||
*/
|
|
||||||
public class ScrollingGridTimePickerDialog extends BaseTimePickerDialog {
|
|
||||||
private static final int COLUMNS = 3;
|
|
||||||
|
|
||||||
private ScrollingGridAdapter mAdapter;
|
|
||||||
private String[] mValues;
|
|
||||||
private boolean mIs24HourMode;
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Bind(R.id.main_content) RecyclerView mGrid;
|
|
||||||
|
|
||||||
public static ScrollingGridTimePickerDialog newInstance(TimePicker.OnTimeSetListener callback, boolean is24HourMode) {
|
|
||||||
ScrollingGridTimePickerDialog ret = new ScrollingGridTimePickerDialog();
|
|
||||||
ret.setOnTimeSetListener(callback);
|
|
||||||
ret.initialize(is24HourMode);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void initialize(boolean is24HourMode) {
|
|
||||||
mIs24HourMode = is24HourMode;
|
|
||||||
if (mIs24HourMode) {
|
|
||||||
mValues = new String[] {
|
|
||||||
"00", "01", "02", "03", "04", "05", "06", "07",
|
|
||||||
"08", "09", "10", "11", "12", "13", "14", "15",
|
|
||||||
"16", "17", "18", "19", "20", "21", "22", "23"};
|
|
||||||
} else {
|
|
||||||
mValues = new String[] {
|
|
||||||
"1", "2", "3", "4", "5", "6",
|
|
||||||
"7", "8", "9", "10", "11", "12"};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
|
||||||
View view = super.onCreateView(inflater, container, savedInstanceState);
|
|
||||||
|
|
||||||
if (mGrid != null) {
|
|
||||||
mGrid.setLayoutManager(new GridLayoutManager(view.getContext(), COLUMNS));
|
|
||||||
mAdapter = new ScrollingGridAdapter(mValues, new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
// TODO: If on hours, switch dataset to minutes values. Else, do nothing.
|
|
||||||
mAdapter.notifyDataSetChanged();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
mGrid.setAdapter(mAdapter);
|
|
||||||
}
|
|
||||||
return view;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int contentLayout() {
|
|
||||||
return R.layout.dialog_time_picker_scrolling_grid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<merge xmlns:grid="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
|
|
||||||
<!-- We have to wrap this in a merge tag or else the GridLayout
|
|
||||||
attributes won't be picked up by the GridLayout that will be
|
|
||||||
the parent of this element. -->
|
|
||||||
<TextView
|
|
||||||
style="@style/hybrid_time_picker_grid_element"
|
|
||||||
android:text="01"/>
|
|
||||||
|
|
||||||
</merge>
|
|
||||||
@ -1,88 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- TOneverDO: Use LinearLayout because it doesn't obey LWM -->
|
|
||||||
<android.support.design.widget.CoordinatorLayout
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<!-- The advantage in defining a single layout for an element
|
|
||||||
of this grid and including it N times, instead of defining each
|
|
||||||
element N times, is code deduplication and reduction. Now, whenever
|
|
||||||
we want to make changes to how grid elements appear, all we have
|
|
||||||
to do is go to the single element's layout and make the changes,
|
|
||||||
and all the following grid elements will be changed. -->
|
|
||||||
<android.support.v7.widget.GridLayout
|
|
||||||
android:id="@+id/grid"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingBottom="20dp"
|
|
||||||
app:columnCount="4">
|
|
||||||
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
|
|
||||||
</android.support.v7.widget.GridLayout>
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:id="@+id/divider"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="1dp"
|
|
||||||
android:background="?android:listDividerAlertDialog"/>
|
|
||||||
|
|
||||||
<!-- We need to distribute excess space around the child views
|
|
||||||
without scaling them because they should have a fixed width.
|
|
||||||
LinearLayout and layout_weight cannot achieve this. A passable
|
|
||||||
workaround is to use LinearLayout with Spaces of layout_weight=1
|
|
||||||
to the left and right of each view, but the view will not be
|
|
||||||
exactly centered; besides, that leads to ugly duplicate code. -->
|
|
||||||
<android.support.v7.widget.GridLayout
|
|
||||||
android:id="@+id/ampm"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:columnCount="2"
|
|
||||||
app:rowCount="1">
|
|
||||||
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
<include layout="@layout/content_hybrid_time_picker"/>
|
|
||||||
|
|
||||||
</android.support.v7.widget.GridLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<android.support.design.widget.FloatingActionButton
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_anchor="@id/divider"
|
|
||||||
app:layout_anchorGravity="center"
|
|
||||||
app:fabSize="mini"
|
|
||||||
android:src="@drawable/ic_done_24dp"/>
|
|
||||||
|
|
||||||
</android.support.design.widget.CoordinatorLayout>
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:minHeight="40dp"
|
|
||||||
android:textSize="@dimen/grid_element_text_size"
|
|
||||||
android:gravity="center"
|
|
||||||
android:layout_gravity="center"/>
|
|
||||||
Loading…
Reference in New Issue
Block a user