From 019d3aa1c39447269f214b9cf32e8e27eae8257c Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 17 Oct 2016 18:49:25 +0200 Subject: [PATCH] store view type --- .../simplemobiletools/calendar/Config.java | 8 +++++ .../simplemobiletools/calendar/Constants.java | 4 +++ .../calendar/activities/MainActivity.kt | 32 ++++++++++++++++--- app/src/main/res/menu/menu.xml | 4 +++ 4 files changed, 43 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/simplemobiletools/calendar/Config.java b/app/src/main/java/com/simplemobiletools/calendar/Config.java index 27c080253..be747753c 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/Config.java +++ b/app/src/main/java/com/simplemobiletools/calendar/Config.java @@ -56,4 +56,12 @@ public class Config { public void setLastOtherReminderMins(int lastMins) { mPrefs.edit().putInt(Constants.LAST_OTHER_REMINDER_MINS, lastMins).apply(); } + + public int getView() { + return mPrefs.getInt(Constants.VIEW, Constants.MONTHLY_VIEW); + } + + public void setView(int view) { + mPrefs.edit().putInt(Constants.VIEW, view).apply(); + } } diff --git a/app/src/main/java/com/simplemobiletools/calendar/Constants.java b/app/src/main/java/com/simplemobiletools/calendar/Constants.java index d00bcfbfb..230316932 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/Constants.java +++ b/app/src/main/java/com/simplemobiletools/calendar/Constants.java @@ -7,6 +7,9 @@ public class Constants { public static final String DAY_CODE = "day_code"; public static final String EVENT = "event"; + public static final int MONTHLY_VIEW = 1; + public static final int YEARLY_VIEW = 2; + public static final int DAY = 86400; public static final int WEEK = 604800; public static final int BIWEEK = 1209600; @@ -19,6 +22,7 @@ public class Constants { public static final String IS_DARK_THEME = "is_dark_theme"; public static final String SUNDAY_FIRST = "sunday_first"; public static final String WEEK_NUMBERS = "week_numbers"; + public static final String VIEW = "view"; public static final String WIDGET_BG_COLOR = "widget_bg_color"; public static final String WIDGET_TEXT_COLOR = "widget_text_color"; public static final String LAST_OTHER_REMINDER_MINS = "last_other_reminder_mins"; diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt index 8a86bcc29..799c86bec 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt @@ -19,9 +19,7 @@ class MainActivity : SimpleActivity(), NavigationListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - - val today = DateTime().toString(Formatter.DAYCODE_PATTERN) - fillViewPager(today) + updateViewPager() calendar_fab.setOnClickListener { addNewEvent() } } @@ -38,12 +36,21 @@ class MainActivity : SimpleActivity(), NavigationListener { override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.menu, menu) + + menu.findItem(R.id.yearly_view).isVisible = mConfig.view == Constants.MONTHLY_VIEW + menu.findItem(R.id.monthly_view).isVisible = mConfig.view == Constants.YEARLY_VIEW + return true } override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { + R.id.monthly_view -> { + updateView(Constants.MONTHLY_VIEW) + return true + } R.id.yearly_view -> { + updateView(Constants.YEARLY_VIEW) return true } R.id.settings -> { @@ -58,6 +65,21 @@ class MainActivity : SimpleActivity(), NavigationListener { } } + private fun updateView(view: Int) { + mConfig.view = view + updateViewPager() + invalidateOptionsMenu() + } + + private fun updateViewPager() { + if (mConfig.view == Constants.MONTHLY_VIEW) { + val today = DateTime().toString(Formatter.DAYCODE_PATTERN) + fillMonthlyViewPager(today) + } else { + + } + } + private fun addNewEvent() { val intent = Intent(applicationContext, EventActivity::class.java) val tomorrowCode = Formatter.getDayCodeFromDateTime(DateTime(DateTimeZone.getDefault()).plusDays(1)) @@ -65,7 +87,7 @@ class MainActivity : SimpleActivity(), NavigationListener { startActivity(intent) } - private fun fillViewPager(targetMonth: String) { + private fun fillMonthlyViewPager(targetMonth: String) { val codes = getMonths(targetMonth) val adapter = MyMonthPagerAdapter(supportFragmentManager, codes, this) view_pager.adapter = adapter @@ -91,6 +113,6 @@ class MainActivity : SimpleActivity(), NavigationListener { } override fun goToDateTime(dateTime: DateTime) { - fillViewPager(Formatter.getDayCodeFromDateTime(dateTime)) + fillMonthlyViewPager(Formatter.getDayCodeFromDateTime(dateTime)) } } diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml index f1bf614ba..ff0df53fa 100644 --- a/app/src/main/res/menu/menu.xml +++ b/app/src/main/res/menu/menu.xml @@ -1,6 +1,10 @@ +