package com.feemers.android.fftdrawer; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.hardware.SensorManager; import android.os.Bundle; import android.widget.TextView; import android.widget.TimePicker; import com.feemers.android.fftdrawer.SignalProcessing.DetectorTimedomain; import com.feemers.android.fftdrawer.SignalProcessing.Logger; import com.feemers.android.fftdrawer.SignalProcessing.SignalProcessingControl; import java.util.Observable; import java.util.Observer; public class MainActivity extends AppCompatActivity implements Observer { private TextView textView1; private BarChartView grafikView1; private TextView textView2; private BarChartView grafikView2; private SignalProcessingControl signalProcessingControl; private DetectorTimedomain detectorTimedomain; private SensorManager sensorManager; private BarChart barChart; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView1 = findViewById(R.id.textView1); textView1.setText("Nr.1 "); textView2 = findViewById(R.id.textView2); textView2.setText("Nr. 2"); double[] test = new double[64]; for (int i = 0; i < 64; i++){ test[i] = 0; } barChart = new BarChart(64); barChart.newValues(test); grafikView1 = findViewById(R.id.graficView1); grafikView1.setAnimation(barChart); grafikView2 = findViewById(R.id.graficView2); grafikView2.setAnimation(new BarChart(64)); Logger logger = new Logger(this.getClass().getSimpleName(), ""); detectorTimedomain = new DetectorTimedomain(20); detectorTimedomain.setThreshold(12); sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); signalProcessingControl = new SignalProcessingControl(sensorManager, logger); signalProcessingControl.init(); signalProcessingControl.getNotifier().addObserver(this); signalProcessingControl.start(); grafikView1.Start(); grafikView2.Start(); } @Override public void update(Observable o, Object arg) { double[] newData = signalProcessingControl.getNotifier().getData(); barChart.newValues(newData); grafikView1.Draw(); grafikView2.Draw(); } }