override fun onViewCreated()

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
                )
            }
        }
    }