diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index c755488e9..1124dc880 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -323,9 +323,9 @@ Add Invites Email Share usingo - I got to level %d in Habitica by improving my real-life habits! - I just hatched a %1$s %2$s pet in Habitica by completing my real-life tasks! - I just gained a %1$s mount in Habitica by completing my real-life tasks! + I got to level %d in #Habitica by improving my real-life habits! + I just hatched a %1$s %2$s pet in #Habitica by completing my real-life tasks! + I just gained a %1$s mount in #Habitica by completing my real-life tasks! Open in play store Are you sure you want to change your class? This will cost 3 gems. Warning: You will no longer be able to buy equipment from the %s class. diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt index b73849d1c..230b8f653 100755 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt @@ -580,11 +580,13 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction { sharingIntent.putExtra(Intent.EXTRA_TEXT, event.sharedMessage) val f = BitmapUtils.saveToShareableFile("$filesDir/shared_images", "share.png", event.shareImage) val fileUri = f?.let { FileProvider.getUriForFile(this, getString(R.string.content_provider), it) } - sharingIntent.putExtra(Intent.EXTRA_STREAM, fileUri) - val resInfoList = this.packageManager.queryIntentActivities(sharingIntent, PackageManager.MATCH_DEFAULT_ONLY) - for (resolveInfo in resInfoList) { - val packageName = resolveInfo.activityInfo.packageName - this.grantUriPermission(packageName, fileUri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION or Intent.FLAG_GRANT_READ_URI_PERMISSION) + if (fileUri != null) { + sharingIntent.putExtra(Intent.EXTRA_STREAM, fileUri) + val resInfoList = this.packageManager.queryIntentActivities(sharingIntent, PackageManager.MATCH_DEFAULT_ONLY) + for (resolveInfo in resInfoList) { + val packageName = resolveInfo.activityInfo.packageName + this.grantUriPermission(packageName, fileUri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION or Intent.FLAG_GRANT_READ_URI_PERMISSION) + } } startActivity(Intent.createChooser(sharingIntent, getString(R.string.share_using))) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/BitmapUtils.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/BitmapUtils.kt index 22cc2964a..3f53d2b19 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/BitmapUtils.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/BitmapUtils.kt @@ -9,6 +9,10 @@ object BitmapUtils { var name = filename try { name = "$directory/$name" + val dirFile = File(directory) + if (!dirFile.exists()) { + dirFile.mkdir() + } val out = FileOutputStream(name) bmp.compress(Bitmap.CompressFormat.PNG, 100, out) @@ -16,6 +20,7 @@ object BitmapUtils { out.close() return File(name) } catch (ignored: Exception) { + ignored.printStackTrace() } return null