@@ -40,6 +40,7 @@ internal class UserFragment : Fragment(), View.OnClickListener {
40
40
userGenderField = rootView.findViewById(R .id.user_gender)
41
41
userAgeField = rootView.findViewById(R .id.user_age)
42
42
rootView.findViewById<View >(R .id.save_user).setOnClickListener(this )
43
+ rootView.findViewById<View >(R .id.clear_user).setOnClickListener(this )
43
44
return rootView
44
45
}
45
46
@@ -58,24 +59,47 @@ internal class UserFragment : Fragment(), View.OnClickListener {
58
59
// region View.OnClickListener
59
60
60
61
override fun onClick (v : View ) {
61
- withinSpan(" updateUserInfo" ) {
62
- val id: String = idField.text.toString()
63
- val name: String = nameField.text.toString()
64
- val email: String = emailField.text.toString()
65
- val gender: String = userGenderField.text.toString()
66
- val age: Int = Integer .valueOf(userAgeField.text.toString())
67
- Preferences .defaultPreferences(requireContext())
68
- .setUserCredentials(id, name, email, gender, age)
69
- Datadog .setUserInfo(id, name, email, emptyMap())
70
- Datadog .addUserProperties(
71
- mapOf<String , Any >(
72
- GENDER_KEY to gender,
73
- AGE_KEY to age
74
- )
75
- )
76
- log(" Updated user info" )
62
+ when (v.id) {
63
+ R .id.save_user -> {
64
+ withinSpan(" updateUserInfo" ) {
65
+ val id: String = idField.text.toString()
66
+ val name: String = nameField.text.toString()
67
+ val email: String = emailField.text.toString()
68
+ val gender: String = userGenderField.text.toString()
69
+ val age: Int = Integer .valueOf(userAgeField.text.toString())
70
+ Preferences .defaultPreferences(requireContext())
71
+ .setUserCredentials(id, name, email, gender, age)
72
+ Datadog .setUserInfo(id, name, email, emptyMap())
73
+ Datadog .addUserProperties(
74
+ mapOf<String , Any >(
75
+ GENDER_KEY to gender,
76
+ AGE_KEY to age
77
+ )
78
+ )
79
+ log(" Updated user info" )
80
+ }
81
+ Snackbar .make(view ? : v.rootView, " User info updated" , Snackbar .LENGTH_SHORT ).show()
82
+ }
83
+ R .id.clear_user -> {
84
+ withinSpan(" clearUserInfo" ) {
85
+ // Clear preferences
86
+ Preferences .defaultPreferences(requireContext()).clearUserCredentials()
87
+
88
+ // Clear Datadog user info
89
+ Datadog .clearUserInfo()
90
+
91
+ // Clear UI fields
92
+ idField.text.clear()
93
+ nameField.text.clear()
94
+ emailField.text.clear()
95
+ userGenderField.text.clear()
96
+ userAgeField.text.clear()
97
+
98
+ log(" Cleared user info" )
99
+ }
100
+ Snackbar .make(view ? : v.rootView, " User info cleared" , Snackbar .LENGTH_SHORT ).show()
101
+ }
77
102
}
78
- Snackbar .make(view ? : v.rootView, " User info updated" , Snackbar .LENGTH_SHORT ).show()
79
103
}
80
104
81
105
// endregion
0 commit comments