diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2e67bd57..2c32fdcf2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,14 +1,28 @@
Change Log
---
=======
-### 8.11 (2020-04-23)
+### 8.11 (2020-04-27)
* Edit existing custom filters
* Drag and drop to rearrange filter criteria
* Swipe to delete filter criteria
* Tap on filter criteria to choose filter operator
* Offer additional built-in filters
+* Add sort by creation time
+* Choose any day as start of week
* Update translations
+ * Catalan - @jmontane
+ * Dutch - @fvbommel
+ * Finnish - Jeannette L
+ * French - @FlorianLeChat, Jeannette L
+ * German - Jeannette L
+ * Hungarian - kaciokos
+ * Italian - Jeannette L
+ * Polish - @alex-ter
+ * Russian - @alex-ter
+ * Simplified Chinese - @sr093906
+ * Slovak - Atilla Farkas
+ * Spanish - @FlorianLeChat
### 8.10 (2020-04-20)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 354ea9378..4b0fd8ac4 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -36,7 +36,7 @@ android {
defaultConfig {
testApplicationId = "org.tasks.test"
applicationId = "org.tasks"
- versionCode = 745
+ versionCode = 746
versionName = "8.11"
targetSdkVersion(Versions.targetSdk)
minSdkVersion(Versions.minSdk)
diff --git a/app/src/main/java/org/tasks/activities/FilterSettingsActivity.java b/app/src/main/java/org/tasks/activities/FilterSettingsActivity.java
index 731a24418..fe259cb34 100644
--- a/app/src/main/java/org/tasks/activities/FilterSettingsActivity.java
+++ b/app/src/main/java/org/tasks/activities/FilterSettingsActivity.java
@@ -16,7 +16,9 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
+import android.net.Uri;
import android.os.Bundle;
+import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
@@ -126,6 +128,10 @@ public class FilterSettingsActivity extends BaseListSettingsActivity {
fab.setExtended(isNew() || adapter.getItemCount() <= 1);
+ if (isNew()) {
+ toolbar.inflateMenu(R.menu.menu_help);
+ }
+
updateList();
updateTheme();
@@ -160,6 +166,7 @@ public class FilterSettingsActivity extends BaseListSettingsActivity {
criterionInstance.type = getType(group.getCheckedButtonId());
updateList();
})
+ .setNeutralButton(R.string.help,(v, which) -> help())
.show();
}
@@ -349,6 +356,20 @@ public class FilterSettingsActivity extends BaseListSettingsActivity {
finish();
}
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ if (item.getItemId() == R.id.menu_help) {
+ help();
+ return true;
+ } else {
+ return super.onMenuItemClick(item);
+ }
+ }
+
+ private void help() {
+ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://tasks.org/filters")));
+ }
+
public void updateList() {
int max = 0, last = -1;
diff --git a/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.java b/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.java
index 58690bf2e..821d7976e 100644
--- a/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.java
+++ b/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.java
@@ -377,7 +377,7 @@ public abstract class BaseCaldavAccountSettingsActivity extends ThemedInjectingA
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
- case R.id.help:
+ case R.id.menu_help:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getHelpUrl())));
break;
case R.id.remove:
diff --git a/app/src/main/java/org/tasks/etesync/EncryptionSettingsActivity.java b/app/src/main/java/org/tasks/etesync/EncryptionSettingsActivity.java
index 25301fe7e..c6333b973 100644
--- a/app/src/main/java/org/tasks/etesync/EncryptionSettingsActivity.java
+++ b/app/src/main/java/org/tasks/etesync/EncryptionSettingsActivity.java
@@ -71,7 +71,7 @@ public class EncryptionSettingsActivity extends ThemedInjectingAppCompatActivity
caldavAccount == null ? getString(R.string.add_account) : caldavAccount.getName());
toolbar.setNavigationIcon(getDrawable(R.drawable.ic_outline_save_24px));
toolbar.setNavigationOnClickListener(v -> save());
- toolbar.inflateMenu(R.menu.menu_etesync_encryption_settings);
+ toolbar.inflateMenu(R.menu.menu_help);
toolbar.setOnMenuItemClickListener(this);
themeColor.apply(toolbar);
@@ -212,7 +212,7 @@ public class EncryptionSettingsActivity extends ThemedInjectingAppCompatActivity
@Override
public boolean onMenuItemClick(MenuItem item) {
- if (item.getItemId() == R.id.help) {
+ if (item.getItemId() == R.id.menu_help) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://tasks.org/etesync")));
return true;
} else {
diff --git a/app/src/main/java/org/tasks/locale/ui/activity/TaskerCreateTaskActivity.java b/app/src/main/java/org/tasks/locale/ui/activity/TaskerCreateTaskActivity.java
index 7bbc3537c..c07c30cc0 100755
--- a/app/src/main/java/org/tasks/locale/ui/activity/TaskerCreateTaskActivity.java
+++ b/app/src/main/java/org/tasks/locale/ui/activity/TaskerCreateTaskActivity.java
@@ -37,7 +37,7 @@ public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCom
toolbar.setNavigationIcon(getDrawable(R.drawable.ic_outline_save_24px));
toolbar.setNavigationOnClickListener(v -> save());
toolbar.setOnMenuItemClickListener(this);
- toolbar.inflateMenu(R.menu.menu_tasker_create_task);
+ toolbar.inflateMenu(R.menu.menu_help);
themeColor.apply(toolbar);
if (savedInstanceState != null) {
diff --git a/app/src/main/res/menu/menu_caldav_account_settings.xml b/app/src/main/res/menu/menu_caldav_account_settings.xml
index 6a2762ffa..3ba2bfef8 100644
--- a/app/src/main/res/menu/menu_caldav_account_settings.xml
+++ b/app/src/main/res/menu/menu_caldav_account_settings.xml
@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto">