@@ -6,15 +6,37 @@ import android.os.Bundle
66import android.text.method.ScrollingMovementMethod
77import android.util.Log
88import android.view.View
9- import android.widget.*
9+ import android.widget.AdapterView
10+ import android.widget.ArrayAdapter
11+ import android.widget.AutoCompleteTextView
12+ import android.widget.Button
13+ import android.widget.EditText
14+ import android.widget.TextView
15+ import android.widget.Toast
1016import androidx.appcompat.app.AlertDialog
1117import androidx.appcompat.app.AppCompatActivity
1218import com.google.android.material.textfield.TextInputLayout
1319import com.google.gson.Gson
1420import com.google.gson.JsonArray
1521import com.web3auth.core.Web3Auth
1622import com.web3auth.core.isEmailValid
17- import com.web3auth.core.types.*
23+ import com.web3auth.core.isPhoneNumberValid
24+ import com.web3auth.core.types.BuildEnv
25+ import com.web3auth.core.types.ChainConfig
26+ import com.web3auth.core.types.ChainNamespace
27+ import com.web3auth.core.types.ExtraLoginOptions
28+ import com.web3auth.core.types.Language
29+ import com.web3auth.core.types.LoginConfigItem
30+ import com.web3auth.core.types.LoginParams
31+ import com.web3auth.core.types.MFALevel
32+ import com.web3auth.core.types.Network
33+ import com.web3auth.core.types.Provider
34+ import com.web3auth.core.types.ThemeModes
35+ import com.web3auth.core.types.TypeOfLogin
36+ import com.web3auth.core.types.UserInfo
37+ import com.web3auth.core.types.Web3AuthOptions
38+ import com.web3auth.core.types.Web3AuthResponse
39+ import com.web3auth.core.types.WhiteLabelData
1840import org.json.JSONObject
1941import org.web3j.crypto.Credentials
2042import java.util.concurrent.CompletableFuture
@@ -36,7 +58,10 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
3658 LoginVerifier (" LinkedIn" , Provider .LINKEDIN ),
3759 LoginVerifier (" Twitter" , Provider .TWITTER ),
3860 LoginVerifier (" Line" , Provider .LINE ),
39- LoginVerifier (" Hosted Email Passwordless" , Provider .EMAIL_PASSWORDLESS )
61+ LoginVerifier (" Hosted Email Passwordless" , Provider .EMAIL_PASSWORDLESS ),
62+ LoginVerifier (" SMS Passwordless" , Provider .SMS_PASSWORDLESS ),
63+ LoginVerifier (" JWT" , Provider .JWT ),
64+ LoginVerifier (" Farcaster" , Provider .FARCASTER )
4065 )
4166
4267 private var selectedLoginProvider: Provider = Provider .GOOGLE
@@ -54,6 +79,16 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
5479 }
5580 extraLoginOptions = ExtraLoginOptions (login_hint = hintEmail)
5681 }
82+
83+ if (selectedLoginProvider == Provider .SMS_PASSWORDLESS ) {
84+ val hintPhNo = hintEmailEditText.text.toString()
85+ if (hintPhNo.isBlank() || ! hintPhNo.isPhoneNumberValid()) {
86+ Toast .makeText(this , " Please enter a valid Number." , Toast .LENGTH_LONG ).show()
87+ return
88+ }
89+ extraLoginOptions = ExtraLoginOptions (login_hint = hintPhNo)
90+ }
91+
5792 val loginCompletableFuture: CompletableFuture <Web3AuthResponse > = web3Auth.login(
5893 LoginParams (
5994 selectedLoginProvider,
@@ -132,7 +167,7 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
132167
133168 val options = Web3AuthOptions (
134169 context = this ,
135- clientId = " BHgArYmWwSeq21czpcarYh0EVq2WWOzflX-NTK-tY1-1pauPzHKRRLgpABkmYiIV_og9jAvoIxQ8L3Smrwe04Lw " ,
170+ clientId = " BFuUqebV5I8Pz5F7a5A2ihW7YVmbv_OHXnHYDv6OltAD5NGr6e-ViNvde3U4BHdn6HvwfkgobhVu4VwC-OSJkik " ,
136171 network = Network .SAPPHIRE_DEVNET ,
137172 redirectUrl = Uri .parse(" torusapp://org.torusresearch.web3authexample" ),
138173// sdkUrl = "https://auth.mocaverse.xyz",
@@ -141,14 +176,15 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
141176 " Web3Auth Sample App" , null , null , null ,
142177 Language .EN , ThemeModes .LIGHT , true ,
143178 hashMapOf(
144- " primary" to " #123456"
179+ " primary" to " #123456" ,
180+ " onPrimary" to " #0000FF"
145181 )
146182 ),
147183 loginConfig = hashMapOf(
148184 " loginConfig" to LoginConfigItem (
149185 " web3auth-auth0-email-passwordless-sapphire-devnet" ,
150186 typeOfLogin = TypeOfLogin .JWT ,
151- clientId = " d84f6xvbdV75VTGmHiMWfZLeSPk8M07C"
187+ clientId = " d84f6xvbdV75VTGmHiMWfZLeSPk8M07C" ,
152188 )
153189 ),
154190 buildEnv = BuildEnv .TESTING ,
@@ -283,7 +319,14 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
283319 selectedLoginProvider = verifierList[p2].loginProvider
284320
285321 val hintEmailEditText = findViewById<EditText >(R .id.etEmailHint)
322+
286323 if (selectedLoginProvider == Provider .EMAIL_PASSWORDLESS ) {
324+ hintEmailEditText.hint = " Enter Email"
325+ } else if (selectedLoginProvider == Provider .SMS_PASSWORDLESS ) {
326+ hintEmailEditText.hint = " Enter Phone Number"
327+ }
328+
329+ if (selectedLoginProvider == Provider .EMAIL_PASSWORDLESS || selectedLoginProvider == Provider .SMS_PASSWORDLESS ) {
287330 hintEmailEditText.visibility = View .VISIBLE
288331 } else {
289332 hintEmailEditText.visibility = View .GONE
0 commit comments