aboutsummaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorPhil Burk <philburk@mobileer.com>2023-05-28 11:59:59 -0700
committerGitHub <noreply@github.com>2023-05-28 11:59:59 -0700
commit0e385c0998548a4728e23875b3230032afce398c (patch)
treed7238c17e152a0d29c325254f682b08e1a8d543e /apps
parentd5dbb4f263e8130af2892d6e3ce61019c1a23054 (diff)
downloadoboe-0e385c0998548a4728e23875b3230032afce398c.tar.gz
OboeTester: consolidate CommDevice UI (#1811)
Move SCO dialog to CommDeviceView To help debug b/282831177
Diffstat (limited to 'apps')
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/audio_device/CommunicationDeviceSpinner.java21
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/oboetester/CommunicationDeviceView.java97
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/oboetester/EchoActivity.java9
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/oboetester/MainActivity.java42
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/oboetester/RoundTripLatencyActivity.java2
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TapToToneActivity.java2
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestAudioActivity.java9
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestInputActivity.java11
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestOutputActivity.java13
-rw-r--r--apps/OboeTester/app/src/main/res/layout/activity_echo.xml1
-rw-r--r--apps/OboeTester/app/src/main/res/layout/activity_main.xml31
-rw-r--r--apps/OboeTester/app/src/main/res/layout/activity_rt_latency.xml8
-rw-r--r--apps/OboeTester/app/src/main/res/layout/activity_tap_to_tone.xml7
-rw-r--r--apps/OboeTester/app/src/main/res/layout/comm_device_view.xml22
-rw-r--r--apps/OboeTester/app/src/main/res/values/strings.xml1
15 files changed, 145 insertions, 131 deletions
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/audio_device/CommunicationDeviceSpinner.java b/apps/OboeTester/app/src/main/java/com/mobileer/audio_device/CommunicationDeviceSpinner.java
index fcdcf412..46a924f5 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/audio_device/CommunicationDeviceSpinner.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/audio_device/CommunicationDeviceSpinner.java
@@ -29,8 +29,10 @@ import com.mobileer.oboetester.R;
import java.util.List;
public class CommunicationDeviceSpinner extends Spinner {
- private static final int CLEAR_DEVICE_ID = 0;
private static final String TAG = CommunicationDeviceSpinner.class.getName();
+ // menu positions
+ public static final int POS_CLEAR = 0;
+ public static final int POS_DEVICES = 1; // base position for device list
private AudioDeviceAdapter mDeviceAdapter;
private AudioManager mAudioManager;
private Context mContext;
@@ -85,10 +87,9 @@ public class CommunicationDeviceSpinner extends Spinner {
mDeviceAdapter = new AudioDeviceAdapter(context);
setAdapter(mDeviceAdapter);
- // Add a default entry to the list and select it
- mDeviceAdapter.add(new AudioDeviceListEntry(CLEAR_DEVICE_ID,
- mContext.getString(R.string.auto_select)));
- setSelection(0);
+ // Add default entries to the list and select one.
+ addDefaultDevicesOptions();
+ setSelection(POS_CLEAR);
setupCommunicationDeviceListener();
}
@@ -108,9 +109,8 @@ public class CommunicationDeviceSpinner extends Spinner {
private void updateDeviceList() {
mDeviceAdapter.clear();
- mDeviceAdapter.add(new AudioDeviceListEntry(CLEAR_DEVICE_ID,
- mContext.getString(R.string.clear)));
- setSelection(0);
+ addDefaultDevicesOptions();
+ setSelection(POS_CLEAR);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
List<AudioDeviceInfo> commDeviceList = mAudioManager.getAvailableCommunicationDevices();
mCommDeviceArray = commDeviceList.toArray(new AudioDeviceInfo[0]);
@@ -123,4 +123,9 @@ public class CommunicationDeviceSpinner extends Spinner {
}
}, null);
}
+
+ private void addDefaultDevicesOptions() {
+ mDeviceAdapter.add(new AudioDeviceListEntry(POS_CLEAR,
+ mContext.getString(R.string.clear_comm)));
+ }
}
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/CommunicationDeviceView.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/CommunicationDeviceView.java
index 4e8df135..17361eaa 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/CommunicationDeviceView.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/CommunicationDeviceView.java
@@ -16,7 +16,10 @@
package com.mobileer.oboetester;
+import android.content.BroadcastReceiver;
import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
import android.media.AudioDeviceInfo;
import android.media.AudioManager;
import android.os.Build;
@@ -32,10 +35,16 @@ import android.widget.TextView;
import com.mobileer.audio_device.CommunicationDeviceSpinner;
public class CommunicationDeviceView extends LinearLayout {
- private CheckBox mSpeakerphoneCheckbox;
- private TextView mIsSpeakerphoneText;
+
private AudioManager mAudioManager;
+ private CheckBox mSpeakerphoneCheckbox;
+ private CheckBox mScoCheckbox;
+ private TextView mSpeakerStatusView;
+ private TextView mScoStatusView;
+ private BroadcastReceiver mScoStateReceiver;
+ private boolean mScoStateReceiverRegistered = false;
private CommunicationDeviceSpinner mDeviceSpinner;
+ private int mScoState;
public CommunicationDeviceView(Context context) {
super(context);
@@ -66,6 +75,29 @@ public class CommunicationDeviceView extends LinearLayout {
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
mSpeakerphoneCheckbox = (CheckBox) findViewById(R.id.setSpeakerphoneOn);
+ mSpeakerphoneCheckbox.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ onSetSpeakerphoneOn(view);
+ }
+ });
+ mSpeakerStatusView = (TextView) findViewById(R.id.spkr_status_view);
+
+ mScoCheckbox = (CheckBox) findViewById(R.id.setBluetoothScoOn);
+ mScoCheckbox.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ onStartStopBluetoothSco(view);
+ }
+ });
+ mScoStatusView = (TextView) findViewById(R.id.sco_status_view);
+ mScoStateReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ mScoState = intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1);
+ showCommDeviceStatus();
+ }
+ };
mDeviceSpinner = (CommunicationDeviceSpinner) findViewById(R.id.comm_devices_spinner);
mDeviceSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@@ -74,15 +106,15 @@ public class CommunicationDeviceView extends LinearLayout {
AudioDeviceInfo[] commDeviceArray = mDeviceSpinner.getCommunicationsDevices();
if (commDeviceArray != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- if (position == 0) {
+ if (position == CommunicationDeviceSpinner.POS_CLEAR) {
mAudioManager.clearCommunicationDevice();
} else {
- AudioDeviceInfo selectedDevice = commDeviceArray[position - 1]; // skip "Clear"
+ AudioDeviceInfo selectedDevice = commDeviceArray[position - CommunicationDeviceSpinner.POS_DEVICES]; // skip "Clear"
mAudioManager.setCommunicationDevice(selectedDevice);
}
- showCommDeviceStatus();
}
}
+ showCommDeviceStatus();
}
public void onNothingSelected(AdapterView<?> parent) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
@@ -92,19 +124,19 @@ public class CommunicationDeviceView extends LinearLayout {
}
});
- mSpeakerphoneCheckbox.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- onSetSpeakerphoneOn(view);
- }
- });
- mIsSpeakerphoneText = (TextView) findViewById(R.id.isSpeakerphoneOn);
showCommDeviceStatus();
}
- public void cleanup() {
+ public void onStart() {
+ registerScoStateReceiver();
+ }
+
+ public void onStop() {
mSpeakerphoneCheckbox.setChecked(false);
setSpeakerPhoneOn(false);
+ mScoCheckbox.setChecked(false);
+ mAudioManager.stopBluetoothSco();
+ unregisterScoStateReceiver();
}
public void onSetSpeakerphoneOn(View view) {
@@ -122,14 +154,47 @@ public class CommunicationDeviceView extends LinearLayout {
private void showCommDeviceStatus() {
boolean enabled = mAudioManager.isSpeakerphoneOn();
- String text = (enabled ? "ON" : "OFF");
+ String text = ":" + (enabled ? "ON" : "OFF");
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
AudioDeviceInfo commDeviceInfo = mAudioManager.getCommunicationDevice();
if (commDeviceInfo != null) {
- text += ", CommDev=" + commDeviceInfo.getId();
+ text += ", #" + commDeviceInfo.getId();
}
}
- mIsSpeakerphoneText.setText(" => " + text);
+ mSpeakerStatusView.setText(text + ",");
+
+ if (mScoState == AudioManager.SCO_AUDIO_STATE_CONNECTING) {
+ text = ":WAIT";
+ } else if (mScoState == AudioManager.SCO_AUDIO_STATE_CONNECTED) {
+ text = ":CON";
+ } else if (mScoState == AudioManager.SCO_AUDIO_STATE_DISCONNECTED) {
+ text = ":DISCON";
+ }
+ mScoStatusView.setText(text);
+ }
+
+ public void onStartStopBluetoothSco(View view) {
+ CheckBox checkBox = (CheckBox) view;
+ if (checkBox.isChecked()) {
+ mAudioManager.startBluetoothSco();
+ } else {
+ mAudioManager.stopBluetoothSco();
+ }
+ }
+
+ private synchronized void registerScoStateReceiver() {
+ if (!mScoStateReceiverRegistered) {
+ getContext().registerReceiver(mScoStateReceiver,
+ new IntentFilter(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED));
+ mScoStateReceiverRegistered = true;
+ }
+ }
+
+ private synchronized void unregisterScoStateReceiver() {
+ if (mScoStateReceiverRegistered) {
+ getContext().unregisterReceiver(mScoStateReceiver);
+ mScoStateReceiverRegistered = false;
+ }
}
}
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/EchoActivity.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/EchoActivity.java
index 1d8e4dcc..e195a61f 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/EchoActivity.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/EchoActivity.java
@@ -42,7 +42,6 @@ public class EchoActivity extends TestInputActivity {
private Button mStartButton;
private Button mStopButton;
private TextView mStatusTextView;
- private CommunicationDeviceView mCommunicationDeviceView;
private ColdStartSniffer mNativeSniffer = new ColdStartSniffer(this);
@@ -163,14 +162,6 @@ public class EchoActivity extends TestInputActivity {
hideSettingsViews();
}
- @Override
- protected void onStop() {
- if (mCommunicationDeviceView != null) {
- mCommunicationDeviceView.cleanup();
- }
- super.onStop();
- }
-
private void setDelayTimeByPosition(int progress) {
mDelayTime = mTaperDelayTime.linearToExponential(
((double)progress)/MAX_DELAY_TIME_PROGRESS);
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/MainActivity.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/MainActivity.java
index 70eca907..145dfbc0 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/MainActivity.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/MainActivity.java
@@ -57,9 +57,7 @@ public class MainActivity extends BaseOboeTesterActivity {
protected TextView mDeviceView;
private TextView mVersionTextView;
private TextView mBuildTextView;
- private TextView mBluetoothScoStatusView;
private Bundle mBundleFromIntent;
- private BroadcastReceiver mScoStateReceiver;
private CheckBox mWorkaroundsCheckBox;
private CheckBox mBackgroundCheckBox;
private static String mVersionText;
@@ -117,21 +115,6 @@ public class MainActivity extends BaseOboeTesterActivity {
mBuildTextView = (TextView) findViewById(R.id.text_build_info);
mBuildTextView.setText(Build.DISPLAY);
- mBluetoothScoStatusView = (TextView) findViewById(R.id.textBluetoothScoStatus);
- mScoStateReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- int state = intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1);
- if (state == AudioManager.SCO_AUDIO_STATE_CONNECTING) {
- mBluetoothScoStatusView.setText("CONNECTING");
- } else if (state == AudioManager.SCO_AUDIO_STATE_CONNECTED) {
- mBluetoothScoStatusView.setText("CONNECTED");
- } else if (state == AudioManager.SCO_AUDIO_STATE_DISCONNECTED) {
- mBluetoothScoStatusView.setText("DISCONNECTED");
- }
- }
- };
-
saveIntentBundleForLaterProcessing(getIntent());
}
@@ -139,15 +122,6 @@ public class MainActivity extends BaseOboeTesterActivity {
return mVersionText;
}
- private void registerScoStateReceiver() {
- registerReceiver(mScoStateReceiver,
- new IntentFilter(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED));
- }
-
- private void unregisterScoStateReceiver() {
- unregisterReceiver(mScoStateReceiver);
- }
-
private void logScreenSize() {
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
@@ -213,16 +187,9 @@ public class MainActivity extends BaseOboeTesterActivity {
public void onResume(){
super.onResume();
mWorkaroundsCheckBox.setChecked(NativeEngine.areWorkaroundsEnabled());
- registerScoStateReceiver();
processBundleFromIntent();
}
- @Override
- public void onPause(){
- unregisterScoStateReceiver();
- super.onPause();
- }
-
private void updateNativeAudioUI() {
AudioManager myAudioMgr = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
String audioManagerSampleRate = myAudioMgr.getProperty(AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE);
@@ -312,13 +279,4 @@ public class MainActivity extends BaseOboeTesterActivity {
OboeAudioStream.setCallbackSize(callbackSize);
}
- public void onStartStopBluetoothSco(View view) {
- CheckBox checkBox = (CheckBox) view;
- AudioManager myAudioMgr = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
- if (checkBox.isChecked()) {
- myAudioMgr.startBluetoothSco();
- } else {
- myAudioMgr.stopBluetoothSco();
- }
- }
}
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/RoundTripLatencyActivity.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/RoundTripLatencyActivity.java
index 7d1f1339..3fe63210 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/RoundTripLatencyActivity.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/RoundTripLatencyActivity.java
@@ -349,6 +349,8 @@ public class RoundTripLatencyActivity extends AnalyzerActivity {
hideSettingsViews();
mBufferSizeView.setFaderNormalizedProgress(0.0); // for lowest latency
+
+ mCommunicationDeviceView = (CommunicationDeviceView) findViewById(R.id.comm_device_view);
}
@Override
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TapToToneActivity.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TapToToneActivity.java
index 7f02425a..8f282b44 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TapToToneActivity.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TapToToneActivity.java
@@ -103,6 +103,8 @@ public class TapToToneActivity extends TestOutputActivityBase {
return true;
});
+ mCommunicationDeviceView = (CommunicationDeviceView) findViewById(R.id.comm_device_view);
+
mStartButton = (Button) findViewById(R.id.button_start);
mStopButton = (Button) findViewById(R.id.button_stop);
updateButtons(false);
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestAudioActivity.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestAudioActivity.java
index dd2ee814..65d8ae69 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestAudioActivity.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestAudioActivity.java
@@ -92,6 +92,8 @@ abstract class TestAudioActivity extends Activity {
private Button mCloseButton;
private MyStreamSniffer mStreamSniffer;
private CheckBox mCallbackReturnStopBox;
+ // Only set in some activities
+ protected CommunicationDeviceView mCommunicationDeviceView;
private int mSampleRate;
private int mSingleTestIndex = -1;
private static boolean mBackgroundEnabled;
@@ -229,6 +231,10 @@ abstract class TestAudioActivity extends Activity {
super.onStart();
resetConfiguration();
setActivityType(getActivityType());
+ // TODO Use LifeCycleObserver instead of this.
+ if (mCommunicationDeviceView != null) {
+ mCommunicationDeviceView.onStart();
+ }
}
protected void resetConfiguration() {
@@ -293,6 +299,9 @@ abstract class TestAudioActivity extends Activity {
Log.i(TAG, "onStop() called so stop the test =========================");
onStopTest();
}
+ if (mCommunicationDeviceView != null) {
+ mCommunicationDeviceView.onStop();
+ }
super.onStop();
}
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestInputActivity.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestInputActivity.java
index 65018cff..003efb95 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestInputActivity.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestInputActivity.java
@@ -17,8 +17,6 @@
package com.mobileer.oboetester;
import android.content.Intent;
-import android.media.audiofx.AcousticEchoCanceler;
-import android.media.audiofx.AutomaticGainControl;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
@@ -44,7 +42,6 @@ public class TestInputActivity extends TestAudioActivity {
private InputMarginView mInputMarginView;
private int mInputMarginBursts = 0;
private WorkloadView mWorkloadView;
- private CommunicationDeviceView mCommunicationDeviceView;
public native void setMinimumFramesBeforeRead(int frames);
public native int saveWaveFile(String absolutePath);
@@ -83,14 +80,6 @@ public class TestInputActivity extends TestAudioActivity {
}
@Override
- protected void onStop() {
- if (mCommunicationDeviceView != null) {
- mCommunicationDeviceView.cleanup();
- }
- super.onStop();
- }
-
- @Override
int getActivityType() {
return ACTIVITY_TEST_INPUT;
}
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestOutputActivity.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestOutputActivity.java
index 80812ccf..987832eb 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestOutputActivity.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/TestOutputActivity.java
@@ -16,17 +16,13 @@
package com.mobileer.oboetester;
-import android.content.Context;
-import android.media.AudioManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
-import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.CheckBox;
import android.widget.Spinner;
-import android.widget.TextView;
import java.io.IOException;
@@ -38,7 +34,6 @@ public final class TestOutputActivity extends TestOutputActivityBase {
public static final int MAX_CHANNEL_BOXES = 16;
private CheckBox[] mChannelBoxes;
private Spinner mOutputSignalSpinner;
- protected CommunicationDeviceView mCommunicationDeviceView;
private class OutputSignalSpinnerListener implements android.widget.AdapterView.OnItemSelectedListener {
@Override
@@ -97,14 +92,6 @@ public final class TestOutputActivity extends TestOutputActivityBase {
return ACTIVITY_TEST_OUTPUT;
}
- @Override
- protected void onStop() {
- if (mCommunicationDeviceView != null) {
- mCommunicationDeviceView.cleanup();
- }
- super.onStop();
- }
-
public void openAudio() throws IOException {
super.openAudio();
}
diff --git a/apps/OboeTester/app/src/main/res/layout/activity_echo.xml b/apps/OboeTester/app/src/main/res/layout/activity_echo.xml
index 65cd6ea7..032494c8 100644
--- a/apps/OboeTester/app/src/main/res/layout/activity_echo.xml
+++ b/apps/OboeTester/app/src/main/res/layout/activity_echo.xml
@@ -6,6 +6,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true" >
+
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/apps/OboeTester/app/src/main/res/layout/activity_main.xml b/apps/OboeTester/app/src/main/res/layout/activity_main.xml
index dc39b865..8f493608 100644
--- a/apps/OboeTester/app/src/main/res/layout/activity_main.xml
+++ b/apps/OboeTester/app/src/main/res/layout/activity_main.xml
@@ -182,33 +182,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/textView" />
- <LinearLayout
- android:id="@+id/layoutBluetoothSco"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- app:layout_constraintStart_toStartOf="@+id/callbackSize"
- app:layout_constraintTop_toBottomOf="@+id/callbackSize"
- >
- <CheckBox
- android:id="@+id/setBluetoothScoOn"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="6dp"
- android:checked="false"
- android:onClick="onStartStopBluetoothSco"
- android:text="start/stopBluetoothSco()"
- />
-
- <TextView
- android:id="@+id/textBluetoothScoStatus"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_marginStart="12sp"
- android:text="\?" />
- </LinearLayout>
-
<CheckBox
android:id="@+id/boxEnableWorkarounds"
android:layout_width="wrap_content"
@@ -216,8 +189,8 @@
android:layout_marginTop="6dp"
android:checked="false"
android:text="enable Oboe workarounds"
- app:layout_constraintStart_toStartOf="@+id/layoutBluetoothSco"
- app:layout_constraintTop_toBottomOf="@+id/layoutBluetoothSco" />
+ app:layout_constraintStart_toStartOf="@+id/useCallback"
+ app:layout_constraintTop_toBottomOf="@+id/useCallback" />
<CheckBox
android:id="@+id/boxEnableBackground"
diff --git a/apps/OboeTester/app/src/main/res/layout/activity_rt_latency.xml b/apps/OboeTester/app/src/main/res/layout/activity_rt_latency.xml
index 09728da8..83c50ae4 100644
--- a/apps/OboeTester/app/src/main/res/layout/activity_rt_latency.xml
+++ b/apps/OboeTester/app/src/main/res/layout/activity_rt_latency.xml
@@ -6,6 +6,7 @@
android:layout_height="wrap_content"
android:fillViewport="true"
tools:context="com.mobileer.oboetester.RoundTripLatencyActivity" >
+
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -92,6 +93,13 @@
android:textSize="12sp" />
</LinearLayout>
+ <com.mobileer.oboetester.CommunicationDeviceView
+ android:id="@+id/comm_device_view"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:orientation="horizontal" />
+
<TextView
android:id="@+id/text_status"
android:layout_width="match_parent"
diff --git a/apps/OboeTester/app/src/main/res/layout/activity_tap_to_tone.xml b/apps/OboeTester/app/src/main/res/layout/activity_tap_to_tone.xml
index 6390e79d..da5d444c 100644
--- a/apps/OboeTester/app/src/main/res/layout/activity_tap_to_tone.xml
+++ b/apps/OboeTester/app/src/main/res/layout/activity_tap_to_tone.xml
@@ -18,6 +18,13 @@
<include layout="@layout/merge_audio_simple"/>
+ <com.mobileer.oboetester.CommunicationDeviceView
+ android:id="@+id/comm_device_view"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:orientation="horizontal" />
+
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/apps/OboeTester/app/src/main/res/layout/comm_device_view.xml b/apps/OboeTester/app/src/main/res/layout/comm_device_view.xml
index 6144f8cd..bf4ed495 100644
--- a/apps/OboeTester/app/src/main/res/layout/comm_device_view.xml
+++ b/apps/OboeTester/app/src/main/res/layout/comm_device_view.xml
@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:background="#FFE8E0F0"
android:orientation="vertical">
<LinearLayout
@@ -14,16 +15,31 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
- android:text="setSpeakerphoneOn" />
+ android:text="SpkrPhone" />
<TextView
- android:id="@+id/isSpeakerphoneOn"
+ android:id="@+id/spkr_status_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text=" => ?" />
+ android:text="?" />
+
+ <CheckBox
+ android:id="@+id/setBluetoothScoOn"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:checked="false"
+ android:text="BT_SCO"
+ />
+
+ <TextView
+ android:id="@+id/sco_status_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="?" />
</LinearLayout>
+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/apps/OboeTester/app/src/main/res/values/strings.xml b/apps/OboeTester/app/src/main/res/values/strings.xml
index b566a44d..120c0522 100644
--- a/apps/OboeTester/app/src/main/res/values/strings.xml
+++ b/apps/OboeTester/app/src/main/res/values/strings.xml
@@ -15,6 +15,7 @@
<string name="measure">Measure</string>
<string name="cancel">Cancel</string>
<string name="clear">Clear</string>
+ <string name="clear_comm">clearCommunicationDevice()</string>
<string name="runTest">Run</string>
<string name="cancelTest">Cancel</string>