package com.barcicki.trio; import android.content.Intent; import android.media.AudioManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.Button; import com.barcicki.trio.core.CardViewResources; import com.barcicki.trio.core.SoundManager; import com.barcicki.trio.core.TrioSettings; import com.google.example.games.basegameutils.BaseGameActivity; public class TrioActivity extends BaseGameActivity { private SoundManager mSoundManager; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); overridePendingTransition(R.anim.pull_bottom, R.anim.push_top); setVolumeControlStream(AudioManager.STREAM_MUSIC); CardViewResources.initialize(this); TrioSettings.initialize(this); } @Override public void onWindowFocusChanged(boolean hasFocus) { if (hasFocus) { getSoundManager().registerActivityForBackgroundPlayback(this); updateMusicButtonStatus(); } super.onWindowFocusChanged(hasFocus); } @Override protected void onStop() { getSoundManager().unregisterActivtyForBackgroundPlayback(this); super.onStop(); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); MenuItem item = menu.findItem(R.id.mute); updateMenuMusicButtonStatus(item); return true; } public void openSettingsActvity() { Intent intent = new Intent(this, SettingsActivity.class); startActivity(intent); } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.settings: openSettingsActvity(); return true; case R.id.mute: TrioSettings.setMusicEnabled(!TrioSettings.isMusicEnabled()); getSoundManager().updateBackgroundPlaybackStatus(); updateMusicButtonStatus(); updateMenuMusicButtonStatus(item); return true; default: return super.onOptionsItemSelected(item); } } public void startHomeActivity() { Intent intent = new Intent(this, HomeActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); } public SoundManager getSoundManager() { if (mSoundManager == null) { mSoundManager = SoundManager.getInstance(this); } return mSoundManager; } public void makeSound(int type) { if (TrioSettings.isSoundEffectsEnabled()) { getSoundManager().playSound(type); } } public void makeClickSound() { makeSound(SoundManager.SOUND_CLICK); } public void makeFailSound() { makeSound(SoundManager.SOUND_FAIL); } public void makeSuccessSound() { makeSound(SoundManager.SOUND_SUCCESS); } private void updateMenuMusicButtonStatus(MenuItem item) { if (getSoundManager().isBackgroundPlaying()) { item.setTitle(R.string.settings_mute); item.setIcon(android.R.drawable.ic_media_pause); } else { item.setTitle(R.string.settings_unmute); item.setIcon(android.R.drawable.ic_media_play); } } private void updateMusicButtonStatus() { Button musicButton = (Button) findViewById(R.id.buttonMusicSwitch); if (musicButton != null) { if (getSoundManager().isBackgroundPlaying()) { musicButton.setBackgroundResource(R.drawable.nice_button); } else { musicButton.setBackgroundResource(R.drawable.no_music_button); } } } public void onMusicButtonPressed(View v) { TrioSettings.setMusicEnabled(!TrioSettings.isMusicEnabled()); getSoundManager().updateBackgroundPlaybackStatus(); updateMusicButtonStatus(); } @Override public void startActivity(Intent intent) { super.startActivity(intent); overridePendingTransition(R.anim.pull_top, R.anim.push_bottom); } @Override public void finish() { // TODO Auto-generated method stub super.finish(); overridePendingTransition(R.anim.pull_bottom, R.anim.push_top); } public void onSignInFailed() { } public void onSignInSucceeded() { } }