From 0a7fe96877731d14b6b1b93e278205132dce28eb Mon Sep 17 00:00:00 2001 From: Yash Khare Date: Sat, 6 Jun 2020 13:34:01 +0530 Subject: [PATCH] fix #55 Fix unchecked nullability Co-authored-by: mehul --- .../visionppi/adapters/ClientSearchAdapter.kt | 10 ++++++---- .../mifos/visionppi/adapters/QuestionAdapter.kt | 9 +++++---- .../mifos/visionppi/adapters/ResponseAdapter.kt | 16 +++++++++------- .../visionppi/adapters/SelectedImageAdapter.kt | 10 ++++++---- 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/visionppi/app/src/main/java/org/mifos/visionppi/adapters/ClientSearchAdapter.kt b/visionppi/app/src/main/java/org/mifos/visionppi/adapters/ClientSearchAdapter.kt index a869dd5..22a71db 100644 --- a/visionppi/app/src/main/java/org/mifos/visionppi/adapters/ClientSearchAdapter.kt +++ b/visionppi/app/src/main/java/org/mifos/visionppi/adapters/ClientSearchAdapter.kt @@ -6,6 +6,8 @@ import androidx.recyclerview.widget.RecyclerView import org.mifos.visionppi.R import android.view.View import android.view.ViewGroup +import android.widget.LinearLayout +import android.widget.TextView import kotlinx.android.synthetic.main.client_search_row.view.* import org.mifos.visionppi.objects.Client @@ -35,12 +37,12 @@ class ClientSearchAdapter(var clientList: List, var context: Context, va } class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { - val clientName = view.client_name - val clientAccountNo = view.client_account_no - val linear_layout = view.client_search_row + val clientName: TextView? = view.client_name + val clientAccountNo: TextView? = view.client_account_no + val linear_layout: LinearLayout? = view.client_search_row fun setItem(item: Client, listener: (Client) -> Unit) { - linear_layout.setOnClickListener { listener(item) } + linear_layout?.setOnClickListener { listener(item) } } } diff --git a/visionppi/app/src/main/java/org/mifos/visionppi/adapters/QuestionAdapter.kt b/visionppi/app/src/main/java/org/mifos/visionppi/adapters/QuestionAdapter.kt index 1bf69b7..0f4036a 100644 --- a/visionppi/app/src/main/java/org/mifos/visionppi/adapters/QuestionAdapter.kt +++ b/visionppi/app/src/main/java/org/mifos/visionppi/adapters/QuestionAdapter.kt @@ -4,6 +4,7 @@ import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.TextView import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import kotlinx.android.synthetic.main.ppi_question_layout.view.* @@ -15,8 +16,8 @@ class QuestionAdapter (var questionList: List, var context: Context, v override fun onBindViewHolder(holder: QuestionViewHolder, position: Int) { holder.question?.text = questionList.get(position).text - holder.responseRecyclerView.layoutManager = LinearLayoutManager(holder.responseRecyclerView.context) - holder.responseRecyclerView.adapter = ResponseAdapter(questionList.get(position).responseDatas, context, responseClick) + holder.responseRecyclerView?.layoutManager = LinearLayoutManager(holder.responseRecyclerView?.context) + holder.responseRecyclerView?.adapter = ResponseAdapter(questionList.get(position).responseDatas, context, responseClick) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): QuestionViewHolder { @@ -32,6 +33,6 @@ class QuestionAdapter (var questionList: List, var context: Context, v class QuestionViewHolder(view: View) : RecyclerView.ViewHolder(view){ - val question = view.question - val responseRecyclerView = view.responses + val question: TextView? = view.question + val responseRecyclerView: RecyclerView? = view.responses } \ No newline at end of file diff --git a/visionppi/app/src/main/java/org/mifos/visionppi/adapters/ResponseAdapter.kt b/visionppi/app/src/main/java/org/mifos/visionppi/adapters/ResponseAdapter.kt index a32e21a..f152410 100644 --- a/visionppi/app/src/main/java/org/mifos/visionppi/adapters/ResponseAdapter.kt +++ b/visionppi/app/src/main/java/org/mifos/visionppi/adapters/ResponseAdapter.kt @@ -4,6 +4,8 @@ import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.RadioButton +import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import kotlinx.android.synthetic.main.ppi_response_row.view.* import org.mifos.visionppi.objects.Response @@ -20,23 +22,23 @@ class ResponseAdapter(var responseList: List,var context: Context, val } override fun onBindViewHolder(holder: ResponseViewHolder, position: Int) { - holder.responseButton.text = responseList.get(position).text - holder.responseScore.text = responseList.get(position).value.toString() - holder.responseButton.isChecked = responseList.get(position).isChecked + holder.responseButton?.text = responseList.get(position).text + holder.responseScore?.text = responseList.get(position).value.toString() + holder.responseButton?.isChecked = responseList.get(position).isChecked holder.setItem(position, responseClicked) } inner class ResponseViewHolder(var view: View) : RecyclerView.ViewHolder(view) { - var responseButton = view.response_btn - var responseScore = view.response_score + var responseButton: RadioButton? = view.response_btn + var responseScore: TextView? = view.response_score fun setItem(position: Int, responseClicked: (response: Response) -> Unit) { - responseButton.setOnClickListener { + responseButton?.setOnClickListener { for (responseListPosition in 0..responseList.lastIndex) { responseList.get(responseListPosition).isChecked = false } - responseButton.isChecked = true + responseButton?.isChecked = true responseList.get(position).isChecked = true responseClicked(responseList.get(position)) notifyDataSetChanged() diff --git a/visionppi/app/src/main/java/org/mifos/visionppi/adapters/SelectedImageAdapter.kt b/visionppi/app/src/main/java/org/mifos/visionppi/adapters/SelectedImageAdapter.kt index be2b993..70f61fe 100644 --- a/visionppi/app/src/main/java/org/mifos/visionppi/adapters/SelectedImageAdapter.kt +++ b/visionppi/app/src/main/java/org/mifos/visionppi/adapters/SelectedImageAdapter.kt @@ -5,6 +5,8 @@ import android.graphics.Bitmap import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ImageButton +import android.widget.ImageView import androidx.recyclerview.widget.RecyclerView import kotlinx.android.synthetic.main.image_grid_layout.view.* import org.mifos.visionppi.R @@ -19,7 +21,7 @@ class SelectedImageAdapter(val items : ArrayList, val context: Context, override fun onBindViewHolder(holder: SelectedImageViewHolder, position: Int) { - holder.selected_image_imageview.setImageBitmap(items.get(position)) + holder.selected_image_imageview?.setImageBitmap(items.get(position)) holder.setItem(position) @@ -30,10 +32,10 @@ class SelectedImageAdapter(val items : ArrayList, val context: Context, } inner class SelectedImageViewHolder (view: View) : RecyclerView.ViewHolder(view) { - val selected_image_imageview = view.selected_image - val removeButton = view.remove_button + val selected_image_imageview: ImageView? = view.selected_image + val removeButton: ImageButton? = view.remove_button fun setItem(position : Int){ - removeButton.setOnClickListener { removeImage(position) } + removeButton?.setOnClickListener { removeImage(position) } } }