blob: 7e01b0c3dce1c39eb6619070c9c049d0115d39c0 [file] [log] [blame]
package com.replica.replicaisland;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import android.app.Activity;
import android.content.Intent;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
public class DifficultyMenuActivity extends Activity {
private View mBabyButton;
private View mKidsButton;
private View mAdultsButton;
private View mBackground;
private View mBabyText;
private View mKidsText;
private View mAdultsText;
private Animation mButtonFlickerAnimation;
private Animation mFadeOutAnimation;
private Animation mAlternateFadeOutAnimation;
private View.OnClickListener sBabyButtonListener = new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(getBaseContext(), AndouKun.class);
i.putExtras(getIntent());
i.putExtra("difficulty", 0);
v.startAnimation(mButtonFlickerAnimation);
mFadeOutAnimation.setAnimationListener(new StartActivityAfterAnimation(i));
mBackground.startAnimation(mFadeOutAnimation);
mKidsButton.startAnimation(mAlternateFadeOutAnimation);
mAdultsButton.startAnimation(mAlternateFadeOutAnimation);
mBabyText.startAnimation(mAlternateFadeOutAnimation);
mKidsText.startAnimation(mAlternateFadeOutAnimation);
mAdultsText.startAnimation(mAlternateFadeOutAnimation);
}
};
private View.OnClickListener sKidsButtonListener = new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(getBaseContext(), AndouKun.class);
i.putExtras(getIntent());
i.putExtra("difficulty", 1);
v.startAnimation(mButtonFlickerAnimation);
mFadeOutAnimation.setAnimationListener(new StartActivityAfterAnimation(i));
mBackground.startAnimation(mFadeOutAnimation);
mBabyButton.startAnimation(mAlternateFadeOutAnimation);
mAdultsButton.startAnimation(mAlternateFadeOutAnimation);
mBabyText.startAnimation(mAlternateFadeOutAnimation);
mKidsText.startAnimation(mAlternateFadeOutAnimation);
mAdultsText.startAnimation(mAlternateFadeOutAnimation);
}
};
private View.OnClickListener sAdultsButtonListener = new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(getBaseContext(), AndouKun.class);
i.putExtras(getIntent());
i.putExtra("difficulty", 2);
v.startAnimation(mButtonFlickerAnimation);
mFadeOutAnimation.setAnimationListener(new StartActivityAfterAnimation(i));
mBackground.startAnimation(mFadeOutAnimation);
mBabyButton.startAnimation(mAlternateFadeOutAnimation);
mKidsButton.startAnimation(mAlternateFadeOutAnimation);
mBabyText.startAnimation(mAlternateFadeOutAnimation);
mKidsText.startAnimation(mAlternateFadeOutAnimation);
mAdultsText.startAnimation(mAlternateFadeOutAnimation);
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.difficulty_menu);
mBabyButton = findViewById(R.id.babyButton);
mKidsButton = findViewById(R.id.kidsButton);
mAdultsButton = findViewById(R.id.adultsButton);
mBabyText = findViewById(R.id.babyText);
mKidsText = findViewById(R.id.kidsText);
mAdultsText = findViewById(R.id.adultsText);
mBackground = findViewById(R.id.mainMenuBackground);
mBabyButton.setOnClickListener(sBabyButtonListener);
mKidsButton.setOnClickListener(sKidsButtonListener);
mAdultsButton.setOnClickListener(sAdultsButtonListener);
mButtonFlickerAnimation = AnimationUtils.loadAnimation(this, R.anim.button_flicker);
mFadeOutAnimation = AnimationUtils.loadAnimation(this, R.anim.fade_out);
mAlternateFadeOutAnimation = AnimationUtils.loadAnimation(this, R.anim.fade_out);
// Keep the volume control type consistent across all activities.
setVolumeControlStream(AudioManager.STREAM_MUSIC);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
boolean result = true;
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
if (UIConstants.mOverridePendingTransition != null) {
try {
UIConstants.mOverridePendingTransition.invoke(DifficultyMenuActivity.this, R.anim.activity_fade_in, R.anim.activity_fade_out);
} catch (InvocationTargetException ite) {
DebugLog.d("Activity Transition", "Invocation Target Exception");
} catch (IllegalAccessException ie) {
DebugLog.d("Activity Transition", "Illegal Access Exception");
}
}
} else {
result = super.onKeyDown(keyCode, event);
}
return result;
}
protected class StartActivityAfterAnimation implements Animation.AnimationListener {
private Intent mIntent;
StartActivityAfterAnimation(Intent intent) {
mIntent = intent;
}
public void onAnimationEnd(Animation animation) {
mBabyButton.setVisibility(View.INVISIBLE);
mBabyButton.clearAnimation();
mKidsButton.setVisibility(View.INVISIBLE);
mKidsButton.clearAnimation();
mAdultsButton.setVisibility(View.INVISIBLE);
mAdultsButton.clearAnimation();
startActivity(mIntent);
finish(); // This activity dies when it spawns a new intent.
if (UIConstants.mOverridePendingTransition != null) {
try {
UIConstants.mOverridePendingTransition.invoke(DifficultyMenuActivity.this, R.anim.activity_fade_in, R.anim.activity_fade_out);
} catch (InvocationTargetException ite) {
DebugLog.d("Activity Transition", "Invocation Target Exception");
} catch (IllegalAccessException ie) {
DebugLog.d("Activity Transition", "Illegal Access Exception");
}
}
}
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
}
}