diff --git a/app/src/main/java/com/simplemobiletools/calendar/Constants.java b/app/src/main/java/com/simplemobiletools/calendar/Constants.java index 7308eaee6..88f659940 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/Constants.java +++ b/app/src/main/java/com/simplemobiletools/calendar/Constants.java @@ -1,7 +1,6 @@ package com.simplemobiletools.calendar; public class Constants { - public static final String DATE = "date"; public static final float LOW_ALPHA = .2f; public static final float HIGH_ALPHA = .9f; diff --git a/app/src/main/java/com/simplemobiletools/calendar/MainActivity.java b/app/src/main/java/com/simplemobiletools/calendar/MainActivity.java index 99b79206d..49d6af3e6 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/MainActivity.java +++ b/app/src/main/java/com/simplemobiletools/calendar/MainActivity.java @@ -1,13 +1,17 @@ package com.simplemobiletools.calendar; +import android.content.DialogInterface; import android.content.res.Resources; import android.graphics.Color; import android.graphics.PorterDuff; import android.os.Bundle; +import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.view.View; +import android.widget.DatePicker; import android.widget.FrameLayout; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.TextView; import org.joda.time.DateTime; @@ -19,7 +23,7 @@ import butterknife.BindDimen; import butterknife.ButterKnife; import butterknife.OnClick; -public class MainActivity extends AppCompatActivity implements MyDatePickerDialog.DatePickedListener, Calendar { +public class MainActivity extends AppCompatActivity implements Calendar { @Bind(R.id.left_arrow) ImageView leftArrow; @Bind(R.id.right_arrow) ImageView rightArrow; @Bind(R.id.table_month) TextView monthTV; @@ -93,16 +97,30 @@ public class MainActivity extends AppCompatActivity implements MyDatePickerDialo @OnClick(R.id.table_month) public void pickMonth() { - final MyDatePickerDialog dialog = new MyDatePickerDialog(); - final Bundle bundle = new Bundle(); - bundle.putString(Constants.DATE, calendar.getTargetDate().toString()); - dialog.setArguments(bundle); - dialog.show(getSupportFragmentManager(), "datepicker"); + final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this, R.style.MyAlertDialog); + final View view = getLayoutInflater().inflate(R.layout.date_picker, null); + final DatePicker datePicker = (DatePicker) view.findViewById(R.id.date_picker); + hideDayPicker(datePicker); + + final DateTime dateTime = new DateTime(calendar.getTargetDate().toString()); + datePicker.init(dateTime.getYear(), dateTime.getMonthOfYear() - 1, 1, null); + + alertDialog.setView(view); + alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + final int month = datePicker.getMonth() + 1; + final int year = datePicker.getYear(); + calendar.updateCalendar(new DateTime().withMonthOfYear(month).withYear(year)); + } + }); + + alertDialog.show(); } - @Override - public void onDatePicked(DateTime dateTime) { - calendar.updateCalendar(dateTime); + private void hideDayPicker(DatePicker datePicker) { + final LinearLayout ll = (LinearLayout) datePicker.getChildAt(0); + final LinearLayout ll2 = (LinearLayout) ll.getChildAt(0); + ll2.getChildAt(0).setVisibility(View.GONE); } @Override diff --git a/app/src/main/java/com/simplemobiletools/calendar/MyDatePickerDialog.java b/app/src/main/java/com/simplemobiletools/calendar/MyDatePickerDialog.java deleted file mode 100644 index 2a91c7610..000000000 --- a/app/src/main/java/com/simplemobiletools/calendar/MyDatePickerDialog.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.simplemobiletools.calendar; - -import android.app.Dialog; -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; -import android.view.View; -import android.widget.DatePicker; -import android.widget.LinearLayout; - -import org.joda.time.DateTime; - -public class MyDatePickerDialog extends DialogFragment { - @NonNull - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - final View view = getActivity().getLayoutInflater().inflate(R.layout.date_picker, null); - final DatePicker datePicker = (DatePicker) view.findViewById(R.id.date_picker); - hideDayPicker(datePicker); - - final Bundle bundle = getArguments(); - if (bundle != null && bundle.containsKey(Constants.DATE)) { - final DateTime dateTime = new DateTime(bundle.getString(Constants.DATE)); - datePicker.init(dateTime.getYear(), dateTime.getMonthOfYear() - 1, 1, null); - } - - builder.setView(view); - view.findViewById(R.id.date_picker_ok).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - final DatePickedListener listener = (DatePickedListener) getActivity(); - final int month = datePicker.getMonth() + 1; - final int year = datePicker.getYear(); - listener.onDatePicked(new DateTime().withMonthOfYear(month).withYear(year)); - dismiss(); - } - }); - return builder.create(); - } - - private void hideDayPicker(DatePicker datePicker) { - final LinearLayout ll = (LinearLayout) datePicker.getChildAt(0); - final LinearLayout ll2 = (LinearLayout) ll.getChildAt(0); - ll2.getChildAt(0).setVisibility(View.GONE); - } - - public interface DatePickedListener { - void onDatePicked(DateTime dateTime); - } -} diff --git a/app/src/main/res/layout/date_picker.xml b/app/src/main/res/layout/date_picker.xml index b6d3c3bd3..451a81e2f 100644 --- a/app/src/main/res/layout/date_picker.xml +++ b/app/src/main/res/layout/date_picker.xml @@ -1,23 +1,8 @@ - - - - -