From a15a83ae3673d25da78c1f77c362f48891d216ee Mon Sep 17 00:00:00 2001 From: Noman Baig <49509445+NomanBaigA@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:35:46 +0530 Subject: [PATCH 1/6] Update build.gradle Updating project for newer Android versions --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index b1045eb..7051e60 100644 --- a/build.gradle +++ b/build.gradle @@ -7,8 +7,8 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20" + classpath 'com.android.tools.build:gradle:7.4.2' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.0" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 4df2336fc9293d6d4bfbd7adde5f625a5cd1f73b Mon Sep 17 00:00:00 2001 From: Noman Baig <49509445+NomanBaigA@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:39:03 +0530 Subject: [PATCH 2/6] Update build.gradle Updating project for newer Android versions --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f348d2a..1140b3b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,12 +4,12 @@ apply plugin: 'kotlin-android-extensions' android { // Note: SDK version 31 includes a great many revisions to core platform APIs. - compileSdkVersion 30 + compileSdkVersion 34 defaultConfig { applicationId "com.danefinlay.ttsutil" minSdkVersion 15 - targetSdkVersion 30 + targetSdkVersion 34 versionCode 8 versionName "4.0.2" } From 48c48c7d48de9893e3effd322a21b31871ed9647 Mon Sep 17 00:00:00 2001 From: Noman Baig <49509445+NomanBaigA@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:41:32 +0530 Subject: [PATCH 3/6] Update gradle-wrapper.properties Updating project for newer Android versions --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b38c35a..b51c614 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip From 50cdef2ed6545ad66d770da0c8904fcdd63598f5 Mon Sep 17 00:00:00 2001 From: Noman Baig <49509445+NomanBaigA@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:43:46 +0530 Subject: [PATCH 4/6] Update ActivityEvents.kt Updating project for newer Android versions --- app/src/main/java/com/danefinlay/ttsutil/ui/ActivityEvents.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/danefinlay/ttsutil/ui/ActivityEvents.kt b/app/src/main/java/com/danefinlay/ttsutil/ui/ActivityEvents.kt index 48a69d3..607d187 100644 --- a/app/src/main/java/com/danefinlay/ttsutil/ui/ActivityEvents.kt +++ b/app/src/main/java/com/danefinlay/ttsutil/ui/ActivityEvents.kt @@ -58,7 +58,7 @@ sealed class ActivityEvent : Parcelable { } class TTSReadyEvent : ActivityEvent(), Parcelable { - override fun writeToParcel(dest: Parcel?, flags: Int) {} + override fun writeToParcel(p0: Parcel, flags: Int) {} override fun describeContents(): Int = 0 companion object CREATOR : Parcelable.Creator { From 947e8e01e99a95f36e7449ee42ee98e0aa2e7b5f Mon Sep 17 00:00:00 2001 From: Noman Baig <49509445+NomanBaigA@users.noreply.github.com> Date: Sat, 7 Oct 2023 18:13:01 +0530 Subject: [PATCH 5/6] Update build.gradle --- app/build.gradle | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1140b3b..5862f39 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,6 +12,7 @@ android { targetSdkVersion 34 versionCode 8 versionName "4.0.2" + multiDexEnabled true } lintOptions { @@ -45,23 +46,25 @@ dependencies { implementation 'androidx.documentfile:documentfile:1.0.1' implementation 'androidx.navigation:navigation-fragment-ktx:2.0.0' implementation 'androidx.navigation:navigation-ui-ktx:2.0.0' - implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' + implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' implementation 'androidx.navigation:navigation-fragment-ktx:2.0.0' implementation 'androidx.navigation:navigation-ui-ktx:2.0.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.preference:preference-ktx:1.0.0' implementation 'org.jetbrains.anko:anko-sdk15:0.9' implementation 'org.jetbrains.anko:anko-support-v4:0.9.1' - implementation 'androidx.constraintlayout:constraintlayout:2.0.0' - implementation 'com.google.android.material:material:1.0.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'com.google.android.material:material:1.9.0' + + implementation 'com.android.support:multidex:1.0.0' } + repositories { mavenCentral() google() } - task wrapper(type: Wrapper) { gradleVersion = '2.0' } From 927a245db467a7a174643291d8f32c61a6c2bda8 Mon Sep 17 00:00:00 2001 From: Noman Baig <49509445+NomanBaigA@users.noreply.github.com> Date: Tue, 10 Oct 2023 13:40:31 +0530 Subject: [PATCH 6/6] Updated onClickSave() in ReadTextFragments.kt Now output file name will be different each time. Example output file - TextToSpeech_10102023_133250.wav --- .../danefinlay/ttsutil/ui/ReadTextFragments.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/danefinlay/ttsutil/ui/ReadTextFragments.kt b/app/src/main/java/com/danefinlay/ttsutil/ui/ReadTextFragments.kt index fe2c742..b65cd56 100644 --- a/app/src/main/java/com/danefinlay/ttsutil/ui/ReadTextFragments.kt +++ b/app/src/main/java/com/danefinlay/ttsutil/ui/ReadTextFragments.kt @@ -263,7 +263,7 @@ abstract class ReadTextFragmentBase : MyFragment() { override fun onClickSave() { super.onClickSave() - // Determine the output directory. If the user has not chosen one, the + // Determine the output directory. If the user has not chosen one, the // "external" storage is used. val event = activityInterface?.getLastDirChosenEvent() val directory: Directory = if (event != null) { @@ -274,16 +274,21 @@ abstract class ReadTextFragmentBase : MyFragment() { } // Determine the names of the wave file and directory. - // TODO Allow the user to change the filename. - val waveFilename = getString(R.string.output_wave_filename) + ".wav" + // Get the current date and time in the format 'ddMMyyyy_HHmmss'. + val currentDateTime = SimpleDateFormat("ddMMyyyy_HHmmss", Locale.getDefault()).format(Date()) + + // Append the current date and time to the filename. + val waveFilename = "textToSpeech_$currentDateTime.wav" + val dirDisplayName: String = event?.firstDisplayName - ?: getString(R.string.default_output_dir) + ?: getString(R.string.default_output_dir) // Build and display an appropriate alert dialog. AlertDialogBuilder(ctx).apply { title(R.string.write_to_file_alert_title) - message(getString(R.string.write_to_file_alert_message_3, - waveFilename, dirDisplayName)) + message(getString( + R.string.write_to_file_alert_message_3, + waveFilename, dirDisplayName)) positiveButton(R.string.alert_positive_message_2) { // Ask the user for write permission if necessary. withStoragePermission { granted ->