From c8d7dcb3b22cbe3a32560d8ad645e01ccad76ac9 Mon Sep 17 00:00:00 2001 From: Vladd11 Date: Mon, 14 Mar 2022 21:52:49 +0400 Subject: [PATCH] Trying to use TCP-based protocol --- .gitignore | 36 +++ app/.gitignore | 1 + app/build.gradle | 57 +++++ app/proguard-rules.pro | 21 ++ .../app/robot/ExampleInstrumentedTest.java | 26 +++ app/src/main/AndroidManifest.xml | 43 ++++ .../java/com/vladd11/app/robot/Action.java | 19 ++ .../vladd11/app/robot/ConnectionManager.java | 114 +++++++++ .../com/vladd11/app/robot/MainActivity.java | 218 ++++++++++++++++++ .../com/vladd11/app/robot/PathFinder.java | 71 ++++++ .../java/com/vladd11/app/robot/Secrets.java | 6 + .../app/robot/StreamingController.java | 184 +++++++++++++++ .../drawable-v24/ic_launcher_foreground.xml | 30 +++ .../res/drawable/ic_launcher_background.xml | 170 ++++++++++++++ app/src/main/res/layout/activity_main.xml | 36 +++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes app/src/main/res/raw/devicecert.pem | 30 +++ app/src/main/res/raw/img.jpg | Bin 0 -> 108285 bytes app/src/main/res/raw/keystore.p12 | Bin 0 -> 4053 bytes app/src/main/res/raw/rootca.crt | 31 +++ app/src/main/res/values-night/themes.xml | 16 ++ app/src/main/res/values/colors.xml | 10 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/themes.xml | 16 ++ app/src/main/res/xml/device_filter.xml | 34 +++ app/src/main/res/xml/net.xml | 13 ++ .../vladd11/app/robot/ExampleUnitTest.java | 17 ++ build.gradle | 23 ++ gradle.properties | 21 ++ gradle/wrapper/gradle-wrapper.properties | 6 + settings.gradle | 12 + 42 files changed, 1274 insertions(+) create mode 100644 .gitignore create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/vladd11/app/robot/ExampleInstrumentedTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/vladd11/app/robot/Action.java create mode 100644 app/src/main/java/com/vladd11/app/robot/ConnectionManager.java create mode 100644 app/src/main/java/com/vladd11/app/robot/MainActivity.java create mode 100644 app/src/main/java/com/vladd11/app/robot/PathFinder.java create mode 100644 app/src/main/java/com/vladd11/app/robot/Secrets.java create mode 100644 app/src/main/java/com/vladd11/app/robot/StreamingController.java create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/raw/devicecert.pem create mode 100644 app/src/main/res/raw/img.jpg create mode 100644 app/src/main/res/raw/keystore.p12 create mode 100644 app/src/main/res/raw/rootca.crt create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/device_filter.xml create mode 100644 app/src/main/res/xml/net.xml create mode 100644 app/src/test/java/com/vladd11/app/robot/ExampleUnitTest.java create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f0bb74 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties + +#amplify-do-not-edit-begin +amplify/\#current-cloud-backend +amplify/.config/local-* +amplify/logs +amplify/mock-data +amplify/backend/amplify-meta.json +amplify/backend/.temp +build/ +dist/ +node_modules/ +aws-exports.js +awsconfiguration.json +amplifyconfiguration.json +amplifyconfiguration.dart +amplify-build-config.json +amplify-gradle-config.json +amplifytools.xcconfig +.secret-* +**.sample +#amplify-do-not-edit-end diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..164d355 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,57 @@ +plugins { + id 'com.android.application' +} + +android { + compileSdk 31 + + defaultConfig { + applicationId "com.vladd11.app.robot" + minSdk 28 + targetSdk 31 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + debug { + buildConfigField "boolean", "BLUETOOTH", "true" + } + release { + buildConfigField "boolean", "BLUETOOTH", "true" + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + packagingOptions { + exclude 'META-INF/INDEX.LIST' + exclude 'META-INF/io.netty.versions.properties' + } +} + +dependencies { + implementation 'com.google.android.gms:play-services-location:18.0.0' + implementation 'com.github.mik3y:usb-serial-for-android:3.4.3' + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'com.google.android.material:material:1.4.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' + testImplementation 'junit:junit:4.+' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + implementation 'com.google.code.gson:gson:2.8.9' + implementation 'com.github.dinocore1:ubjson:0.1.8' + implementation 'com.squareup.okhttp3:okhttp:4.9.1' + + implementation 'com.github.harry1453:android-bluetooth-serial:v1.1' + + // RxJava is also required. + implementation 'io.reactivex.rxjava2:rxjava:2.1.12' + implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/com/vladd11/app/robot/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/vladd11/app/robot/ExampleInstrumentedTest.java new file mode 100644 index 0000000..47ad991 --- /dev/null +++ b/app/src/androidTest/java/com/vladd11/app/robot/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.vladd11.app.robot; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.vladd11.app.robot", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..bee228c --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/vladd11/app/robot/Action.java b/app/src/main/java/com/vladd11/app/robot/Action.java new file mode 100644 index 0000000..1afdd24 --- /dev/null +++ b/app/src/main/java/com/vladd11/app/robot/Action.java @@ -0,0 +1,19 @@ +package com.vladd11.app.robot; + +public enum Action { + LEFT((byte) 0x0), + RIGHT((byte) 0x1), + FORWARD((byte) 0x2), + BACK((byte) 0x3), + STOP((byte) 0x4); + + private final byte action; + + Action(byte action) { + this.action = action; + } + + public byte getAction() { + return action; + } +} diff --git a/app/src/main/java/com/vladd11/app/robot/ConnectionManager.java b/app/src/main/java/com/vladd11/app/robot/ConnectionManager.java new file mode 100644 index 0000000..ebc102d --- /dev/null +++ b/app/src/main/java/com/vladd11/app/robot/ConnectionManager.java @@ -0,0 +1,114 @@ +package com.vladd11.app.robot; + + +import android.location.Location; + +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.PrintWriter; +import java.net.InetAddress; +import java.net.Socket; +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; +import java.util.ArrayDeque; +import java.util.List; +import java.util.Queue; + +public class ConnectionManager { + private static final String TAG = "ConnectionManager"; + private Socket socket; + private OutputStream writer; + + public void connect(OnConnectedListener onConnected) { + new Thread(() -> { + try { + socket = new Socket(InetAddress.getByName(Secrets.SERVER_ADDRESS), Secrets.SERVER_PORT); + writer = socket.getOutputStream(); + onConnected.call(); + } catch (Exception e) { + e.printStackTrace(); + } + }).start(); + } + + public void getLocationPoints(OnLocationPointsAvailableListener onResult) throws IOException { + writer.write("r{\"c\": [50.242092, 53.211953],\"e\":[50.240560, 53.213407]}".getBytes(StandardCharsets.UTF_8)); + writer.flush(); + + ByteArrayOutputStream result = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + for (int length; (length = socket.getInputStream().read(buffer)) != -1; ) { + result.write(buffer, 0, length); + if (buffer[buffer.length - 1] == 0) { + break; + } + } + + final List> rawCoordinates = new Gson().fromJson(result.toString("UTF-8"), + TypeToken.getParameterized(List.class, List.class).getType()); + final Queue locationQueue = new ArrayDeque<>(); + for (List coordinates : rawCoordinates) { + final Location location = new Location(""); + location.setLatitude(coordinates.get(1)); + location.setLongitude(coordinates.get(0)); + + locationQueue.add(location); + } + onResult.call(locationQueue); + } + + public void receiveImageRequests(OnImageRequestReceivedListener listener) { + new Thread(() -> { + try { + while (true) { + while (socket.getInputStream().read() != 128) { + + } + + listener.call(buffer -> { + final Thread thread = new Thread(() -> { + try { + writer.write(106); + writer.flush(); + + for (int i = 0; i < buffer.remaining(); i++) { + writer.write(buffer.get()); + } + writer.flush(); + + writer.write(106); + writer.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + }); + thread.start(); + thread.join(); + }); + } + } catch (IOException e) { + e.printStackTrace(); + } + }).start(); + } + + public interface OnLocationPointsAvailableListener { + void call(Queue result); + } + + public interface OnImageRequestReceivedListener { + void call(ImageReceivedListener listener); + } + + public interface ImageReceivedListener { + void received(ByteBuffer buffer) throws InterruptedException; + } + + public interface OnConnectedListener { + void call(); + } +} diff --git a/app/src/main/java/com/vladd11/app/robot/MainActivity.java b/app/src/main/java/com/vladd11/app/robot/MainActivity.java new file mode 100644 index 0000000..3cecdd8 --- /dev/null +++ b/app/src/main/java/com/vladd11/app/robot/MainActivity.java @@ -0,0 +1,218 @@ +package com.vladd11.app.robot; + +import android.Manifest; +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.pm.PackageManager; +import android.hardware.camera2.CameraAccessException; +import android.hardware.usb.UsbDeviceConnection; +import android.hardware.usb.UsbManager; +import android.location.Location; +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import android.util.Log; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.ActivityCompat; + +import com.google.android.gms.common.util.ArrayUtils; +import com.google.android.gms.location.FusedLocationProviderClient; +import com.google.android.gms.location.LocationRequest; +import com.google.android.gms.location.LocationServices; +import com.harrysoft.androidbluetoothserial.BluetoothManager; +import com.harrysoft.androidbluetoothserial.BluetoothSerialDevice; +import com.harrysoft.androidbluetoothserial.SimpleBluetoothDeviceInterface; +import com.hoho.android.usbserial.driver.UsbSerialDriver; +import com.hoho.android.usbserial.driver.UsbSerialPort; +import com.hoho.android.usbserial.driver.UsbSerialProber; +import com.hoho.android.usbserial.util.SerialInputOutputManager; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.Queue; + +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class MainActivity extends AppCompatActivity implements PathFinder.PathFinderListener { + public static final String TAG = "MainActivity"; + private static final int USB_SERIAL_TIMEOUT = 1000; + private final ConnectionManager connectionManager = new ConnectionManager(); + private FusedLocationProviderClient locationClient; + private PathFinder pathFinder; + + private TextView actionTextView; + private SimpleBluetoothDeviceInterface deviceInterface; + + @SuppressLint("CheckResult") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + locationClient = LocationServices.getFusedLocationProviderClient(this); + + actionTextView = findViewById(R.id.currentActionText); + pathFinder = new PathFinder(this); + + final StreamingController controller = new StreamingController(this, findViewById(R.id.surfaceView)); + try { + controller.start(); + } catch (CameraAccessException e) { + e.printStackTrace(); + } + + connectionManager.connect(() -> { + try { + connectionManager.getLocationPoints(this::followPathOfPoints); + connectionManager.receiveImageRequests(listener -> { + try { + controller.send(listener::received); + } catch (CameraAccessException e) { + e.printStackTrace(); + } + }); + } catch (IOException e) { + e.printStackTrace(); + } + }); + + if (BuildConfig.BLUETOOTH) { + final BluetoothManager bluetoothManager = BluetoothManager.getInstance(); + bluetoothManager.openSerialDevice(bluetoothManager.getPairedDevicesList().get(0).getAddress()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(this::onConnected, this::onError); + } else { + connectControllerUSB(); + } + } + + public void connectControllerUSB() { + final UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); + final List availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager); + if (availableDrivers.isEmpty()) { + return; + } + + // Open a connection to the first available driver. + final UsbSerialDriver driver = availableDrivers.get(0); + final UsbDeviceConnection connection = manager.openDevice(driver.getDevice()); + if (connection == null) { + // add UsbManager.requestPermission(driver.getDevice(), ..) handling here + return; + } + + final UsbSerialPort port = driver.getPorts().get(0); // Most devices have just one port (port 0) + try { + port.open(connection); + port.setParameters(9600, 8, UsbSerialPort.STOPBITS_1, UsbSerialPort.PARITY_NONE); + } catch (IOException e) { + e.printStackTrace(); + } + + final SerialInputOutputManager IOManager = new SerialInputOutputManager(port, new SerialInputOutputManager.Listener() { + @SuppressLint("SetTextI18n") + @Override + public void onNewData(byte[] data) { + if (data[0] == 0xC) { // 0xC means that we should send commands + try { + if (!pathFinder.shouldForward()) { + actionTextView.setText("STOP"); + port.write("s".getBytes(StandardCharsets.UTF_8), USB_SERIAL_TIMEOUT); + } else if (pathFinder.getAngle() != Integer.MIN_VALUE) { + port.write(("r" + pathFinder.getAngle()).getBytes(StandardCharsets.UTF_8), USB_SERIAL_TIMEOUT); + actionTextView.setText("ROTATING " + pathFinder.getAngle()); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + @Override + public void onRunError(Exception e) { + e.printStackTrace(); + } + }); + IOManager.start(); + } + + private void onError(Throwable throwable) { + throwable.printStackTrace(); + } + + private void onConnected(BluetoothSerialDevice connectedDevice) { + deviceInterface = connectedDevice.toSimpleDeviceInterface(); + + // Listen to bluetooth events + deviceInterface.setListeners(this::onMessageReceived, this::onMessageSent, this::onError); + final Handler handler = new Handler(Looper.getMainLooper()); + final Runnable runnable = new Runnable() { + @SuppressLint("SetTextI18n") // TODO: Fix in production + @Override + public void run() { + if (!pathFinder.shouldForward()) { + actionTextView.setText("STOP"); + deviceInterface.sendMessage("s"); + } else if (pathFinder.getAngle() != Integer.MIN_VALUE) { + deviceInterface.sendMessage("r" + pathFinder.getAngle()); + actionTextView.setText("ROTATING " + pathFinder.getAngle()); + } + + handler.postDelayed(this, 100); + } + }; + runnable.run(); + } + + private void onMessageSent(String s) { + + } + + private void onMessageReceived(String s) { + Log.d(TAG, s); + } + + @SuppressLint("MissingPermission") + private void requestLocationUpdates() { + final LocationRequest locationRequest = LocationRequest.create(); + locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); + locationRequest.setInterval(100); + locationClient.requestLocationUpdates(locationRequest, pathFinder, Looper.getMainLooper()); + } + + @Override + protected void onResume() { + super.onResume(); + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, 0); + return; + } + requestLocationUpdates(); + } + + private void followPathOfPoints(Queue locationQueue) { + pathFinder.followPathOfPoints(locationQueue); + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + + if (requestCode == 0) { + if (!ArrayUtils.contains(permissions, PackageManager.PERMISSION_DENIED)) { + requestLocationUpdates(); + } else Log.e(TAG, "onRequestPermissionsResult: Failed to get some permissions"); + } + } + + @Override + public void endOfPath() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/vladd11/app/robot/PathFinder.java b/app/src/main/java/com/vladd11/app/robot/PathFinder.java new file mode 100644 index 0000000..eca7fac --- /dev/null +++ b/app/src/main/java/com/vladd11/app/robot/PathFinder.java @@ -0,0 +1,71 @@ +package com.vladd11.app.robot; + +import android.location.Location; +import android.media.audiofx.DynamicsProcessing; +import android.util.Log; + +import androidx.annotation.NonNull; + +import com.google.android.gms.location.LocationAvailability; +import com.google.android.gms.location.LocationCallback; +import com.google.android.gms.location.LocationResult; + +import java.util.Queue; + +public class PathFinder extends LocationCallback { + private static final String TAG = "PathFinder"; + private final PathFinderListener listener; + private int angle; + private boolean shouldForward; + private Location target; + private Queue points; + protected Location location; + + public PathFinder(PathFinderListener listener) { + this.listener = listener; + } + + public void onLocationResult(@NonNull LocationResult locationResult) { + if (target != null) { + location = locationResult.getLastLocation(); + + if (location.distanceTo(target) > location.getAccuracy()) { + shouldForward = true; + } else nextPoint(); + + int bearing = (int) location.bearingTo(target); + if (bearing < 0) { + angle = 360 + bearing; + } else angle = bearing; + } else shouldForward = false; + } + + public void onLocationAvailability(@NonNull LocationAvailability var1) { + + } + + public void nextPoint() { + target = points.poll(); + if (target == null) { + Log.i(TAG, "nextPoint: End of path"); + listener.endOfPath(); + } + } + + public void followPathOfPoints(Queue points) { + this.points = points; + nextPoint(); + } + + public boolean shouldForward() { + return shouldForward; + } + + public int getAngle() { + return angle; + } + + public interface PathFinderListener { + void endOfPath(); + } +} diff --git a/app/src/main/java/com/vladd11/app/robot/Secrets.java b/app/src/main/java/com/vladd11/app/robot/Secrets.java new file mode 100644 index 0000000..5f2ecd1 --- /dev/null +++ b/app/src/main/java/com/vladd11/app/robot/Secrets.java @@ -0,0 +1,6 @@ +package com.vladd11.app.robot; + +public class Secrets { + public static String SERVER_ADDRESS = "streamreciver.ddns.net"; + public static int SERVER_PORT = 1071; +} diff --git a/app/src/main/java/com/vladd11/app/robot/StreamingController.java b/app/src/main/java/com/vladd11/app/robot/StreamingController.java new file mode 100644 index 0000000..cc7bb90 --- /dev/null +++ b/app/src/main/java/com/vladd11/app/robot/StreamingController.java @@ -0,0 +1,184 @@ +package com.vladd11.app.robot; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.graphics.ImageFormat; +import android.hardware.camera2.CameraAccessException; +import android.hardware.camera2.CameraCaptureSession; +import android.hardware.camera2.CameraCharacteristics; +import android.hardware.camera2.CameraDevice; +import android.hardware.camera2.CameraManager; +import android.hardware.camera2.CameraMetadata; +import android.hardware.camera2.CaptureRequest; +import android.hardware.camera2.TotalCaptureResult; +import android.hardware.camera2.params.SessionConfiguration; +import android.media.Image; +import android.media.ImageReader; +import android.os.Looper; +import android.util.Log; +import android.view.Surface; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import android.os.Handler; + +import androidx.annotation.NonNull; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.FileChannel; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.ArrayBlockingQueue; + +public class StreamingController { + private static final String TAG = "StreamingController"; + private CameraCaptureSession cameraSession; + private Surface imReaderSurface; + private ImageReader imageReader; + public final int width = 720; + public final int height = 1280; + private final Context context; + private final SurfaceView surfaceView; + private final Handler handler; + + public StreamingController(Context context, SurfaceView surfaceView) { + this.context = context; + this.surfaceView = surfaceView; + this.handler = new Handler(Looper.myLooper()); + } + + public void send(OnImageReadyListener listener) throws CameraAccessException { + CaptureRequest.Builder builder = cameraSession.getDevice().createCaptureRequest( + CameraDevice.TEMPLATE_STILL_CAPTURE); + builder.addTarget(imReaderSurface); + cameraSession.capture(builder.build(), new CameraCaptureSession.CaptureCallback() { + @Override + public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) { + final Image image = imageReader.acquireLatestImage(); + if (image == null) return; + + try { + listener.call(image.getPlanes()[0].getBuffer()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + image.close(); + } + }, handler); + } + + public void start() throws CameraAccessException { + surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() { + @Override + public void surfaceCreated(@NonNull SurfaceHolder holder) { + imageReader = ImageReader.newInstance(width, height, ImageFormat.JPEG, 2); + +// Remember to call this only *after* SurfaceHolder.Callback.surfaceCreated() + //final Surface previewSurface = surfaceView.getHolder().getSurface(); + imReaderSurface = imageReader.getSurface(); + final Surface[] targets = new Surface[]{imReaderSurface, surfaceView.getHolder().getSurface()}; + + try { + getBackCamera(device -> { + try { + device.createCaptureSession(Arrays.asList(targets), new CameraCaptureSession.StateCallback() { + @Override + public void onConfigured(@NonNull CameraCaptureSession session) { + cameraSession = session; + try { + CaptureRequest.Builder captureRequest = session.getDevice().createCaptureRequest( + CameraDevice.TEMPLATE_PREVIEW); + captureRequest.addTarget(surfaceView.getHolder().getSurface()); + session.setRepeatingRequest(captureRequest.build(), null, handler); + } catch (CameraAccessException e) { + e.printStackTrace(); + } + } + + @Override + public void onConfigureFailed(@NonNull CameraCaptureSession session) { + + } + }, handler); + } catch (CameraAccessException e) { + e.printStackTrace(); + } + }); + } catch (CameraAccessException e) { + e.printStackTrace(); + } + } + + @Override + public void surfaceChanged(@NonNull SurfaceHolder holder, int format, int width, int height) { + + } + + @Override + public void surfaceDestroyed(@NonNull SurfaceHolder holder) { + + } + }); + } + + @SuppressLint("MissingPermission") + public void getBackCamera(OnCameraReadyListener listener) throws CameraAccessException { + final CameraManager cameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE); + + final String[] preCameraIds = cameraManager.getCameraIdList(); + final List cameraIds = new ArrayList<>(); + // Get list of all compatible cameras + for (String id : + preCameraIds) { + try { + final CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(id); + final int[] capabilities = characteristics.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES); + for (int capability : + capabilities) { + if (capability == CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE) { + cameraIds.add(id); + } + } + } catch (CameraAccessException e) { + e.printStackTrace(); + } + } + + // Iterate over the list of cameras and return the first one matching desired + // lens-facing configuration + for (String id : cameraIds) { + final CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(id); + if (characteristics.get(CameraCharacteristics.LENS_FACING) == CameraMetadata.LENS_FACING_BACK) { + cameraManager.openCamera(id, new CameraDevice.StateCallback() { + @Override + public void onOpened(@NonNull CameraDevice camera) { + listener.call(camera); + } + + @Override + public void onDisconnected(@NonNull CameraDevice camera) { + + } + + @Override + public void onError(@NonNull CameraDevice camera, int error) { + + } + }, handler); + } + } + } + + public interface OnCameraReadyListener { + void call(CameraDevice device); + } + + public interface OnImageReadyListener { + void call(ByteBuffer buffer) throws InterruptedException; + } +} diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..65e503c --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/app/src/main/res/raw/devicecert.pem b/app/src/main/res/raw/devicecert.pem new file mode 100644 index 0000000..f2b3cd2 --- /dev/null +++ b/app/src/main/res/raw/devicecert.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFITCCAwmgAwIBAgIUSBAML7ABrXl0J4AluQWkbh8GoM8wDQYJKoZIhvcNAQEL +BQAwIDEeMBwGA1UEAwwVbXF0dC5jbG91ZC55YW5kZXgubmV0MB4XDTIxMTIyODEy +NDc1MloXDTIyMTIyODEyNDc1MlowIDEeMBwGA1UEAwwVbXF0dC5jbG91ZC55YW5k +ZXgubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAhzICFZH3sXEc +mwkrIW7VlPC3/bB4CZwGVyZwQbayWKcNmiWCnoLCtZMz14WaJBcE6JKoOFkcrKRs +86yYtngSwmaFSAwEp4ah1EdOgaeUNyZqbZWEpy3w9zJBNNcRpYo1crYqp+3T40zq +kfplVWusPAXt/9d0bqAJBsRDHkdDo0M8eBC/79biHth54hGDdlwmvsu3aG7sMyep +yXKxbrkSZb4vUJbjnkrPKvMutrOxQB6AGBc28s+sCJvnTnOen0MbN1zXap7WHTY7 ++cuteb2CdZjvWcNz4LgItwyjWP5RYSgQwRmCslXlv6lUlUM0Rg1SF6XOsGHfvfeA +b69iGGKuKdiXmUvkDum5neFJcihUvUlPLebLvkMVeX6+s0t5QHV/WglRwSqHHkKi +y+bHU9IVWUhCIiMRf+JzqErW+Q22FrVQHEkRct8GA42l7drTYV/a33Z/jkAoJci/ +H6b+209jREVLjROsSJ01jHm8o1KhuDe6zMPw+SmvD+wVcTV3FNjoQ4Ej0FZ9Hfk9 +D1NVEwGSY9UYxfM+xud8yuZy8ZVAgkiazcEgAOu2bLq0iZVOe7/bKgBCJFViPJXe +/0RtcDK6liDl6YJFt1tHafGK66SG5Rml9u6+Dv/OY64z5FzqOgr4zOV2RSd/X7vW +XwrF6iJvzumQMK93/fWT47Gog2hgofkCAwEAAaNTMFEwHQYDVR0OBBYEFKH8GiMW +2/s/Wv+D8yPudpReF5zaMB8GA1UdIwQYMBaAFKH8GiMW2/s/Wv+D8yPudpReF5za +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAE3VmwGwXn0MAmqT +p/qkYNBI6nkrWXf6Ns5txHJ11YwHQrwKyR+DOz526fht0LcN777jmxygvnUYOIjn ++wXHWt6wptLShqklFhL/xKWp4nwbNyxKXTK99Cc0bPSxGWnj61QCs74VN7MDRM8z +UK22cFzxevGE2bVboaDc8z+hoxR9Z+kMMXHSpX6oUqPG1jkYkWAaAultF6qTLVs0 +GtOlOqtElraIdxal9J90oituBk32bJATPWGkeOLT1V2rI3lyJmN77p8I5TiB4auH +xWg98LKN3iFq1G9KXVJ+sD327slkFeMVXPeEzR8SfvN9ql0sk3KpoU9xg4IxqkL8 +5ihvx2kgspdQsElMJysUtFo1wIY5M0EOoj/8avi8pAq3inX3I6wjOHf9F9+pNKR/ +6In29tqfjgw4o3tEpXgV7PVdhqLtVZHj8+eMvCmv4bSmKkCLFn8JeFqiLRnNP/a2 +eEViUJG/B9WU5T+fxXY8KFR05CYb5qB76j04PgQXPOO2baKF1IJNXe1vgEwssXPM +UXDWkac75deqd0iTXfmZ9/MRSJ4Ps2Fauwnty4CqDR5hGAfXDd5VZuymE9ZbfgLJ +bJvC8vFA3SKFZ7WViL290hcA0AyKpVrig6yimEEIl70jBIzO2kO+tS/0qybVAg4w +L4xRYoNJOaCd8fmKW7F+WXE2ri3O +-----END CERTIFICATE----- diff --git a/app/src/main/res/raw/img.jpg b/app/src/main/res/raw/img.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba63b99429b55d092dfb843b2e8e50a75b19875a GIT binary patch literal 108285 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 E01x-SHvj+t literal 0 HcmV?d00001 diff --git a/app/src/main/res/raw/rootca.crt b/app/src/main/res/raw/rootca.crt new file mode 100644 index 0000000..bca3f5c --- /dev/null +++ b/app/src/main/res/raw/rootca.crt @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFGTCCAwGgAwIBAgIQJMM7ZIy2SYxCBgK7WcFwnjANBgkqhkiG9w0BAQ0FADAf +MR0wGwYDVQQDExRZYW5kZXhJbnRlcm5hbFJvb3RDQTAeFw0xMzAyMTExMzQxNDNa +Fw0zMzAyMTExMzUxNDJaMB8xHTAbBgNVBAMTFFlhbmRleEludGVybmFsUm9vdENB +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgb4xoQjBQ7oEFk8EHVGy +1pDEmPWw0Wgw5nX9RM7LL2xQWyUuEq+Lf9Dgh+O725aZ9+SO2oEs47DHHt81/fne +5N6xOftRrCpy8hGtUR/A3bvjnQgjs+zdXvcO9cTuuzzPTFSts/iZATZsAruiepMx +SGj9S1fGwvYws/yiXWNoNBz4Tu1Tlp0g+5fp/ADjnxc6DqNk6w01mJRDbx+6rlBO +aIH2tQmJXDVoFdrhmBK9qOfjxWlIYGy83TnrvdXwi5mKTMtpEREMgyNLX75UjpvO +NkZgBvEXPQq+g91wBGsWIE2sYlguXiBniQgAJOyRuSdTxcJoG8tZkLDPRi5RouWY +gxXr13edn1TRDGco2hkdtSUBlajBMSvAq+H0hkslzWD/R+BXkn9dh0/DFnxVt4XU +5JbFyd/sKV/rF4Vygfw9ssh1ZIWdqkfZ2QXOZ2gH4AEeoN/9vEfUPwqPVzL0XEZK +r4s2WjU9mE5tHrVsQOZ80wnvYHYi2JHbl0hr5ghs4RIyJwx6LEEnj2tzMFec4f7o +dQeSsZpgRJmpvpAfRTxhIRjZBrKxnMytedAkUPguBQwjVCn7+EaKiJfpu42JG8Mm ++/dHi+Q9Tc+0tX5pKOIpQMlMxMHw8MfPmUjC3AAd9lsmCtuybYoeN2IRdbzzchJ8 +l1ZuoI3gH7pcIeElfVSqSBkCAwEAAaNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFKu5xf+h7+ZTHTM5IoTRdtQ3Ti1qMBAGCSsGAQQB +gjcVAQQDAgEAMA0GCSqGSIb3DQEBDQUAA4ICAQAVpyJ1qLjqRLC34F1UXkC3vxpO +nV6WgzpzA+DUNog4Y6RhTnh0Bsir+I+FTl0zFCm7JpT/3NP9VjfEitMkHehmHhQK +c7cIBZSF62K477OTvLz+9ku2O/bGTtYv9fAvR4BmzFfyPDoAKOjJSghD1p/7El+1 +eSjvcUBzLnBUtxO/iYXRNo7B3+1qo4F5Hz7rPRLI0UWW/0UAfVCO2fFtyF6C1iEY +/q0Ldbf3YIaMkf2WgGhnX9yH/8OiIij2r0LVNHS811apyycjep8y/NkG4q1Z9jEi +VEX3P6NEL8dWtXQlvlNGMcfDT3lmB+tS32CPEUwce/Ble646rukbERRwFfxXojpf +C6ium+LtJc7qnK6ygnYF4D6mz4H+3WaxJd1S1hGQxOb/3WVw63tZFnN62F6/nc5g +6T44Yb7ND6y3nVcygLpbQsws6HsjX65CoSjrrPn0YhKxNBscF7M7tLTW/5LK9uhk +yjRCkJ0YagpeLxfV1l1ZJZaTPZvY9+ylHnWHhzlq0FzcrooSSsp4i44DB2K7O2ID +87leymZkKUY6PMDa4GkDJx0dG4UXDhRETMf+NkYgtLJ+UIzMNskwVDcxO4kVL+Hi +Pj78bnC5yCw8P5YylR45LdxLzLO68unoXOyFz1etGXzszw8lJI9LNubYxk77mK8H +LpuQKbSbIERsmR+QqQ== +-----END CERTIFICATE----- + diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..cb13ce1 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..53a7236 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + Robot + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..8bc318b --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/device_filter.xml b/app/src/main/res/xml/device_filter.xml new file mode 100644 index 0000000..e0e8da1 --- /dev/null +++ b/app/src/main/res/xml/device_filter.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/net.xml b/app/src/main/res/xml/net.xml new file mode 100644 index 0000000..4ddac16 --- /dev/null +++ b/app/src/main/res/xml/net.xml @@ -0,0 +1,13 @@ + + + + 62.84.125.191 + + + + + + + + + \ No newline at end of file diff --git a/app/src/test/java/com/vladd11/app/robot/ExampleUnitTest.java b/app/src/test/java/com/vladd11/app/robot/ExampleUnitTest.java new file mode 100644 index 0000000..c8d6199 --- /dev/null +++ b/app/src/test/java/com/vladd11/app/robot/ExampleUnitTest.java @@ -0,0 +1,17 @@ +package com.vladd11.app.robot; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..c92ac07 --- /dev/null +++ b/build.gradle @@ -0,0 +1,23 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + google() + mavenCentral() + maven { url "https://jitpack.io" } + + maven { + url "https://repo.eclipse.org/content/repositories/paho-snapshots/" + } + } + dependencies { + classpath "com.android.tools.build:gradle:7.0.3" + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..35b51fd --- /dev/null +++ b/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true + +BLUETOOTH=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..cbd2c3a --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Dec 17 17:52:57 SAMT 2021 +distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip +distributionPath=wrapper/dists +zipStorePath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..89905bd --- /dev/null +++ b/settings.gradle @@ -0,0 +1,12 @@ +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + jcenter() // Warning: this repository is going to shut down soon + maven { url 'https://jitpack.io' } + } +} +rootProject.name = "Robot" +include ':app' +