package com.sjriley.zappit;
import com.sjriley.zappit.models.EmailModel;
import com.sjriley.zappit.models.LoginModel;
import com.sjriley.zappit.vo.EmailResponse;
import com.sjriley.zappit.vo.LoginResponse;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class CongratulationsActivity extends Activity {
private static final String TAG = LoginActivity.class.getSimpleName();
private String userId;
private Button redeemOnline;
private Button launchZapper;
private Button tellAFriend;
private Button sendEmail;
private ImageView emailSent;
private TextView name;
private String link;
private LinearLayout emailPopup;
private EditText emailAddress;
private Button logoutButton;
private TextView message;
private BroadcastReceiver logoutReceiver;
private LinearLayout resultView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.congratulations);
redeemOnline= (Button)findViewById(R.id.redeemOnline);
launchZapper = (Button)findViewById(R.id.launchZapper);
tellAFriend = (Button)findViewById(R.id.tellAFriend);
sendEmail = (Button)findViewById(R.id.sendEmail);
emailSent = (ImageView)findViewById(R.id.emailSent);
emailPopup = (LinearLayout)findViewById(R.id.emailPopup);
emailAddress = (EditText)findViewById(R.id.emailAddress);
logoutButton = (Button) findViewById(R.id.logoutButton);
Bundle extras = getIntent().getExtras();
link = extras.getString(PreferencesActivity.LINK);
message = (TextView)findViewById(R.id.message);
resultView = (LinearLayout)findViewById(R.id.result_view);
message.setText(extras.getString(PreferencesActivity.MESSAGE));
redeemOnline.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
redeemOnline();
}
});
sendEmail.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
sendEmail();
}
});
logoutButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0) {
logout();
}
});
launchZapper.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
launchZapper();
}
});
tellAFriend.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
tellAFriend();
}
});
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.sjriley.zappit.ACTION_LOGOUT");
logoutReceiver = new BroadcastReceiver (){
@Override
public void onReceive(Context context, Intent intent) {
Log.d("LoginActivity","Logout in progress");
finish();
}
};
registerReceiver(logoutReceiver, intentFilter);
}
@Override
protected void onResume()
{
name = (TextView)findViewById(R.id.name);
SharedPreferences preferences = getSharedPreferences(PreferencesActivity.DEFAULT_PREFERECES, 0);
String nameString = preferences.getString(PreferencesActivity.USER_NAME, "");
userId = preferences.getString(PreferencesActivity.USER_ID, "");
name.setText(nameString);
super.onResume();
}
private void redeemOnline() {
try {
Log.d(TAG, "Link" + link);
if(link == null || link.equals("")) {
Toast.makeText(this, "There is no link for this promotions", Toast.LENGTH_SHORT).show();
return;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link));
startActivity(intent);
}
catch (Exception e){
Toast toast = Toast.makeText(this, "Could not open the url \"" + link + "\"", Toast.LENGTH_LONG);
e.printStackTrace();
}
}
private void sendEmail() {
EmailModel model = new EmailModel(this);
EmailResponse response = model.emailFriend(userId, emailAddress.getText().toString());
if(response.getStatus() == 0) {
Toast toast = Toast.makeText(this, response.getMessage(), Toast.LENGTH_LONG);
toast.show();
}
else {
emailSent.setVisibility(View.VISIBLE);
}
emailPopup.setVisibility(View.INVISIBLE);
}
private void launchZapper() {
Intent intent = new Intent(this, CaptureActivity.class);
startActivity(intent);
}
private void tellAFriend() {
emailPopup.setVisibility(View.VISIBLE);
}
private void logout() {
SharedPreferences prefs = getSharedPreferences(PreferencesActivity.DEFAULT_PREFERECES, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(PreferencesActivity.USER_ID, "");
editor.putString(PreferencesActivity.USER_NAME, "");
editor.putString(PreferencesActivity.EMAIL, "");
editor.commit();
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.sjriley.zappit.ACTION_LOGOUT");
sendBroadcast(broadcastIntent);
}
@Override
protected void onDestroy()
{
super.onDestroy();
unregisterReceiver(logoutReceiver);
}
}