-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathProfileActivity.java
More file actions
110 lines (94 loc) · 4.64 KB
/
ProfileActivity.java
File metadata and controls
110 lines (94 loc) · 4.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package com.example.test;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
public class ProfileActivity extends AppCompatActivity implements View.OnClickListener{
private static final String TAG = "ProfileActivity";
//firebase auth object
private FirebaseAuth firebaseAuth;
//view objects
private TextView textViewUserEmail;
private Button buttonLogout;
private TextView textivewDelete;
private TextView textviewMajor;
private TextView textviewRegion;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
//initializing views
textViewUserEmail = (TextView) findViewById(R.id.textviewUserEmail);
buttonLogout = (Button) findViewById(R.id.buttonLogout);
textivewDelete = (TextView) findViewById(R.id.textviewDelete);
textviewRegion = (TextView) findViewById(R.id.textviewRegion);
textviewMajor = (TextView) findViewById(R.id.textviewMajor);
//initializing firebase authentication object
firebaseAuth = FirebaseAuth.getInstance();
//유저가 로그인 하지 않은 상태라면 null 상태이고 이 액티비티를 종료하고 로그인 액티비티를 연다.
if(firebaseAuth.getCurrentUser() == null) {
finish();
startActivity(new Intent(this, LoginActivity.class));
}
//유저가 있다면, null이 아니면 계속 진행
FirebaseUser user = firebaseAuth.getCurrentUser();
//textViewUserEmail의 내용을 변경해 준다.
textViewUserEmail.setText("반갑습니다.\n"+ user.getEmail()+"으로 로그인 하였습니다.");
//logout button event
buttonLogout.setOnClickListener(this);
textivewDelete.setOnClickListener(this);
textviewMajor.setOnClickListener(this);
textviewRegion.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view == buttonLogout) {
firebaseAuth.signOut();
finish();
startActivity(new Intent(this, LoginActivity.class));
}
//회원탈퇴를 클릭하면 회원정보를 삭제한다. 삭제전에 컨펌창을 하나 띄워야 겠다.
if(view == textivewDelete) {
AlertDialog.Builder alert_confirm = new AlertDialog.Builder(ProfileActivity.this);
alert_confirm.setMessage("정말 계정을 삭제 할까요?").setCancelable(false).setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
user.delete()
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Toast.makeText(ProfileActivity.this, "계정이 삭제 되었습니다.", Toast.LENGTH_LONG).show();
finish();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
}
});
}
}
);
alert_confirm.setNegativeButton("취소", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(ProfileActivity.this, "취소", Toast.LENGTH_LONG).show();
}
});
alert_confirm.show();
}
if(view == textviewMajor) {
startActivity(new Intent(this, MajorActivity.class));
}
if(view == textviewRegion){
startActivity(new Intent(this, RegionActivity.class));
}
}
}