This commit is contained in:
qiji4215
2023-04-24 10:58:26 +08:00
11 changed files with 363 additions and 31 deletions

View File

@@ -22,18 +22,6 @@ class OMQSApplication : Application() {
NetUtils.getInstance().init(this)
TakePhotoManager.getInstance().init(this, 1)
FileManager.initRootDir(this)
Realm.init(this)
val password = "encryp".encodeToByteArray().copyInto(ByteArray(64))
// 656e6372797000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Log.d("OMQSApplication", "密码是: ${byteArrayToHexString(password)}")
val config = RealmConfiguration.Builder()
.directory(File(Constant.DATA_PATH))
.name("OMQS.realm")
.encryptionKey(password)
.modules(Realm.getDefaultModule(), MyRealmModule())
.schemaVersion(1)
.build()
Realm.setDefaultConfiguration(config)
}
private fun getKey(inputString: String): String {
@@ -42,7 +30,4 @@ class OMQSApplication : Application() {
return hashBytes.joinToString("") { "%02x".format(it) };
}
fun byteArrayToHexString(byteArray: ByteArray): String {
return byteArray.joinToString("") { "%02x".format(it) }
}
}

View File

@@ -10,7 +10,7 @@ import com.hjq.permissions.XXPermissions
/**
* 权限申请Activity
*/
open class PermissionsActivity : BaseActivity() {
open abstract class PermissionsActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val permissionList = mutableListOf<String>()
@@ -50,10 +50,10 @@ open class PermissionsActivity : BaseActivity() {
Toast.LENGTH_SHORT
)
.show()
onPermissionsGranted()
onPermissionsDenied()
return
} else {
onPermissionsDenied()
onPermissionsGranted()
}
// 在SD卡创建项目目录
}
@@ -79,14 +79,10 @@ open class PermissionsActivity : BaseActivity() {
/**
* 权限全部同意
*/
open fun onPermissionsGranted() {
}
open abstract fun onPermissionsGranted()
/**
* 权限
*/
open fun onPermissionsDenied() {
}
open abstract fun onPermissionsDenied()
}

View File

@@ -7,14 +7,18 @@ import android.widget.Toast
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.navinfo.omqs.Constant
import com.navinfo.omqs.bean.LoginUserBean
import com.navinfo.omqs.db.RoomAppDatabase
import com.navinfo.omqs.http.NetResult
import com.navinfo.omqs.http.NetworkService
import com.navinfo.omqs.tools.FileManager
import dagger.hilt.android.lifecycle.HiltViewModel
import io.realm.Realm
import io.realm.RealmConfiguration
import kotlinx.coroutines.*
import okio.IOException
import java.io.File
import javax.inject.Inject
enum class LoginStatus {
@@ -110,8 +114,7 @@ class LoginViewModel @Inject constructor(
//文件夹初始化
try {
loginStatus.postValue(LoginStatus.LOGIN_STATUS_FOLDER_INIT)
createUserFolder(context)
// 初始化Realm
createUserFolder(context, "1")
} catch (e: IOException) {
loginStatus.postValue(LoginStatus.LOGIN_STATUS_FOLDER_FAILURE)
}
@@ -151,8 +154,21 @@ class LoginViewModel @Inject constructor(
* 创建用户目录
*/
@Throws(IOException::class)
private fun createUserFolder(context: Context) {
private fun createUserFolder(context: Context, userId: String) {
// 在SD卡创建用户目录解压资源等
// 初始化Realm
Realm.init(context.applicationContext)
val password = "encryp".encodeToByteArray().copyInto(ByteArray(64))
// 656e6372797000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Log.d("OMQSApplication", "密码是: ${byteArrayToHexString(password)}")
val config = RealmConfiguration.Builder()
.directory(File("${Constant.DATA_PATH}/${userId}"))
.name("OMQS.realm")
.encryptionKey(password)
// .modules(Realm.getDefaultModule(), MyRealmModule())
.schemaVersion(1)
.build()
Realm.setDefaultConfiguration(config)
}
/**
@@ -169,4 +185,8 @@ class LoginViewModel @Inject constructor(
super.onCleared()
cancelLogin()
}
private fun byteArrayToHexString(byteArray: ByteArray): String {
return byteArray.joinToString("") { "%02x".format(it) }
}
}

View File

@@ -17,6 +17,7 @@ import com.github.k1rakishou.fsaf.callback.FSAFActivityCallbacks
import com.github.k1rakishou.fsaf.callback.FileChooserCallback
import com.navinfo.collect.library.data.RealmUtils
import com.navinfo.collect.library.data.entity.OMDBEntity
import com.navinfo.collect.library.map.NIMapController
import com.navinfo.omqs.R
import com.navinfo.omqs.databinding.FragmentPersonalCenterBinding
import com.navinfo.omqs.db.ImportOMDBHelper
@@ -31,6 +32,7 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.FlowCollector
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.oscim.core.GeoPoint
import java.io.File
import java.util.UUID
import javax.inject.Inject
@@ -48,6 +50,8 @@ class PersonalCenterFragment : BaseFragment(), FSAFActivityCallbacks {
@Inject
lateinit var importOMDBHiltFactory: ImportOMDBHiltFactory
@Inject
lateinit var niMapController: NIMapController
override fun onCreateView(
@@ -125,6 +129,8 @@ class PersonalCenterFragment : BaseFragment(), FSAFActivityCallbacks {
}
R.id.personal_center_menu_test -> {
viewModel.readRealmData()
// 定位到指定位置
niMapController.mMapView.vtmMap.animator().animateTo(GeoPoint(28.608398, 115.67901))
}
R.id.personal_center_menu_task_list -> {
findNavController().navigate(R.id.TaskListFragment)

View File

@@ -10,6 +10,7 @@ import com.blankj.utilcode.util.UriUtils
import com.blankj.utilcode.util.ZipUtils
import com.google.gson.Gson
import com.navinfo.collect.library.data.entity.*
import com.navinfo.collect.library.map.NIMapController
import com.navinfo.collect.library.utils.GeometryTools
import com.navinfo.omqs.bean.ScProblemTypeBean
import com.navinfo.omqs.bean.ScRootCauseAnalysisBean