package com.rubenvandeven.emotionhero; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.AppCompatTextView; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.WindowManager; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; public class ReviewAchievementsActivity extends AppCompatActivity { public final static String INTENT_EXTRA_GAME_ID = "com.rubenvandeven.emotionhero.GAME_ID"; Player player; Game game; LinearLayout achievementsLayout; TextView toDiscoverText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_review_achievements); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setTitle("Achievements"); achievementsLayout = (LinearLayout) findViewById(R.id.achievementsLayout); toDiscoverText = (TextView) findViewById(R.id.toDiscoverText); player = Player.getInstance(getApplicationContext()); // get game from Intent long gameId = getIntent().getLongExtra(INTENT_EXTRA_GAME_ID, 0); Log.d("Review", "gameid:" + gameId); if(gameId != 0) { game = player.getGameOpenHelper().getGameByid(gameId); if(game == null) { Log.e("Highscore", "CANNOT FIND GAME!! " + gameId); throw new RuntimeException("Cannot find specified game"); } else { Log.i("Highscore", "FOUND GAME" + game.id + " " + game.score); } } else { // no game specified??? SHould not be possible so finish finish(); } for(Achievement achievement: game.achievements) { addAchievement(achievement); } int toDiscover = game.scenario.achievements.size() - game.achievements.size(); if(toDiscover > 0) { toDiscoverText.setText(String.format("There are %1$d other achievements for this level.", toDiscover)); } else { toDiscoverText.setText("Wow, you obtained all achievements in one run!!"); } } public void addAchievement(Achievement achievement) { AppCompatTextView titleText = new AppCompatTextView(this); AppCompatTextView descriptionText = new AppCompatTextView(this); RelativeLayout descriptionLayout = new RelativeLayout(this); // ImageView imageView = new ImageView(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); titleText.setText(achievement.title); // titleText.setText("mwa"); titleText.setTextColor(getResources().getColor(R.color.textHighlight)); titleText.setTextSize(getResources().getDimensionPixelSize(R.dimen.highscore_textsize)); titleText.setLayoutParams(params); descriptionLayout.setLayoutParams(params); descriptionLayout.setPadding(0,0,0, 20); achievement.achievementListener.setDescription(player, game, descriptionLayout); achievementsLayout.addView(titleText); achievementsLayout.addView(descriptionLayout); } }