aboutsummaryrefslogtreecommitdiff
path: root/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/WorkloadView.java
diff options
context:
space:
mode:
Diffstat (limited to 'apps/OboeTester/app/src/main/java/com/mobileer/oboetester/WorkloadView.java')
-rw-r--r--apps/OboeTester/app/src/main/java/com/mobileer/oboetester/WorkloadView.java43
1 files changed, 31 insertions, 12 deletions
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/WorkloadView.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/WorkloadView.java
index 78d78df7..74027c2c 100644
--- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/WorkloadView.java
+++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/WorkloadView.java
@@ -18,20 +18,29 @@ package com.mobileer.oboetester;
import android.content.Context;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.LayoutInflater;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.TextView;
-public class WorkloadView extends LinearLayout {
+import java.util.Locale;
- private AudioStreamTester mAudioStreamTester;
+public class WorkloadView extends LinearLayout {
protected static final int FADER_PROGRESS_MAX = 1000; // must match layout
protected TextView mTextView;
protected SeekBar mSeekBar;
+
+ private String mLabel = "Workload";
protected ExponentialTaper mExponentialTaper;
+ public interface WorkloadReceiver {
+ void setWorkload(int workload);
+ }
+
+ WorkloadReceiver mWorkloadReceiver;
+
private SeekBar.OnSeekBarChangeListener mChangeListener = new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
@@ -64,12 +73,8 @@ public class WorkloadView extends LinearLayout {
initializeViews(context);
}
- public AudioStreamTester getAudioStreamTester() {
- return mAudioStreamTester;
- }
-
- public void setAudioStreamTester(AudioStreamTester audioStreamTester) {
- mAudioStreamTester = audioStreamTester;
+ public void setWorkloadReceiver(WorkloadReceiver workloadReceiver) {
+ mWorkloadReceiver = workloadReceiver;
}
void setFaderNormalizedProgress(double fraction) {
@@ -90,15 +95,21 @@ public class WorkloadView extends LinearLayout {
mTextView = (TextView) findViewById(R.id.textWorkload);
mSeekBar = (SeekBar) findViewById(R.id.faderWorkload);
mSeekBar.setOnSeekBarChangeListener(mChangeListener);
- mExponentialTaper = new ExponentialTaper(0.0, 100.0, 10.0);
+ setRange(0.0, 100.0);
//mSeekBar.setProgress(0);
}
+ void setRange(double dMin, double dMax) {
+ mExponentialTaper = new ExponentialTaper(dMin, dMax, 10.0);
+ }
+
private void setValueByPosition(int progress) {
- double workload = mExponentialTaper.linearToExponential(
+ int workload = (int) mExponentialTaper.linearToExponential(
((double)progress) / FADER_PROGRESS_MAX);
- mAudioStreamTester.setWorkload(workload);
- mTextView.setText("Workload = " + String.format("%6.2f", workload));
+ if (mWorkloadReceiver != null) {
+ mWorkloadReceiver.setWorkload(workload);
+ }
+ mTextView.setText(getLabel() + " = " + String.format(Locale.getDefault(), "%3d", workload));
}
@Override
@@ -106,4 +117,12 @@ public class WorkloadView extends LinearLayout {
super.setEnabled(enabled);
mSeekBar.setEnabled(enabled);
}
+
+ public String getLabel() {
+ return mLabel;
+ }
+
+ public void setLabel(String label) {
+ this.mLabel = label;
+ }
}