From fdd9e34b9d8668611a0c4d351e79ce447be2e348 Mon Sep 17 00:00:00 2001 From: Ido Ben-Hur Date: Fri, 21 Jan 2022 16:32:10 +0200 Subject: [PATCH] WifiDisplaySettings: Fix some NPE Log: E AndroidRuntime: FATAL EXCEPTION: main E AndroidRuntime: Process: com.android.settings, PID: 13426 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setText(int)' on a null object reference E AndroidRuntime: at com.android.settings.wfd.WifiDisplaySettings.onBindViewHolder(WifiDisplaySettings.java:349) E AndroidRuntime: at androidx.preference.PreferenceGroupAdapter.onBindViewHolder(PreferenceGroupAdapter.java:420) E AndroidRuntime: at com.android.settings.widget.HighlightablePreferenceGroupAdapter.onBindViewHolder(HighlightablePreferenceGroupAdapter.java:113) E AndroidRuntime: at com.android.settings.widget.HighlightablePreferenceGroupAdapter.onBindViewHolder(HighlightablePreferenceGroupAdapter.java:44) E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.onBindViewHolder(RecyclerView.java:7379) E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.bindViewHolder(RecyclerView.java:7462) E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.tryBindViewHolderByDeadline(RecyclerView.java:6319) E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6585) E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.getViewForPosition(RecyclerView.java:6425) E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.getViewForPosition(RecyclerView.java:6421) E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager.next(LinearLayoutManager.java:2330) E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1631) E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591) E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668) E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4423) E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3800) E AndroidRuntime: at android.view.View.measure(View.java:25774) ... Signed-off-by: Dmitrii --- .../settings/wfd/WifiDisplaySettings.java | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java index 2ec69c43016..2575225e81c 100644 --- a/src/com/android/settings/wfd/WifiDisplaySettings.java +++ b/src/com/android/settings/wfd/WifiDisplaySettings.java @@ -348,22 +348,26 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment implem super.onBindViewHolder(view); Button b = (Button) view.findViewById(R.id.left_button); - b.setText(R.string.wifi_display_pause); - b.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - mDisplayManager.pauseWifiDisplay(); - } - }); + if (b != null) { + b.setText(R.string.wifi_display_pause); + b.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + mDisplayManager.pauseWifiDisplay(); + } + }); + } b = (Button) view.findViewById(R.id.right_button); - b.setText(R.string.wifi_display_resume); - b.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - mDisplayManager.resumeWifiDisplay(); - } - }); + if (b != null) { + b.setText(R.string.wifi_display_resume); + b.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + mDisplayManager.resumeWifiDisplay(); + } + }); + } } }); mCertCategory.setLayoutResource(R.layout.two_buttons_panel);