From 8fc755c692495320876f9a9c6c02095a88995139 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 26 Jul 2022 12:39:07 +0200 Subject: [PATCH] updating a couple more activities --- .../calendar/pro/activities/MainActivity.kt | 6 +- .../activities/ManageEventTypesActivity.kt | 28 +- .../pro/activities/SelectTimeZoneActivity.kt | 15 +- .../calendar/pro/activities/TaskActivity.kt | 53 +- .../pro/fragments/DayFragmentsHolder.kt | 7 +- .../pro/fragments/EventListFragment.kt | 6 +- .../pro/fragments/MonthDayFragmentsHolder.kt | 2 +- .../pro/fragments/MonthFragmentsHolder.kt | 2 +- .../pro/fragments/WeekFragmentsHolder.kt | 5 +- .../pro/fragments/YearFragmentsHolder.kt | 4 +- .../layout/activity_manage_event_types.xml | 34 +- .../res/layout/activity_select_time_zone.xml | 35 +- app/src/main/res/layout/activity_task.xml | 698 +++++++++--------- 13 files changed, 490 insertions(+), 405 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt index dd2000ee1..da98e5678 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt @@ -218,7 +218,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { } } - private fun refreshMenuItems() { + fun refreshMenuItems() { if (fab_extended_overlay.isVisible()) { hideExtendedFab() } @@ -532,6 +532,10 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { main_toolbar.subtitle = "" } + fun updateTitle(text: String) { + main_toolbar.title = text + } + fun updateSubtitle(text: String) { main_toolbar.subtitle = text } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/ManageEventTypesActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/ManageEventTypesActivity.kt index 6740d4427..c3dfd7c99 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/ManageEventTypesActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/ManageEventTypesActivity.kt @@ -1,8 +1,6 @@ package com.simplemobiletools.calendar.pro.activities import android.os.Bundle -import android.view.Menu -import android.view.MenuItem import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.adapters.ManageEventTypesAdapter import com.simplemobiletools.calendar.pro.dialogs.EditEventTypeDialog @@ -11,19 +9,25 @@ import com.simplemobiletools.calendar.pro.interfaces.DeleteEventTypesListener import com.simplemobiletools.calendar.pro.models.EventType import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.commons.extensions.updateTextColors +import com.simplemobiletools.commons.helpers.NavigationIcon import com.simplemobiletools.commons.helpers.ensureBackgroundThread import kotlinx.android.synthetic.main.activity_manage_event_types.* -import java.util.* class ManageEventTypesActivity : SimpleActivity(), DeleteEventTypesListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_manage_event_types) + setupOptionsMenu() getEventTypes() updateTextColors(manage_event_types_list) } + override fun onResume() { + super.onResume() + setupToolbar(manage_event_types_toolbar, NavigationIcon.Arrow) + } + private fun showEventTypeDialog(eventType: EventType? = null) { EditEventTypeDialog(this, eventType?.copy()) { getEventTypes() @@ -39,18 +43,14 @@ class ManageEventTypesActivity : SimpleActivity(), DeleteEventTypesListener { } } - override fun onCreateOptionsMenu(menu: Menu?): Boolean { - menuInflater.inflate(R.menu.menu_event_types, menu) - updateMenuItemColors(menu) - return true - } - - override fun onOptionsItemSelected(item: MenuItem): Boolean { - when (item.itemId) { - R.id.add_event_type -> showEventTypeDialog() - else -> return super.onOptionsItemSelected(item) + private fun setupOptionsMenu() { + manage_event_types_toolbar.setOnMenuItemClickListener { menuItem -> + when (menuItem.itemId) { + R.id.add_event_type -> showEventTypeDialog() + else -> return@setOnMenuItemClickListener false + } + return@setOnMenuItemClickListener true } - return true } override fun deleteEventTypes(eventTypes: ArrayList, deleteEvents: Boolean): Boolean { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SelectTimeZoneActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SelectTimeZoneActivity.kt index 11746941a..f7756f217 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SelectTimeZoneActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SelectTimeZoneActivity.kt @@ -14,6 +14,7 @@ import com.simplemobiletools.calendar.pro.helpers.CURRENT_TIME_ZONE import com.simplemobiletools.calendar.pro.helpers.TIME_ZONE import com.simplemobiletools.calendar.pro.helpers.getAllTimeZones import com.simplemobiletools.calendar.pro.models.MyTimeZone +import com.simplemobiletools.commons.helpers.NavigationIcon import kotlinx.android.synthetic.main.activity_select_time_zone.* import java.util.* @@ -24,7 +25,7 @@ class SelectTimeZoneActivity : SimpleActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_select_time_zone) - title = "" + setupOptionsMenu() SelectTimeZoneAdapter(this, allTimeZones) { val data = Intent() @@ -42,11 +43,13 @@ class SelectTimeZoneActivity : SimpleActivity() { } } - override fun onCreateOptionsMenu(menu: Menu): Boolean { - menuInflater.inflate(R.menu.menu_select_time_zone, menu) - setupSearch(menu) - updateMenuItemColors(menu) - return true + override fun onResume() { + super.onResume() + setupToolbar(select_time_zone_toolbar, NavigationIcon.Arrow, searchMenuItem = mSearchMenuItem) + } + + private fun setupOptionsMenu() { + setupSearch(select_time_zone_toolbar.menu) } private fun setupSearch(menu: Menu) { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/TaskActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/TaskActivity.kt index c27e66858..033ea8ef4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/TaskActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/TaskActivity.kt @@ -5,8 +5,6 @@ import android.app.TimePickerDialog import android.content.Intent import android.graphics.Color import android.os.Bundle -import android.view.Menu -import android.view.MenuItem import android.view.WindowManager import androidx.core.app.NotificationManagerCompat import androidx.core.content.ContextCompat @@ -52,6 +50,8 @@ class TaskActivity : SimpleActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_task) + setupOptionsMenu() + refreshMenuItems() if (checkAppSideloading()) { return @@ -78,25 +78,30 @@ class TaskActivity : SimpleActivity() { } } - override fun onCreateOptionsMenu(menu: Menu): Boolean { - menuInflater.inflate(R.menu.menu_task, menu) - if (::mTask.isInitialized) { - menu.findItem(R.id.delete).isVisible = mTask.id != null - menu.findItem(R.id.duplicate).isVisible = mTask.id != null - } - - updateMenuItemColors(menu, true) - return true + override fun onResume() { + super.onResume() + setupToolbar(task_toolbar, NavigationIcon.Arrow) } - override fun onOptionsItemSelected(item: MenuItem): Boolean { - when (item.itemId) { - R.id.save -> saveCurrentTask() - R.id.delete -> deleteTask() - R.id.duplicate -> duplicateTask() - else -> return super.onOptionsItemSelected(item) + private fun refreshMenuItems() { + if (::mTask.isInitialized) { + task_toolbar.menu.apply { + findItem(R.id.delete).isVisible = mTask.id != null + findItem(R.id.duplicate).isVisible = mTask.id != null + } + } + } + + private fun setupOptionsMenu() { + task_toolbar.setOnMenuItemClickListener { menuItem -> + when (menuItem.itemId) { + R.id.save -> saveCurrentTask() + R.id.delete -> deleteTask() + R.id.duplicate -> duplicateTask() + else -> return@setOnMenuItemClickListener false + } + return@setOnMenuItemClickListener true } - return true } private fun isTaskChanged(): Boolean { @@ -213,7 +218,7 @@ class TaskActivity : SimpleActivity() { mTaskCompleted = intent.getBooleanExtra(IS_TASK_COMPLETED, false) if (intent.getBooleanExtra(IS_DUPLICATE_INTENT, false)) { mTask.id = null - updateActionBarTitle(getString(R.string.new_task)) + task_toolbar.title = getString(R.string.new_task) } if (savedInstanceState == null) { @@ -272,7 +277,7 @@ class TaskActivity : SimpleActivity() { mOriginalStartTS = realStart mTaskDateTime = Formatter.getDateTimeFromTS(realStart) window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN) - updateActionBarTitle(getString(R.string.edit_task)) + task_toolbar.title = getString(R.string.edit_task) mEventTypeId = mTask.eventType mReminder1Minutes = mTask.reminder1Minutes @@ -300,7 +305,7 @@ class TaskActivity : SimpleActivity() { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE) task_title.requestFocus() - updateActionBarTitle(getString(R.string.new_task)) + task_toolbar.title = getString(R.string.new_task) mTask.apply { this.startTS = mTaskDateTime.seconds() @@ -946,10 +951,10 @@ class TaskActivity : SimpleActivity() { } private fun updateActionBarTitle() { - if (mIsNewTask) { - updateActionBarTitle(getString(R.string.new_task)) + task_toolbar.title = if (mIsNewTask) { + getString(R.string.new_task) } else { - updateActionBarTitle(getString(R.string.edit_task)) + getString(R.string.edit_task) } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragmentsHolder.kt index 14384e3a2..a57ba9c0a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragmentsHolder.kt @@ -14,7 +14,10 @@ import com.simplemobiletools.calendar.pro.helpers.DAILY_VIEW import com.simplemobiletools.calendar.pro.helpers.DAY_CODE import com.simplemobiletools.calendar.pro.helpers.Formatter import com.simplemobiletools.calendar.pro.interfaces.NavigationListener -import com.simplemobiletools.commons.extensions.* +import com.simplemobiletools.commons.extensions.getAlertDialogBuilder +import com.simplemobiletools.commons.extensions.getDatePickerDialogTheme +import com.simplemobiletools.commons.extensions.getProperBackgroundColor +import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.views.MyViewPager import kotlinx.android.synthetic.main.fragment_days_holder.view.* import org.joda.time.DateTime @@ -132,7 +135,7 @@ class DayFragmentsHolder : MyFragmentHolder(), NavigationListener { override fun shouldGoToTodayBeVisible() = currentDayCode != todayDayCode override fun updateActionBarTitle() { - (activity as MainActivity).updateActionBarTitle(getString(R.string.app_launcher_name)) + (activity as MainActivity).updateTitle(getString(R.string.app_launcher_name)) } override fun getNewEventDayCode() = currentDayCode diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/EventListFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/EventListFragment.kt index 3c9eec530..dd1a539c3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/EventListFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/EventListFragment.kt @@ -146,7 +146,7 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener { super.onScrollStateChanged(recyclerView, newState) if (!hasBeenScrolled) { hasBeenScrolled = true - activity?.invalidateOptionsMenu() + (activity as? MainActivity)?.refreshItems() } } }) @@ -215,7 +215,7 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener { (mView.calendar_events_list.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(firstNonPastSectionIndex, 0) mView.calendar_events_list.onGlobalLayout { hasBeenScrolled = false - activity?.invalidateOptionsMenu() + (activity as? MainActivity)?.refreshItems() } } } @@ -229,7 +229,7 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener { override fun shouldGoToTodayBeVisible() = hasBeenScrolled override fun updateActionBarTitle() { - (activity as? MainActivity)?.updateActionBarTitle(getString(R.string.app_launcher_name)) + (activity as? MainActivity)?.updateTitle(getString(R.string.app_launcher_name)) } override fun getNewEventDayCode() = Formatter.getTodayCode() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthDayFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthDayFragmentsHolder.kt index 49e619202..fd3314c71 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthDayFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthDayFragmentsHolder.kt @@ -134,7 +134,7 @@ class MonthDayFragmentsHolder : MyFragmentHolder(), NavigationListener { override fun shouldGoToTodayBeVisible() = currentDayCode.getMonthCode() != todayDayCode.getMonthCode() override fun updateActionBarTitle() { - (activity as? MainActivity)?.updateActionBarTitle(getString(R.string.app_launcher_name)) + (activity as? MainActivity)?.updateTitle(getString(R.string.app_launcher_name)) } override fun getNewEventDayCode() = (viewPager?.adapter as? MyMonthDayPagerAdapter)?.getNewEventDayCode(viewPager?.currentItem ?: 0) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragmentsHolder.kt index 72fbe03eb..2e546c055 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragmentsHolder.kt @@ -134,7 +134,7 @@ class MonthFragmentsHolder : MyFragmentHolder(), NavigationListener { override fun shouldGoToTodayBeVisible() = currentDayCode.getMonthCode() != todayDayCode.getMonthCode() override fun updateActionBarTitle() { - (activity as? MainActivity)?.updateActionBarTitle(getString(R.string.app_launcher_name)) + (activity as? MainActivity)?.updateTitle(getString(R.string.app_launcher_name)) } override fun getNewEventDayCode() = if (shouldGoToTodayBeVisible()) currentDayCode else todayDayCode diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt index ee50ffb17..551e161f6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt @@ -10,7 +10,6 @@ import android.view.ViewGroup import android.widget.DatePicker import android.widget.RelativeLayout import android.widget.TextView -import androidx.appcompat.app.AppCompatActivity import androidx.viewpager.widget.ViewPager import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.activities.MainActivity @@ -163,10 +162,10 @@ class WeekFragmentsHolder : MyFragmentHolder(), WeekFragmentListener { if (startDateTime.year != DateTime().year) { newTitle += " - ${startDateTime.year}" } - (activity as AppCompatActivity).updateActionBarTitle(newTitle) + (activity as MainActivity).updateTitle(newTitle) } else { val endMonthName = Formatter.getMonthName(requireContext(), endDateTime.monthOfYear) - (activity as AppCompatActivity).updateActionBarTitle("$startMonthName - $endMonthName") + (activity as MainActivity).updateTitle("$startMonthName - $endMonthName") } (activity as MainActivity).updateSubtitle("${getString(R.string.week)} ${startDateTime.plusDays(3).weekOfWeekyear}") } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/YearFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/YearFragmentsHolder.kt index 17b368614..21b9f58b6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/YearFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/YearFragmentsHolder.kt @@ -70,7 +70,7 @@ class YearFragmentsHolder : MyFragmentHolder() { } if (position < years.size) { - (activity as? MainActivity)?.updateActionBarTitle("${getString(R.string.app_launcher_name)} - ${years[position]}") + (activity as? MainActivity)?.updateTitle("${getString(R.string.app_launcher_name)} - ${years[position]}") } } }) @@ -123,7 +123,7 @@ class YearFragmentsHolder : MyFragmentHolder() { override fun shouldGoToTodayBeVisible() = currentYear != todayYear override fun updateActionBarTitle() { - (activity as? MainActivity)?.updateActionBarTitle("${getString(R.string.app_launcher_name)} - $currentYear") + (activity as? MainActivity)?.updateTitle("${getString(R.string.app_launcher_name)} - $currentYear") } override fun getNewEventDayCode() = Formatter.getTodayCode() diff --git a/app/src/main/res/layout/activity_manage_event_types.xml b/app/src/main/res/layout/activity_manage_event_types.xml index d2d161320..ed9d47fe9 100644 --- a/app/src/main/res/layout/activity_manage_event_types.xml +++ b/app/src/main/res/layout/activity_manage_event_types.xml @@ -1,8 +1,32 @@ - + android:layout_height="match_parent"> + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_select_time_zone.xml b/app/src/main/res/layout/activity_select_time_zone.xml index f0c745c97..649c8d102 100644 --- a/app/src/main/res/layout/activity_select_time_zone.xml +++ b/app/src/main/res/layout/activity_select_time_zone.xml @@ -1,9 +1,32 @@ - + android:layout_height="match_parent"> + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_task.xml b/app/src/main/res/layout/activity_task.xml index 1d4204d0a..fc1b16d09 100644 --- a/app/src/main/res/layout/activity_task.xml +++ b/app/src/main/res/layout/activity_task.xml @@ -1,363 +1,387 @@ - + android:layout_height="match_parent"> - - + android:layout_height="?attr/actionBarSize" + android:background="@color/color_primary" + app:menu="@menu/menu_task" + app:title="@string/app_launcher_name" + app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" /> - + - - - + + android:layout_height="wrap_content"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + android:layout_marginStart="@dimen/small_margin" + android:layout_toEndOf="@+id/task_time_image" + android:background="?attr/selectableItemBackground" + android:paddingStart="@dimen/zero" + android:paddingTop="@dimen/normal_margin" + android:paddingEnd="@dimen/normal_margin" + android:paddingBottom="@dimen/normal_margin"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + +