diff --git a/app/src/main/java/com/certified/audionote/ui/EditNoteFragment.kt b/app/src/main/java/com/certified/audionote/ui/EditNoteFragment.kt
index e73fdb6..6e90804 100644
--- a/app/src/main/java/com/certified/audionote/ui/EditNoteFragment.kt
+++ b/app/src/main/java/com/certified/audionote/ui/EditNoteFragment.kt
@@ -149,11 +149,6 @@ class EditNoteFragment : Fragment(), View.OnClickListener, DatePickerDialog.OnDa
}
tvTitle.text = getString(R.string.edit_note)
- etNoteTitle.apply {
-// inputType = InputType.TYPE_NULL
- keyListener = null
- setOnClickListener { showToast(requireContext().getString(R.string.cant_edit_note_title)) }
- }
btnRecord.setImageDrawable(
ResourcesCompat.getDrawable(
resources,
@@ -257,30 +252,26 @@ class EditNoteFragment : Fragment(), View.OnClickListener, DatePickerDialog.OnDa
}
private fun onClickWhenIdIsZero(p0: View?) {
+ val context = requireContext()
binding.apply {
when (p0) {
btnRecord -> {
if (!isRecording) {
- if (hasPermission(requireContext(), Manifest.permission.RECORD_AUDIO))
- if (etNoteTitle.text.toString().isNotBlank())
- btnRecord.setImageDrawable(
- ResourcesCompat.getDrawable(
- resources,
- R.drawable.ic_mic_recording,
- null
- )
- ).run {
- isRecording = true
- startRecording()
- }
- else {
- showToast(requireContext().getString(R.string.title_required))
- etNoteTitle.requestFocus()
+ if (hasPermission(context, Manifest.permission.RECORD_AUDIO))
+ btnRecord.setImageDrawable(
+ ResourcesCompat.getDrawable(
+ resources,
+ R.drawable.ic_mic_recording,
+ null
+ )
+ ).run {
+ isRecording = true
+ startRecording()
}
else
requestPermission(
requireActivity(),
- requireContext().getString(R.string.permission_required),
+ context.getString(R.string.permission_required),
MainActivity.RECORD_AUDIO_PERMISSION_CODE,
Manifest.permission.RECORD_AUDIO
)
@@ -299,17 +290,21 @@ class EditNoteFragment : Fragment(), View.OnClickListener, DatePickerDialog.OnDa
fabSaveNote -> {
if (etNoteTitle.text.toString().isNotBlank()) {
stopRecording()
+ if (_note.audioLength <= 0) {
+ showToast(context.getString(R.string.record_note_before_saving))
+ return
+ }
val note = _note.copy(
title = etNoteTitle.text.toString().trim(),
description = etNoteDescription.text.toString().trim()
)
viewModel.insertNote(note)
- showToast(requireContext().getString(R.string.note_saved))
+ showToast(context.getString(R.string.note_saved))
if (pickedDateTime?.timeInMillis != null && pickedDateTime!!.timeInMillis <= currentDateTime.timeInMillis)
- startAlarm(requireContext(), pickedDateTime!!.timeInMillis, note)
+ startAlarm(context, pickedDateTime!!.timeInMillis, note)
navController.navigate(R.id.action_editNoteFragment_to_homeFragment)
} else {
- showToast(requireContext().getString(R.string.title_required))
+ showToast(context.getString(R.string.title_required))
etNoteTitle.requestFocus()
}
}
@@ -374,7 +369,7 @@ class EditNoteFragment : Fragment(), View.OnClickListener, DatePickerDialog.OnDa
}
private fun launchDeleteNoteDialog(context: Context) {
- val materialDialog = MaterialAlertDialogBuilder(requireContext())
+ val materialDialog = MaterialAlertDialogBuilder(context)
materialDialog.apply {
setTitle(context.getString(R.string.delete_note))
setMessage("${context.getString(R.string.confirm_deletion)} ${_note.title}?")
@@ -390,7 +385,7 @@ class EditNoteFragment : Fragment(), View.OnClickListener, DatePickerDialog.OnDa
private fun startRecording() {
val filePath = filePath(requireActivity())
- val fileName = "${binding.etNoteTitle.text.toString().trim()}.3gp"
+ val fileName = "${System.currentTimeMillis()}.3gp"
_note.filePath = "$filePath/$fileName"
showToast(requireContext().getString(R.string.started_recording))
@@ -410,7 +405,6 @@ class EditNoteFragment : Fragment(), View.OnClickListener, DatePickerDialog.OnDa
prepare()
start()
stopWatch!!.start()
- disableNoteTitleEdit()
} catch (e: IOException) {
showToast(requireContext().getString(R.string.error_occurred))
}
@@ -429,9 +423,11 @@ class EditNoteFragment : Fragment(), View.OnClickListener, DatePickerDialog.OnDa
reset()
}
stopWatch = null
+ if (_note.audioLength <= 0)
+ return
val file = File(_note.filePath)
val fileByte = (file.readBytes().size.toDouble() / 1048576.00)
- val fileSize = roundOffDecimal(fileByte).toString()
+ val fileSize = roundOffDecimal(fileByte)
_note.size = fileSize
showToast(requireContext().getString(R.string.stopped_recording))
}
@@ -470,13 +466,6 @@ class EditNoteFragment : Fragment(), View.OnClickListener, DatePickerDialog.OnDa
}
}
- private fun disableNoteTitleEdit() {
- binding.etNoteTitle.apply {
- keyListener = null
- setOnClickListener { showToast(requireContext().getString(R.string.cant_edit_note_title)) }
- }
- }
-
private fun pausePlayingRecording() {
mediaPlayer?.pause()
timer?.stop()
diff --git a/app/src/main/java/com/certified/audionote/utils/Util.kt b/app/src/main/java/com/certified/audionote/utils/Util.kt
index 7062404..f247b58 100644
--- a/app/src/main/java/com/certified/audionote/utils/Util.kt
+++ b/app/src/main/java/com/certified/audionote/utils/Util.kt
@@ -27,8 +27,6 @@ import com.certified.audionote.R
import com.certified.audionote.model.Note
import com.certified.audionote.ui.AlertReceiver
import com.vmadalin.easypermissions.EasyPermissions
-import java.math.RoundingMode
-import java.text.DecimalFormat
import java.text.SimpleDateFormat
import java.util.*
import java.util.concurrent.TimeUnit
@@ -116,8 +114,6 @@ fun cancelAlarm(context: Context, noteId: Int) {
Log.d("TAG", "cancelAlarm: Alarm canceled")
}
-fun roundOffDecimal(number: Double): Double {
- val df = DecimalFormat("#.##")
- df.roundingMode = RoundingMode.CEILING
- return df.format(number).toDouble()
+fun roundOffDecimal(number: Double): String {
+ return "%.2f".format(number)
}
\ No newline at end of file
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index e3d2c7d..c33cd76 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -27,7 +27,7 @@
Pulsante Indietro
Pulsante Elimina
Pulsante Condividi
- Clicca per aggiungere un promemoria a questa nota
+ Aggiungi un promemoria a questa nota
Registra
Pulsante Promemoria
Bentornato
@@ -66,7 +66,6 @@
Chiaro
Scuro
In riproduzione
- Non puoi modificare il titolo della nota
Il titolo della nota è obbligatorio
Questa autorizzazione è richiesta per abilitare le registrazioni audio
Nota salvata
@@ -83,4 +82,5 @@
Oggi
Imminenti
Completate
+ Registra la tua nota audio prima di salvare
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 904b1eb..3975755 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -71,7 +71,6 @@
Light
Dark
Now playing
- You can\'t edit the note title
The note title is required
This permission is required to enable audio recording
Note saved
@@ -88,4 +87,5 @@
Today
Upcoming
Completed
+ Please record your audio note before saving
\ No newline at end of file