From 5f5ef8af875f0b3a854e94fa0292619c7a319a45 Mon Sep 17 00:00:00 2001 From: ci-bot Date: Mon, 22 Apr 2024 11:55:53 +0300 Subject: [PATCH] Updated projects --- 1120-Without License/app/build.gradle | 4 +- .../DocumentReader-Kotlin/app/build.gradle | 4 +- .../documentreader/CommonRecyclerAdapter.kt | 6 +- .../regula/documentreader/ResultsActivity.kt | 9 +- .../regula/documentreader/SettingsActivity.kt | 41 ++-- .../src/main/res/layout/activity_results.xml | 3 +- BackendProcessing/app/build.gradle | 4 +- .../app/build.gradle | 4 +- .../regula/documentreader/BaseActivity.java | 2 +- .../app/build.gradle | 4 +- BleDevice/BleDevice-Kotlin/app/build.gradle | 4 +- .../CustomCamera-Kotlin/app/build.gradle | 4 +- CustomRfid-kotlin/app/build.gradle | 4 +- .../README.md | 8 +- DownloadDatabaseSample/app/build.gradle.kts | 55 +++++ .../app/proguard-rules.pro | 0 .../documentreader/ExampleInstrumentedTest.kt | 24 ++ .../app/src/main/AndroidManifest.xml | 14 +- .../com/regula/documentreader/MainActivity.kt | 126 +++++++++++ .../regula/documentreader/MainViewModel.kt | 106 +++++++++ .../documentreader/MainViewModelFactory.kt | 12 + .../com/regula/documentreader/util/Utils.kt | 39 ++++ .../drawable-v24/ic_launcher_foreground.xml | 14 ++ .../res/drawable/ic_launcher_background.xml | 0 .../app/src/main/res/drawable/rounded.xml | 10 + .../app/src/main/res/layout/main_layout.xml | 93 ++++++++ .../app/src/main/res/layout/simple_dialog.xml | 0 .../res/mipmap-anydpi-v26/ic_launcher.xml | 0 .../mipmap-anydpi-v26/ic_launcher_round.xml | 0 .../app/src/main/res/values/colors.xml | 4 + .../app/src/main/res/values/dimens.xml | 4 + .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/themes.xml | 12 + .../app/src/main/res/xml/backup_rules.xml | 13 ++ .../main/res/xml/data_extraction_rules.xml | 19 ++ .../regula/documentreader/ExampleUnitTest.kt | 17 ++ DownloadDatabaseSample/build.gradle.kts | 5 + .../gradle.properties | 2 +- .../gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 6 +- .../gradlew | 0 .../gradlew.bat | 0 .../settings.gradle.kts | 8 +- .../FeatureDelivery-Kotlin/app/build.gradle | 2 +- .../regula_core_sdk/build.gradle | 2 +- .../app/build.gradle | 4 +- PackageForReprocess-Kotlin/.gitignore | 12 - PackageForReprocess-Kotlin/app/.gitignore | 1 - PackageForReprocess-Kotlin/app/build.gradle | 45 ---- .../com/regula/documentreader/MainActivity.kt | 213 ------------------ .../drawable-v24/ic_launcher_foreground.xml | 15 -- .../app/src/main/res/layout/activity_main.xml | 45 ---- .../app/src/main/res/values-night/themes.xml | 16 -- .../app/src/main/res/values/strings.xml | 3 - .../app/src/main/res/values/themes.xml | 16 -- PackageForReprocess-Kotlin/build.gradle | 10 - .../app/build.gradle | 4 +- .../app/build.gradle | 4 +- 58 files changed, 632 insertions(+), 447 deletions(-) rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/README.md (79%) create mode 100644 DownloadDatabaseSample/app/build.gradle.kts rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/app/proguard-rules.pro (100%) create mode 100644 DownloadDatabaseSample/app/src/androidTest/java/com/regula/documentreader/ExampleInstrumentedTest.kt rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/app/src/main/AndroidManifest.xml (69%) create mode 100644 DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainActivity.kt create mode 100644 DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainViewModel.kt create mode 100644 DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainViewModelFactory.kt create mode 100644 DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/util/Utils.kt create mode 100644 DownloadDatabaseSample/app/src/main/res/drawable-v24/ic_launcher_foreground.xml rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/app/src/main/res/drawable/ic_launcher_background.xml (100%) create mode 100644 DownloadDatabaseSample/app/src/main/res/drawable/rounded.xml create mode 100644 DownloadDatabaseSample/app/src/main/res/layout/main_layout.xml rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/app/src/main/res/layout/simple_dialog.xml (100%) rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml (100%) rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml (100%) rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/app/src/main/res/values/colors.xml (68%) create mode 100644 DownloadDatabaseSample/app/src/main/res/values/dimens.xml create mode 100644 DownloadDatabaseSample/app/src/main/res/values/strings.xml create mode 100644 DownloadDatabaseSample/app/src/main/res/values/themes.xml create mode 100644 DownloadDatabaseSample/app/src/main/res/xml/backup_rules.xml create mode 100644 DownloadDatabaseSample/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 DownloadDatabaseSample/app/src/test/java/com/regula/documentreader/ExampleUnitTest.kt create mode 100644 DownloadDatabaseSample/build.gradle.kts rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/gradle.properties (99%) rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/gradle/wrapper/gradle-wrapper.jar (100%) rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/gradle/wrapper/gradle-wrapper.properties (80%) rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/gradlew (100%) mode change 100644 => 100755 rename {PackageForReprocess-Kotlin => DownloadDatabaseSample}/gradlew.bat (100%) rename PackageForReprocess-Kotlin/settings.gradle => DownloadDatabaseSample/settings.gradle.kts (85%) delete mode 100644 PackageForReprocess-Kotlin/.gitignore delete mode 100644 PackageForReprocess-Kotlin/app/.gitignore delete mode 100644 PackageForReprocess-Kotlin/app/build.gradle delete mode 100644 PackageForReprocess-Kotlin/app/src/main/java/com/regula/documentreader/MainActivity.kt delete mode 100644 PackageForReprocess-Kotlin/app/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 PackageForReprocess-Kotlin/app/src/main/res/layout/activity_main.xml delete mode 100644 PackageForReprocess-Kotlin/app/src/main/res/values-night/themes.xml delete mode 100644 PackageForReprocess-Kotlin/app/src/main/res/values/strings.xml delete mode 100644 PackageForReprocess-Kotlin/app/src/main/res/values/themes.xml delete mode 100644 PackageForReprocess-Kotlin/build.gradle diff --git a/1120-Without License/app/build.gradle b/1120-Without License/app/build.gradle index 0db5cbf..1c63a5e 100644 --- a/1120-Without License/app/build.gradle +++ b/1120-Without License/app/build.gradle @@ -37,8 +37,8 @@ dependencies { implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'com.regula.btdevice:api:1.0.+@aar' - implementation 'com.regula.documentreader.core:fullauthrfid:7.1.+@aar' - implementation('com.regula.documentreader:api:7.1.+@aar') { + implementation 'com.regula.documentreader.core:fullauthrfid:7.2.+@aar' + implementation('com.regula.documentreader:api:7.2.+@aar') { transitive = true; } } \ No newline at end of file diff --git a/Advanced/DocumentReader-Kotlin/app/build.gradle b/Advanced/DocumentReader-Kotlin/app/build.gradle index 22200ef..9ecf8aa 100644 --- a/Advanced/DocumentReader-Kotlin/app/build.gradle +++ b/Advanced/DocumentReader-Kotlin/app/build.gradle @@ -39,9 +39,9 @@ dependencies { implementation 'com.regula.btdevice:api:1.0.+@aar' //noinspection GradleDynamicVersion - implementation 'com.regula.documentreader.core:fullrfid:7.1.+@aar' + implementation 'com.regula.documentreader.core:fullrfid:7.2.+@aar' //noinspection GradleDynamicVersion - implementation('com.regula.documentreader:api:7.1.+@aar') { + implementation('com.regula.documentreader:api:7.2.+@aar') { transitive = true } diff --git a/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/CommonRecyclerAdapter.kt b/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/CommonRecyclerAdapter.kt index 54d7299..a961836 100644 --- a/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/CommonRecyclerAdapter.kt +++ b/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/CommonRecyclerAdapter.kt @@ -404,9 +404,9 @@ class CommonRecyclerAdapter(private val items: List) : val status = base as Status binding.title.text = status.title.uppercase(Locale.ROOT) when (status.value) { - 0 -> binding.value.setImageResource(android.R.drawable.ic_menu_add) - 1 -> binding.value.setImageResource(android.R.drawable.ic_menu_close_clear_cancel) - 2 -> binding.value.setImageResource(android.R.drawable.ic_menu_help) + 0 -> binding.value.setImageResource(R.drawable.reg_icon_check_ok) + 1 -> binding.value.setImageResource(R.drawable.reg_icon_check_fail) + 2 -> binding.value.setImageResource(R.drawable.reg_icon_no_check) } } } diff --git a/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/ResultsActivity.kt b/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/ResultsActivity.kt index 64f92c2..a7653fd 100644 --- a/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/ResultsActivity.kt +++ b/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/ResultsActivity.kt @@ -59,10 +59,11 @@ class ResultsActivity : AppCompatActivity() { startActivity(Intent(this, DirectResultsActivity::class.java)) } - if (results.status.overallStatus == CH_CHECK_OK) - binding.overAllResultImage.setImageResource(android.R.drawable.ic_menu_add) - if (results.status.overallStatus == CH_CHECK_WAS_NOT_DONE) - binding.overAllResultImage.setImageResource(android.R.drawable.ic_menu_help) + when(results.status.overallStatus) { + CH_CHECK_OK -> binding.overAllResultImage.setImageResource(R.drawable.reg_icon_check_ok) + CH_CHECK_WAS_NOT_DONE -> binding.overAllResultImage.setImageResource(R.drawable.reg_icon_no_check) + else -> binding.overAllResultImage.setImageResource(R.drawable.reg_icon_check_fail) + } binding.tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { override fun onTabSelected(tab: TabLayout.Tab?) { diff --git a/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/SettingsActivity.kt b/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/SettingsActivity.kt index f2360de..3cf528d 100644 --- a/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/SettingsActivity.kt +++ b/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/SettingsActivity.kt @@ -25,6 +25,7 @@ import com.regula.documentreader.SettingsActivity.Companion.customString import com.regula.documentreader.SettingsActivity.Companion.functionality import com.regula.documentreader.SettingsActivity.Companion.isDataEncryptionEnabled import com.regula.documentreader.api.DocumentReader.Instance +import com.regula.documentreader.api.enums.BarcodeType import com.regula.documentreader.api.enums.DocReaderFrame.* import com.regula.documentreader.api.enums.MRZFormat.* import com.regula.documentreader.api.enums.diDocType @@ -658,26 +659,26 @@ class APISettingsFragment : Fragment() { "Do barcodes", "processParams.doBarcodes", arrayListOf( - BSItem(".unknown"), - BSItem(".code128"), - BSItem(".code39"), - BSItem(".EAN8"), - BSItem(".ITF"), - BSItem(".PDF417"), - BSItem(".PDF417"), - BSItem(".STF"), - BSItem(".MTF"), - BSItem(".IATA"), - BSItem(".CODABAR"), - BSItem(".UPCA"), - BSItem(".CODE93"), - BSItem(".UPCE"), - BSItem(".EAN13"), - BSItem(".QRCODE"), - BSItem(".AZTEC"), - BSItem(".DATAMATRIX"), - BSItem(".ALL_1D"), - BSItem(".code11") + BSItem(BarcodeType.valueOf(BarcodeType.UNKNOWN)), + BSItem(BarcodeType.valueOf(BarcodeType.BCT_CODE128)), + BSItem(BarcodeType.valueOf(BarcodeType.CODE39)), + BSItem(BarcodeType.valueOf(BarcodeType.EAN8)), + BSItem(BarcodeType.valueOf(BarcodeType.ITF)), + BSItem(BarcodeType.valueOf(BarcodeType.PDF417)), + BSItem(BarcodeType.valueOf(BarcodeType.STF)), + BSItem(BarcodeType.valueOf(BarcodeType.MTF)), + BSItem(BarcodeType.valueOf(BarcodeType.IATA)), + BSItem(BarcodeType.valueOf(BarcodeType.CODABAR)), + BSItem(BarcodeType.valueOf(BarcodeType.UPCA)), + BSItem(BarcodeType.valueOf(BarcodeType.CODE93)), + BSItem(BarcodeType.valueOf(BarcodeType.UPCE)), + BSItem(BarcodeType.valueOf(BarcodeType.EAN13)), + BSItem(BarcodeType.valueOf(BarcodeType.QRCODE)), + BSItem(BarcodeType.valueOf(BarcodeType.AZTEC)), + BSItem(BarcodeType.valueOf(BarcodeType.DATAMATRIX)), + BSItem(BarcodeType.valueOf(BarcodeType.ALL_1D)), + BSItem(BarcodeType.valueOf(BarcodeType.CODE11)), + BSItem(BarcodeType.valueOf(BarcodeType.JABCODE)) ), { Instance().processParams().doBarcodes?.toMutableList() ?: mutableListOf() }, { Instance().processParams().doBarcodes = it.toTypedArray() } diff --git a/Advanced/DocumentReader-Kotlin/app/src/main/res/layout/activity_results.xml b/Advanced/DocumentReader-Kotlin/app/src/main/res/layout/activity_results.xml index 0e1fed5..133defe 100644 --- a/Advanced/DocumentReader-Kotlin/app/src/main/res/layout/activity_results.xml +++ b/Advanced/DocumentReader-Kotlin/app/src/main/res/layout/activity_results.xml @@ -78,8 +78,7 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@id/overAllResult" app:layout_constraintTop_toTopOf="parent" - app:tint="@color/confirm_red" - app:srcCompat="@android:drawable/ic_menu_close_clear_cancel" /> + app:srcCompat="@drawable/reg_icon_check_fail" /> + xmlns:tools="http://schemas.android.com/tools"> - + android:label="@string/app_name" + android:theme="@style/AppTheme"> + - \ No newline at end of file diff --git a/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainActivity.kt b/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainActivity.kt new file mode 100644 index 0000000..a93866c --- /dev/null +++ b/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainActivity.kt @@ -0,0 +1,126 @@ +package com.regula.documentreader + +import android.content.DialogInterface +import android.opengl.Visibility +import android.os.Bundle +import android.util.Log +import android.view.View +import android.widget.Toast +import androidx.appcompat.app.AlertDialog +import androidx.appcompat.app.AppCompatActivity + +import androidx.lifecycle.ViewModelProvider +import com.google.android.material.dialog.MaterialAlertDialogBuilder +import com.regula.documentreader.api.DocumentReader +import com.regula.documentreader.databinding.MainLayoutBinding +import com.regula.documentreader.util.Utils + +open class MainActivity : AppCompatActivity() { + + private val binding: MainLayoutBinding by lazy { MainLayoutBinding.inflate(layoutInflater) } + private val viewModel: MainViewModel by lazy { + ViewModelProvider(this, MainViewModelFactory(DocumentReader.Instance())).get(MainViewModel::class.java) + } + + private var progressDialog: AlertDialog? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + val view = binding.root + setContentView(view) + + binding.prepareDb.setOnClickListener { + progressDialog = showDialog("Prepare database") { _, _ -> + progressDialog?.dismiss() + viewModel.cancelDbUpdate(this@MainActivity) + } + progressDialog?.show() + viewModel.prepareDatabase(applicationContext) + } + + binding.removeDb.setOnClickListener { + viewModel.removeDatabase(applicationContext) + } + + binding.updateDb.setOnClickListener { + viewModel.updateDatabase(applicationContext) + } + + binding.autoUpdateDb.setOnClickListener { + progressDialog = showDialog("Auto update database") { _, _ -> + progressDialog?.dismiss() + viewModel.cancelDbUpdate(this@MainActivity) + } + progressDialog?.show() + viewModel.runAutoUpdate(applicationContext) + } + + binding.initialize.setOnClickListener { + progressDialog = showDialog("Initialization") + progressDialog?.show() + viewModel.initialize(applicationContext) + } + + binding.deinitialize.setOnClickListener { + viewModel.deinitialize() + } + + try { + Utils.getLicense(this) + } catch (e: Exception) { + binding.initialize.visibility = View.GONE + binding.deinitialize.visibility = View.GONE + } + + observeData() + } + + private fun observeData() { + viewModel.lockUI.observe(this) { isEnabled -> + binding.prepareDb.isEnabled = isEnabled + binding.removeDb.isEnabled = isEnabled + binding.updateDb.isEnabled = isEnabled + binding.autoUpdateDb.isEnabled = isEnabled + binding.initialize.isEnabled = isEnabled + binding.deinitialize.isEnabled = isEnabled + } + + viewModel.progressData.observe(this) { + progressDialog?.setTitle("Downloading database: $it") + } + + viewModel.prepareSuccess.observe(this) { + progressDialog?.dismiss() + Toast.makeText(applicationContext, "Download database completed", Toast.LENGTH_LONG).show() + } + + viewModel.prepareFailed.observe(this) { + progressDialog?.dismiss() + Toast.makeText(applicationContext, "Download database failed with error: $it", Toast.LENGTH_LONG).show() + Log.e("MainActivity", "DB download error: $it") + } + + viewModel.dbInfo.observe(this) { + binding.dbInfo.text = it + } + + viewModel.initState.observe(this) { + progressDialog?.dismiss() + Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() + } + } + + private fun showDialog(msg: String, clickListener: DialogInterface.OnClickListener? = null): AlertDialog { + val builder = MaterialAlertDialogBuilder(this) + .setTitle(msg) + .setView(layoutInflater.inflate(R.layout.simple_dialog, binding.root, false)) + .setCancelable(false) + + clickListener?.let { + builder.setCancelable(true) + builder.setPositiveButton("Cancel", clickListener) + } + return builder.show() + } +} diff --git a/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainViewModel.kt b/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainViewModel.kt new file mode 100644 index 0000000..d5c51f0 --- /dev/null +++ b/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainViewModel.kt @@ -0,0 +1,106 @@ +package com.regula.documentreader + +import android.content.Context +import android.icu.text.DecimalFormat +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import com.regula.documentreader.api.DocumentReader +import com.regula.documentreader.api.completions.ICheckDatabaseUpdate +import com.regula.documentreader.api.completions.IDocumentReaderInitCompletion +import com.regula.documentreader.api.completions.IDocumentReaderPrepareDbCompletion +import com.regula.documentreader.api.completions.model.PrepareProgress +import com.regula.documentreader.api.errors.DocumentReaderException +import com.regula.documentreader.api.params.DocReaderConfig +import com.regula.documentreader.util.Utils + +class MainViewModel(private val documentReader: DocumentReader): ViewModel() { + + val progressData = MutableLiveData() + val prepareSuccess = MutableLiveData() + val prepareFailed = MutableLiveData() + val lockUI = MutableLiveData() + val dbInfo = MutableLiveData() + val initState = MutableLiveData() + + private val DATABASE_ID = "Full" + + fun prepareDatabase(context: Context) { + dbInfo.value = "" + lockUI.value = false + documentReader.prepareDatabase(context, DATABASE_ID, prepareCompletion) + } + + fun removeDatabase(context: Context) { + dbInfo.value = "" + documentReader.removeDatabase(context) + } + + fun updateDatabase(context: Context) { + dbInfo.value = "" + lockUI.value = false + documentReader.checkDatabaseUpdate(context, DATABASE_ID, checkDbUpdateCompletion) + } + + fun cancelDbUpdate(context: Context) { + dbInfo.value = "" + documentReader.cancelDBUpdate(context) + } + + fun runAutoUpdate(context: Context) { + dbInfo.value = "" + lockUI.value = false + documentReader.runAutoUpdate(context, DATABASE_ID, prepareCompletion) + } + + fun initialize(context: Context) { + val license = Utils.getLicense(context) ?: return + + lockUI.value = false + val config = DocReaderConfig(license) + documentReader.initializeReader(context, config, initCompletion) + } + + fun deinitialize() { + documentReader.deinitializeReader() + } + + private val prepareCompletion = object: IDocumentReaderPrepareDbCompletion() { + override fun onPrepareProgressChanged(prepareProgress: PrepareProgress) { + val d: Double = prepareProgress.downloadedBytes.toDouble() / 1000000 + val t: Double = prepareProgress.totalBytes.toDouble() / 1000000 + val df = DecimalFormat("0.00") + val progress = df.format(d) + "/" + df.format(t) + " - " + prepareProgress.progress + "%" + progressData.postValue(progress) + } + + override fun onPrepareCompleted(status: Boolean, error: DocumentReaderException?) { + lockUI.value = true + error?.let { + prepareFailed.postValue(it.message) + } ?: run { + prepareSuccess.postValue(null) + } + } + } + + private val checkDbUpdateCompletion = ICheckDatabaseUpdate { db -> + lockUI.value = true + db?.let { + dbInfo.value = "Version: ${db.version}\nDate: ${db.date}\nDescription: ${db.databaseDescription}\nSize: ${Utils.humanReadableByteCountSI(db.size!!)}" + } ?: run { + dbInfo.value = "Issue during check db version" + } + } + + private val initCompletion = + IDocumentReaderInitCompletion { status, error -> + lockUI.value = true + error?.let { + initState.value = "Initialization failed: ${it.message}" + } ?: run { + if (status) + initState.value = "Initialization success" + } + } + +} \ No newline at end of file diff --git a/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainViewModelFactory.kt b/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainViewModelFactory.kt new file mode 100644 index 0000000..09a9d8c --- /dev/null +++ b/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/MainViewModelFactory.kt @@ -0,0 +1,12 @@ +package com.regula.documentreader + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import com.regula.documentreader.api.DocumentReader + +class MainViewModelFactory(private val documentReader: DocumentReader): ViewModelProvider.Factory { + + override fun create(modelClass: Class): T { + return MainViewModel(documentReader) as T + } +} \ No newline at end of file diff --git a/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/util/Utils.kt b/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/util/Utils.kt new file mode 100644 index 0000000..a58a324 --- /dev/null +++ b/DownloadDatabaseSample/app/src/main/java/com/regula/documentreader/util/Utils.kt @@ -0,0 +1,39 @@ +package com.regula.documentreader.util + +import android.content.Context +import java.io.ByteArrayOutputStream +import java.io.InputStream +import java.text.CharacterIterator +import java.text.StringCharacterIterator + + +object Utils { + + fun getLicense(context: Context?): ByteArray? { + if (context == null) return null + + val inputStream: InputStream = context.assets.open("regula.license") + + val buffer = ByteArray(8192) + var bytesRead: Int + val output = ByteArrayOutputStream() + while (inputStream.read(buffer).also { bytesRead = it } != -1) { + output.write(buffer, 0, bytesRead) + } + + return output.toByteArray() + } + + fun humanReadableByteCountSI(bytes: Long): String? { + var bytes = bytes + if (-1000 < bytes && bytes < 1000) { + return "$bytes B" + } + val ci: CharacterIterator = StringCharacterIterator("kMGTPE") + while (bytes <= -999950 || bytes >= 999950) { + bytes /= 1000 + ci.next() + } + return String.format("%.1f %cB", bytes / 1000.0, ci.current()) + } +} \ No newline at end of file diff --git a/DownloadDatabaseSample/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/DownloadDatabaseSample/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..c893b1a --- /dev/null +++ b/DownloadDatabaseSample/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + + diff --git a/PackageForReprocess-Kotlin/app/src/main/res/drawable/ic_launcher_background.xml b/DownloadDatabaseSample/app/src/main/res/drawable/ic_launcher_background.xml similarity index 100% rename from PackageForReprocess-Kotlin/app/src/main/res/drawable/ic_launcher_background.xml rename to DownloadDatabaseSample/app/src/main/res/drawable/ic_launcher_background.xml diff --git a/DownloadDatabaseSample/app/src/main/res/drawable/rounded.xml b/DownloadDatabaseSample/app/src/main/res/drawable/rounded.xml new file mode 100644 index 0000000..8c4cdd4 --- /dev/null +++ b/DownloadDatabaseSample/app/src/main/res/drawable/rounded.xml @@ -0,0 +1,10 @@ + + + + + diff --git a/DownloadDatabaseSample/app/src/main/res/layout/main_layout.xml b/DownloadDatabaseSample/app/src/main/res/layout/main_layout.xml new file mode 100644 index 0000000..7cae58a --- /dev/null +++ b/DownloadDatabaseSample/app/src/main/res/layout/main_layout.xml @@ -0,0 +1,93 @@ + + + + + + + +