From 4885735b439bc27799a60c9d3f14a47d782dd83b Mon Sep 17 00:00:00 2001 From: geoffroy Date: Sun, 24 Dec 2017 18:12:48 +0100 Subject: [PATCH] Design improvements Task lists are now correctly hidden in wide mode Edit task save button shows --- .../donext/activities/MainActivity.java | 2 +- .../fragments/DynamicDialogFragment.java | 20 +++++++++++++++--- .../donext/fragments/MainFragment.java | 10 +++++++-- .../fragments/TaskFormDialogFragment.java | 1 + .../fragments/TaskListsDialogFragment.java | 12 ----------- app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + .../Screenshot_1513978756.png | Bin 40381 -> 0 bytes 8 files changed, 29 insertions(+), 18 deletions(-) delete mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_1513978756.png diff --git a/app/src/main/java/com/wismna/geoffroy/donext/activities/MainActivity.java b/app/src/main/java/com/wismna/geoffroy/donext/activities/MainActivity.java index 23080e9..cc01aac 100644 --- a/app/src/main/java/com/wismna/geoffroy/donext/activities/MainActivity.java +++ b/app/src/main/java/com/wismna/geoffroy/donext/activities/MainActivity.java @@ -85,7 +85,7 @@ public class MainActivity extends AppCompatActivity { // Create the fragment TaskListsDialogFragment taskListFragment = TaskListsDialogFragment.newInstance( (MainFragment)fragmentManager.findFragmentById(R.id.fragment_main)); - String title = getString(R.string.action_edit_task); + String title = getString(R.string.task_list_edit); // Set the arguments Bundle args = new Bundle(); diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/DynamicDialogFragment.java b/app/src/main/java/com/wismna/geoffroy/donext/fragments/DynamicDialogFragment.java index f3af2fc..d649bee 100644 --- a/app/src/main/java/com/wismna/geoffroy/donext/fragments/DynamicDialogFragment.java +++ b/app/src/main/java/com/wismna/geoffroy/donext/fragments/DynamicDialogFragment.java @@ -3,6 +3,7 @@ package com.wismna.geoffroy.donext.fragments; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; +import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.support.annotation.NonNull; @@ -80,7 +81,7 @@ public abstract class DynamicDialogFragment extends DialogFragment { onNegativeButtonClick(); } }); - if (mButtonCount == 2) { + if (mButtonCount >= 2) { builder.setPositiveButton(args.getString("button_positive"), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { onPositiveButtonClick(view); @@ -111,7 +112,7 @@ public abstract class DynamicDialogFragment extends DialogFragment { Bundle args = getArguments(); assert args != null; // Show the neutral button if needed - if (mButtonCount < 3) { + if (mButtonCount == 2) { menu.removeItem(R.id.menu_neutral_button); } else { @@ -119,7 +120,7 @@ public abstract class DynamicDialogFragment extends DialogFragment { } // Show the positive button if needed - if (mButtonCount < 2) { + if (mButtonCount == 1) { menu.removeItem(R.id.menu_positive_button); } else { @@ -192,6 +193,19 @@ public abstract class DynamicDialogFragment extends DialogFragment { return getView().findViewById(id); } + + /** Helper method to clear focus by giving it to the parent layout */ + protected void clearFocus() { + View view = getView(); + if (view != null) { + view.requestFocus(); + + // Hide keyboard + InputMethodManager inputMethodManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); + inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); + } + } + /** Sets the title of the Fragment from the Tag */ private Toolbar setToolbarTitle(View view) { Toolbar toolbar = view.findViewById(R.id.dialog_toolbar); diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/MainFragment.java b/app/src/main/java/com/wismna/geoffroy/donext/fragments/MainFragment.java index eba5927..6758bdd 100644 --- a/app/src/main/java/com/wismna/geoffroy/donext/fragments/MainFragment.java +++ b/app/src/main/java/com/wismna/geoffroy/donext/fragments/MainFragment.java @@ -7,6 +7,8 @@ import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.annotation.NonNull; +import android.support.constraint.ConstraintLayout; +import android.support.constraint.Guideline; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; @@ -152,10 +154,14 @@ public class MainFragment extends Fragment implements } } else { + // Move guideline to hide task list + Guideline guideline = mView.findViewById(R.id.center_guideline); + ConstraintLayout.LayoutParams lp = (ConstraintLayout.LayoutParams) guideline.getLayoutParams(); + lp.guidePercent = taskLists.size() == 1 && !isHistoryActivity ? 0 : (float) 0.2; + guideline.setLayoutParams(lp); + ListView listView = mView.findViewById(R.id.list); // Hide the list if there is only one task list - listView.setVisibility(taskLists.size() == 1 && !isHistoryActivity ? View.GONE : View.VISIBLE); - //listView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, taskLists)); listView.setAdapter(new ArrayAdapter<>(activity, R.layout.list_tasklist_item, taskLists)); //listView.setSelection(lastOpenedList); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskFormDialogFragment.java b/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskFormDialogFragment.java index 537132d..126fa4a 100644 --- a/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskFormDialogFragment.java +++ b/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskFormDialogFragment.java @@ -78,6 +78,7 @@ public class TaskFormDialogFragment extends DynamicDialogFragment { } setTaskValues(activity); + clearFocus(); } @Override diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskListsDialogFragment.java b/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskListsDialogFragment.java index e138807..6d8f943 100644 --- a/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskListsDialogFragment.java +++ b/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskListsDialogFragment.java @@ -198,18 +198,6 @@ public class TaskListsDialogFragment extends DynamicDialogFragment implements toggleVisibleCreateNewTaskListLayout(); } - /** Helper method to clear focus by giving it to the parent layout */ - private void clearFocus() { - View view = getView(); - if (view != null) { - view.requestFocus(); - - // Hide keyboard - InputMethodManager inputMethodManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); - inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); - } - } - private static class GetTaskListsTask extends AsyncTask> { private WeakReference fragmentReference; diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index bb89170..99ddc81 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -65,4 +65,5 @@ Tâche DoNext est un nouveau genre de gestionnaire de tâches, basé sur le principe que créer trop de tâches est contre-productif. Faites plutôt glisser vos tâches vers la gauche ou la droite pour les mettre à la fin de votre liste et travailler dessus plus tard ! Mes tâches + Editer les listes de tâches \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 078d0b2..61837b9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -20,6 +20,7 @@ Delete task list? Drag handle Create a new task list + Edit task lists OK diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_1513978756.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_1513978756.png deleted file mode 100644 index 5fc0f2148ae9feab75ca43edb837a03e303f39e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40381 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