Skip to content

Commit

Permalink
Attaching the device logs in the email body instead of as a file.
Browse files Browse the repository at this point in the history
* We cannot attach a file to the email when using the `ACTION_SENDTO` action in the intent. However, we must use this intent action because it is the only one handled exclusively by email apps. This ensures that only email apps appear in the suggestions.
  • Loading branch information
MohitMaliDeveloper committed Oct 22, 2024
1 parent e12387e commit 61dd97c
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import android.os.Bundle
import android.os.Process
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider
import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.launch
import org.kiwix.kiwixmobile.core.CoreApp.Companion.coreComponent
Expand Down Expand Up @@ -102,12 +101,7 @@ open class ErrorActivity : BaseActivity() {
if (activities.isNotEmpty()) {
sendEmailLauncher.launch(Intent.createChooser(emailIntent, "Send email..."))

Check warning on line 102 in core/src/main/java/org/kiwix/kiwixmobile/core/error/ErrorActivity.kt

View check run for this annotation

Codecov / codecov/patch

core/src/main/java/org/kiwix/kiwixmobile/core/error/ErrorActivity.kt#L102

Added line #L102 was not covered by tests
} else {
toast(
getString(
R.string.no_email_application_installed,
CRASH_AND_FEEDBACK_EMAIL_ADDRESS
)
)
toast(getString(R.string.no_email_application_installed))

Check warning on line 104 in core/src/main/java/org/kiwix/kiwixmobile/core/error/ErrorActivity.kt

View check run for this annotation

Codecov / codecov/patch

core/src/main/java/org/kiwix/kiwixmobile/core/error/ErrorActivity.kt#L104

Added line #L104 was not covered by tests
}
}
}
Expand All @@ -124,20 +118,11 @@ open class ErrorActivity : BaseActivity() {
data = Uri.parse("mailto:")
putExtra(Intent.EXTRA_EMAIL, arrayOf(CRASH_AND_FEEDBACK_EMAIL_ADDRESS))

Check warning on line 119 in core/src/main/java/org/kiwix/kiwixmobile/core/error/ErrorActivity.kt

View check run for this annotation

Codecov / codecov/patch

core/src/main/java/org/kiwix/kiwixmobile/core/error/ErrorActivity.kt#L117-L119

Added lines #L117 - L119 were not covered by tests
putExtra(Intent.EXTRA_SUBJECT, subject)
putExtra(Intent.EXTRA_TEXT, emailBody)
val file = fileLogger.writeLogFile(
this@ErrorActivity,
activityKiwixErrorBinding?.allowLogs?.isChecked == true
)
file.appendText(emailBody)
val path =
FileProvider.getUriForFile(
this@ErrorActivity,
applicationContext.packageName + ".fileprovider",
file
)
addFlags(android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION)
putExtra(android.content.Intent.EXTRA_STREAM, path)
putExtra(Intent.EXTRA_TEXT, "$emailBody\n\nDevice Logs:\n$${file.readText()}")

Check warning on line 125 in core/src/main/java/org/kiwix/kiwixmobile/core/error/ErrorActivity.kt

View check run for this annotation

Codecov / codecov/patch

core/src/main/java/org/kiwix/kiwixmobile/core/error/ErrorActivity.kt#L125

Added line #L125 was not covered by tests
}
}

Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
<string name="pref_credits_title">Credits</string>
<string name="tts_lang_not_supported">The language of this page is not supported. The article may not be properly read.</string>
<string name="no_reader_application_installed">Could not find an installed application for this type of file</string>
<string name="no_email_application_installed">Please install an email client</string>
<string name="no_app_found_to_select_bookmark_file">No app found to select a bookmark file</string>
<string name="no_section_info">No Content Headers Found</string>
<string name="request_storage">To access offline content we need access to your storage</string>
Expand Down

0 comments on commit 61dd97c

Please sign in to comment.