From 1d977b8b6bc888d7e1f3ab00c9de38ea1bab53cf Mon Sep 17 00:00:00 2001 From: Phil Burk Date: Tue, 2 May 2023 16:35:57 -0700 Subject: OboeTester: fix buffer size radio button (#1799) If you uncheck all the individual radio buttons then they stop working properly. So you have to uncheck the RadioGroup. Internal bug: b/280421942 --- .../src/main/java/com/mobileer/oboetester/BufferSizeView.java | 11 ++++++++++- apps/OboeTester/app/src/main/res/layout/buffer_size_view.xml | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'apps/OboeTester') diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/BufferSizeView.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/BufferSizeView.java index ce3b7a44..432e0ff3 100644 --- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/BufferSizeView.java +++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/BufferSizeView.java @@ -23,6 +23,7 @@ import android.view.LayoutInflater; import android.view.View; import android.widget.RadioButton; +import android.widget.RadioGroup; import android.widget.SeekBar; import android.widget.TextView; import android.widget.LinearLayout; @@ -36,6 +37,7 @@ public class BufferSizeView extends LinearLayout { private TextView mTextLabel; private SeekBar mFader; private ExponentialTaper mTaper; + private RadioGroup mBufferSizeGroup; private RadioButton mBufferSizeRadio1; private RadioButton mBufferSizeRadio2; private RadioButton mBufferSizeRadio3; @@ -97,6 +99,8 @@ public class BufferSizeView extends LinearLayout { mTaper = new ExponentialTaper(0.0, 1.0, 10.0); mFader.setProgress(0); + mBufferSizeGroup = (RadioGroup) findViewById(R.id.bufferSizeGroup); + mBufferSizeRadio1 = (RadioButton) findViewById(R.id.bufferSize1); mBufferSizeRadio1.setOnClickListener(new View.OnClickListener() { @Override @@ -118,13 +122,18 @@ public class BufferSizeView extends LinearLayout { onSizeRadioButtonClicked(view, 3); } }); + mNumBursts = DEFAULT_NUM_BURSTS; updateRadioButtons(); updateBufferSize(); } public void updateRadioButtons() { - if (mBufferSizeRadio3 != null) { + if (mNumBursts == USE_FADER && mBufferSizeGroup != null) { + // Clear all the radio buttons using the group. + // If you clear a checked button directly then it stops working. + mBufferSizeGroup.clearCheck(); + } else if (mBufferSizeRadio3 != null) { mBufferSizeRadio1.setChecked(mNumBursts == 1); mBufferSizeRadio2.setChecked(mNumBursts == 2); mBufferSizeRadio3.setChecked(mNumBursts == 3); diff --git a/apps/OboeTester/app/src/main/res/layout/buffer_size_view.xml b/apps/OboeTester/app/src/main/res/layout/buffer_size_view.xml index d4dc0634..7cf5c2e4 100644 --- a/apps/OboeTester/app/src/main/res/layout/buffer_size_view.xml +++ b/apps/OboeTester/app/src/main/res/layout/buffer_size_view.xml @@ -17,6 +17,7 @@ android:layout_height="match_parent"> -- cgit v1.2.3