Skip to content

Commit e8c5ccb

Browse files
Merge pull request #53 from Web3Auth/feat/refactor
Feat/refactor
2 parents bbff689 + 04f7c08 commit e8c5ccb

File tree

9 files changed

+242
-214
lines changed

9 files changed

+242
-214
lines changed

.idea/codeStyles/Project.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/compiler.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/kotlinc.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/com/web3auth/app/MainActivity.kt

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@ import com.web3auth.core.isEmailValid
1515
import com.web3auth.core.types.*
1616
import java8.util.concurrent.CompletableFuture
1717
import org.json.JSONObject
18+
import java.util.concurrent.atomic.AtomicBoolean
19+
1820

1921
class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
2022
private lateinit var web3Auth: Web3Auth
23+
private val isLoginCompleted = AtomicBoolean(false)
2124

2225
private val verifierList: List<LoginVerifier> = listOf(
2326
LoginVerifier("Google", Provider.GOOGLE),
@@ -48,13 +51,13 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
4851
}
4952
extraLoginOptions = ExtraLoginOptions(login_hint = hintEmail)
5053
}
51-
5254
val loginCompletableFuture: CompletableFuture<Web3AuthResponse> = web3Auth.login(
5355
LoginParams(selectedLoginProvider, extraLoginOptions = extraLoginOptions)
5456
)
55-
loginCompletableFuture.whenComplete { loginResponse, error ->
57+
loginCompletableFuture.whenComplete { _, error ->
58+
isLoginCompleted.set(true)
5659
if (error == null) {
57-
reRender(loginResponse)
60+
reRender()
5861
println("PrivKey: " + web3Auth.getPrivkey())
5962
println("ed25519PrivKey: " + web3Auth.getEd25519PrivKey())
6063
println("Web3Auth UserInfo" + web3Auth.getUserInfo())
@@ -68,25 +71,31 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
6871
val logoutCompletableFuture = web3Auth.logout()
6972
logoutCompletableFuture.whenComplete { _, error ->
7073
if (error == null) {
71-
reRender(Web3AuthResponse())
74+
reRender()
7275
} else {
7376
Log.d("MainActivity_Web3Auth", error.message ?: "Something went wrong")
7477
}
7578
}
7679
}
7780

78-
private fun reRender(web3AuthResponse: Web3AuthResponse) {
81+
private fun reRender() {
7982
val contentTextView = findViewById<TextView>(R.id.contentTextView)
8083
val signInButton = findViewById<Button>(R.id.signInButton)
8184
val signOutButton = findViewById<Button>(R.id.signOutButton)
8285
val spinner = findViewById<TextInputLayout>(R.id.verifierList)
8386
val hintEmailEditText = findViewById<EditText>(R.id.etEmailHint)
87+
var key: String? = null
88+
var userInfo: UserInfo? = null
89+
try {
90+
key = web3Auth.getPrivkey()
91+
userInfo = web3Auth.getUserInfo()
92+
} catch (ex: Exception) {
93+
print(ex)
94+
}
8495

85-
val key = web3AuthResponse.privKey
86-
val userInfo = web3AuthResponse.userInfo
87-
if (key is String && key.isNotEmpty()) {
88-
val jsonObject = JSONObject(gson.toJson(web3AuthResponse))
89-
contentTextView.text = jsonObject.toString(4)
96+
if (key != null && userInfo != null && key.isNotEmpty()) {
97+
val jsonObject = JSONObject(gson.toJson(userInfo))
98+
contentTextView.text = jsonObject.toString(4) + "\n Private Key: " + key
9099
contentTextView.movementMethod = ScrollingMovementMethod()
91100
contentTextView.visibility = View.VISIBLE
92101
signInButton.visibility = View.GONE
@@ -111,7 +120,7 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
111120
Web3AuthOptions(
112121
context = this,
113122
clientId = getString(R.string.web3auth_project_id),
114-
network = Web3Auth.Network.MAINNET,
123+
network = Network.MAINNET,
115124
redirectUrl = Uri.parse("torusapp://org.torusresearch.web3authexample/redirect"),
116125
whiteLabel = WhiteLabelData(
117126
"Web3Auth Sample App", null, null, "en", true,
@@ -132,10 +141,10 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
132141
web3Auth.setResultUrl(intent.data)
133142

134143
// for session response
135-
val sessionResponse: CompletableFuture<Web3AuthResponse> = web3Auth.sessionResponse()
136-
sessionResponse.whenComplete { loginResponse, error ->
144+
val sessionResponse: CompletableFuture<Void> = web3Auth.initialize()
145+
sessionResponse.whenComplete { _, error ->
137146
if (error == null) {
138-
reRender(loginResponse)
147+
reRender()
139148
println("PrivKey: " + web3Auth.getPrivkey())
140149
println("ed25519PrivKey: " + web3Auth.getEd25519PrivKey())
141150
println("Web3Auth UserInfo" + web3Auth.getUserInfo())
@@ -166,6 +175,15 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
166175
web3Auth.setResultUrl(intent?.data)
167176
}
168177

178+
override fun onResume() {
179+
super.onResume()
180+
if (isLoginCompleted.get()) {
181+
isLoginCompleted.set(false)
182+
} else {
183+
println("User closed the browser.")
184+
}
185+
}
186+
169187
override fun onItemClick(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
170188
selectedLoginProvider = verifierList[p2].loginProvider
171189

0 commit comments

Comments
 (0)