package com.pennapps.pennmeet; import java.util.HashSet; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.ScrollView; import android.widget.TextView; import android.widget.Toast; import com.pennapps.pennmeet.helpers.User; public class ProfileActivity extends Activity { private TextView header; private EditText nameEdit; private EditText emailEdit; private EditText phoneEdit; private EditText schoolEdit; private EditText majorEdit; private EditText yearEdit; private EditText notesEdit; private boolean isEdit = false; private RelativeLayout viewRel; private RelativeLayout editRel; private LinearLayout viewLin; private ScrollView editLin; private Button saveChanges; private String userID; private BackEndConnection be = new BackEndConnection(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.profile); isEdit = getIntent().getBooleanExtra("isFirstTime", false); header = (TextView) findViewById(R.id.header); viewRel = (RelativeLayout) findViewById(R.id.top_layout); editRel = (RelativeLayout) findViewById(R.id.top_layout_edit); viewLin = (LinearLayout) findViewById(R.id.porfile_view); editLin = (ScrollView) findViewById(R.id.porfile_edit); saveChanges = (Button) findViewById(R.id.profile_save_changes_edit); nameEdit = (EditText) findViewById(R.id.profile_name_edit); emailEdit = (EditText) findViewById(R.id.profile_email_edit); phoneEdit = (EditText) findViewById(R.id.profile_phone_edit); schoolEdit = (EditText) findViewById(R.id.profile_school_edit); majorEdit = (EditText) findViewById(R.id.profile_major_edit); yearEdit = (EditText) findViewById(R.id.profile_year_edit); notesEdit = (EditText) findViewById(R.id.profile_notes_edit); SharedPreferences data = getSharedPreferences("pennmeet_user_id", MODE_PRIVATE); userID = data.getString("user_id", null); if(userID == null){ userID = Long.toHexString(Double.doubleToLongBits(Math.random())); saveID(); } if(isEdit) openCorrectEdit(); saveChanges.setOnClickListener(new OnClickListener(){ public void onClick(View v){ if(isEdit){ saveUser(); viewRel.setVisibility(View.VISIBLE); editRel.setVisibility(View.INVISIBLE); viewLin.setVisibility(View.VISIBLE); editLin.setVisibility(View.INVISIBLE); isEdit = false; } Toast.makeText(getApplicationContext(), "Changes Saved!", Toast.LENGTH_SHORT).show(); } }); header.setOnClickListener(new OnClickListener(){ public void onClick(View v){ startActivity(new Intent(getApplicationContext(), HomeActivity.class)); } }); } public void saveUser(){ String firstName = " "; String lastName = " "; String number = " "; String email = " "; String year = " "; if(nameEdit.getText().toString().contains(" ")){ firstName = nameEdit.getText().toString().substring(0, nameEdit.getText().toString().indexOf(" ")); lastName = nameEdit.getText().toString().substring(nameEdit.getText().toString().indexOf(" ")+ 1); } else if(nameEdit.getText().toString() != null) firstName = nameEdit.getText().toString(); if(phoneEdit.getText().toString() != null) number = phoneEdit.getText().toString(); if(emailEdit.getText().toString() != null) email = emailEdit.getText().toString(); if(yearEdit.getText().toString() != null) year = yearEdit.getText().toString(); HashSet<String> groupIDS = new HashSet<String>(); groupIDS.add("empty_group"); be.putUser(userID, new User(userID, firstName, lastName, number, false, email, year, groupIDS)); saveID(); } public void saveID(){ SharedPreferences data = getSharedPreferences("pennmeet_user_id", MODE_PRIVATE); SharedPreferences.Editor editor = data.edit(); editor.putString("user_id", userID); editor.commit(); } public void openCorrectEdit(){ viewRel.setVisibility(View.INVISIBLE); editRel.setVisibility(View.VISIBLE); viewLin.setVisibility(View.INVISIBLE); editLin.setVisibility(View.VISIBLE); isEdit = true; } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.home_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.edit_profile: if(!isEdit) openCorrectEdit(); return true; default: return super.onOptionsItemSelected(item); } } }