srctree

Robin Linden parent fc030621 146f388c
Split apart feature and gui code into separate modules

atox/build.gradle.kts added: 205, removed: 138, total 67
@@ -1,4 +1,3 @@
import de.undercouch.gradle.tasks.download.Download
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
plugins {
@@ -40,11 +39,10 @@ android {
}
 
dependencies {
implementation(fileTree("libs") { include("*.jar") })
 
implementation(Libraries.kotlinStdLib)
 
implementation(project(":core"))
implementation(project(":domain"))
 
implementation(Libraries.appcompat)
implementation(Libraries.constraintlayout)
@@ -61,14 +59,6 @@ dependencies {
kapt(Libraries.daggerCompiler)
kapt(Libraries.daggerAndroidProcessor)
 
// For tox4j
// TODO(robinlinden): Fix tox4j build so we can update the scala dependencies
// noinspection GradleDependency
implementation(Libraries.scalaLibrary)
implementation(Libraries.scalaLogging)
implementation(Libraries.scalapbRuntime)
implementation(Libraries.scodecCore)
 
debugImplementation(Libraries.leakcanaryAndroid)
 
testImplementation(Libraries.junit)
@@ -77,32 +67,7 @@ dependencies {
androidTestImplementation(Libraries.androidJUnit)
}
 
val files = mapOf(
"https://build.tox.chat/job/tox4j-api_build_android_multiarch_release/lastSuccessfulBuild/artifact/tox4j-api/target/scala-2.11/tox4j-api_2.11-0.1.2.jar" to "libs/tox4j-api-c.jar",
"https://build.tox.chat/job/tox4j_build_android_arm64_release/lastSuccessfulBuild/artifact/artifacts/tox4j-c_2.11-0.1.2-SNAPSHOT.jar" to "libs/tox4j-c.jar",
"https://build.tox.chat/job/tox4j_build_android_armel_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/armeabi-v7a/libtox4j-c.so",
"https://build.tox.chat/job/tox4j_build_android_armel_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/armeabi/libtox4j-c.so",
"https://build.tox.chat/job/tox4j_build_android_x86_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/x86/libtox4j-c.so",
"https://build.tox.chat/job/tox4j_build_android_arm64_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/arm64-v8a/libtox4j-c.so",
"https://build.tox.chat/job/tox4j_build_android_x86-64_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/x86_64/libtox4j-c.so"
)
 
val fetchTask = task<DefaultTask>("fetchTox4j")
 
files.forEach { (url, dst) ->
val taskName = "fetch_${dst.replace("/", "_")}"
task<Download>(taskName) {
src(url)
dest(dst)
overwrite(false)
}
 
fetchTask.dependsOn(taskName)
}
 
tasks.withType<KotlinCompile> {
dependsOn(fetchTask)
 
// newSingleThreadContext
kotlinOptions.freeCompilerArgs += listOf("-Xuse-experimental=kotlinx.coroutines.ObsoleteCoroutinesApi")
}
 
atox/src/main/java/ltd/evilcorp/atox/ToxService.kt added: 205, removed: 138, total 67
@@ -11,10 +11,10 @@ import androidx.core.app.NotificationCompat
import androidx.lifecycle.LifecycleService
import androidx.lifecycle.observe
import dagger.android.AndroidInjection
import ltd.evilcorp.atox.tox.Tox
import ltd.evilcorp.atox.tox.ToxStarter
import ltd.evilcorp.core.repository.UserRepository
import ltd.evilcorp.core.vo.ConnectionStatus
import ltd.evilcorp.domain.tox.Tox
import javax.inject.Inject
 
private const val TAG = "ToxService"
 
atox/src/main/java/ltd/evilcorp/atox/tox/EventListenerCallbacks.kt added: 205, removed: 138, total 67
@@ -1,12 +1,14 @@
package ltd.evilcorp.atox.tox
 
import ltd.evilcorp.atox.feature.FileTransferManager
import ltd.evilcorp.atox.ui.NotificationHelper
import ltd.evilcorp.core.repository.ContactRepository
import ltd.evilcorp.core.repository.FriendRequestRepository
import ltd.evilcorp.core.repository.MessageRepository
import ltd.evilcorp.core.repository.UserRepository
import ltd.evilcorp.core.vo.*
import ltd.evilcorp.domain.feature.FileTransferManager
import ltd.evilcorp.domain.tox.Tox
import ltd.evilcorp.domain.tox.ToxEventListener
import java.util.*
import javax.inject.Inject
import javax.inject.Singleton
 
atox/src/main/java/ltd/evilcorp/atox/tox/ToxStarter.kt added: 205, removed: 138, total 67
@@ -6,7 +6,8 @@ import android.os.Build
import android.util.Log
import im.tox.tox4j.core.exceptions.ToxNewException
import ltd.evilcorp.atox.ToxService
import ltd.evilcorp.atox.feature.UserManager
import ltd.evilcorp.domain.feature.UserManager
import ltd.evilcorp.domain.tox.*
import javax.inject.Inject
 
private const val TAG = "ToxStarter"
 
atox/src/main/java/ltd/evilcorp/atox/ui/addcontact/AddContactFragment.kt added: 205, removed: 138, total 67
@@ -12,9 +12,9 @@ import androidx.fragment.app.viewModels
import androidx.navigation.findNavController
import kotlinx.android.synthetic.main.add_contact_fragment.view.*
import ltd.evilcorp.atox.R
import ltd.evilcorp.atox.tox.ToxID
import ltd.evilcorp.atox.tox.ToxIdValidator
import ltd.evilcorp.atox.vmFactory
import ltd.evilcorp.domain.tox.ToxID
import ltd.evilcorp.domain.tox.ToxIdValidator
 
class AddContactFragment : Fragment() {
private val viewModel: AddContactViewModel by viewModels { vmFactory }
 
atox/src/main/java/ltd/evilcorp/atox/ui/addcontact/AddContactViewModel.kt added: 205, removed: 138, total 67
@@ -1,8 +1,8 @@
package ltd.evilcorp.atox.ui.addcontact
 
import androidx.lifecycle.ViewModel
import ltd.evilcorp.atox.feature.ContactManager
import ltd.evilcorp.atox.tox.ToxID
import ltd.evilcorp.domain.feature.ContactManager
import ltd.evilcorp.domain.tox.ToxID
import javax.inject.Inject
 
class AddContactViewModel @Inject constructor(private val contactManager: ContactManager) : ViewModel() {
 
atox/src/main/java/ltd/evilcorp/atox/ui/chat/ChatFragment.kt added: 205, removed: 138, total 67
@@ -19,13 +19,13 @@ import kotlinx.android.synthetic.main.chat_fragment.view.*
import kotlinx.android.synthetic.main.profile_image_layout.*
import ltd.evilcorp.atox.R
import ltd.evilcorp.atox.requireStringArg
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.ui.ChatAdapter
import ltd.evilcorp.atox.ui.colorByStatus
import ltd.evilcorp.atox.ui.setAvatarFromContact
import ltd.evilcorp.atox.vmFactory
import ltd.evilcorp.core.vo.ConnectionStatus
import ltd.evilcorp.core.vo.Message
import ltd.evilcorp.domain.tox.PublicKey
import java.text.DateFormat
import java.util.*
 
 
atox/src/main/java/ltd/evilcorp/atox/ui/chat/ChatViewModel.kt added: 205, removed: 138, total 67
@@ -2,12 +2,12 @@ package ltd.evilcorp.atox.ui.chat
 
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import ltd.evilcorp.atox.feature.ChatManager
import ltd.evilcorp.atox.feature.ContactManager
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.ui.NotificationHelper
import ltd.evilcorp.core.vo.Contact
import ltd.evilcorp.core.vo.Message
import ltd.evilcorp.domain.feature.ChatManager
import ltd.evilcorp.domain.feature.ContactManager
import ltd.evilcorp.domain.tox.PublicKey
import javax.inject.Inject
 
class ChatViewModel @Inject constructor(
 
atox/src/main/java/ltd/evilcorp/atox/ui/contact_profile/ContactProfileFragment.kt added: 205, removed: 138, total 67
@@ -11,11 +11,11 @@ import kotlinx.android.synthetic.main.contact_profile_fragment.view.*
import kotlinx.android.synthetic.main.profile_image_layout.view.*
import ltd.evilcorp.atox.R
import ltd.evilcorp.atox.requireStringArg
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.ui.chat.CONTACT_PUBLIC_KEY
import ltd.evilcorp.atox.ui.colorByStatus
import ltd.evilcorp.atox.ui.setAvatarFromContact
import ltd.evilcorp.atox.vmFactory
import ltd.evilcorp.domain.tox.PublicKey
 
class ContactProfileFragment : Fragment() {
private val viewModel: ContactProfileViewModel by viewModels { vmFactory }
 
atox/src/main/java/ltd/evilcorp/atox/ui/contact_profile/ContactProfileViewModel.kt added: 205, removed: 138, total 67
@@ -2,9 +2,9 @@ package ltd.evilcorp.atox.ui.contact_profile
 
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import ltd.evilcorp.atox.feature.ContactManager
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.core.vo.Contact
import ltd.evilcorp.domain.feature.ContactManager
import ltd.evilcorp.domain.tox.PublicKey
import javax.inject.Inject
 
class ContactProfileViewModel @Inject constructor(
 
atox/src/main/java/ltd/evilcorp/atox/ui/contactlist/ContactListFragment.kt added: 205, removed: 138, total 67
@@ -27,7 +27,6 @@ import kotlinx.android.synthetic.main.contact_list_fragment.view.*
import kotlinx.android.synthetic.main.contact_list_view_item.view.*
import kotlinx.android.synthetic.main.nav_header_contact_list.view.*
import ltd.evilcorp.atox.R
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.ui.ContactAdapter
import ltd.evilcorp.atox.ui.ContactListItemType
import ltd.evilcorp.atox.ui.chat.CONTACT_PUBLIC_KEY
@@ -35,6 +34,7 @@ import ltd.evilcorp.atox.vmFactory
import ltd.evilcorp.core.vo.ConnectionStatus
import ltd.evilcorp.core.vo.Contact
import ltd.evilcorp.core.vo.FriendRequest
import ltd.evilcorp.domain.tox.PublicKey
 
private const val REQUEST_CODE_BACKUP_TOX = 9202
 
 
atox/src/main/java/ltd/evilcorp/atox/ui/contactlist/ContactListViewModel.kt added: 205, removed: 138, total 67
@@ -9,14 +9,14 @@ import androidx.lifecycle.ViewModel
import kotlinx.coroutines.*
import ltd.evilcorp.atox.R
import ltd.evilcorp.atox.ToxService
import ltd.evilcorp.atox.feature.ContactManager
import ltd.evilcorp.atox.feature.FriendRequestManager
import ltd.evilcorp.atox.feature.UserManager
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.tox.Tox
import ltd.evilcorp.atox.tox.ToxStarter
import ltd.evilcorp.core.vo.FriendRequest
import ltd.evilcorp.core.vo.User
import ltd.evilcorp.domain.feature.ContactManager
import ltd.evilcorp.domain.feature.FriendRequestManager
import ltd.evilcorp.domain.feature.UserManager
import ltd.evilcorp.domain.tox.PublicKey
import ltd.evilcorp.domain.tox.Tox
import java.io.FileOutputStream
import javax.inject.Inject
 
 
atox/src/main/java/ltd/evilcorp/atox/ui/profile/ProfileViewModel.kt added: 205, removed: 138, total 67
@@ -3,10 +3,10 @@ package ltd.evilcorp.atox.ui.profile
import android.content.Context
import android.net.Uri
import androidx.lifecycle.ViewModel
import ltd.evilcorp.atox.feature.UserManager
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.tox.Tox
import ltd.evilcorp.atox.tox.ToxStarter
import ltd.evilcorp.domain.feature.UserManager
import ltd.evilcorp.domain.tox.PublicKey
import ltd.evilcorp.domain.tox.Tox
import javax.inject.Inject
 
class ProfileViewModel @Inject constructor(
 
filename was Deleted added: 205, removed: 138, total 67
@@ -0,0 +1,3 @@
build/
libs/
src/main/jniLibs/
 
filename was Deleted added: 205, removed: 138, total 67
@@ -0,0 +1,93 @@
plugins {
id(BuildPlugin.androidLibrary)
 
id(BuildPlugin.kotlinAndroid)
id(BuildPlugin.kotlinKapt)
}
 
android {
compileSdkVersion(AndroidSdk.targetVersion)
defaultConfig {
minSdkVersion(AndroidSdk.minVersion)
targetSdkVersion(AndroidSdk.targetVersion)
versionCode = 1
versionName = "0.1.0"
javaCompileOptions {
annotationProcessorOptions {
arguments = mapOf("room.incremental" to "true")
}
}
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"))
}
}
compileOptions {
sourceCompatibility = Java.version
targetCompatibility = Java.version
}
kotlinOptions {
jvmTarget = Java.version.toString()
freeCompilerArgs = listOf("-XXLanguage:+InlineClasses")
}
lintOptions {
isAbortOnError = true
isWarningsAsErrors = true
// TODO(robinlinden): Delete/update invalid packages
disable("InvalidPackage")
}
}
 
dependencies {
api(fileTree("libs") { include("*.jar") })
 
implementation(Libraries.kotlinStdLib)
 
implementation(project(":core"))
 
implementation(Libraries.javaxInject)
 
implementation(Libraries.ktxCoroutinesCore)
 
// For tox4j
// TODO(robinlinden): Fix tox4j build so we can update the scala dependencies
// noinspection GradleDependency
implementation(Libraries.scalaLibrary)
implementation(Libraries.scalaLogging)
implementation(Libraries.scalapbRuntime)
implementation(Libraries.scodecCore)
 
testImplementation(Libraries.junit)
}
 
val files = mapOf(
"https://build.tox.chat/job/tox4j-api_build_android_multiarch_release/lastSuccessfulBuild/artifact/tox4j-api/target/scala-2.11/tox4j-api_2.11-0.1.2.jar" to "libs/tox4j-api-c.jar",
"https://build.tox.chat/job/tox4j_build_android_arm64_release/lastSuccessfulBuild/artifact/artifacts/tox4j-c_2.11-0.1.2-SNAPSHOT.jar" to "libs/tox4j-c.jar",
"https://build.tox.chat/job/tox4j_build_android_armel_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/armeabi-v7a/libtox4j-c.so",
"https://build.tox.chat/job/tox4j_build_android_armel_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/armeabi/libtox4j-c.so",
"https://build.tox.chat/job/tox4j_build_android_x86_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/x86/libtox4j-c.so",
"https://build.tox.chat/job/tox4j_build_android_arm64_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/arm64-v8a/libtox4j-c.so",
"https://build.tox.chat/job/tox4j_build_android_x86-64_release/lastSuccessfulBuild/artifact/artifacts/libtox4j-c.so" to "src/main/jniLibs/x86_64/libtox4j-c.so"
)
 
val fetchTask = task<DefaultTask>("fetchTox4j")
 
files.forEach { (url, dst) ->
val taskName = "fetch_${dst.replace("/", "_")}"
task<de.undercouch.gradle.tasks.download.Download>(taskName) {
src(url)
dest(dst)
overwrite(false)
}
 
fetchTask.dependsOn(taskName)
}
 
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
dependsOn(fetchTask)
 
// newSingleThreadContext
kotlinOptions.freeCompilerArgs += listOf("-Xuse-experimental=kotlinx.coroutines.ObsoleteCoroutinesApi")
}
 
filename was Deleted added: 205, removed: 138, total 67
@@ -0,0 +1 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ltd.evilcorp.domain"/>
 
atox/src/main/java/ltd/evilcorp/atox/feature/ChatManager.kt added: 205, removed: 138, total 67
@@ -1,15 +1,15 @@
package ltd.evilcorp.atox.feature
package ltd.evilcorp.domain.feature
 
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import ltd.evilcorp.atox.tox.MAX_MESSAGE_LENGTH
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.tox.Tox
import ltd.evilcorp.core.repository.ContactRepository
import ltd.evilcorp.core.repository.MessageRepository
import ltd.evilcorp.core.vo.Message
import ltd.evilcorp.core.vo.Sender
import ltd.evilcorp.domain.tox.MAX_MESSAGE_LENGTH
import ltd.evilcorp.domain.tox.PublicKey
import ltd.evilcorp.domain.tox.Tox
import javax.inject.Inject
 
class ChatManager @Inject constructor(
 
atox/src/main/java/ltd/evilcorp/atox/feature/ContactManager.kt added: 205, removed: 138, total 67
@@ -1,13 +1,13 @@
package ltd.evilcorp.atox.feature
package ltd.evilcorp.domain.feature
 
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.tox.Tox
import ltd.evilcorp.atox.tox.ToxID
import ltd.evilcorp.core.repository.ContactRepository
import ltd.evilcorp.core.vo.Contact
import ltd.evilcorp.domain.tox.PublicKey
import ltd.evilcorp.domain.tox.Tox
import ltd.evilcorp.domain.tox.ToxID
import javax.inject.Inject
 
class ContactManager @Inject constructor(
 
atox/src/main/java/ltd/evilcorp/atox/feature/FileTransferManager.kt added: 205, removed: 138, total 67
@@ -1,14 +1,14 @@
package ltd.evilcorp.atox.feature
package ltd.evilcorp.domain.feature
 
import android.content.Context
import android.util.Log
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.tox.Tox
import ltd.evilcorp.core.repository.ContactRepository
import ltd.evilcorp.core.repository.FileTransferRepository
import ltd.evilcorp.core.vo.FileKind
import ltd.evilcorp.core.vo.FileTransfer
import ltd.evilcorp.core.vo.isComplete
import ltd.evilcorp.domain.tox.PublicKey
import ltd.evilcorp.domain.tox.Tox
import java.io.File
import java.io.RandomAccessFile
import javax.inject.Inject
 
atox/src/main/java/ltd/evilcorp/atox/feature/FriendRequestManager.kt added: 205, removed: 138, total 67
@@ -1,15 +1,15 @@
package ltd.evilcorp.atox.feature
package ltd.evilcorp.domain.feature
 
import androidx.lifecycle.LiveData
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.tox.Tox
import ltd.evilcorp.core.repository.ContactRepository
import ltd.evilcorp.core.repository.FriendRequestRepository
import ltd.evilcorp.core.vo.Contact
import ltd.evilcorp.core.vo.FriendRequest
import ltd.evilcorp.domain.tox.PublicKey
import ltd.evilcorp.domain.tox.Tox
import javax.inject.Inject
 
class FriendRequestManager @Inject constructor(
 
atox/src/main/java/ltd/evilcorp/atox/feature/UserManager.kt added: 205, removed: 138, total 67
@@ -1,12 +1,12 @@
package ltd.evilcorp.atox.feature
package ltd.evilcorp.domain.feature
 
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.tox.Tox
import ltd.evilcorp.core.repository.UserRepository
import ltd.evilcorp.core.vo.User
import ltd.evilcorp.domain.tox.PublicKey
import ltd.evilcorp.domain.tox.Tox
import javax.inject.Inject
 
class UserManager @Inject constructor(
 
atox/src/main/java/ltd/evilcorp/atox/tox/SaveManager.kt added: 205, removed: 138, total 67
@@ -1,4 +1,4 @@
package ltd.evilcorp.atox.tox
package ltd.evilcorp.domain.tox
 
import android.content.Context
import android.util.Log
 
atox/src/main/java/ltd/evilcorp/atox/tox/SaveOptions.kt added: 205, removed: 138, total 67
@@ -1,4 +1,4 @@
package ltd.evilcorp.atox.tox
package ltd.evilcorp.domain.tox
 
@Suppress("ArrayInDataClass")
data class SaveOptions(val saveData: ByteArray?)
 
atox/src/main/java/ltd/evilcorp/atox/tox/Tox.kt added: 205, removed: 138, total 67
@@ -1,12 +1,10 @@
package ltd.evilcorp.atox.tox
package ltd.evilcorp.domain.tox
 
import android.util.Log
import im.tox.tox4j.core.exceptions.ToxBootstrapException
import kotlinx.coroutines.*
import ltd.evilcorp.core.repository.ContactRepository
import ltd.evilcorp.core.repository.UserRepository
import ltd.evilcorp.core.vo.Contact
import ltd.evilcorp.core.vo.User
import javax.inject.Inject
import javax.inject.Singleton
 
 
atox/src/main/java/ltd/evilcorp/atox/tox/ToxConstants.kt added: 205, removed: 138, total 67
@@ -1,3 +1,3 @@
package ltd.evilcorp.atox.tox
package ltd.evilcorp.domain.tox
 
const val MAX_MESSAGE_LENGTH = 1372
 
atox/src/main/java/ltd/evilcorp/atox/tox/ToxEventListener.kt added: 205, removed: 138, total 67
@@ -1,4 +1,4 @@
package ltd.evilcorp.atox.tox
package ltd.evilcorp.domain.tox
 
import im.tox.tox4j.core.callbacks.ToxCoreEventListener
import im.tox.tox4j.core.enums.ToxConnection
 
atox/src/main/java/ltd/evilcorp/atox/tox/ToxIdValidator.kt added: 205, removed: 138, total 67
@@ -1,4 +1,4 @@
package ltd.evilcorp.atox.tox
package ltd.evilcorp.domain.tox
 
class ToxIdValidator {
enum class Result {
 
atox/src/main/java/ltd/evilcorp/atox/tox/ToxTypes.kt added: 205, removed: 138, total 67
@@ -1,4 +1,4 @@
package ltd.evilcorp.atox.tox
package ltd.evilcorp.domain.tox
 
inline class PublicKey(private val value: String) {
fun bytes() = value.hexToBytes()
 
atox/src/main/java/ltd/evilcorp/atox/tox/ToxUtil.kt added: 205, removed: 138, total 67
@@ -1,4 +1,4 @@
package ltd.evilcorp.atox.tox
package ltd.evilcorp.domain.tox
 
import im.tox.tox4j.core.enums.ToxConnection
import im.tox.tox4j.core.enums.ToxUserStatus
 
atox/src/main/java/ltd/evilcorp/atox/tox/ToxWrapper.kt added: 205, removed: 138, total 67
@@ -1,4 +1,4 @@
package ltd.evilcorp.atox.tox
package ltd.evilcorp.domain.tox
 
import android.util.Log
import im.tox.tox4j.core.enums.ToxFileControl
@@ -8,7 +8,10 @@ import im.tox.tox4j.impl.jni.ToxCoreImpl
 
private const val TAG = "ToxWrapper"
 
class ToxWrapper(private val eventListener: ToxEventListener, options: SaveOptions) {
class ToxWrapper(
private val eventListener: ToxEventListener,
options: SaveOptions
) {
private val tox: ToxCoreImpl = ToxCoreImpl(options.toToxOptions())
 
init {
@@ -70,11 +73,11 @@ class ToxWrapper(private val eventListener: ToxEventListener, options: SaveOptio
}
 
fun sendMessage(publicKey: PublicKey, message: String): Int = tox.friendSendMessage(
contactByKey(publicKey),
ToxMessageType.NORMAL,
0,
message.toByteArray()
)
contactByKey(publicKey),
ToxMessageType.NORMAL,
0,
message.toByteArray()
)
 
fun acceptFriendRequest(publicKey: PublicKey) = try {
tox.addFriendNorequest(publicKey.bytes())
 
atox/src/test/java/ltd/evilcorp/atox/ToxIdValidatorTest.kt added: 205, removed: 138, total 67
@@ -1,7 +1,7 @@
package ltd.evilcorp.atox
package ltd.evilcorp.domain
 
import ltd.evilcorp.atox.tox.ToxID
import ltd.evilcorp.atox.tox.ToxIdValidator
import ltd.evilcorp.domain.tox.ToxID
import ltd.evilcorp.domain.tox.ToxIdValidator
import org.junit.Test
 
class ToxIdValidatorTest {
 
atox/src/test/java/ltd/evilcorp/atox/ToxTypesTest.kt added: 205, removed: 138, total 67
@@ -1,7 +1,7 @@
package ltd.evilcorp.atox
package ltd.evilcorp.domain
 
import ltd.evilcorp.atox.tox.PublicKey
import ltd.evilcorp.atox.tox.ToxID
import ltd.evilcorp.domain.tox.PublicKey
import ltd.evilcorp.domain.tox.ToxID
import org.junit.Assert.assertEquals
import org.junit.Test
 
 
atox/src/test/java/ltd/evilcorp/atox/ToxUtilTest.kt added: 205, removed: 138, total 67
@@ -1,13 +1,13 @@
package ltd.evilcorp.atox
package ltd.evilcorp.domain
 
import im.tox.tox4j.core.enums.ToxConnection
import im.tox.tox4j.core.enums.ToxUserStatus
import ltd.evilcorp.atox.tox.bytesToHex
import ltd.evilcorp.atox.tox.hexToBytes
import ltd.evilcorp.atox.tox.toConnectionStatus
import ltd.evilcorp.atox.tox.toUserStatus
import ltd.evilcorp.core.vo.ConnectionStatus
import ltd.evilcorp.core.vo.UserStatus
import ltd.evilcorp.domain.tox.bytesToHex
import ltd.evilcorp.domain.tox.hexToBytes
import ltd.evilcorp.domain.tox.toConnectionStatus
import ltd.evilcorp.domain.tox.toUserStatus
import org.junit.Assert.*
import org.junit.Test
import java.util.*
 
settings.gradle added: 205, removed: 138, total 67
@@ -1,2 +1,3 @@
include ':atox'
include ':core'
include ':domain'