From 9b60e78c1f437f051237a5d1ea283ed89d7f1af3 Mon Sep 17 00:00:00 2001 From: Isaac Shoebottom Date: Tue, 6 Dec 2022 07:00:52 -0400 Subject: [PATCH] Something --- app/build.gradle | 10 +++---- .../com/example/myapplication/Compressor.kt | 10 +++++++ .../com/example/myapplication/MainActivity.kt | 28 ++++++++++++++++++- 3 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 app/src/main/java/com/example/myapplication/Compressor.kt diff --git a/app/build.gradle b/app/build.gradle index bca158c..df7e404 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,7 +8,7 @@ android { defaultConfig { applicationId "com.example.myapplication" - minSdk 21 + minSdk 24 targetSdk 32 versionCode 1 versionName "1.0" @@ -35,8 +35,7 @@ android { } dependencies { - - implementation 'androidx.core:core-ktx:1.7.0' + implementation 'androidx.core:core-ktx:1.8.0' implementation 'androidx.appcompat:appcompat:1.5.1' implementation 'com.google.android.material:material:1.7.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' @@ -44,7 +43,8 @@ dependencies { implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1' implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3' implementation 'androidx.navigation:navigation-ui-ktx:2.5.3' + implementation 'com.arthenica:ffmpeg-kit-full:5.1' testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.3' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.4' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0' } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/Compressor.kt b/app/src/main/java/com/example/myapplication/Compressor.kt new file mode 100644 index 0000000..ddb69e3 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/Compressor.kt @@ -0,0 +1,10 @@ +package com.example.myapplication + +import java.io.FileDescriptor + +class Compressor { + + public fun compressFile(fileDescriptor: FileDescriptor) { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/MainActivity.kt b/app/src/main/java/com/example/myapplication/MainActivity.kt index c72af23..cca614c 100644 --- a/app/src/main/java/com/example/myapplication/MainActivity.kt +++ b/app/src/main/java/com/example/myapplication/MainActivity.kt @@ -1,9 +1,11 @@ package com.example.myapplication import android.app.Activity +import android.content.ContentResolver import android.content.Intent import android.net.Uri import android.os.Bundle +import android.provider.MediaStore import android.view.Menu import android.view.MenuItem import android.view.View @@ -20,6 +22,7 @@ import com.example.myapplication.databinding.ActivityMainBinding import com.example.myapplication.ui.compressing.CompressingAdapter import com.example.myapplication.ui.compressing.CompressingItem import com.google.android.material.bottomnavigation.BottomNavigationView +import java.io.FileInputStream import java.util.* class MainActivity : AppCompatActivity() { @@ -71,6 +74,10 @@ class MainActivity : AppCompatActivity() { Toast.makeText(applicationContext, "Files", Toast.LENGTH_LONG).show() + if (fileName != null && fileDate != null) { + compressingItems.add(CompressingItem(fileName!!, 0.0, fileDate!!)) + } + compressingItems.add(CompressingItem("Testing", 0.5, Date(1))) return true @@ -83,11 +90,30 @@ class MainActivity : AppCompatActivity() { } } + private var fileName: String? = null + private var fileDate: Date? = null + private var fileStream: FileInputStream? = null + //grabs output from pressing files, used for grabbing URI - var resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> + private var resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == Activity.RESULT_OK) { // There are no request codes val data: Uri? = result.data?.data + + val contentResolver: ContentResolver = contentResolver + val fileDescriptor = contentResolver.openFileDescriptor(data!!, "r") + val fd = fileDescriptor?.fileDescriptor + val inputStream = FileInputStream(fd) + + val cursor = contentResolver.query(data, null, null, null, null) + val dateIndex = cursor?.getColumnIndex(MediaStore.MediaColumns.DATE_ADDED) + fileDate = Date(dateIndex?.toLong()!!) + val nameIndex = cursor.getColumnIndex(MediaStore.MediaColumns.DISPLAY_NAME) + fileName = cursor.getString(nameIndex) + + + this.fileStream = inputStream + Toast.makeText(applicationContext, data.toString(), Toast.LENGTH_LONG).show() } }