summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2019-09-18 16:26:44 -0700
committerKeith Packard <keithp@keithp.com>2019-09-18 16:26:44 -0700
commit260dd06107c8f8f5c7e606a283d388cb3ba46465 (patch)
tree2795cc39cf5750205bacd1aa759ab64cb9da7da9
parent28618a728e85b70ecac73983531894a25e90d7f6 (diff)
parentfaa5abe0bc9aa071ffa55534a24638bc0972e3c2 (diff)
Merge remote-tracking branch 'mjb/android-build-update'
-rw-r--r--altosdroid/.classpath10
-rw-r--r--altosdroid/.externalToolBuilders/Generate BuildInfo.java.launch11
-rw-r--r--altosdroid/.gitignore15
-rw-r--r--altosdroid/.settings/org.eclipse.jdt.core.prefs5
-rw-r--r--altosdroid/app/build.gradle47
-rw-r--r--altosdroid/app/proguard-rules.pro21
-rw-r--r--altosdroid/app/src/main/AndroidManifest.xml.in (renamed from altosdroid/AndroidManifest.xml.in)41
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosBluetooth.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java)4
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDebug.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosDebug.java)12
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroid.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java)11
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidLink.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidLink.java)5
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java)2
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidMapSourceListener.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapSourceListener.java)0
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidPreferences.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java)2
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java)0
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidTab.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java)8
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOffline.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java)5
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOnline.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java)57
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosUsb.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosUsb.java)2
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosViewPager.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosViewPager.java)2
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosVoice.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java)0
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/BuildInfo.java.in (renamed from altosdroid/src/org/altusmetrum/AltosDroid/BuildInfo.java.in)0
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/DeviceAddress.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/DeviceAddress.java)0
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/DeviceListActivity.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/DeviceListActivity.java)1
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/Dumper.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/Dumper.java)0
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/GoNoGoLights.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java)1
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/IdleModeActivity.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/IdleModeActivity.java)9
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/IgniterActivity.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/IgniterActivity.java)4
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java)3
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/MapTypeActivity.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/MapTypeActivity.java)10
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/PreloadMapActivity.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java)9
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/SetupActivity.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/SetupActivity.java)5
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabFlight.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java)2
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabMap.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java)7
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabPad.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java)2
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabRecover.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/TabRecover.java)2
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabsAdapter.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/TabsAdapter.java)9
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryLogger.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/TelemetryLogger.java)0
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryReader.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java)1
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryService.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java)49
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryState.java (renamed from altosdroid/src/org/altusmetrum/AltosDroid/TelemetryState.java)1
-rw-r--r--altosdroid/app/src/main/res/drawable-hdpi/am_status_c.png (renamed from altosdroid/res/drawable-hdpi/am_status_c.png)bin994 -> 994 bytes
-rw-r--r--altosdroid/app/src/main/res/drawable-hdpi/am_status_g.png (renamed from altosdroid/res/drawable-hdpi/am_status_g.png)bin804 -> 804 bytes
-rw-r--r--altosdroid/app/src/main/res/drawable-hdpi/app_icon.png (renamed from altosdroid/res/drawable-hdpi/app_icon.png)bin3762 -> 3762 bytes
-rw-r--r--altosdroid/app/src/main/res/drawable-hdpi/ic_maps_indicator_current_position.png (renamed from altosdroid/res/drawable-hdpi/ic_maps_indicator_current_position.png)bin2079 -> 2079 bytes
-rw-r--r--altosdroid/app/src/main/res/drawable-mdpi/am_status_c.png (renamed from altosdroid/res/drawable-mdpi/am_status_c.png)bin703 -> 703 bytes
-rw-r--r--altosdroid/app/src/main/res/drawable-mdpi/am_status_g.png (renamed from altosdroid/res/drawable-mdpi/am_status_g.png)bin595 -> 595 bytes
-rw-r--r--altosdroid/app/src/main/res/drawable-mdpi/ic_maps_indicator_current_position.png (renamed from altosdroid/res/drawable-mdpi/ic_maps_indicator_current_position.png)bin1205 -> 1205 bytes
-rw-r--r--altosdroid/app/src/main/res/drawable/app_icon.png (renamed from altosdroid/res/drawable/app_icon.png)bin1773 -> 1773 bytes
-rw-r--r--altosdroid/app/src/main/res/drawable/pad.png (renamed from altosdroid/res/drawable/pad.png)bin584 -> 584 bytes
-rw-r--r--altosdroid/app/src/main/res/drawable/rocket.png (renamed from altosdroid/res/drawable/rocket.png)bin1286 -> 1286 bytes
-rw-r--r--altosdroid/app/src/main/res/layout/altosdroid.xml (renamed from altosdroid/res/layout/altosdroid.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/custom_title.xml (renamed from altosdroid/res/layout/custom_title.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/device_list.xml (renamed from altosdroid/res/layout/device_list.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/device_name.xml (renamed from altosdroid/res/layout/device_name.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/frequency.xml (renamed from altosdroid/res/layout/frequency.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/idle_mode.xml (renamed from altosdroid/res/layout/idle_mode.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/igniter_status.xml (renamed from altosdroid/res/layout/igniter_status.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/igniters.xml (renamed from altosdroid/res/layout/igniters.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/manage_frequencies.xml (renamed from altosdroid/res/layout/manage_frequencies.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/map_preload.xml (renamed from altosdroid/res/layout/map_preload.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/map_type.xml (renamed from altosdroid/res/layout/map_type.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/setup.xml (renamed from altosdroid/res/layout/setup.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/tab_flight.xml (renamed from altosdroid/res/layout/tab_flight.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/tab_layout.xml (renamed from altosdroid/res/layout/tab_layout.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/tab_map.xml (renamed from altosdroid/res/layout/tab_map.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/tab_pad.xml (renamed from altosdroid/res/layout/tab_pad.xml)0
-rw-r--r--altosdroid/app/src/main/res/layout/tab_recover.xml (renamed from altosdroid/res/layout/tab_recover.xml)0
-rw-r--r--altosdroid/app/src/main/res/menu/option_menu.xml (renamed from altosdroid/res/menu/option_menu.xml)0
-rw-r--r--altosdroid/app/src/main/res/values/Colors.xml (renamed from altosdroid/res/values/Colors.xml)0
-rw-r--r--altosdroid/app/src/main/res/values/CustomTheme.xml (renamed from altosdroid/res/values/CustomTheme.xml)0
-rw-r--r--altosdroid/app/src/main/res/values/strings.xml (renamed from altosdroid/res/values/strings.xml)10
-rw-r--r--altosdroid/app/src/main/res/xml/device_filter.xml (renamed from altosdroid/res/xml/device_filter.xml)0
-rw-r--r--altosdroid/build.gradle27
-rw-r--r--altosdroid/build.xml167
-rwxr-xr-xaltosdroid/buildinfo.sh7
-rw-r--r--altosdroid/default.properties11
-rw-r--r--altosdroid/gradle.properties19
-rw-r--r--altosdroid/gradle/wrapper/gradle-wrapper.jarbin0 -> 55190 bytes
-rw-r--r--altosdroid/gradle/wrapper/gradle-wrapper.properties6
-rwxr-xr-xaltosdroid/gradlew172
-rw-r--r--altosdroid/gradlew.bat84
-rw-r--r--altosdroid/keystorebin1270 -> 0 bytes
-rw-r--r--altosdroid/project.properties12
-rw-r--r--altosdroid/release.keystorebin1243 -> 0 bytes
-rw-r--r--altosdroid/settings.gradle1
86 files changed, 480 insertions, 411 deletions
diff --git a/altosdroid/.classpath b/altosdroid/.classpath
deleted file mode 100644
index fce248e6..00000000
--- a/altosdroid/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
- <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="gen"/>
- <classpathentry kind="lib" path="libs/android-support-v4.jar"/>
- <classpathentry kind="lib" path="libs/altoslib_1.jar"/>
- <classpathentry kind="output" path="bin/classes"/>
-</classpath>
diff --git a/altosdroid/.externalToolBuilders/Generate BuildInfo.java.launch b/altosdroid/.externalToolBuilders/Generate BuildInfo.java.launch
deleted file mode 100644
index 3b8eff45..00000000
--- a/altosdroid/.externalToolBuilders/Generate BuildInfo.java.launch
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/AltosDroid/src/org/altusmetrum/AltosDroid/BuildInfo.java&quot; type=&quot;1&quot;/&gt;&#10;&lt;/resources&gt;}"/>
-<booleanAttribute key="org.eclipse.debug.core.capture_output" value="false"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="false"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/AltosDroid/buildinfo.sh}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/AltosDroid}"/>
-</launchConfiguration>
diff --git a/altosdroid/.gitignore b/altosdroid/.gitignore
index cf7ad5a8..b753f169 100644
--- a/altosdroid/.gitignore
+++ b/altosdroid/.gitignore
@@ -1,8 +1,11 @@
+.gradle
+.idea
+build/
+app/build/
+app/libs/
+app/app.iml
+altosdroid.iml
local.properties
-bin
-gen
-libs
-google-play-services_lib
-src/org/altusmetrum/AltosDroid/BuildInfo.java
-res/drawable/*led.png
AndroidManifest.xml
+app/src/main/java/org/altusmetrum/AltosDroid/BuildInfo.java
+app/src/main/res/drawable/*led.png
diff --git a/altosdroid/.settings/org.eclipse.jdt.core.prefs b/altosdroid/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e5d1cd30..00000000
--- a/altosdroid/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Wed Sep 28 19:51:24 NZDT 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/altosdroid/app/build.gradle b/altosdroid/app/build.gradle
new file mode 100644
index 00000000..1d976933
--- /dev/null
+++ b/altosdroid/app/build.gradle
@@ -0,0 +1,47 @@
+apply plugin: 'com.android.application'
+
+def keystorePropertiesFile = file(System.properties['user.home'] + "/altusmetrumllc/android_keystore.properties")
+def keystoreProperties = new Properties()
+keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
+
+android {
+ signingConfigs {
+ release {
+ storeFile file(System.properties['user.home'] + "/altusmetrumllc/android_keystore.jks")
+ storePassword keystoreProperties['storePassword']
+ keyAlias keystoreProperties['keyAlias']
+ keyPassword keystoreProperties['keyPassword']
+ }
+ }
+
+ compileSdkVersion 28
+ defaultConfig {
+ applicationId "org.altusmetrum.AltosDroid"
+ minSdkVersion 26
+ targetSdkVersion 28
+ versionCode 19
+ versionName "1.9.1rc1"
+ }
+ buildTypes {
+ release {
+ signingConfig signingConfigs.release
+ minifyEnabled false
+ debuggable false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ debug {
+ debuggable true
+ }
+ }
+ lintOptions {
+ abortOnError false
+ }
+}
+
+dependencies {
+ implementation 'androidx.appcompat:appcompat:1.0.0'
+ implementation 'androidx.legacy:legacy-support-v4:1.0.0'
+ implementation 'com.google.android.gms:play-services-maps:17.0.0'
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+}
+
diff --git a/altosdroid/app/proguard-rules.pro b/altosdroid/app/proguard-rules.pro
new file mode 100644
index 00000000..f1b42451
--- /dev/null
+++ b/altosdroid/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
diff --git a/altosdroid/AndroidManifest.xml.in b/altosdroid/app/src/main/AndroidManifest.xml.in
index 690f1990..69b5463b 100644
--- a/altosdroid/AndroidManifest.xml.in
+++ b/altosdroid/app/src/main/AndroidManifest.xml.in
@@ -19,13 +19,12 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="org.altusmetrum.AltosDroid"
- android:versionCode="@ANDROID_VERSION@"
- android:versionName="@VERSION@">
- <uses-sdk android:targetSdkVersion="21" android:minSdkVersion="21"/>
+ package="org.altusmetrum.AltosDroid">
<!-- Google Maps -->
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+
<!-- Permissions needed to access bluetooth -->
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />
@@ -47,29 +46,23 @@
<application android:label="@string/app_name"
android:icon="@drawable/app_icon"
android:allowBackup="true"
- android:theme="@style/CustomTheme">
+ android:theme="@style/CustomTheme">
+
<activity android:name="org.altusmetrum.AltosDroid.AltosDroid"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden"
- android:launchMode="singleTop">
+ android:launchMode="singleTop">
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
+ <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.intent.action.VIEW" />
+ <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
</intent-filter>
+ <meta-data
+ android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
+ android:resource="@xml/device_filter" />
</activity>
- <activity android:name="org.altusmetrum.AltosDroid.AltosDroid"
- android:configChanges="orientation|keyboardHidden"
- android:launchMode="singleTop">
- <intent-filter>
- <action
- android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
- </intent-filter>
- <meta-data
- android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
- android:resource="@xml/device_filter" />
- </activity>
-
<activity android:name=".DeviceListActivity"
android:label="@string/select_device"
android:theme="@android:style/Theme.Dialog"
@@ -95,13 +88,13 @@
android:theme="@android:style/Theme.Dialog"
android:configChanges="orientation|keyboardHidden" />
- <activity android:name=".SetupActivity"
- android:label="@string/setup"
+ <activity android:name=".SetupActivity"
+ android:label="@string/setup"
android:theme="@android:style/Theme.Dialog"
android:configChanges="orientation" />
-
- <activity android:name=".ManageFrequenciesActivity"
- android:label="@string/manage_frequencies"
+
+ <activity android:name=".ManageFrequenciesActivity"
+ android:label="@string/manage_frequencies"
android:theme="@android:style/Theme.Dialog"
android:configChanges="orientation|keyboard" />
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosBluetooth.java
index 0d09abd8..9c4b4b23 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosBluetooth.java
@@ -27,11 +27,7 @@ import java.util.UUID;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
-//import android.os.Bundle;
import android.os.Handler;
-//import android.os.Message;
-
-import org.altusmetrum.altoslib_13.*;
public class AltosBluetooth extends AltosDroidLink {
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDebug.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDebug.java
index 2ae06522..469ec50a 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDebug.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDebug.java
@@ -17,20 +17,8 @@
*/
package org.altusmetrum.AltosDroid;
-import java.util.Arrays;
-import java.io.*;
import java.lang.*;
-import org.altusmetrum.altoslib_13.*;
-
-import android.app.Activity;
-import android.graphics.*;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
-import android.view.*;
-import android.widget.*;
-import android.location.Location;
import android.content.*;
import android.util.Log;
import android.os.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroid.java
index 1bcb67ef..f2e0acd7 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroid.java
@@ -19,14 +19,11 @@
package org.altusmetrum.AltosDroid;
import java.lang.ref.WeakReference;
-import java.text.*;
import java.util.*;
-import java.io.*;
import android.app.Activity;
import android.app.PendingIntent;
import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.content.Context;
import android.content.ComponentName;
@@ -38,10 +35,8 @@ import android.os.Handler;
import android.os.Message;
import android.os.Messenger;
import android.os.RemoteException;
-import android.content.res.Resources;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.FragmentManager;
-import android.util.DisplayMetrics;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
import android.view.*;
import android.widget.*;
import android.app.AlertDialog;
@@ -49,8 +44,6 @@ import android.location.Location;
import android.location.LocationManager;
import android.location.LocationListener;
import android.hardware.usb.*;
-import android.graphics.*;
-import android.graphics.drawable.*;
import org.altusmetrum.altoslib_13.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidLink.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidLink.java
index a443b6e9..1e22e8ff 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidLink.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidLink.java
@@ -18,11 +18,6 @@
package org.altusmetrum.AltosDroid;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.UUID;
-
import android.os.Handler;
import org.altusmetrum.altoslib_13.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java
index 6da90a3d..b22849a0 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java
@@ -18,8 +18,6 @@
package org.altusmetrum.AltosDroid;
-import java.util.*;
-import java.io.*;
import android.location.Location;
import org.altusmetrum.altoslib_13.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapSourceListener.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidMapSourceListener.java
index 294094c2..294094c2 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapSourceListener.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidMapSourceListener.java
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidPreferences.java
index 8bb78c00..6ec9e4d1 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidPreferences.java
@@ -17,9 +17,7 @@
*/
package org.altusmetrum.AltosDroid;
-import java.io.*;
import java.util.*;
-import java.text.*;
import android.content.Context;
import org.altusmetrum.altoslib_13.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
index 854fe86d..854fe86d 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidTab.java
index 9594f85f..4f0fb1fa 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosDroidTab.java
@@ -21,12 +21,8 @@ package org.altusmetrum.AltosDroid;
import org.altusmetrum.altoslib_13.*;
import android.location.Location;
import android.app.Activity;
-import android.graphics.Color;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.app.FragmentManager;
-import android.location.Location;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
import android.widget.TextView;
public abstract class AltosDroidTab extends Fragment implements AltosUnitsListener {
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOffline.java
index 1aebcd36..c3204336 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOffline.java
@@ -23,13 +23,8 @@ import java.io.*;
import org.altusmetrum.altoslib_13.*;
-import android.app.Activity;
import android.graphics.*;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
import android.view.*;
-import android.widget.*;
import android.location.Location;
import android.content.*;
import android.util.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOnline.java
index 37e4435a..29979a07 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOnline.java
@@ -25,16 +25,12 @@ import org.altusmetrum.altoslib_13.*;
import com.google.android.gms.maps.*;
import com.google.android.gms.maps.model.*;
-import android.app.Activity;
import android.graphics.Color;
import android.graphics.*;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-//import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.TextView;
import android.location.Location;
import android.content.*;
@@ -103,8 +99,8 @@ class RocketOnline implements Comparable {
}
}
-public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarkerClickListener, GoogleMap.OnMapClickListener, AltosMapTypeListener {
- public SupportMapFragment mMapFragment;
+public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarkerClickListener, GoogleMap.OnMapClickListener, OnMapReadyCallback, AltosMapTypeListener {
+ public AltosOnlineMapFragment mMapFragment;
private GoogleMap mMap;
private boolean mapLoaded = false;
Context context;
@@ -123,27 +119,34 @@ public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarke
private AltosDroid altos_droid;
+ public static class AltosOnlineMapFragment extends SupportMapFragment {
+ AltosMapOnline c;
+
+ public AltosOnlineMapFragment(AltosMapOnline c) {
+ this.c = c;
+ }
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ getMapAsync(c);
+ }
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ c.map_view = super.onCreateView(inflater, container, savedInstanceState);
+ return c.map_view;
+ }
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ c.map_view = null;
+ }
+ }
+
public void onCreateView(AltosDroid altos_droid) {
this.altos_droid = altos_droid;
- final int map_type = AltosPreferences.map_type();
AltosPreferences.register_map_type_listener(this);
- mMapFragment = new SupportMapFragment() {
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- setupMap(map_type);
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- map_view = super.onCreateView(inflater, container, savedInstanceState);
- return map_view;
- }
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- map_view = null;
- }
- };
+ mMapFragment = new AltosOnlineMapFragment(this);
}
public void onDestroyView() {
@@ -189,8 +192,10 @@ public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarke
return true;
}
- public void setupMap(int map_type) {
- mMap = mMapFragment.getMap();
+ @Override
+ public void onMapReady(GoogleMap googleMap) {
+ final int map_type = AltosPreferences.map_type();
+ mMap = googleMap;
if (mMap != null) {
map_type_changed(map_type);
mMap.setMyLocationEnabled(true);
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosUsb.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosUsb.java
index 0b235f28..ae82032f 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosUsb.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosUsb.java
@@ -18,10 +18,8 @@
package org.altusmetrum.AltosDroid;
-import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.util.UUID;
import java.util.HashMap;
import android.content.Context;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosViewPager.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosViewPager.java
index 039ba149..abe3a454 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosViewPager.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosViewPager.java
@@ -19,7 +19,7 @@
package org.altusmetrum.AltosDroid;
import android.content.Context;
-import android.support.v4.view.ViewPager;
+import androidx.viewpager.widget.ViewPager;
import android.util.AttributeSet;
import android.view.View;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosVoice.java
index ae3299fa..ae3299fa 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosVoice.java
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/BuildInfo.java.in b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/BuildInfo.java.in
index aa6c9a74..aa6c9a74 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/BuildInfo.java.in
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/BuildInfo.java.in
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/DeviceAddress.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/DeviceAddress.java
index 6f845566..6f845566 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/DeviceAddress.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/DeviceAddress.java
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/DeviceListActivity.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/DeviceListActivity.java
index f36ef267..839fb531 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/DeviceListActivity.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/DeviceListActivity.java
@@ -17,7 +17,6 @@
package org.altusmetrum.AltosDroid;
import java.util.Set;
-import org.altusmetrum.AltosDroid.R;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/Dumper.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/Dumper.java
index 2797fc5e..2797fc5e 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/Dumper.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/Dumper.java
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/GoNoGoLights.java
index c18d7309..a57758b5 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/GoNoGoLights.java
@@ -21,7 +21,6 @@ package org.altusmetrum.AltosDroid;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.widget.ImageView;
-import android.view.View;
public class GoNoGoLights {
private Boolean state;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/IdleModeActivity.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/IdleModeActivity.java
index 3130d2a1..f10c7186 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/IdleModeActivity.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/IdleModeActivity.java
@@ -18,22 +18,13 @@
package org.altusmetrum.AltosDroid;
-import java.util.*;
-import org.altusmetrum.AltosDroid.R;
-
import android.app.Activity;
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-import android.content.BroadcastReceiver;
-import android.content.Context;
import android.content.Intent;
-import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.*;
-import android.widget.AdapterView.*;
import org.altusmetrum.altoslib_13.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/IgniterActivity.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/IgniterActivity.java
index a172451d..9e5a14ed 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/IgniterActivity.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/IgniterActivity.java
@@ -20,18 +20,14 @@ package org.altusmetrum.AltosDroid;
import java.lang.ref.WeakReference;
import java.util.*;
-import org.altusmetrum.AltosDroid.R;
import android.app.Activity;
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
import android.content.*;
import android.graphics.*;
import android.os.*;
import android.view.*;
import android.view.View.*;
import android.widget.*;
-import android.widget.AdapterView.*;
import org.altusmetrum.altoslib_13.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java
index d5101166..6e8e38db 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java
@@ -18,10 +18,8 @@
package org.altusmetrum.AltosDroid;
-import java.lang.ref.WeakReference;
import java.util.*;
import java.text.*;
-import org.altusmetrum.AltosDroid.R;
import android.app.Activity;
import android.content.*;
@@ -31,7 +29,6 @@ import android.view.*;
import android.view.View.*;
import android.view.inputmethod.*;
import android.widget.*;
-import android.widget.AdapterView.*;
import org.altusmetrum.altoslib_13.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/MapTypeActivity.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/MapTypeActivity.java
index ec88d2d6..167fb293 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/MapTypeActivity.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/MapTypeActivity.java
@@ -18,22 +18,12 @@
package org.altusmetrum.AltosDroid;
-import java.util.*;
-import org.altusmetrum.AltosDroid.R;
-
import android.app.Activity;
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-import android.content.BroadcastReceiver;
-import android.content.Context;
import android.content.Intent;
-import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
-import android.view.View.OnClickListener;
import android.widget.*;
-import android.widget.AdapterView.*;
import org.altusmetrum.altoslib_13.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/PreloadMapActivity.java
index e393b566..a9f30f11 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/PreloadMapActivity.java
@@ -19,18 +19,10 @@
package org.altusmetrum.AltosDroid;
import java.util.*;
-import java.io.*;
import java.text.*;
-import org.altusmetrum.AltosDroid.R;
-
import android.app.Activity;
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-import android.content.BroadcastReceiver;
import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
@@ -40,7 +32,6 @@ import android.widget.AdapterView.*;
import android.location.Location;
import android.location.LocationManager;
import android.location.LocationListener;
-import android.location.Criteria;
import org.altusmetrum.altoslib_13.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/SetupActivity.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/SetupActivity.java
index bad0b821..55b34856 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/SetupActivity.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/SetupActivity.java
@@ -18,12 +18,7 @@
package org.altusmetrum.AltosDroid;
-import java.lang.ref.WeakReference;
-import java.util.*;
-import org.altusmetrum.AltosDroid.R;
-
import android.app.Activity;
-import android.bluetooth.*;
import android.content.*;
import android.os.*;
import android.view.*;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabFlight.java
index 8997d967..b2e7e197 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabFlight.java
@@ -20,9 +20,7 @@ package org.altusmetrum.AltosDroid;
import org.altusmetrum.altoslib_13.*;
-import android.app.Activity;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.*;
import android.widget.*;
import android.location.Location;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabMap.java
index a2f997f1..53bfd274 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabMap.java
@@ -18,20 +18,13 @@
package org.altusmetrum.AltosDroid;
-import java.util.*;
-import java.io.*;
-
import org.altusmetrum.altoslib_13.*;
import android.app.Activity;
-import android.graphics.*;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
import android.view.*;
import android.widget.*;
import android.location.Location;
-import android.content.*;
public class TabMap extends AltosDroidTab implements AltosDroidMapSourceListener {
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabPad.java
index f317ae91..6e343f9f 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabPad.java
@@ -20,9 +20,7 @@ package org.altusmetrum.AltosDroid;
import org.altusmetrum.altoslib_13.*;
-import android.app.Activity;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.*;
import android.widget.*;
import android.location.Location;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabRecover.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabRecover.java
index 3df48385..11c82f04 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TabRecover.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabRecover.java
@@ -20,9 +20,7 @@ package org.altusmetrum.AltosDroid;
import org.altusmetrum.altoslib_13.*;
-import android.app.Activity;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabsAdapter.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabsAdapter.java
index b34a25b6..31580801 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TabsAdapter.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabsAdapter.java
@@ -20,11 +20,10 @@ import java.util.ArrayList;
import android.content.Context;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.FragmentPagerAdapter;
-import android.support.v4.view.ViewPager;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentPagerAdapter;
+import androidx.viewpager.widget.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TabHost;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryLogger.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryLogger.java
index 49ba5476..49ba5476 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryLogger.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryLogger.java
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryReader.java
index 5cfa647b..de967e1c 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryReader.java
@@ -22,7 +22,6 @@ package org.altusmetrum.AltosDroid;
import java.text.*;
import java.io.*;
-import java.util.*;
import java.util.concurrent.*;
import android.os.Handler;
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryService.java
index 22a2bbd7..5dba24ba 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryService.java
@@ -22,24 +22,15 @@ import java.lang.ref.WeakReference;
import java.util.concurrent.TimeoutException;
import java.util.*;
-import android.app.Notification;
-//import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.app.Service;
+import android.app.*;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothAdapter;
+import android.graphics.Color;
import android.hardware.usb.*;
import android.content.Intent;
import android.content.Context;
-import android.os.Bundle;
-import android.os.IBinder;
-import android.os.Handler;
-import android.os.Message;
-import android.os.Messenger;
-import android.os.RemoteException;
-import android.os.Looper;
+import android.os.*;
import android.widget.Toast;
-import android.location.Criteria;
import org.altusmetrum.altoslib_13.*;
@@ -641,24 +632,40 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene
}
}
+
+ private String createNotificationChannel(String channelId, String channelName) {
+ NotificationChannel chan = new NotificationChannel(
+ channelId, channelName, NotificationManager.IMPORTANCE_NONE);
+ chan.setLightColor(Color.BLUE);
+ chan.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
+ NotificationManager service = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ service.createNotificationChannel(chan);
+ return channelId;
+ }
+
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
AltosDebug.debug("Received start id %d: %s", startId, intent);
- CharSequence text = getText(R.string.telemetry_service_started);
-
- // Create notification to be displayed while the service runs
- Notification notification = new Notification(R.drawable.am_status_c, text, 0);
-
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, AltosDroid.class), 0);
- // Set the info for the views that show in the notification panel.
- notification.setLatestEventInfo(this, getText(R.string.telemetry_service_label), text, contentIntent);
+ String channelId =
+ (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
+ ? createNotificationChannel("altosdroid_telemetry", "AltosDroid Telemetry Service")
+ : "";
- // Set the notification to be in the "Ongoing" section.
- notification.flags |= Notification.FLAG_ONGOING_EVENT;
+ // Create notification to be displayed while the service runs
+ Notification notification = new Notification.Builder(this, channelId)
+ .setContentTitle(getText(R.string.telemetry_service_label))
+ .setContentText(getText(R.string.telemetry_service_started))
+ .setContentIntent(contentIntent)
+ .setWhen(System.currentTimeMillis())
+ .setOngoing(true)
+ .setSmallIcon(R.drawable.am_status_c)
+// .setLargeIcon(R.drawable.am_status_c)
+ .build();
// Move us into the foreground.
startForeground(NOTIFICATION, notification);
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryState.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryState.java
index 74d5cd22..d292c7bf 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryState.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TelemetryState.java
@@ -20,7 +20,6 @@ package org.altusmetrum.AltosDroid;
import java.util.*;
import org.altusmetrum.altoslib_13.*;
-import android.location.Location;
public class TelemetryState {
public static final int CONNECT_NONE = 0;
diff --git a/altosdroid/res/drawable-hdpi/am_status_c.png b/altosdroid/app/src/main/res/drawable-hdpi/am_status_c.png
index d4393217..d4393217 100644
--- a/altosdroid/res/drawable-hdpi/am_status_c.png
+++ b/altosdroid/app/src/main/res/drawable-hdpi/am_status_c.png
Binary files differ
diff --git a/altosdroid/res/drawable-hdpi/am_status_g.png b/altosdroid/app/src/main/res/drawable-hdpi/am_status_g.png
index 03f9dd7d..03f9dd7d 100644
--- a/altosdroid/res/drawable-hdpi/am_status_g.png
+++ b/altosdroid/app/src/main/res/drawable-hdpi/am_status_g.png
Binary files differ
diff --git a/altosdroid/res/drawable-hdpi/app_icon.png b/altosdroid/app/src/main/res/drawable-hdpi/app_icon.png
index da2f08a8..da2f08a8 100644
--- a/altosdroid/res/drawable-hdpi/app_icon.png
+++ b/altosdroid/app/src/main/res/drawable-hdpi/app_icon.png
Binary files differ
diff --git a/altosdroid/res/drawable-hdpi/ic_maps_indicator_current_position.png b/altosdroid/app/src/main/res/drawable-hdpi/ic_maps_indicator_current_position.png
index bc9160df..bc9160df 100644
--- a/altosdroid/res/drawable-hdpi/ic_maps_indicator_current_position.png
+++ b/altosdroid/app/src/main/res/drawable-hdpi/ic_maps_indicator_current_position.png
Binary files differ
diff --git a/altosdroid/res/drawable-mdpi/am_status_c.png b/altosdroid/app/src/main/res/drawable-mdpi/am_status_c.png
index 30a8d29a..30a8d29a 100644
--- a/altosdroid/res/drawable-mdpi/am_status_c.png
+++ b/altosdroid/app/src/main/res/drawable-mdpi/am_status_c.png
Binary files differ
diff --git a/altosdroid/res/drawable-mdpi/am_status_g.png b/altosdroid/app/src/main/res/drawable-mdpi/am_status_g.png
index 07f7f073..07f7f073 100644
--- a/altosdroid/res/drawable-mdpi/am_status_g.png
+++ b/altosdroid/app/src/main/res/drawable-mdpi/am_status_g.png
Binary files differ
diff --git a/altosdroid/res/drawable-mdpi/ic_maps_indicator_current_position.png b/altosdroid/app/src/main/res/drawable-mdpi/ic_maps_indicator_current_position.png
index 4e427d89..4e427d89 100644
--- a/altosdroid/res/drawable-mdpi/ic_maps_indicator_current_position.png
+++ b/altosdroid/app/src/main/res/drawable-mdpi/ic_maps_indicator_current_position.png
Binary files differ
diff --git a/altosdroid/res/drawable/app_icon.png b/altosdroid/app/src/main/res/drawable/app_icon.png
index b0a3c9c0..b0a3c9c0 100644
--- a/altosdroid/res/drawable/app_icon.png
+++ b/altosdroid/app/src/main/res/drawable/app_icon.png
Binary files differ
diff --git a/altosdroid/res/drawable/pad.png b/altosdroid/app/src/main/res/drawable/pad.png
index b2e65c8a..b2e65c8a 100644
--- a/altosdroid/res/drawable/pad.png
+++ b/altosdroid/app/src/main/res/drawable/pad.png
Binary files differ
diff --git a/altosdroid/res/drawable/rocket.png b/altosdroid/app/src/main/res/drawable/rocket.png
index 7e62f6c4..7e62f6c4 100644
--- a/altosdroid/res/drawable/rocket.png
+++ b/altosdroid/app/src/main/res/drawable/rocket.png
Binary files differ
diff --git a/altosdroid/res/layout/altosdroid.xml b/altosdroid/app/src/main/res/layout/altosdroid.xml
index df870672..df870672 100644
--- a/altosdroid/res/layout/altosdroid.xml
+++ b/altosdroid/app/src/main/res/layout/altosdroid.xml
diff --git a/altosdroid/res/layout/custom_title.xml b/altosdroid/app/src/main/res/layout/custom_title.xml
index 57eb6b4a..57eb6b4a 100644
--- a/altosdroid/res/layout/custom_title.xml
+++ b/altosdroid/app/src/main/res/layout/custom_title.xml
diff --git a/altosdroid/res/layout/device_list.xml b/altosdroid/app/src/main/res/layout/device_list.xml
index 0c103e9d..0c103e9d 100644
--- a/altosdroid/res/layout/device_list.xml
+++ b/altosdroid/app/src/main/res/layout/device_list.xml
diff --git a/altosdroid/res/layout/device_name.xml b/altosdroid/app/src/main/res/layout/device_name.xml
index 8fa358c9..8fa358c9 100644
--- a/altosdroid/res/layout/device_name.xml
+++ b/altosdroid/app/src/main/res/layout/device_name.xml
diff --git a/altosdroid/res/layout/frequency.xml b/altosdroid/app/src/main/res/layout/frequency.xml
index 7adbdc16..7adbdc16 100644
--- a/altosdroid/res/layout/frequency.xml
+++ b/altosdroid/app/src/main/res/layout/frequency.xml
diff --git a/altosdroid/res/layout/idle_mode.xml b/altosdroid/app/src/main/res/layout/idle_mode.xml
index 6c598c1c..6c598c1c 100644
--- a/altosdroid/res/layout/idle_mode.xml
+++ b/altosdroid/app/src/main/res/layout/idle_mode.xml
diff --git a/altosdroid/res/layout/igniter_status.xml b/altosdroid/app/src/main/res/layout/igniter_status.xml
index 931ad626..931ad626 100644
--- a/altosdroid/res/layout/igniter_status.xml
+++ b/altosdroid/app/src/main/res/layout/igniter_status.xml
diff --git a/altosdroid/res/layout/igniters.xml b/altosdroid/app/src/main/res/layout/igniters.xml
index 6ce5b242..6ce5b242 100644
--- a/altosdroid/res/layout/igniters.xml
+++ b/altosdroid/app/src/main/res/layout/igniters.xml
diff --git a/altosdroid/res/layout/manage_frequencies.xml b/altosdroid/app/src/main/res/layout/manage_frequencies.xml
index afb3310f..afb3310f 100644
--- a/altosdroid/res/layout/manage_frequencies.xml
+++ b/altosdroid/app/src/main/res/layout/manage_frequencies.xml
diff --git a/altosdroid/res/layout/map_preload.xml b/altosdroid/app/src/main/res/layout/map_preload.xml
index 4e60df2d..4e60df2d 100644
--- a/altosdroid/res/layout/map_preload.xml
+++ b/altosdroid/app/src/main/res/layout/map_preload.xml
diff --git a/altosdroid/res/layout/map_type.xml b/altosdroid/app/src/main/res/layout/map_type.xml
index e5cea22a..e5cea22a 100644
--- a/altosdroid/res/layout/map_type.xml
+++ b/altosdroid/app/src/main/res/layout/map_type.xml
diff --git a/altosdroid/res/layout/setup.xml b/altosdroid/app/src/main/res/layout/setup.xml
index eeaf60ab..eeaf60ab 100644
--- a/altosdroid/res/layout/setup.xml
+++ b/altosdroid/app/src/main/res/layout/setup.xml
diff --git a/altosdroid/res/layout/tab_flight.xml b/altosdroid/app/src/main/res/layout/tab_flight.xml
index 36d277d7..36d277d7 100644
--- a/altosdroid/res/layout/tab_flight.xml
+++ b/altosdroid/app/src/main/res/layout/tab_flight.xml
diff --git a/altosdroid/res/layout/tab_layout.xml b/altosdroid/app/src/main/res/layout/tab_layout.xml
index 2c21c648..2c21c648 100644
--- a/altosdroid/res/layout/tab_layout.xml
+++ b/altosdroid/app/src/main/res/layout/tab_layout.xml
diff --git a/altosdroid/res/layout/tab_map.xml b/altosdroid/app/src/main/res/layout/tab_map.xml
index 25ae3a8b..25ae3a8b 100644
--- a/altosdroid/res/layout/tab_map.xml
+++ b/altosdroid/app/src/main/res/layout/tab_map.xml
diff --git a/altosdroid/res/layout/tab_pad.xml b/altosdroid/app/src/main/res/layout/tab_pad.xml
index 990a6be3..990a6be3 100644
--- a/altosdroid/res/layout/tab_pad.xml
+++ b/altosdroid/app/src/main/res/layout/tab_pad.xml
diff --git a/altosdroid/res/layout/tab_recover.xml b/altosdroid/app/src/main/res/layout/tab_recover.xml
index 7d1e750d..7d1e750d 100644
--- a/altosdroid/res/layout/tab_recover.xml
+++ b/altosdroid/app/src/main/res/layout/tab_recover.xml
diff --git a/altosdroid/res/menu/option_menu.xml b/altosdroid/app/src/main/res/menu/option_menu.xml
index 53a0de0f..53a0de0f 100644
--- a/altosdroid/res/menu/option_menu.xml
+++ b/altosdroid/app/src/main/res/menu/option_menu.xml
diff --git a/altosdroid/res/values/Colors.xml b/altosdroid/app/src/main/res/values/Colors.xml
index 8dddae2d..8dddae2d 100644
--- a/altosdroid/res/values/Colors.xml
+++ b/altosdroid/app/src/main/res/values/Colors.xml
diff --git a/altosdroid/res/values/CustomTheme.xml b/altosdroid/app/src/main/res/values/CustomTheme.xml
index 6c701ea2..6c701ea2 100644
--- a/altosdroid/res/values/CustomTheme.xml
+++ b/altosdroid/app/src/main/res/values/CustomTheme.xml
diff --git a/altosdroid/res/values/strings.xml b/altosdroid/app/src/main/res/values/strings.xml
index 6a1d24fe..55dc845b 100644
--- a/altosdroid/res/values/strings.xml
+++ b/altosdroid/app/src/main/res/values/strings.xml
@@ -41,7 +41,7 @@
<string name="map_source">Toggle Online/Offline maps</string>
<!-- MapTypeActivity -->
- <string name="map_type">Map Type</string>
+ <!-- <string name="map_type">Map Type</string> -->
<!-- DeviceListActivity -->
<string name="scanning">scanning for devices…</string>
@@ -131,9 +131,9 @@
<!-- setup -->
<string name="telemetry_rate">Telemetry Rate</string>
<string name="set_units">Units</string>
- <string name="map_type">Map Type</string>
- <string name="map_source">Map Source</string>
- <string name="preload_maps">Preload Maps</string>
+ <!-- <string name="map_type">Map Type</string> -->
+ <!-- <string name="map_source">Map Source</string> -->
+ <!-- <string name="preload_maps">Preload Maps</string> -->
<string name="manage_frequencies">Manage Frequencies</string>
<string name="done">OK</string>
@@ -141,7 +141,7 @@
<string name="set">Set</string>
<string name="mhz">MHz</string>
<string name="remove">Remove</string>
- <string name="done">OK</string>
+ <!-- <string name="done">OK</string> -->
<string name="frequency">Frequency</string>
<string name="description">Description</string>
</resources>
diff --git a/altosdroid/res/xml/device_filter.xml b/altosdroid/app/src/main/res/xml/device_filter.xml
index 84b09c06..84b09c06 100644
--- a/altosdroid/res/xml/device_filter.xml
+++ b/altosdroid/app/src/main/res/xml/device_filter.xml
diff --git a/altosdroid/build.gradle b/altosdroid/build.gradle
new file mode 100644
index 00000000..ff1d838d
--- /dev/null
+++ b/altosdroid/build.gradle
@@ -0,0 +1,27 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+ repositories {
+ google()
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:3.4.2'
+ // NOTE: Do not place your application dependencies here; they belong
+ // in the individual module build.gradle files
+ }
+}
+
+allprojects {
+ repositories {
+ google()
+ jcenter()
+ }
+ tasks.withType(JavaCompile) {
+ options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
+ }
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
diff --git a/altosdroid/build.xml b/altosdroid/build.xml
deleted file mode 100644
index e9382c77..00000000
--- a/altosdroid/build.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="AltosDroid" default="help">
-
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="ant.properties" />
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
-
- This contains project specific properties such as project target, and library
- dependencies. Lower level build properties are stored in ant.properties
- (or in .classpath for Eclipse projects).
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
- unless="sdk.dir"
- />
-
-
-<!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
-<!--
- <target name="-pre-build">
- </target>
- <target name="-pre-compile">
- </target>
-
- /* This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir} */
- <target name="-post-compile">
- </target>
--->
-
- <property name="java.target" value="1.7" />
- <property name="java.source" value="1.7" />
-
- <!-- Compiles this project's .java files into .class files. -->
- <target name="-compile" depends="-pre-build, -build-setup, -code-gen, -pre-compile">
- <do-only-if-manifest-hasCode elseText="hasCode = false. Skipping...">
- <!-- merge the project's own classpath and the tested project's classpath -->
- <path id="project.javac.classpath">
- <path refid="project.all.jars.path" />
- <path refid="tested.project.classpath" />
- <path path="${java.compiler.classpath}" />
- </path>
- <javac encoding="${java.encoding}"
- source="${java.source}" target="${java.target}"
- debug="true" extdirs="" includeantruntime="false"
- destdir="${out.classes.absolute.dir}"
- bootclasspathref="project.target.class.path"
- verbose="${verbose}"
- classpathref="project.javac.classpath"
- fork="${need.javac.fork}">
- <src path="${source.absolute.dir}" />
- <src path="${gen.absolute.dir}" />
- <compilerarg line="${java.compilerargs}" />
- </javac>
-
- <!-- if the project is instrumented, intrument the classes -->
- <if condition="${build.is.instrumented}">
- <then>
- <echo level="info">Instrumenting classes from ${out.absolute.dir}/classes...</echo>
-
- <!-- build the filter to remove R, Manifest, BuildConfig -->
- <getemmafilter
- appPackage="${project.app.package}"
- libraryPackagesRefId="project.library.packages"
- filterOut="emma.default.filter"/>
-
- <!-- define where the .em file is going. This may have been
- setup already if this is a library -->
- <property name="emma.coverage.absolute.file" location="${out.absolute.dir}/coverage.em" />
-
- <!-- It only instruments class files, not any external libs -->
- <emma enabled="true">
- <instr verbosity="${verbosity}"
- mode="overwrite"
- instrpath="${out.absolute.dir}/classes"
- outdir="${out.absolute.dir}/classes"
- metadatafile="${emma.coverage.absolute.file}">
- <filter excludes="${emma.default.filter}" />
- <filter value="${emma.filter}" />
- </instr>
- </emma>
- </then>
- </if>
-
- <!-- if the project is a library then we generate a jar file -->
- <if condition="${project.is.library}">
- <then>
- <echo level="info">Creating library output jar file...</echo>
- <property name="out.library.jar.file" location="${out.absolute.dir}/classes.jar" />
- <if>
- <condition>
- <length string="${android.package.excludes}" trim="true" when="greater" length="0" />
- </condition>
- <then>
- <echo level="info">Custom jar packaging exclusion: ${android.package.excludes}</echo>
- </then>
- </if>
-
- <propertybyreplace name="project.app.package.path" input="${project.app.package}" replace="." with="/" />
-
- <jar destfile="${out.library.jar.file}">
- <fileset dir="${out.classes.absolute.dir}"
- includes="**/*.class"
- excludes="${project.app.package.path}/R.class ${project.app.package.path}/R$*.class ${project.app.package.path}/BuildConfig.class"/>
- <fileset dir="${source.absolute.dir}" excludes="**/*.java ${android.package.excludes}" />
- </jar>
- </then>
- </if>
-
- </do-only-if-manifest-hasCode>
- </target>
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: 1 -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>
diff --git a/altosdroid/buildinfo.sh b/altosdroid/buildinfo.sh
index ac97b7bd..1b446b42 100755
--- a/altosdroid/buildinfo.sh
+++ b/altosdroid/buildinfo.sh
@@ -7,10 +7,11 @@
# version and build information, primarily).
#
-infile=src/org/altusmetrum/AltosDroid/BuildInfo.java.in
-outfile=src/org/altusmetrum/AltosDroid/BuildInfo.java
+srcdir=app/src/main/java/org/altusmetrum/AltosDroid
+infile=${srcdir}/BuildInfo.java.in
+outfile=${srcdir}/BuildInfo.java
-. ../src/Version
+. ../src/Makedefs
version=$VERSION
branch=''
commitnum=''
diff --git a/altosdroid/default.properties b/altosdroid/default.properties
deleted file mode 100644
index 69baf6ba..00000000
--- a/altosdroid/default.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "build.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-21
diff --git a/altosdroid/gradle.properties b/altosdroid/gradle.properties
new file mode 100644
index 00000000..9e6fce10
--- /dev/null
+++ b/altosdroid/gradle.properties
@@ -0,0 +1,19 @@
+# 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.
+android.enableJetifier=true
+android.useAndroidX=true
+org.gradle.jvmargs=-Xmx1536m
+
+# 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
diff --git a/altosdroid/gradle/wrapper/gradle-wrapper.jar b/altosdroid/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..87b738cb
--- /dev/null
+++ b/altosdroid/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/altosdroid/gradle/wrapper/gradle-wrapper.properties b/altosdroid/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00000000..0c3026a9
--- /dev/null
+++ b/altosdroid/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Thu Aug 29 13:53:38 NZST 2019
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
diff --git a/altosdroid/gradlew b/altosdroid/gradlew
new file mode 100755
index 00000000..af6708ff
--- /dev/null
+++ b/altosdroid/gradlew
@@ -0,0 +1,172 @@
+#!/usr/bin/env sh
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+ cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"
diff --git a/altosdroid/gradlew.bat b/altosdroid/gradlew.bat
new file mode 100644
index 00000000..0f8d5937
--- /dev/null
+++ b/altosdroid/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/altosdroid/keystore b/altosdroid/keystore
deleted file mode 100644
index 00739d03..00000000
--- a/altosdroid/keystore
+++ /dev/null
Binary files differ
diff --git a/altosdroid/project.properties b/altosdroid/project.properties
deleted file mode 100644
index 853d1b0a..00000000
--- a/altosdroid/project.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-21
-android.library.reference.1=google-play-services_lib/
diff --git a/altosdroid/release.keystore b/altosdroid/release.keystore
deleted file mode 100644
index 53607dcb..00000000
--- a/altosdroid/release.keystore
+++ /dev/null
Binary files differ
diff --git a/altosdroid/settings.gradle b/altosdroid/settings.gradle
new file mode 100644
index 00000000..e7b4def4
--- /dev/null
+++ b/altosdroid/settings.gradle
@@ -0,0 +1 @@
+include ':app'