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); } }