Discard from overflow when back button saves is on

pull/996/head
Alex Baker 6 years ago
parent 9cc21a3386
commit 27075edcc8

@ -23,6 +23,7 @@ import android.os.Bundle;
import android.text.format.DateUtils;
import android.text.method.ScrollingMovementMethod;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
@ -135,24 +136,21 @@ public final class TaskEditFragment extends InjectingFragment
themeColor = arguments.getParcelable(EXTRA_THEME);
Toolbar toolbar = binding.toolbar;
final boolean backButtonSavesTask = preferences.backButtonSavesTask();
toolbar.setNavigationIcon(
ContextCompat.getDrawable(
context,
backButtonSavesTask
? R.drawable.ic_outline_clear_24px
: R.drawable.ic_outline_save_24px));
toolbar.setNavigationOnClickListener(
v -> {
if (backButtonSavesTask) {
discardButtonClick();
} else {
save();
}
});
if (!model.isNew()) {
toolbar.inflateMenu(R.menu.menu_task_edit_fragment);
}
toolbar.setNavigationIcon(ContextCompat.getDrawable(context, R.drawable.ic_outline_save_24px));
toolbar.setNavigationOnClickListener(v -> save());
boolean backButtonSavesTask = preferences.backButtonSavesTask();
toolbar.inflateMenu(R.menu.menu_task_edit_fragment);
Menu menu = toolbar.getMenu();
MenuItem delete = menu.findItem(R.id.menu_delete);
delete.setVisible(!model.isNew());
delete.setShowAsAction(
backButtonSavesTask ? MenuItem.SHOW_AS_ACTION_NEVER : MenuItem.SHOW_AS_ACTION_IF_ROOM);
MenuItem discard = menu.findItem(R.id.menu_discard);
discard.setVisible(backButtonSavesTask);
discard.setShowAsAction(
model.isNew() ? MenuItem.SHOW_AS_ACTION_IF_ROOM : MenuItem.SHOW_AS_ACTION_NEVER);
if (savedInstanceState == null) {
showKeyboard = model.isNew() && Strings.isNullOrEmpty(model.getTitle());
completed = model.isCompleted();

@ -15,12 +15,10 @@ import org.tasks.billing.PurchaseActivity;
import org.tasks.databinding.ActivityTaskerCreateBinding;
import org.tasks.injection.ActivityComponent;
import org.tasks.locale.bundle.TaskCreationBundle;
import org.tasks.preferences.Preferences;
public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCompatActivity
implements Toolbar.OnMenuItemClickListener {
@Inject Preferences preferences;
@Inject Inventory inventory;
@Inject LocalBroadcastManager localBroadcastManager;
@ -37,21 +35,8 @@ public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCom
Toolbar toolbar = binding.toolbar.toolbar;
toolbar.setTitle(R.string.tasker_create_task);
final boolean backButtonSavesTask = preferences.backButtonSavesTask();
toolbar.setNavigationIcon(
ContextCompat.getDrawable(
this,
backButtonSavesTask
? R.drawable.ic_outline_clear_24px
: R.drawable.ic_outline_save_24px));
toolbar.setNavigationOnClickListener(
v -> {
if (backButtonSavesTask) {
discardButtonClick();
} else {
save();
}
});
toolbar.setNavigationIcon(ContextCompat.getDrawable(this, R.drawable.ic_outline_save_24px));
toolbar.setNavigationOnClickListener(v -> save());
toolbar.setOnMenuItemClickListener(this);
toolbar.inflateMenu(R.menu.menu_tasker_create_task);
themeColor.apply(toolbar);
@ -118,12 +103,7 @@ public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCom
@Override
public void onBackPressed() {
final boolean backButtonSavesTask = preferences.backButtonSavesTask();
if (backButtonSavesTask) {
save();
} else {
discardButtonClick();
}
discardButtonClick();
}
private void save() {

@ -1,10 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tasks="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_discard"
android:icon="@drawable/ic_outline_clear_24px"
android:title="@string/menu_discard_changes"
app:showAsAction="never" />
<item
android:id="@+id/menu_delete"
android:icon="@drawable/ic_outline_delete_24px"
android:title="@string/delete_task"
tasks:showAsAction="ifRoom"/>
app:showAsAction="never"/>
</menu>

@ -352,6 +352,7 @@ File %1$s contained %2$s.\n\n
<string name="date_shortcut_must_come_before">%1$s must come before %2$s</string>
<string name="date_shortcut_must_come_after">%1$s must come after %2$s</string>
<string name="discard_changes">Discard changes?</string>
<string name="menu_discard_changes">Discard changes</string>
<string name="discard">Discard</string>
<string name="tag_settings">Tag settings</string>
<string name="list_settings">List settings</string>

Loading…
Cancel
Save