From fb616a9f2920cb6f910612aa9b68186aed3dbefe Mon Sep 17 00:00:00 2001 From: Vineyro Date: Fri, 10 Nov 2023 17:03:55 +0700 Subject: [PATCH] =?UTF-8?q?=D0=AD=D0=BA=D1=81=D0=BF=D0=BE=D1=80=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 6 ++-- app/src/main/AndroidManifest.xml | 10 +++++- .../java/llc/arma/ble/app/ui/MainActivity.kt | 31 +++++++++++++---- .../llc/arma/ble/data/XlsxRepositoryImpl.kt | 33 ++++++++++++------- 4 files changed, 58 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 77d72f2..3cfef6a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { applicationId "llc.arma.ble" minSdk 26 targetSdk 33 - versionCode 10 - versionName "1.2.10" + versionCode 12 + versionName "1.2.12" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { @@ -24,7 +24,7 @@ android { buildTypes { release { - minifyEnabled true + minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2469251..f9ed2e5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,6 +18,13 @@ + + + + + + android:name=".app.framework.App" + android:requestLegacyExternalStorage="true"> = Build.VERSION_CODES.S) { + + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + rememberMultiplePermissionsState( listOf( + Manifest.permission.READ_MEDIA_VIDEO, + Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.BLUETOOTH_SCAN, Manifest.permission.BLUETOOTH_CONNECT ) ) - } else { - rememberMultiplePermissionsState( - listOf( - Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.ACCESS_COARSE_LOCATION + + }else{ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + rememberMultiplePermissionsState( + listOf( + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.BLUETOOTH_SCAN, + Manifest.permission.BLUETOOTH_CONNECT + ) ) - ) + } else { + rememberMultiplePermissionsState( + listOf( + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.ACCESS_FINE_LOCATION, + Manifest.permission.ACCESS_COARSE_LOCATION + ) + ) + } } if (multiplePermissionsState.allPermissionsGranted) { diff --git a/app/src/main/java/llc/arma/ble/data/XlsxRepositoryImpl.kt b/app/src/main/java/llc/arma/ble/data/XlsxRepositoryImpl.kt index 298c706..71f0a03 100644 --- a/app/src/main/java/llc/arma/ble/data/XlsxRepositoryImpl.kt +++ b/app/src/main/java/llc/arma/ble/data/XlsxRepositoryImpl.kt @@ -1,7 +1,10 @@ package llc.arma.ble.data +import android.R.attr.src import android.app.Application import android.icu.text.SimpleDateFormat +import android.os.Environment +import android.os.FileUtils import llc.arma.ble.R import llc.arma.ble.domain.model.Ble import llc.arma.ble.domain.repository.XlsxRepository @@ -15,29 +18,28 @@ import java.util.Date import java.util.UUID import javax.inject.Inject + class XlsxRepositoryImpl @Inject constructor( private val application: Application ) : XlsxRepository { - - override fun exportToXls(data: List): File { val formatter = SimpleDateFormat("dd.MM.yyyy HH:mm") - val file = File(application.filesDir, "${UUID.randomUUID()}.xlsx") - file.createNewFile() + val mailFile = File(application.filesDir, "${UUID.randomUUID()}.xlsx") + mailFile.createNewFile() + when(data.firstOrNull()){ is Ble.Accelerometer.HistoryPoint.Vibration -> { - IOUtils.copy(application.resources.openRawResource(R.raw.measure_single_axis), FileOutputStream(file)) + IOUtils.copy(application.resources.openRawResource(R.raw.measure_single_axis), FileOutputStream(mailFile)) } else -> { - IOUtils.copy(application.resources.openRawResource(R.raw.measure_multiple_axis), FileOutputStream(file)) + IOUtils.copy(application.resources.openRawResource(R.raw.measure_multiple_axis), FileOutputStream(mailFile)) } } - - val fileIn = FileInputStream(file) + val fileIn = FileInputStream(mailFile) val workbook = WorkbookFactory.create(fileIn) val worksheet = workbook.getSheetAt(0) as XSSFSheet @@ -78,11 +80,20 @@ class XlsxRepositoryImpl @Inject constructor( } fileIn.close() - val saveFos = FileOutputStream(file) + val saveFos = FileOutputStream(mailFile) workbook.write(saveFos) - workbook.close() saveFos.close() - return file + + val sharedFile = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "${UUID.randomUUID()}.xlsx") + sharedFile.createNewFile() + + val sharedSaveFos = FileOutputStream(sharedFile) + workbook.write(sharedSaveFos) + sharedSaveFos.close() + + workbook.close() + + return mailFile } } \ No newline at end of file