in ddmock/src/main/java/com/dd/view/MockEntryFragment.kt [29:91]
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
activity?.run {
// Set status code auto complete text view
val httpCodes = resources.getStringArray(R.array.http_code)
val statusCodeAdapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, httpCodes)
statusCode.setAdapter(statusCodeAdapter)
presenter?.getEditMockEntry()?.let { mockEntry ->
pathName.text = mockEntry.path
responseTime.setText(mockEntry.responseTime.toString(), TextView.BufferType.EDITABLE)
// Status code setup
val currentStatusCode = mockEntry.statusCode.toString()
for (element in httpCodes) {
if (element.split(" ")[0] == currentStatusCode) {
statusCode.setText(element, TextView.BufferType.EDITABLE)
}
}
statusCode.addTextChangedListener(this@MockEntryFragment)
statusCode.setOnItemClickListener { _, _, _, _ ->
// Enable save button as user selected status code from dropdown
save.isEnabled = true
}
// Populate the list of mock files
mockEntry.files.let { mockFiles ->
for (i in 0 until mockFiles.size) {
val segments = mockFiles[i].split("/")
val fileName = segments[segments.lastIndex]
val radioButton = RadioButton(context)
radioButton.text = fileName
radioButton.id = i
files.addView(radioButton)
}
}
// Set currently selected mock file
files.check(mockEntry.selectedFile)
}
statusCode.setOnFocusChangeListener { _, hasFocus ->
if(hasFocus) {
originalStatusCode = statusCode.text.toString()
statusCode.setText("")
}
else if(originalStatusCode.isNotEmpty() && statusCode.text.toString().isEmpty()) {
statusCode.setText(originalStatusCode)
}
}
// Save button listener
save.setOnClickListener {
hideSoftKeyboard()
presenter?.saveEditMockEntry(
responseTime.text.toString(),
statusCode.text.toString().split(" ")[0],
files.checkedRadioButtonId
)
}
}
}