/*
* Copyright (c) 2013 Andrew Fontaine, James Finlay, Jesse Tucker, Jacob Viau, and
* Evan DeGraff
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package ca.cmput301f13t03.adventure_datetime.view;
import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
import ca.cmput301f13t03.adventure_datetime.R;
import ca.cmput301f13t03.adventure_datetime.model.Bookmark;
import ca.cmput301f13t03.adventure_datetime.model.Interfaces.IBookmarkListListener;
import ca.cmput301f13t03.adventure_datetime.serviceLocator.Locator;
import java.util.Map;
import java.util.UUID;
/**
* The first and main activity of the application. User can then navigate to the different sections.
*
* @author James Finlay
*
*/
public class MainView extends Activity implements IBookmarkListListener {
private static final String TAG = "MainView";
private Button _browseBookmarks, _browseStories, _authorBrowse;
private AnimationDrawable _unicorn;
@Override
public void OnBookmarkListChange(Map<UUID, Bookmark> newBookmarks) {
if (newBookmarks.size() > 0)
_browseBookmarks.setVisibility(View.VISIBLE);
}
/** Called when activity is first created */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Locator.initializeLocator(getApplicationContext());
//Locator.initializeLocator(getApplicationContext());
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
/** Unicorn **/
ImageView iUnicorn = (ImageView) findViewById(R.id.unicorn);
Animation aUnicorn = AnimationUtils.loadAnimation(this, R.anim.unicorn);
iUnicorn.setBackgroundResource(R.drawable.unicorn_animation);
_unicorn = (AnimationDrawable) iUnicorn.getBackground();
_unicorn.start();
iUnicorn.startAnimation(aUnicorn);
_browseBookmarks = (Button) findViewById(R.id.btn_browseBookmarks);
_browseBookmarks.setVisibility(View.INVISIBLE);
_browseBookmarks.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainView.this, ContinueView.class);
startActivity(intent);
}
});
_browseStories = (Button) findViewById(R.id.btn_browseStories);
_browseStories.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainView.this, BrowseView.class);
startActivity(intent);
}
});
_authorBrowse = (Button) findViewById(R.id.btn_authorList);
_authorBrowse.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainView.this, AuthorStories.class);
startActivity(intent);
}
});
}
@Override
public void onResume() {
Locator.getPresenter().Subscribe((IBookmarkListListener)this);
super.onResume();
}
@Override
public void onPause() {
Locator.getPresenter().Unsubscribe((IBookmarkListListener)this);
super.onPause();
}
}