diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8ef69191..c5824c37 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -98,6 +98,16 @@
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/net/pokeranalytics/android/ui/extensions/UIExtensions.kt b/app/src/main/java/net/pokeranalytics/android/ui/extensions/UIExtensions.kt
index a067ebb3..10647782 100644
--- a/app/src/main/java/net/pokeranalytics/android/ui/extensions/UIExtensions.kt
+++ b/app/src/main/java/net/pokeranalytics/android/ui/extensions/UIExtensions.kt
@@ -11,6 +11,7 @@ import androidx.appcompat.app.AlertDialog
import androidx.appcompat.widget.AppCompatTextView
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.content.ContextCompat
+import androidx.core.content.FileProvider
import androidx.core.view.isVisible
import net.pokeranalytics.android.BuildConfig
import net.pokeranalytics.android.R
@@ -19,6 +20,11 @@ import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.util.DeviceUtils
import net.pokeranalytics.android.util.URL
+import java.io.File
+
+
+
+
// Sizes
@@ -63,20 +69,33 @@ fun PokerAnalyticsActivity.openPlayStorePage() {
}
// Open email for "Contact us"
-fun PokerAnalyticsActivity.openContactMail(subjectStringRes: Int) {
+fun PokerAnalyticsActivity.openContactMail(subjectStringRes: Int, filePath: String?= null) {
val info = "v${BuildConfig.VERSION_NAME}(${BuildConfig.VERSION_CODE}), Android ${android.os.Build.VERSION.SDK_INT}, ${DeviceUtils.getDeviceName()}"
- val intent = Intent(Intent.ACTION_SENDTO)
- intent.data = Uri.parse("mailto:${URL.SUPPORT_EMAIL.value}")
- intent.putExtra(Intent.EXTRA_SUBJECT, getString(subjectStringRes))
- intent.putExtra(Intent.EXTRA_EMAIL, URL.SUPPORT_EMAIL.value)
- intent.putExtra(Intent.EXTRA_TEXT, "\n\n$info")
- startActivity(Intent.createChooser(intent, getString(R.string.contact)))
+
+ val emailIntent = Intent(Intent.ACTION_SEND)
+
+ filePath?.let {
+ val databaseFile = File(it)
+ val contentUri = FileProvider.getUriForFile(this, "net.pokeranalytics.android.fileprovider", databaseFile)
+ if (contentUri != null) {
+ emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
+ emailIntent.setDataAndType(contentUri, contentResolver.getType(contentUri))
+ emailIntent.putExtra(Intent.EXTRA_STREAM, contentUri)
+ }
+ }
+
+ emailIntent.type = "message/rfc822"
+ emailIntent.putExtra(Intent.EXTRA_SUBJECT, getString(subjectStringRes))
+ emailIntent.putExtra(Intent.EXTRA_TEXT, "\n\n$info")
+ emailIntent.putExtra(Intent.EXTRA_EMAIL, arrayOf(URL.SUPPORT_EMAIL.value))
+
+ startActivity(Intent.createChooser(emailIntent, getString(R.string.contact)))
}
// Open custom tab
fun PokerAnalyticsActivity.openUrl(url: String) {
val builder: CustomTabsIntent.Builder = CustomTabsIntent.Builder()
- builder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary))
+ builder.setToolbarColor(ContextCompat.getColor(this, net.pokeranalytics.android.R.color.colorPrimary))
val customTabsIntent = builder.build()
customTabsIntent.launchUrl(this, Uri.parse(url))
}
@@ -102,7 +121,7 @@ fun showAlertDialog(context: Context, title: Int? = null, message: Int? = null)
message?.let {
builder.setMessage(message)
}
- builder.setPositiveButton(R.string.ok, null)
+ builder.setPositiveButton(net.pokeranalytics.android.R.string.ok, null)
builder.show()
}
diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
index 782b6de8..b396874f 100644
--- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
+++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
@@ -11,7 +11,6 @@ import io.realm.Realm
import kotlinx.android.synthetic.main.fragment_settings.*
import net.pokeranalytics.android.BuildConfig
import net.pokeranalytics.android.R
-import net.pokeranalytics.android.model.realm.Bankroll
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.activity.CurrenciesActivity
import net.pokeranalytics.android.ui.activity.DataListActivity
@@ -20,15 +19,15 @@ import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
+import net.pokeranalytics.android.ui.extensions.openContactMail
+import net.pokeranalytics.android.ui.extensions.openPlayStorePage
+import net.pokeranalytics.android.ui.extensions.openUrl
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.SettingRow
import net.pokeranalytics.android.util.Preferences
import net.pokeranalytics.android.util.URL
import net.pokeranalytics.android.util.UserDefaults
-import net.pokeranalytics.android.ui.extensions.openContactMail
-import net.pokeranalytics.android.ui.extensions.openPlayStorePage
-import net.pokeranalytics.android.ui.extensions.openUrl
import java.util.*
@@ -98,11 +97,10 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
}
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) {
-
when (row) {
SettingRow.RATE_APP -> parentActivity.openPlayStorePage()
SettingRow.CONTACT_US -> parentActivity.openContactMail(R.string.contact)
- SettingRow.BUG_REPORT -> parentActivity.openContactMail(R.string.bug_report_subject)
+ SettingRow.BUG_REPORT -> parentActivity.openContactMail(R.string.bug_report_subject, Realm.getDefaultInstance().path)
SettingRow.CURRENCY -> CurrenciesActivity.newInstanceForResult(this@SettingsFragment, REQUEST_CODE_CURRENCY)
SettingRow.FOLLOW_US -> {
when (position) {
diff --git a/app/src/main/res/xml/provider_paths.xml b/app/src/main/res/xml/provider_paths.xml
new file mode 100644
index 00000000..45ed9d3f
--- /dev/null
+++ b/app/src/main/res/xml/provider_paths.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file