mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
Merge pull request #637 from andrewlord1990/404_jump_to_tab_for_creating_task_type
After creating a new task, switch to the tab of that type.
This commit is contained in:
commit
ec95e64802
3 changed files with 44 additions and 20 deletions
|
|
@ -627,7 +627,7 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem
|
|||
|
||||
//noinspection SimplifiableIfStatement
|
||||
if (id == R.id.action_save_changes) {
|
||||
finishActivitySuccessfuly();
|
||||
finishActivitySuccessfully();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -844,7 +844,6 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem
|
|||
}
|
||||
|
||||
private void prepareSave() {
|
||||
|
||||
if (this.task == null) {
|
||||
this.task = new Task();
|
||||
this.task.setType(taskType);
|
||||
|
|
@ -885,12 +884,19 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem
|
|||
dismissKeyboard();
|
||||
}
|
||||
|
||||
private void finishActivitySuccessfuly() {
|
||||
private void finishActivitySuccessfully() {
|
||||
this.prepareSave();
|
||||
finish();
|
||||
finishWithSuccess();
|
||||
dismissKeyboard();
|
||||
}
|
||||
|
||||
private void finishWithSuccess() {
|
||||
Intent resultIntent = new Intent();
|
||||
resultIntent.putExtra(TaskFormActivity.TASK_TYPE_KEY, taskType);
|
||||
setResult(RESULT_OK, resultIntent);
|
||||
finish();
|
||||
}
|
||||
|
||||
private void dismissKeyboard() {
|
||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
View currentFocus = getCurrentFocus();
|
||||
|
|
|
|||
|
|
@ -1,8 +1,17 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.tasks;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.helper.ItemTouchHelper;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.habitrpg.android.habitica.APIHelper;
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback;
|
||||
import com.habitrpg.android.habitica.components.AppComponent;
|
||||
import com.habitrpg.android.habitica.events.commands.AddNewTaskCommand;
|
||||
import com.habitrpg.android.habitica.helpers.TagsHelper;
|
||||
|
|
@ -21,21 +30,6 @@ import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task;
|
|||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.helper.ItemTouchHelper;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
|
|
@ -229,4 +223,8 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli
|
|||
public String getDisplayedClassName() {
|
||||
return this.classType + super.getDisplayedClassName();
|
||||
}
|
||||
|
||||
String getClassName() {
|
||||
return classType;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem;
|
|||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
|
|
@ -582,14 +583,33 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi
|
|||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
switch (requestCode) {
|
||||
case (TASK_CREATED_RESULT):
|
||||
this.displayingTaskForm = false;
|
||||
onTaskCreatedResult(resultCode, data);
|
||||
break;
|
||||
case (TASK_UPDATED_RESULT):
|
||||
this.displayingTaskForm = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void onTaskCreatedResult(int resultCode, Intent data) {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
String taskType = data.getStringExtra(TaskFormActivity.TASK_TYPE_KEY);
|
||||
switchToTaskTab(taskType);
|
||||
}
|
||||
}
|
||||
|
||||
private void switchToTaskTab(String taskType) {
|
||||
for (Map.Entry<Integer, TaskRecyclerViewFragment> tabEntry : ViewFragmentsDictionary.entrySet()) {
|
||||
if (tabEntry.getValue().getClassName().equals(taskType)) {
|
||||
viewPager.setCurrentItem(tabEntry.getKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDisplayedClassName() {
|
||||
return null;
|
||||
|
|
|
|||
Loading…
Reference in a new issue