├── jni ├── gradle.properties ├── img ├── easter.png ├── greyblue.png └── update.sh ├── libs ├── javAPRSlib.jar ├── javAX25lib.jar ├── jsoundmodem.jar ├── usbserial-6.1.0-cdc.jar └── mapsforge-map-0.3.0-jar-with-dependencies.jar ├── src ├── PacketCallback.java ├── AudioBufferProcessor.java ├── LoadingIndicator.scala ├── APRSdroidApplication.scala ├── Benchmark.scala ├── tncproto │ ├── AfskProto.scala │ ├── Tnc2Proto.scala │ ├── AprsIsProto.scala │ ├── TncProto.scala │ ├── KissProto.scala │ └── KenwoodProto.scala ├── backend │ ├── AfskInWrapper.scala │ ├── UdpUploader.scala │ ├── HttpPostUploader.scala │ ├── AfskDemodulator.scala │ └── AfskUploader.scala ├── LocationReceiver.scala ├── LoadingListActivity.scala ├── SystemEventReceiver.scala ├── StationHelper.scala ├── PreferenceWithValue.java ├── MyAsyncTask.java ├── PrivacyPrefs.scala ├── NotificationPrefs.scala ├── ListPreferenceWithValue.java ├── APRSdroid.scala ├── LocationReceiver2.scala ├── HubActivity.scala ├── UnscaledBitmapLoader.java ├── BluetoothDevicePreference.java ├── location │ ├── LocationSource.scala │ └── FixedPosition.scala ├── PostListAdapter.scala ├── MessagingPrefs.scala ├── EditTextPreferenceWithValue.java ├── SymbolView.scala ├── DigiPrefs.scala ├── ConversationListAdapter.scala ├── IgatePrefs.scala ├── ProfileImportActivity.scala ├── LogActivity.scala ├── MainListActivity.scala ├── StationActivity.scala ├── MessageListAdapter.scala ├── ConversationsActivity.scala ├── PermissionHelper.scala ├── BackendPrefs.scala ├── OsmTileDownloader.java ├── MapMode.scala ├── LocationPrefs.scala ├── CompressedPrefs.scala ├── KeyfileImportActivity.scala ├── PrefSymbolAct.scala ├── ServiceNotifier.scala └── PasscodeDialog.scala ├── res ├── drawable │ ├── icon.png │ ├── crosshair.png │ └── ic_status.png ├── drawable-hdpi │ ├── icon.png │ ├── crosshair.png │ └── ic_status.png ├── drawable-ldpi │ ├── icon.png │ └── ic_status.png ├── drawable-xhdpi │ ├── icon.png │ ├── crosshair.png │ └── ic_status.png ├── drawable-xxhdpi │ ├── icon.png │ ├── crosshair.png │ └── ic_status.png ├── drawable-xxxhdpi │ ├── icon.png │ ├── crosshair.png │ └── ic_status.png ├── drawable-nodpi │ └── allicons.png ├── layout │ ├── textviews.xml │ ├── googlemapview.xml │ ├── buttons.xml │ ├── mapview.xml │ ├── conversations.xml │ ├── main.xml │ ├── listitem.xml │ ├── message_act.xml │ ├── mapcontrols.xml │ ├── new_message_view.xml │ ├── conversationview.xml │ ├── stationactivity.xml │ ├── prefsymbol.xml │ ├── firstrunview.xml │ ├── aboutview.xml │ └── stationview.xml ├── xml │ ├── file_paths.xml │ ├── location.xml │ ├── proto_tnc2.xml │ ├── backend_udp.xml │ ├── backend_http.xml │ ├── backend.xml │ ├── backend_usb.xml │ ├── position_privacy.xml │ ├── backend_digirig.xml │ ├── proto_aprsis.xml │ ├── compressed.xml │ ├── proto_kiss.xml │ ├── backend_tcptnc.xml │ ├── proto_kiss_ble.xml │ ├── backend_ble.xml │ ├── proto_kenwood.xml │ ├── location_periodic.xml │ ├── location_periodic_imperial.xml │ ├── digi.xml │ ├── backend_bluetooth.xml │ ├── proto_afsk.xml │ ├── messaging.xml │ ├── backend_tcp.xml │ ├── location_manual.xml │ ├── location_smartbeaconing.xml │ ├── location_smartbeaconing_imperial.xml │ ├── notifications.xml │ └── igate.xml ├── menu │ ├── custom.xml │ ├── context_msg.xml │ ├── options_prefs.xml │ ├── options_activities.xml │ ├── options_map.xml │ ├── context_call.xml │ └── options.xml └── values │ ├── styles.xml │ ├── notrans.xml │ ├── themes.xml │ └── arrays.xml ├── lib ├── mips │ └── libmultimon.so ├── x86 │ └── libmultimon.so ├── armeabi │ └── libmultimon.so ├── mips64 │ └── libmultimon.so ├── x86_64 │ └── libmultimon.so ├── arm64-v8a │ └── libmultimon.so └── armeabi-v7a │ └── libmultimon.so ├── .gitmodules ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── aprsdroid-release-7-24-25-latest.apk ├── test └── java │ └── org │ └── aprsdroid │ └── app │ └── AprsPacketTests.java ├── .gitignore ├── project.properties ├── androidTest └── java │ └── org │ └── aprsdroid │ └── app │ └── ExampleInstrumentedTest.java ├── activities.md ├── .travis.yml ├── asset-graphics └── crosshair.svg ├── xml2po.sh ├── proguard.cfg ├── gradlew.bat └── ChangeLog /jni: -------------------------------------------------------------------------------- 1 | PacketDroid/jni -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /img/easter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/img/easter.png -------------------------------------------------------------------------------- /img/greyblue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/img/greyblue.png -------------------------------------------------------------------------------- /libs/javAPRSlib.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/libs/javAPRSlib.jar -------------------------------------------------------------------------------- /libs/javAX25lib.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/libs/javAX25lib.jar -------------------------------------------------------------------------------- /src/PacketCallback.java: -------------------------------------------------------------------------------- 1 | ../PacketDroid/src/com/jazzido/PacketDroid/PacketCallback.java -------------------------------------------------------------------------------- /libs/jsoundmodem.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/libs/jsoundmodem.jar -------------------------------------------------------------------------------- /res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable/icon.png -------------------------------------------------------------------------------- /lib/mips/libmultimon.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/lib/mips/libmultimon.so -------------------------------------------------------------------------------- /lib/x86/libmultimon.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/lib/x86/libmultimon.so -------------------------------------------------------------------------------- /src/AudioBufferProcessor.java: -------------------------------------------------------------------------------- 1 | ../PacketDroid/src/com/jazzido/PacketDroid/AudioBufferProcessor.java -------------------------------------------------------------------------------- /lib/armeabi/libmultimon.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/lib/armeabi/libmultimon.so -------------------------------------------------------------------------------- /lib/mips64/libmultimon.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/lib/mips64/libmultimon.so -------------------------------------------------------------------------------- /lib/x86_64/libmultimon.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/lib/x86_64/libmultimon.so -------------------------------------------------------------------------------- /res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /res/drawable/crosshair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable/crosshair.png -------------------------------------------------------------------------------- /res/drawable/ic_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable/ic_status.png -------------------------------------------------------------------------------- /lib/arm64-v8a/libmultimon.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/lib/arm64-v8a/libmultimon.so -------------------------------------------------------------------------------- /libs/usbserial-6.1.0-cdc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/libs/usbserial-6.1.0-cdc.jar -------------------------------------------------------------------------------- /res/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /res/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /res/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /lib/armeabi-v7a/libmultimon.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/lib/armeabi-v7a/libmultimon.so -------------------------------------------------------------------------------- /res/drawable-hdpi/crosshair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-hdpi/crosshair.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-hdpi/ic_status.png -------------------------------------------------------------------------------- /res/drawable-ldpi/ic_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-ldpi/ic_status.png -------------------------------------------------------------------------------- /res/drawable-nodpi/allicons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-nodpi/allicons.png -------------------------------------------------------------------------------- /res/layout/textviews.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "PacketDroid"] 2 | path = PacketDroid 3 | url = https://github.com/ge0rg/PacketDroid.git 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /res/drawable-xhdpi/crosshair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-xhdpi/crosshair.png -------------------------------------------------------------------------------- /res/drawable-xhdpi/ic_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-xhdpi/ic_status.png -------------------------------------------------------------------------------- /res/drawable-xxhdpi/crosshair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-xxhdpi/crosshair.png -------------------------------------------------------------------------------- /res/drawable-xxhdpi/ic_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-xxhdpi/ic_status.png -------------------------------------------------------------------------------- /res/drawable-xxxhdpi/crosshair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-xxxhdpi/crosshair.png -------------------------------------------------------------------------------- /res/drawable-xxxhdpi/ic_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/res/drawable-xxxhdpi/ic_status.png -------------------------------------------------------------------------------- /aprsdroid-release-7-24-25-latest.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/aprsdroid-release-7-24-25-latest.apk -------------------------------------------------------------------------------- /libs/mapsforge-map-0.3.0-jar-with-dependencies.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/na7q/aprsdroid/HEAD/libs/mapsforge-map-0.3.0-jar-with-dependencies.jar -------------------------------------------------------------------------------- /src/LoadingIndicator.scala: -------------------------------------------------------------------------------- 1 | package org.aprsdroid.app 2 | 3 | trait LoadingIndicator { 4 | 5 | def onStartLoading() 6 | 7 | def onStopLoading() 8 | } 9 | -------------------------------------------------------------------------------- /res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /test/java/org/aprsdroid/app/AprsPacketTests.java: -------------------------------------------------------------------------------- 1 | package org.aprsdroid.app; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | public class AprsPacketTests { 8 | @Test 9 | public void testBasic() { 10 | assertEquals(18403, AprsPacket.passcode("AB1CD")); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/APRSdroidApplication.scala: -------------------------------------------------------------------------------- 1 | package org.aprsdroid.app 2 | 3 | import android.app.Application 4 | 5 | class APRSdroidApplication extends Application { 6 | 7 | override def onCreate() { 8 | super.onCreate() 9 | ServiceNotifier.instance.setupChannels(this) 10 | MapModes.initialize(this) 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /res/menu/custom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.swo 2 | *.swp 3 | *~ 4 | .gradle/ 5 | build/ 6 | bin 7 | gen 8 | local.properties 9 | tools/proguard.jar 10 | tools/scala-compiler.jar 11 | tools/scala-library.jar 12 | res/layout/mapview.xml 13 | res/values/translators.xml 14 | res/values/version.xml 15 | tags 16 | translations/aprsdroid/ 17 | translations/launchpad-*.tar.gz 18 | wiki/ 19 | -------------------------------------------------------------------------------- /res/menu/context_msg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /res/menu/options_prefs.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /src/Benchmark.scala: -------------------------------------------------------------------------------- 1 | package org.aprsdroid.app 2 | 3 | import _root_.android.util.Log 4 | 5 | object Benchmark { 6 | def apply[T](tag: String)(block: => T) : T = { 7 | val start = System.currentTimeMillis 8 | try { 9 | block 10 | } finally { 11 | val exectime = System.currentTimeMillis - start 12 | Log.d(tag, "exectuion time: %.3f s".formatLocal(null, exectime / 1000.0)) 13 | } 14 | } 15 | } 16 | 17 | 18 | -------------------------------------------------------------------------------- /res/layout/googlemapview.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/tncproto/AfskProto.scala: -------------------------------------------------------------------------------- 1 | package org.aprsdroid.app 2 | 3 | import _root_.android.util.Log 4 | import _root_.java.io.{InputStream, OutputStream} 5 | 6 | import _root_.net.ab0oo.aprs.parser._ 7 | 8 | class AfskProto(service : AprsService, is : InputStream, os : OutputStream) extends TncProto(is, os) { 9 | val TAG = "APRSdroid.AfskProto" 10 | 11 | def readPacket() : String = { 12 | "" 13 | } 14 | 15 | def writePacket(p : APRSPacket) { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/backend/AfskInWrapper.scala: -------------------------------------------------------------------------------- 1 | package org.aprsdroid.app 2 | 3 | import com.jazzido.PacketDroid.AudioBufferProcessor 4 | 5 | class AfskInWrapper(hq : Boolean, au : AfskUploader, in_type : Int, samplerate : Int) { 6 | var abp = if (!hq) new AudioBufferProcessor(au) else null 7 | var ad = if (hq) new AfskDemodulator(au, in_type, samplerate) else null 8 | 9 | def start() = if (!hq) abp.start() else ad.start() 10 | def close() = if (!hq) abp.stopRecording() else ad.close() 11 | } 12 | -------------------------------------------------------------------------------- /res/layout/buttons.xml: -------------------------------------------------------------------------------- 1 | 4 | 45 | 53 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /res/layout/prefsymbol.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 20 | 27 | 33 | 43 | 49 | 54 | 55 |