Last active
February 3, 2020 20:16
-
-
Save cjbrooks12/e7cc62db8f6018c752ed73a57e8c0fc7 to your computer and use it in GitHub Desktop.
Spaghetti Screens
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class MainActivity : AppCompatActivity() { | |
var username: String? = null | |
var passwordValue: String? = null | |
var passwordField: EditText? = null | |
val listener = object : TextWatcher { | |
override fun afterTextChanged(s: Editable?) {} | |
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} | |
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { | |
username = s.toString() | |
onPasswordChanged() | |
} | |
} | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
val view = findViewById<TextView>(R.id.screen_header) | |
view.setText("Login Screen") | |
login_form_username.addTextChangedListener(object : TextWatcher { | |
override fun afterTextChanged(s: Editable?) { onPasswordChanged() } | |
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} | |
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { username = s.toString() } | |
}) | |
passwordField = findViewById<EditText>(R.id.login_form_password) | |
passwordField!!.addTextChangedListener(listener) | |
login_form_submit_button.setOnClickListener { | |
if(BuildConfig.DEBUG) { | |
DebugLoginService().login() { | |
startActivity(Intent(this, HomeActivity::class.java)) | |
} | |
} | |
else { | |
ProductionLoginService(LoginApi()).login(username!!, passwordValue!!) { | |
startActivity(Intent(this, HomeActivity::class.java)) | |
} | |
} | |
} | |
} | |
fun onPasswordChanged() { | |
if(username != null) { | |
if(passwordValue != null) { | |
login_form_submit_button.isEnabled = true | |
} | |
else { | |
login_form_submit_button.isEnabled = false | |
} | |
} | |
else { | |
if(passwordValue != null) { | |
login_form_submit_button.isEnabled = false | |
} | |
else { | |
login_form_submit_button.isEnabled = false | |
} | |
} | |
} | |
} | |
class ProductionLoginService(val loginApi: LoginApi) { | |
fun login(username: String, password: String, onLoggedIn: ()->Unit) {} | |
} | |
class DebugLoginService { | |
fun login(onLoggedIn: ()->Unit) {} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment