/**
BEEM is a videoconference application on the Android Platform.
Copyright (C) 2009 by Frederic-Charles Barthelery,
Jean-Manuel Da Silva,
Nikita Kozlov,
Philippe Lago,
Jean Baptiste Vergely,
Vincent Véronis.
This file is part of BEEM.
BEEM is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
BEEM is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with BEEM. If not, see <http://www.gnu.org/licenses/>.
Please send bug reports with examples or suggestions to
contact@beem-project.com or http://dev.beem-project.com/
Epitech, hereby disclaims all copyright interest in the program “Beem”
written by Frederic-Charles Barthelery,
Jean-Manuel Da Silva,
Nikita Kozlov,
Philippe Lago,
Jean Baptiste Vergely,
Vincent Veronis.
Nicolas Sadirac, November 26, 2009
President of Epitech.
Flavien Astraud, November 26, 2009
Head of the EIP Laboratory.
*/
package com.beem.project.beem.ui;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
import com.beem.project.beem.R;
import com.beem.project.beem.utils.BeemConnectivity;
// TODO: Auto-generated Javadoc
/**
* This class is the main Activity for the Beem project.
* @author Da Risk <darisk972@gmai.com>
*/
public class Login extends Activity {
private SharedPreferences mSettings;
private TextView mTextView;
private boolean mIsConfigured;
private boolean mIsResult;
/**
* Constructor.
*/
public Login() {
}
/* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
mTextView = (TextView) findViewById(R.id.log_as_msg);
mSettings = PreferenceManager.getDefaultSharedPreferences(this);
}
/* (non-Javadoc)
* @see android.app.Activity#onStart()
*/
@Override
protected void onStart() {
super.onStart();
mIsConfigured = mSettings.getBoolean("PreferenceIsConfigured", false);
// TODO utiliser une options des preference plutot.
if (mIsConfigured && !mIsResult) {
mTextView.setText("");
Intent i = new Intent(this, LoginAnim.class);
startActivityForResult(i, 42);
mIsResult = false;
}
}
/* (non-Javadoc)
* @see android.app.Activity#onActivityResult(int, int, android.content.Intent)
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 42) {
mIsResult = true;
if (resultCode == Activity.RESULT_OK) {
startActivity(new Intent(this, ContactList.class));
finish();
} else if (resultCode == Activity.RESULT_CANCELED) {
if (data != null) {
String tmp = data.getExtras().getString("message");
Toast.makeText(Login.this, tmp, Toast.LENGTH_SHORT).show();
mTextView.setText(tmp);
}
}
}
}
/* (non-Javadoc)
* @see android.app.Activity#onCreateOptionsMenu(android.view.Menu)
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.login, menu);
return true;
}
/* (non-Javadoc)
* @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem)
*/
@Override
public final boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.login_menu_settings:
mTextView.setText("");
startActivity(new Intent(Login.this, Settings.class));
return true;
case R.id.login_menu_about:
createAboutDialog();
return true;
case R.id.login_menu_login:
if (testConnectivity()) {
Intent i = new Intent(this, LoginAnim.class);
startActivityForResult(i, 42);
}
return true;
default:
return false;
}
}
private boolean testConnectivity() {
if (!BeemConnectivity.isConnected(getApplicationContext())) {
Toast.makeText(Login.this, R.string.login_no_connectivity, Toast.LENGTH_SHORT).show();
return false;
}
return true;
}
/**
* Create an about "BEEM" dialog.
*/
private void createAboutDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.login_about_title).setMessage(R.string.login_about_msg).setCancelable(false);
builder.setNeutralButton(R.string.login_about_button, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
});
AlertDialog aboutDialog = builder.create();
aboutDialog.show();
}
}