Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ interface DeviceInformation {
)
fun getSIMCardInformation(context: Context): SIMCardInformation

fun getNetworkInformation(): NetworkInformation

fun getNetworkTechnologiesInformation(context: Context): NetworkTechnologiesInformation

fun getOSInformation(): OSInformation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import android.Manifest
import android.content.Context
import androidx.annotation.RequiresPermission
import androidx.annotation.WorkerThread
import com.udfsoft.androidinfo.lib.command.GetOSInformationCommand
import com.udfsoft.androidinfo.lib.command.GetRAMInformationCommand
import com.udfsoft.androidinfo.lib.command.cpu.GetCpuInformationCommand
import com.udfsoft.androidinfo.lib.command.design.GetNetworkDesignInformationCommand
import com.udfsoft.androidinfo.lib.command.display.GetDisplayInformationCommand
import com.udfsoft.androidinfo.lib.command.general.GetGeneralInformationCommand
import com.udfsoft.androidinfo.lib.command.network.GetNetworkTechnologiesInformationCommand
import com.udfsoft.androidinfo.lib.command.os.GetOSInformationCommand
import com.udfsoft.androidinfo.lib.command.sim.GetSIMCardInformationCommand
import com.udfsoft.androidinfo.lib.di.NetworkFactory
import com.udfsoft.androidinfo.lib.entity.*
Expand All @@ -32,18 +32,17 @@ object DeviceInformationFactory : DeviceInformation {
override fun getSIMCardInformation(context: Context) =
GetSIMCardInformationCommand(context, api).invoke(Unit)

override fun getNetworkInformation(): NetworkInformation {
TODO("Not yet implemented")
}

@RequiresPermission(
allOf = [Manifest.permission.INTERNET, Manifest.permission.ACCESS_NETWORK_STATE]
)
override fun getNetworkTechnologiesInformation(context: Context) =
GetNetworkTechnologiesInformationCommand(context, api).invoke(Unit)

@RequiresPermission(
allOf = [Manifest.permission.INTERNET, Manifest.permission.ACCESS_NETWORK_STATE]
)
override fun getOSInformation(): OSInformation {
val getOSInformationCommand = GetOSInformationCommand()
val getOSInformationCommand = GetOSInformationCommand(api)
return getOSInformationCommand(Unit)
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.udfsoft.androidinfo.lib.command.entity.os

import com.udfsoft.androidinfo.lib.command.entity.MutableEntity
import com.udfsoft.androidinfo.lib.entity.OSInformation

data class MutableOSInformation(
var manufacturer: String? = null,
var version: Int = 0,
var versionRelease: String? = null,
var incremental: String? = null,
var codeName: String? = null,
var linuxVersion: String? = null,
var operatingSystem: String? = null
) : MutableEntity<OSInformation> {

override fun build() = OSInformation(
manufacturer,
version,
versionRelease,
incremental,
codeName,
linuxVersion,
operatingSystem
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.udfsoft.androidinfo.lib.command.entity.os

enum class OSIds(val id: Int) {
OperatingSystem(6190)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.udfsoft.androidinfo.lib.command.os

import com.udfsoft.androidinfo.lib.command.BaseGetCloudInformationCommand
import com.udfsoft.androidinfo.lib.command.entity.MenuIds
import com.udfsoft.androidinfo.lib.command.entity.os.MutableOSInformation
import com.udfsoft.androidinfo.lib.command.entity.os.OSIds
import com.udfsoft.androidinfo.lib.network.AndroidInfoApi
import com.udfsoft.androidinfo.lib.network.entity.DeviceInformationItemNetwork

class GetCloudOSInformationCommand(
api: AndroidInfoApi
) : BaseGetCloudInformationCommand<MutableOSInformation>(
api,
MenuIds.MENU_ID_OS
) {

override fun processInfo(
item: DeviceInformationItemNetwork,
entity: MutableOSInformation
) {
when (item.id) {
OSIds.OperatingSystem.id -> entity.operatingSystem = item.value
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.udfsoft.androidinfo.lib.command.os

import android.Manifest
import android.os.Build
import androidx.annotation.RequiresPermission
import com.udfsoft.androidinfo.lib.command.BaseGetLocalInformationCommand
import com.udfsoft.androidinfo.lib.command.entity.os.MutableOSInformation

class GetLocalOSInformationCommand : BaseGetLocalInformationCommand<MutableOSInformation>() {

@RequiresPermission(
allOf = [Manifest.permission.INTERNET, Manifest.permission.ACCESS_NETWORK_STATE]
)
override fun invoke(param: MutableOSInformation): MutableOSInformation {
param.manufacturer = Build.MANUFACTURER
param.version = Build.VERSION.SDK_INT
param.versionRelease = Build.VERSION.RELEASE
param.incremental = Build.VERSION.INCREMENTAL
param.codeName = Build.VERSION.CODENAME
param.linuxVersion = System.getProperty("os.version")

return param
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.udfsoft.androidinfo.lib.command.os

import android.Manifest
import androidx.annotation.RequiresPermission
import com.udfsoft.androidinfo.lib.command.CommandInterface
import com.udfsoft.androidinfo.lib.command.entity.os.MutableOSInformation
import com.udfsoft.androidinfo.lib.entity.OSInformation
import com.udfsoft.androidinfo.lib.network.AndroidInfoApi

class GetOSInformationCommand(val api: AndroidInfoApi) : CommandInterface<Unit, OSInformation> {

@RequiresPermission(
allOf = [Manifest.permission.INTERNET, Manifest.permission.ACCESS_NETWORK_STATE]
)
override fun invoke(param: Unit): OSInformation {
val mutableEntity = MutableOSInformation()
GetLocalOSInformationCommand().invoke(mutableEntity)
GetCloudOSInformationCommand(api).invoke(mutableEntity)

return mutableEntity.build()
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package com.udfsoft.androidinfo.lib.entity

data class OSInformation(
val manufacturer: String,
val manufacturer: String?,
val version: Int,
val versionRelease: String,
val incremental: String,
val codeName: String,
val linuxVersion: String?
val versionRelease: String?,
val incremental: String?,
val codeName: String?,
val linuxVersion: String?,
val operatingSystem: String?
)