diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 37613b2df..440c97385 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -191,4 +191,5 @@ Add Remember to check off your Dailies! + Using Skill \ No newline at end of file diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java index 5d6863aa2..20a63938e 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java @@ -1,6 +1,7 @@ package com.habitrpg.android.habitica.ui.fragments; import android.app.Activity; +import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; @@ -35,6 +36,8 @@ public class SkillsFragment extends BaseFragment { private View view; private Skill selectedSkill; + private ProgressDialog progressDialog; + @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -80,11 +83,13 @@ public class SkillsFragment extends BaseFragment { Intent intent = new Intent(activity, SkillTasksActivity.class); startActivityForResult(intent, TASK_SELECTION_ACTIVITY); } else { + displayProgressDialog(); mAPIHelper.apiService.useSkill(skill.key, skill.target, new SkillCallback(activity, skill)); } } public void onEvent(SkillUsedEvent event) { + removeProgressDialog(); Skill skill = event.usedSkill; adapter.setMana(event.newMana); activity.showSnackbar(activity.getString(R.string.used_skill, skill.text, skill.mana)); @@ -96,10 +101,24 @@ public class SkillsFragment extends BaseFragment { switch(requestCode) { case (TASK_SELECTION_ACTIVITY) : { if (resultCode == Activity.RESULT_OK) { + displayProgressDialog(); mAPIHelper.apiService.useSkill(selectedSkill.key, selectedSkill.target, data.getStringExtra("task_id"), new SkillCallback(activity, selectedSkill)); } break; } } } + + private void displayProgressDialog() { + if (progressDialog != null) { + progressDialog.dismiss(); + } + progressDialog = ProgressDialog.show(activity, activity.getString(R.string.skill_progress_title), null, true); + } + + private void removeProgressDialog() { + if (progressDialog != null) { + progressDialog.dismiss(); + } + } }