override fun onActivityResult()

in mobile/src/main/java/com/github/shadowsocks/acl/CustomRulesFragment.kt [467:484]


    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        val editing = when (requestCode) {
            REQUEST_CODE_ADD -> false
            REQUEST_CODE_EDIT -> true
            else -> return super.onActivityResult(requestCode, resultCode, data)
        }
        val ret by lazy { AlertDialogFragment.getRet<AclEditResult>(data!!) }
        when (resultCode) {
            DialogInterface.BUTTON_POSITIVE -> {
                if (editing) adapter.remove(ret.replacing.toAny())
                adapter.add(ret.edited.toAny())?.also { list.post { list.scrollToPosition(it) } }
            }
            DialogInterface.BUTTON_NEUTRAL -> ret.replacing.toAny().let { item ->
                adapter.remove(item)
                undoManager.remove(Pair(-1, item))
            }
        }
    }