From c60b2e0511522c9b2b6d2cccdee545a9df606090 Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 1 Aug 2019 19:51:54 +0200 Subject: [PATCH 1/3] Removed the "numerical habits enabled" setting --- .../activities/habits/list/ListHabitsMenu.kt | 16 +------------ .../habits/list/ListHabitsScreen.kt | 17 ------------- .../preferences/SharedPreferencesStorage.kt | 2 -- .../src/main/res/menu/list_habits.xml | 24 +++++++++---------- .../src/main/res/xml/preferences.xml | 5 ---- .../uhabits/core/preferences/Preferences.java | 11 --------- .../habits/list/ListHabitsMenuBehavior.java | 15 ------------ .../core/preferences/PreferencesTest.java | 8 ------- 8 files changed, 13 insertions(+), 85 deletions(-) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt index bc29429f4..76be720f7 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt @@ -46,21 +46,11 @@ class ListHabitsMenu @Inject constructor( hideArchivedItem.isChecked = !preferences.showArchived hideCompletedItem.isChecked = !preferences.showCompleted - topBarMenu = menu - //the habit creation menu should be disabled when numeric habits are also disabled - if (!preferences.isNumericalHabitsFeatureEnabled) { - setCreateHabitMenuEnabled(false, menu) - } //let the class add itself as listener preferences.addListener(this) } - override fun onNumericalHabitsFeatureChanged() { - if(topBarMenu==null){return} - setCreateHabitMenuEnabled(preferences.isNumericalHabitsFeatureEnabled, topBarMenu) - } - override fun onItemSelected(item: MenuItem): Boolean { when (item.itemId) { R.id.actionToggleNightMode -> { @@ -68,11 +58,6 @@ class ListHabitsMenu @Inject constructor( return true } - R.id.actionAdd -> { - behavior.onCreateHabit() - return true - } - R.id.actionCreateBooleanHabit -> { behavior.onCreateBooleanHabit() return true @@ -138,6 +123,7 @@ class ListHabitsMenu @Inject constructor( * @param enabled whether the create habit menu should be enabled or disabled * @param menu a reference to the menu on which should be enabled or disabled */ + @Deprecated(message = "This function was used to enable/disable the habit creation drop down menu, but since the feature is mostly implemented this is no longer necessary.") fun setCreateHabitMenuEnabled(enabled: Boolean, menu: Menu) { val habitCreationMenu = menu.findItem(R.id.actionAdd).subMenu for (itemIndex: Int in 0 until habitCreationMenu.size()) { diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt index a5ba91425..abcd91b02 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt @@ -147,23 +147,6 @@ class ListHabitsScreen activity.showDialog(dialog, "editHabit") } - override fun showCreateHabitScreen() { - if (!preferences.isNumericalHabitsFeatureEnabled) { - showCreateBooleanHabitScreen() - return - } - - val dialog = AlertDialog.Builder(activity) - .setTitle("Type of habit") - .setItems(R.array.habitTypes) { _, which -> - if (which == 0) showCreateBooleanHabitScreen() - else showCreateNumericalHabitScreen() - } - .create() - - dialog.show() - } - override fun showDeleteConfirmationScreen(callback: OnConfirmedCallback) { activity.showDialog(confirmDeleteDialogFactory.create(callback)) } diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt index 5572cbe51..cc7553deb 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt @@ -89,8 +89,6 @@ class SharedPreferencesStorage preferences.setNotificationsLed(getBoolean(key, false)) "pref_feature_sync" -> preferences.isSyncEnabled = getBoolean(key, false) - "pref_feature_numerical_habits" -> - preferences.isNumericalHabitsFeatureEnabled = getBoolean(key, false) } sharedPreferences.registerOnSharedPreferenceChangeListener(this) } diff --git a/android/uhabits-android/src/main/res/menu/list_habits.xml b/android/uhabits-android/src/main/res/menu/list_habits.xml index c03d2e5a2..82a3e20b4 100644 --- a/android/uhabits-android/src/main/res/menu/list_habits.xml +++ b/android/uhabits-android/src/main/res/menu/list_habits.xml @@ -32,12 +32,12 @@ + android:title="@string/yes_or_no"/> + android:title="@string/number"/> @@ -51,31 +51,31 @@ android:id="@+id/actionHideArchived" android:checkable="true" android:enabled="true" - android:title="@string/hide_archived" /> + android:title="@string/hide_archived"/> + android:title="@string/hide_completed"/> + android:title="@string/manually"/> + android:title="@string/by_name"/> + android:title="@string/by_color"/> + android:title="@string/by_score"/> @@ -87,23 +87,23 @@ android:enabled="true" android:orderInCategory="50" android:title="@string/night_mode" - app:showAsAction="never" /> + app:showAsAction="never"/> + app:showAsAction="never"/> + app:showAsAction="never"/> + app:showAsAction="never"/> diff --git a/android/uhabits-android/src/main/res/xml/preferences.xml b/android/uhabits-android/src/main/res/xml/preferences.xml index 8da5b9b2d..8be250740 100644 --- a/android/uhabits-android/src/main/res/xml/preferences.xml +++ b/android/uhabits-android/src/main/res/xml/preferences.xml @@ -153,11 +153,6 @@ android:key="pref_developer" android:title="Enable developer mode"/> - - Date: Mon, 12 Aug 2019 16:56:40 +0200 Subject: [PATCH 2/3] Cleaned up code after review --- .../activities/habits/list/ListHabitsMenu.kt | 20 ------------------- .../uhabits/core/preferences/Preferences.java | 4 ---- 2 files changed, 24 deletions(-) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt index 76be720f7..599bfdfa7 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt @@ -35,8 +35,6 @@ class ListHabitsMenu @Inject constructor( private val behavior: ListHabitsMenuBehavior ) : BaseMenu(activity), Preferences.Listener { - private lateinit var topBarMenu: Menu - override fun onCreate(menu: Menu) { val nightModeItem = menu.findItem(R.id.actionToggleNightMode) val hideArchivedItem = menu.findItem(R.id.actionHideArchived) @@ -45,10 +43,6 @@ class ListHabitsMenu @Inject constructor( nightModeItem.isChecked = themeSwitcher.isNightMode hideArchivedItem.isChecked = !preferences.showArchived hideCompletedItem.isChecked = !preferences.showCompleted - - topBarMenu = menu - //let the class add itself as listener - preferences.addListener(this) } override fun onItemSelected(item: MenuItem): Boolean { @@ -119,19 +113,5 @@ class ListHabitsMenu @Inject constructor( } } - /** - * @param enabled whether the create habit menu should be enabled or disabled - * @param menu a reference to the menu on which should be enabled or disabled - */ - @Deprecated(message = "This function was used to enable/disable the habit creation drop down menu, but since the feature is mostly implemented this is no longer necessary.") - fun setCreateHabitMenuEnabled(enabled: Boolean, menu: Menu) { - val habitCreationMenu = menu.findItem(R.id.actionAdd).subMenu - for (itemIndex: Int in 0 until habitCreationMenu.size()) { - val menuItem = habitCreationMenu.getItem(itemIndex) - menuItem.isEnabled = enabled - menuItem.isVisible = enabled - } - } - override fun getMenuResourceId() = R.menu.list_habits } diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/Preferences.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/Preferences.java index 2d55d4e74..10abd9c51 100644 --- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/Preferences.java +++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/Preferences.java @@ -336,10 +336,6 @@ public class Preferences default void onSyncFeatureChanged() { } - - default void onNumericalHabitsFeatureChanged() - { - } } public interface Storage From 101eaf2ddf77c7496b77d539cb288709c6ac56a7 Mon Sep 17 00:00:00 2001 From: thomas Date: Mon, 12 Aug 2019 16:57:40 +0200 Subject: [PATCH 3/3] ListHabitMenu is no longer a preferences listener --- .../org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt index 599bfdfa7..cfbbd81a5 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt @@ -33,7 +33,7 @@ class ListHabitsMenu @Inject constructor( private val preferences: Preferences, private val themeSwitcher: ThemeSwitcher, private val behavior: ListHabitsMenuBehavior -) : BaseMenu(activity), Preferences.Listener { +) : BaseMenu(activity){ override fun onCreate(menu: Menu) { val nightModeItem = menu.findItem(R.id.actionToggleNightMode)