display external gnss on UI
This commit is contained in:
		@ -5,7 +5,9 @@ import android.annotation.SuppressLint;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.location.LocationListener;
 | 
			
		||||
import android.location.LocationManager;
 | 
			
		||||
 | 
			
		||||
import androidx.appcompat.app.AppCompatActivity;
 | 
			
		||||
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.util.Log;
 | 
			
		||||
import android.widget.EditText;
 | 
			
		||||
@ -22,7 +24,7 @@ import java.util.concurrent.LinkedBlockingQueue;
 | 
			
		||||
 | 
			
		||||
public class MainActivity extends AppCompatActivity {
 | 
			
		||||
    private TextView output;
 | 
			
		||||
    private LocationManager locationManager= null;
 | 
			
		||||
    private LocationManager locationManager = null;
 | 
			
		||||
    private SerialUSB serialUSB = null;
 | 
			
		||||
    private NMEAParser nmeaParser = null;
 | 
			
		||||
    private boolean doRun = true;
 | 
			
		||||
@ -31,6 +33,7 @@ public class MainActivity extends AppCompatActivity {
 | 
			
		||||
    private static final String INTENT_ACTION_GRANT_USB = BuildConfig.APPLICATION_ID + ".GRANT_USB";
 | 
			
		||||
    private boolean bChange = true;
 | 
			
		||||
    private BlockingQueue<Byte> rawSerialByteDataQueue = null;
 | 
			
		||||
    private double lastInternFixLat, lastInternFixLon;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onCreate(Bundle savedInstanceState) {
 | 
			
		||||
@ -42,6 +45,17 @@ public class MainActivity extends AppCompatActivity {
 | 
			
		||||
 | 
			
		||||
        // start extern GNSS and display stats on UI
 | 
			
		||||
        startExternGNSS();
 | 
			
		||||
 | 
			
		||||
        setEditTextLabel((EditText) findViewById(R.id.interngnssLatNumber), "no signal");
 | 
			
		||||
        setEditTextLabel((EditText) findViewById(R.id.interngnssLongNumber), "no signal");
 | 
			
		||||
        setEditTextLabel((EditText) findViewById(R.id.interngnssAltitudeNumber), "no signal");
 | 
			
		||||
        setEditTextLabel((EditText) findViewById(R.id.interngnssAccuracyNumber), "no signal");
 | 
			
		||||
        setEditTextLabel((EditText) findViewById(R.id.interngnssSatCountNumber), "no signal");
 | 
			
		||||
 | 
			
		||||
        setEditTextLabel((EditText) findViewById(R.id.externgnssLatNumber), "no signal");
 | 
			
		||||
        setEditTextLabel((EditText) findViewById(R.id.externgnssLongNumber), "no signal");
 | 
			
		||||
        setEditTextLabel((EditText) findViewById(R.id.externgnssSatCountNumber), "no signal");
 | 
			
		||||
        setEditTextLabel((EditText) findViewById(R.id.diffGNSSDistanceNumber), "no signal");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // From https://github.com/googlesamples/easypermissions
 | 
			
		||||
@ -53,13 +67,13 @@ public class MainActivity extends AppCompatActivity {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    private void startExternGNSS(){
 | 
			
		||||
    private void startExternGNSS() {
 | 
			
		||||
        rawSerialByteDataQueue = new LinkedBlockingQueue<>();
 | 
			
		||||
        serialUSB = new SerialUSB(this, rawSerialByteDataQueue);
 | 
			
		||||
 | 
			
		||||
        if(serialUSB.findSerialDevice()){
 | 
			
		||||
        if (serialUSB.findSerialDevice()) {
 | 
			
		||||
            serialUSB.connect(9600, 0);
 | 
			
		||||
            if (serialUSB.isConnected()){
 | 
			
		||||
            if (serialUSB.isConnected()) {
 | 
			
		||||
                nmeaParser = new NMEAParser();
 | 
			
		||||
                nmeaParser.setReceiveByteStream(rawSerialByteDataQueue);
 | 
			
		||||
            }
 | 
			
		||||
@ -117,43 +131,45 @@ public class MainActivity extends AppCompatActivity {
 | 
			
		||||
                        public void run() {
 | 
			
		||||
                            while (doRun) {
 | 
			
		||||
                                if (locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) != null) {
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssLatNumber), String.format( "%.6f", locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLatitude()));
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssLongNumber), String.format( "%.6f", locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLongitude()));
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssAltitudeNumber), String.format( "%.2f", locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getAltitude()) + " m");
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssAccuracyNumber), String.format( "%.2f", locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getAccuracy()) + " m");
 | 
			
		||||
                                    lastInternFixLat = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLatitude();
 | 
			
		||||
                                    lastInternFixLon = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLongitude();
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssLatNumber), String.format("%.6f", lastInternFixLat));
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssLongNumber), String.format("%.6f", lastInternFixLon));
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssAltitudeNumber), String.format("%.2f", locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getAltitude()) + " m");
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssAccuracyNumber), String.format("%.2f", locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getAccuracy()) + " m");
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssSatCountNumber), Integer.toString(locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getExtras().getInt("satellites")));
 | 
			
		||||
 | 
			
		||||
                                }else{
 | 
			
		||||
                                } else {
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssLatNumber), "no signal");
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssLongNumber), "no signal");
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssAltitudeNumber), "no signal");
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssAccuracyNumber), "no signal");
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssSatCountNumber),"no signal");
 | 
			
		||||
                                    setEditTextLabel((EditText) findViewById(R.id.interngnssSatCountNumber), "no signal");
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                if(serialUSB != null){
 | 
			
		||||
                                    if(serialUSB.isConnected()){
 | 
			
		||||
                                if ((serialUSB != null) && (nmeaParser != null)) {
 | 
			
		||||
                                    if (serialUSB.isConnected()) {
 | 
			
		||||
                                        nmeaParser.handleReceiveByteStream();
 | 
			
		||||
                                        if (nmeaParser.checkFix() == true) {
 | 
			
		||||
                                            //System.out.println(parser.getLatitude() + " " + parser.getLongitude());
 | 
			
		||||
                                            //System.out.println(parser.calcDistance(fixedPosLat, fixedPosLng));
 | 
			
		||||
 | 
			
		||||
                                            //nmeaParser.getLatitude();
 | 
			
		||||
                                            //nmeaParser.getLongitude();
 | 
			
		||||
                                            Log.i("ExternGNSS", "Fix! Lat: " + String.valueOf(nmeaParser.getLatitude()) + " Lon: " + String.valueOf(nmeaParser.getLongitude()));
 | 
			
		||||
 | 
			
		||||
                                          //  distance.add(nmeaParser.calcDistance(fixedPosLat, fixedPosLng));
 | 
			
		||||
                                          //  satCount.add(nmeaParser.getSatCount());
 | 
			
		||||
                                            //Log.i("ExternGNSS", "Fix! Lat: " + String.valueOf(nmeaParser.getLatitude()) + " Lon: " + String.valueOf(nmeaParser.getLongitude()));
 | 
			
		||||
                                            setEditTextLabel((EditText) findViewById(R.id.externgnssLatNumber), String.format("%.6f", nmeaParser.getLatitude()));
 | 
			
		||||
                                            setEditTextLabel((EditText) findViewById(R.id.externgnssLongNumber), String.format("%.6f", nmeaParser.getLongitude()));
 | 
			
		||||
                                            setEditTextLabel((EditText) findViewById(R.id.externgnssSatCountNumber), Integer.toString(nmeaParser.getSatCount()));
 | 
			
		||||
                                        }
 | 
			
		||||
                                    } else {
 | 
			
		||||
                                        setEditTextLabel((EditText) findViewById(R.id.externgnssLatNumber), "no signal");
 | 
			
		||||
                                        setEditTextLabel((EditText) findViewById(R.id.externgnssLongNumber), "no signal");
 | 
			
		||||
                                        setEditTextLabel((EditText) findViewById(R.id.externgnssSatCountNumber), "no signal");
 | 
			
		||||
                                    }
 | 
			
		||||
 | 
			
		||||
                                    if ((locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) != null) && (serialUSB != null) && (nmeaParser != null)) {
 | 
			
		||||
                                        if (nmeaParser.checkFix() == true) {
 | 
			
		||||
                                            setEditTextLabel((EditText) findViewById(R.id.diffGNSSDistanceNumber), String.format("%.6f", nmeaParser.calcDistance(lastInternFixLat, lastInternFixLon)) + " m");
 | 
			
		||||
                                        }
 | 
			
		||||
                                    } else {
 | 
			
		||||
                                        setEditTextLabel((EditText) findViewById(R.id.diffGNSSDistanceNumber), "no signal");
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                runOnUiThread(new Runnable() {
 | 
			
		||||
                                    @Override
 | 
			
		||||
                                    public void run() {
 | 
			
		||||
                                        //Update
 | 
			
		||||
                                    }
 | 
			
		||||
                                });
 | 
			
		||||
                                try {
 | 
			
		||||
                                    sleep(10000);
 | 
			
		||||
                                } catch (InterruptedException e) {
 | 
			
		||||
@ -180,10 +196,10 @@ public class MainActivity extends AppCompatActivity {
 | 
			
		||||
            Toast.makeText(cntxToastInternGNSSUpdate, "Internal GNSS updated", Toast.LENGTH_LONG).show();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
       @Override
 | 
			
		||||
        @Override
 | 
			
		||||
        // This callback will never be invoked on Android Q and above.
 | 
			
		||||
        public void onStatusChanged(String provider, int status, Bundle extras) {
 | 
			
		||||
           // Toast.makeText(mContext, "Status Changed", Toast.LENGTH_LONG).show();
 | 
			
		||||
            // Toast.makeText(mContext, "Status Changed", Toast.LENGTH_LONG).show();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
 | 
			
		||||
@ -33,7 +33,7 @@
 | 
			
		||||
        android:layout_width="70dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="16dp"
 | 
			
		||||
        android:layout_marginLeft="16dp"
 | 
			
		||||
        android:layout_marginBottom="8dp"
 | 
			
		||||
        android:text="Altitude:"
 | 
			
		||||
        android:textSize="18sp"
 | 
			
		||||
        app:layout_constraintBottom_toBottomOf="@+id/interngnssAltitudeNumber"
 | 
			
		||||
@ -47,7 +47,7 @@
 | 
			
		||||
        android:layout_marginLeft="16dp"
 | 
			
		||||
        android:layout_marginTop="8dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:text="Intern GNSS Receiver"
 | 
			
		||||
        android:text="Intern GNSS receiver"
 | 
			
		||||
        android:textAppearance="@style/TextAppearance.AppCompat.Large"
 | 
			
		||||
        android:textStyle="bold"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
@ -80,7 +80,6 @@
 | 
			
		||||
        android:layout_width="150dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="128dp"
 | 
			
		||||
        android:layout_marginLeft="128dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:cursorVisible="false"
 | 
			
		||||
        android:ems="16"
 | 
			
		||||
@ -89,14 +88,14 @@
 | 
			
		||||
        android:inputType="numberDecimal"
 | 
			
		||||
        android:textSize="16sp"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssNameTextView" />
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssNameTextView"
 | 
			
		||||
        tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" />
 | 
			
		||||
 | 
			
		||||
    <EditText
 | 
			
		||||
        android:id="@+id/interngnssLongNumber"
 | 
			
		||||
        android:layout_width="150dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="128dp"
 | 
			
		||||
        android:layout_marginLeft="128dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:cursorVisible="false"
 | 
			
		||||
        android:focusable="false"
 | 
			
		||||
@ -104,14 +103,14 @@
 | 
			
		||||
        android:inputType="numberDecimal"
 | 
			
		||||
        android:textSize="16sp"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssLatNumber" />
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssLatNumber"
 | 
			
		||||
        tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" />
 | 
			
		||||
 | 
			
		||||
    <EditText
 | 
			
		||||
        android:id="@+id/interngnssAltitudeNumber"
 | 
			
		||||
        android:layout_width="150dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="128dp"
 | 
			
		||||
        android:layout_marginLeft="128dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:cursorVisible="false"
 | 
			
		||||
        android:focusable="false"
 | 
			
		||||
@ -119,14 +118,14 @@
 | 
			
		||||
        android:inputType="numberDecimal"
 | 
			
		||||
        android:textSize="16sp"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssLongNumber" />
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssLongNumber"
 | 
			
		||||
        tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" />
 | 
			
		||||
 | 
			
		||||
    <EditText
 | 
			
		||||
        android:id="@+id/interngnssAccuracyNumber"
 | 
			
		||||
        android:layout_width="150dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="128dp"
 | 
			
		||||
        android:layout_marginLeft="128dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:cursorVisible="false"
 | 
			
		||||
        android:focusable="false"
 | 
			
		||||
@ -134,14 +133,14 @@
 | 
			
		||||
        android:inputType="numberDecimal"
 | 
			
		||||
        android:textSize="16sp"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssAltitudeNumber" />
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssAltitudeNumber"
 | 
			
		||||
        tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" />
 | 
			
		||||
 | 
			
		||||
    <EditText
 | 
			
		||||
        android:id="@+id/interngnssSatCountNumber"
 | 
			
		||||
        android:layout_width="150dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="128dp"
 | 
			
		||||
        android:layout_marginLeft="128dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:cursorVisible="false"
 | 
			
		||||
        android:focusable="false"
 | 
			
		||||
@ -149,6 +148,140 @@
 | 
			
		||||
        android:inputType="number"
 | 
			
		||||
        android:textSize="16sp"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssAccuracyNumber" />
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/interngnssAccuracyNumber"
 | 
			
		||||
        tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" />
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/externgnssNameTextView"
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="8dp"
 | 
			
		||||
        android:layout_marginTop="272dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:text="Extern GNSS receiver"
 | 
			
		||||
        android:textAppearance="@style/TextAppearance.AppCompat.Large"
 | 
			
		||||
        android:textStyle="bold"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toTopOf="parent" />
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/externgnssLongTextView"
 | 
			
		||||
        android:layout_width="70dp"
 | 
			
		||||
        android:layout_height="32dp"
 | 
			
		||||
        android:layout_marginStart="16dp"
 | 
			
		||||
        android:text="Long:"
 | 
			
		||||
        android:textSize="18sp"
 | 
			
		||||
        app:layout_constraintBottom_toBottomOf="@+id/externgnssLongNumber"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent" />
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/externgnssLatTextView"
 | 
			
		||||
        android:layout_width="70dp"
 | 
			
		||||
        android:layout_height="32dp"
 | 
			
		||||
        android:layout_marginStart="16dp"
 | 
			
		||||
        android:text="Lat:"
 | 
			
		||||
        android:textSize="18sp"
 | 
			
		||||
        app:layout_constraintBottom_toBottomOf="@+id/externgnssLatNumber"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent" />
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/externgnssSatCountTextView"
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="32dp"
 | 
			
		||||
        android:layout_marginStart="16dp"
 | 
			
		||||
        android:text="Satellites:"
 | 
			
		||||
        android:textSize="18sp"
 | 
			
		||||
        app:layout_constraintBottom_toBottomOf="@+id/externgnssSatCountNumber"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent" />
 | 
			
		||||
 | 
			
		||||
    <EditText
 | 
			
		||||
        android:id="@+id/externgnssLatNumber"
 | 
			
		||||
        android:layout_width="150dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="128dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:cursorVisible="false"
 | 
			
		||||
        android:ems="16"
 | 
			
		||||
        android:focusable="false"
 | 
			
		||||
        android:focusableInTouchMode="false"
 | 
			
		||||
        android:inputType="numberDecimal"
 | 
			
		||||
        android:textSize="16sp"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/externgnssNameTextView"
 | 
			
		||||
        tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck"
 | 
			
		||||
        tools:text="no signal" />
 | 
			
		||||
 | 
			
		||||
    <EditText
 | 
			
		||||
        android:id="@+id/externgnssLongNumber"
 | 
			
		||||
        android:layout_width="150dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="128dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:cursorVisible="false"
 | 
			
		||||
        android:focusable="false"
 | 
			
		||||
        android:focusableInTouchMode="false"
 | 
			
		||||
        android:inputType="numberDecimal"
 | 
			
		||||
        android:textSize="16sp"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/externgnssLatNumber"
 | 
			
		||||
        tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck"
 | 
			
		||||
        tools:text="no signal" />
 | 
			
		||||
 | 
			
		||||
    <EditText
 | 
			
		||||
        android:id="@+id/externgnssSatCountNumber"
 | 
			
		||||
        android:layout_width="150dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="128dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:cursorVisible="false"
 | 
			
		||||
        android:focusable="false"
 | 
			
		||||
        android:focusableInTouchMode="false"
 | 
			
		||||
        android:inputType="number"
 | 
			
		||||
        android:textSize="16sp"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/externgnssLongNumber"
 | 
			
		||||
        tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck"
 | 
			
		||||
        tools:text="no signal" />
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/diffGNSSNameTextView"
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="8dp"
 | 
			
		||||
        android:layout_marginTop="450dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:text="GNSS difference"
 | 
			
		||||
        android:textAppearance="@style/TextAppearance.AppCompat.Large"
 | 
			
		||||
        android:textStyle="bold"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toTopOf="parent" />
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/diffGNSSDistanceTextView"
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="32dp"
 | 
			
		||||
        android:layout_marginStart="20dp"
 | 
			
		||||
        android:text="Distance:"
 | 
			
		||||
        android:textSize="18sp"
 | 
			
		||||
        app:layout_constraintBottom_toBottomOf="@+id/diffGNSSDistanceNumber"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent" />
 | 
			
		||||
 | 
			
		||||
    <EditText
 | 
			
		||||
        android:id="@+id/diffGNSSDistanceNumber"
 | 
			
		||||
        android:layout_width="150dp"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginStart="120dp"
 | 
			
		||||
        android:layout_marginTop="184dp"
 | 
			
		||||
        android:clickable="false"
 | 
			
		||||
        android:cursorVisible="false"
 | 
			
		||||
        android:ems="16"
 | 
			
		||||
        android:focusable="false"
 | 
			
		||||
        android:focusableInTouchMode="false"
 | 
			
		||||
        android:inputType="numberDecimal"
 | 
			
		||||
        android:textSize="16sp"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toBottomOf="@+id/externgnssNameTextView"
 | 
			
		||||
        tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck"
 | 
			
		||||
        tools:text="no signal" />
 | 
			
		||||
 | 
			
		||||
</androidx.constraintlayout.widget.ConstraintLayout>
 | 
			
		||||
		Reference in New Issue
	
	Block a user