emotionhero/app/src/main/java/com/rubenvandeven/emotionhero/ReviewAchievementsActivity....

84 lines
3.0 KiB
Java

package com.rubenvandeven.emotionhero;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
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.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) {
TextView titleText = new TextView(this);
TextView descriptionText = new TextView(this);
// ImageView imageView = new ImageView(this);
titleText.setText(achievement.title);
titleText.setTextColor(getResources().getColor(R.color.textHighlight));
titleText.setTextSize(R.dimen.highscore_textsize);
descriptionText.setText(achievement.description);
descriptionText.setTextColor(getResources().getColor(R.color.textPrimary));
achievementsLayout.addView(titleText);
achievementsLayout.addView(descriptionText);
}
}