diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignDetailsActivity.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignDetailsActivity.java index 9c8d23cb513426c7d38f8da414f93e4750092ebf..23af5bdf80f509161fb8c9769de3443ce430a1a4 100644 --- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignDetailsActivity.java +++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignDetailsActivity.java @@ -13,6 +13,7 @@ import android.widget.EditText; import android.widget.Spinner; import android.widget.Toast; import com.eyecreate.miceandmystics.miceandmystics.adapters.CampaignDetailsAdapter; +import com.eyecreate.miceandmystics.miceandmystics.model.Achievement; import com.eyecreate.miceandmystics.miceandmystics.model.Campaign; import com.eyecreate.miceandmystics.miceandmystics.model.Enums.CharacterNames; import com.eyecreate.miceandmystics.miceandmystics.model.Player; @@ -68,6 +69,7 @@ public class CampaignDetailsActivity extends RecyclerViewActivity { startActivity(managePlayers); return true; } else if (id == R.id.action_add_party_achievement) { + newAchievementDialog(); return true; } @@ -108,6 +110,36 @@ public class CampaignDetailsActivity extends RecyclerViewActivity { getAdapter().notifyDataSetChanged(); } + public void newAchievementDialog() { + LayoutInflater inflator = (LayoutInflater)(new ContextThemeWrapper(this, R.style.dialogTheme)).getSystemService(Context.LAYOUT_INFLATER_SERVICE); + final View dialogView = inflator.inflate(R.layout.dialog_new_achievement, null, false); + final Spinner achievementSpinner = ((Spinner)dialogView.findViewById(R.id.achievement_name)); + achievementSpinner.setAdapter(new ArrayAdapter(this, R.layout.simple_spinner_item, com.eyecreate.miceandmystics.miceandmystics.model.Enums.Achievement.values())); + achievementSpinner.setSelection(0); + AlertDialog addDialog = new AlertDialog.Builder(this,R.style.dialogTheme) + .setMessage("Please select the achievement to add to party:") + .setView(dialogView) + .setPositiveButton("Add", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialogInterface, int i) { + RealmResults currentPartyAchievements = MiceAndMysticsApplication.getRealmInstance().where(Achievement.class).findAll(); + boolean hasAlready = false; + for (Achievement achievement:currentPartyAchievements) { + if(achievementSpinner.getSelectedItem().toString().equals(achievement.getAchievementName())){ + hasAlready = true; + } + } + if (!hasAlready) { + ((CampaignDetailsAdapter) getAdapter()).addPartyAchievement((com.eyecreate.miceandmystics.miceandmystics.model.Enums.Achievement) achievementSpinner.getSelectedItem()); + } else { + Toast.makeText(CampaignDetailsActivity.this, "Can not have more than one of same achievement.", Toast.LENGTH_LONG).show(); + } + } + }) + .create(); + addDialog.show(); + } + public void newCharacterDialog() { LayoutInflater inflator = (LayoutInflater)(new ContextThemeWrapper(this, R.style.dialogTheme)).getSystemService(Context.LAYOUT_INFLATER_SERVICE); final View dialogView = inflator.inflate(R.layout.dialog_new_character, null, false); diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignDetailsAdapter.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignDetailsAdapter.java index aefad7d23158d0d1852ba80797bf773d3b22ce96..889334ee8d66535e231c5e1047e052df6afad258 100644 --- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignDetailsAdapter.java +++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignDetailsAdapter.java @@ -8,10 +8,12 @@ import android.widget.Toast; import com.eyecreate.miceandmystics.miceandmystics.MiceAndMysticsApplication; import com.eyecreate.miceandmystics.miceandmystics.R; import com.eyecreate.miceandmystics.miceandmystics.model.*; +import com.eyecreate.miceandmystics.miceandmystics.model.Achievement; import com.eyecreate.miceandmystics.miceandmystics.model.Character; -import com.eyecreate.miceandmystics.miceandmystics.model.Enums.CharacterNames; +import com.eyecreate.miceandmystics.miceandmystics.model.Enums.*; import com.eyecreate.miceandmystics.miceandmystics.viewholders.CampaignDetailsViewHolder; import com.eyecreate.miceandmystics.miceandmystics.viewholders.CampaignHeaderViewHolder; +import com.eyecreate.miceandmystics.miceandmystics.viewholders.PartyAchievementViewHolder; import com.eyecreate.miceandmystics.miceandmystics.viewholders.PartyAchievementsHeaderViewHolder; import java.util.UUID; @@ -35,7 +37,7 @@ public class CampaignDetailsAdapter extends RecyclerView.Adapter= Build.VERSION_CODES.LOLLIPOP) { - itemView.setOnTouchListener(new View.OnTouchListener() { - @TargetApi(Build.VERSION_CODES.LOLLIPOP) - @Override - public boolean onTouch(View v, MotionEvent event) { - v - .findViewById(R.id.campaign_content) - .getBackground() - .setHotspot(event.getX(), event.getY()); - - return(false); - } - }); - } } @Override diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/PartyAchievementViewHolder.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/PartyAchievementViewHolder.java new file mode 100644 index 0000000000000000000000000000000000000000..a37557c2b3b5ae038faa07e3955f9b9f6e7d831e --- /dev/null +++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/PartyAchievementViewHolder.java @@ -0,0 +1,32 @@ +package com.eyecreate.miceandmystics.miceandmystics.viewholders; + +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; +import com.eyecreate.miceandmystics.miceandmystics.R; +import com.eyecreate.miceandmystics.miceandmystics.model.Achievement; + +public class PartyAchievementViewHolder extends RecyclerView.ViewHolder implements View.OnLongClickListener { + + TextView achievementName; + ImageView achievementIcon; + + public PartyAchievementViewHolder(View itemView) { + super(itemView); + achievementName = (TextView)itemView.findViewById(R.id.achievement_name); + achievementIcon = (ImageView)itemView.findViewById(R.id.achievement_icon); + itemView.setOnLongClickListener(this); + } + + public void bindHolder(Achievement achievement) { + achievementName.setText(achievement.getAchievementName()); + achievementIcon.setImageResource(com.eyecreate.miceandmystics.miceandmystics.model.Enums.Achievement.valueOfDisplayName(achievement.getAchievementName()).getDisplayResource()); + } + + @Override + public boolean onLongClick(View view) { + //TODO:implement removing + return false; + } +} diff --git a/MiceAndMysticsTracker/src/main/res/layout/dialog_new_achievement.xml b/MiceAndMysticsTracker/src/main/res/layout/dialog_new_achievement.xml index fb3d8a258054c81b274252adffcf37b375659a36..68cce749be719a82ffb7c2035e910de00e1880b8 100644 --- a/MiceAndMysticsTracker/src/main/res/layout/dialog_new_achievement.xml +++ b/MiceAndMysticsTracker/src/main/res/layout/dialog_new_achievement.xml @@ -1,7 +1,11 @@ - + \ No newline at end of file diff --git a/MiceAndMysticsTracker/src/main/res/layout/item_campaign_details.xml b/MiceAndMysticsTracker/src/main/res/layout/item_campaign_details.xml index 3a02e4260332b32c56a0bfa37e903bf9f87d8f83..b111ba33a49854533e5bcdf23abf7f579d0f5dee 100644 --- a/MiceAndMysticsTracker/src/main/res/layout/item_campaign_details.xml +++ b/MiceAndMysticsTracker/src/main/res/layout/item_campaign_details.xml @@ -4,7 +4,7 @@ android:orientation="vertical" android:layout_width="match_parent" app:cardUseCompatPadding="true" - app:cardElevation="0dp" + app:cardElevation="4dp" android:foreground="?android:attr/selectableItemBackground" android:layout_height="match_parent"> diff --git a/MiceAndMysticsTracker/src/main/res/layout/item_party_achievement.xml b/MiceAndMysticsTracker/src/main/res/layout/item_party_achievement.xml new file mode 100644 index 0000000000000000000000000000000000000000..504cedbd848d8af827a2026018c6ef6980cf8bd6 --- /dev/null +++ b/MiceAndMysticsTracker/src/main/res/layout/item_party_achievement.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/catclaw.png b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/catclaw.png new file mode 100644 index 0000000000000000000000000000000000000000..97dfd5ea4f966b773a49fceeb579478247c1392a Binary files /dev/null and b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/catclaw.png differ diff --git a/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/catnip.png b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/catnip.png new file mode 100644 index 0000000000000000000000000000000000000000..bd60e276c98d13978171588ed087388b00252f7f Binary files /dev/null and b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/catnip.png differ diff --git a/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/king.png b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/king.png new file mode 100644 index 0000000000000000000000000000000000000000..75349e68e38833d351d737e6b2a14c351dc06cad Binary files /dev/null and b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/king.png differ diff --git a/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/mizmaggie.png b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/mizmaggie.png new file mode 100644 index 0000000000000000000000000000000000000000..47b8baff56c7c12735ffecd7d83268585e7f24e5 Binary files /dev/null and b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/mizmaggie.png differ diff --git a/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/vanbrush.png b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/vanbrush.png new file mode 100644 index 0000000000000000000000000000000000000000..b0352975f382005a8470c1ff27cde817569a27d4 Binary files /dev/null and b/MiceAndMysticsTracker/src/main/res/mipmap-xxhdpi/vanbrush.png differ