Repo Created
This commit is contained in:
parent
eb305e2886
commit
a8c22c65db
4784 changed files with 329907 additions and 2 deletions
49
play-services-threadnetwork/core/build.gradle
Normal file
49
play-services-threadnetwork/core/build.gradle
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2024 microG Project Team
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'maven-publish'
|
||||
apply plugin: 'signing'
|
||||
|
||||
dependencies {
|
||||
api project(':play-services-threadnetwork')
|
||||
|
||||
implementation project(':play-services-base-core')
|
||||
implementation "androidx.annotation:annotation:$annotationVersion"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "org.microg.gms.threadnetwork.core"
|
||||
|
||||
compileSdkVersion androidCompileSdk
|
||||
buildToolsVersion "$androidBuildVersionTools"
|
||||
|
||||
defaultConfig {
|
||||
versionName version
|
||||
minSdkVersion androidMinSdk
|
||||
targetSdkVersion androidTargetSdk
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs += 'src/main/kotlin'
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = 1.8
|
||||
}
|
||||
}
|
||||
|
||||
// Nothing to publish yet
|
||||
//apply from: '../../gradle/publish-android.gradle'
|
||||
|
||||
description = 'microG service implementation for play-services-threadnetwork'
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ SPDX-FileCopyrightText: 2024 microG Project Team
|
||||
~ SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<application>
|
||||
<service
|
||||
android:name="org.microg.gms.threadnetwork.ThreadNetworkService"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.gms.threadnetwork.service.START" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
</application>
|
||||
</manifest>
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2024 microG Project Team
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package org.microg.gms.threadnetwork
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import com.google.android.gms.common.ConnectionResult
|
||||
import com.google.android.gms.common.Feature
|
||||
import com.google.android.gms.common.api.CommonStatusCodes
|
||||
import com.google.android.gms.common.api.Status
|
||||
import com.google.android.gms.common.api.internal.IStatusCallback
|
||||
import com.google.android.gms.common.internal.ConnectionInfo
|
||||
import com.google.android.gms.common.internal.GetServiceRequest
|
||||
import com.google.android.gms.common.internal.IGmsCallbacks
|
||||
import com.google.android.gms.threadnetwork.ThreadBorderAgent
|
||||
import com.google.android.gms.threadnetwork.ThreadNetworkCredentials
|
||||
import com.google.android.gms.threadnetwork.ThreadNetworkStatusCodes
|
||||
import com.google.android.gms.threadnetwork.internal.*
|
||||
import org.microg.gms.BaseService
|
||||
import org.microg.gms.common.GmsService
|
||||
|
||||
private const val TAG = "ThreadNetworkService"
|
||||
|
||||
class ThreadNetworkService : BaseService(TAG, GmsService.THREAD_NETWORK) {
|
||||
override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService) {
|
||||
val connectionInfo = ConnectionInfo()
|
||||
connectionInfo.features = arrayOf(Feature("threadnetwork", 8))
|
||||
callback.onPostInitCompleteWithConnectionInfo(
|
||||
ConnectionResult.SUCCESS, ThreadNetworkServiceImpl(this, request.packageName).asBinder(), connectionInfo
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
class ThreadNetworkServiceImpl(private val context: Context, private val packageName: String) : IThreadNetworkService.Stub() {
|
||||
private val THREAD_NETWORK_NOT_FOUND = Status(ThreadNetworkStatusCodes.THREAD_NETWORK_NOT_FOUND, "THREAD_NETWORK_NOT_FOUND")
|
||||
|
||||
override fun addCredentials(callback: IStatusCallback?, borderAgent: ThreadBorderAgent?, credentials: ThreadNetworkCredentials?) {
|
||||
if (borderAgent == null || credentials == null) {
|
||||
runCatching { callback?.onResult(Status(CommonStatusCodes.DEVELOPER_ERROR, "Illegal arguments")) }
|
||||
return
|
||||
}
|
||||
Log.d(TAG, "Not yet implemented: addCredentials")
|
||||
runCatching { callback?.onResult(Status.SUCCESS) }
|
||||
}
|
||||
|
||||
override fun removeCredentials(callback: IStatusCallback?, borderAgent: ThreadBorderAgent?) {
|
||||
if (borderAgent == null) {
|
||||
runCatching { callback?.onResult(Status(CommonStatusCodes.DEVELOPER_ERROR, "Illegal arguments")) }
|
||||
return
|
||||
}
|
||||
Log.d(TAG, "Not yet implemented: removeCredentials")
|
||||
runCatching { callback?.onResult(Status.SUCCESS) }
|
||||
}
|
||||
|
||||
override fun getAllCredentials(callbacks: IThreadNetworkServiceCallbacks?) {
|
||||
Log.d(TAG, "Not yet implemented: getAllCredentials")
|
||||
runCatching { callbacks?.onCredentials(Status.SUCCESS, emptyList()) }
|
||||
}
|
||||
|
||||
override fun getCredentialsByExtendedPanId(callback: IGetCredentialsByExtendedPanIdCallback?, extendedPanId: ByteArray?) {
|
||||
if (extendedPanId == null) {
|
||||
runCatching { callback?.onCredentials(Status(CommonStatusCodes.DEVELOPER_ERROR, "Illegal arguments"), null) }
|
||||
return
|
||||
}
|
||||
Log.d(TAG, "Not yet implemented: getCredentialsByExtendedPanId")
|
||||
runCatching { callback?.onCredentials(THREAD_NETWORK_NOT_FOUND, null) }
|
||||
}
|
||||
|
||||
override fun getCredentialsByBorderAgent(callbacks: IThreadNetworkServiceCallbacks?, borderAgent: ThreadBorderAgent?) {
|
||||
if (borderAgent == null) {
|
||||
runCatching { callbacks?.onCredentials(Status(CommonStatusCodes.DEVELOPER_ERROR, "Illegal arguments"), emptyList()) }
|
||||
return
|
||||
}
|
||||
Log.d(TAG, "Not yet implemented: getCredentialsByBorderAgent: $borderAgent")
|
||||
runCatching { callbacks?.onCredentials(Status.SUCCESS, emptyList()) }
|
||||
}
|
||||
|
||||
override fun getPreferredCredentials(callback: IGetPreferredCredentialsCallback?) {
|
||||
Log.d(TAG, "Not yet implemented: getPreferredCredentials")
|
||||
runCatching { callback?.onPreferredCredentials(THREAD_NETWORK_NOT_FOUND, null) }
|
||||
}
|
||||
|
||||
override fun isPreferredCredentials(callback: IIsPreferredCredentialsCallback?, credentials: ThreadNetworkCredentials?) {
|
||||
if (credentials == null) {
|
||||
runCatching { callback?.onIsPreferredCredentials(Status(CommonStatusCodes.DEVELOPER_ERROR, "Illegal arguments"), false) }
|
||||
return
|
||||
}
|
||||
Log.d(TAG, "Not yet implemented: isPreferredCredentials: $credentials")
|
||||
runCatching { callback?.onIsPreferredCredentials(THREAD_NETWORK_NOT_FOUND, false) }
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue