Should fix #27

This commit is contained in:
Amine 2017-06-13 21:34:48 +02:00
parent 9c9b45aeab
commit 246ec2c3ac
4 changed files with 34 additions and 35 deletions

View File

@ -22,7 +22,7 @@ import apps.amine.bou.readerforselfoss.api.mercury.MercuryApi
import apps.amine.bou.readerforselfoss.api.mercury.ParsedContent import apps.amine.bou.readerforselfoss.api.mercury.ParsedContent
import apps.amine.bou.readerforselfoss.utils.buildCustomTabsIntent import apps.amine.bou.readerforselfoss.utils.buildCustomTabsIntent
import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper
import apps.amine.bou.readerforselfoss.utils.shareLink
class ReaderActivity : DragDismissActivity() { class ReaderActivity : DragDismissActivity() {
@ -73,12 +73,7 @@ class ReaderActivity : DragDismissActivity() {
.into(image) .into(image)
shareBtn.setOnClickListener { shareBtn.setOnClickListener {
val sendIntent = Intent() shareLink(response.body()!!.url, this@ReaderActivity)
sendIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
sendIntent.action = Intent.ACTION_SEND
sendIntent.putExtra(Intent.EXTRA_TEXT, response.body()!!.url)
sendIntent.type = "text/plain"
startActivity(Intent.createChooser(sendIntent, getString(R.string.share)).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
} }
browserBtn.setOnClickListener { browserBtn.setOnClickListener {

View File

@ -2,10 +2,8 @@ package apps.amine.bou.readerforselfoss.adapters
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
import android.content.Intent
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.Color import android.graphics.Color
import android.net.Uri
import android.support.constraint.ConstraintLayout import android.support.constraint.ConstraintLayout
import android.support.design.widget.Snackbar import android.support.design.widget.Snackbar
import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory
@ -39,7 +37,9 @@ import apps.amine.bou.readerforselfoss.api.selfoss.SelfossApi
import apps.amine.bou.readerforselfoss.api.selfoss.SuccessResponse import apps.amine.bou.readerforselfoss.api.selfoss.SuccessResponse
import apps.amine.bou.readerforselfoss.utils.buildCustomTabsIntent import apps.amine.bou.readerforselfoss.utils.buildCustomTabsIntent
import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper
import apps.amine.bou.readerforselfoss.utils.openInBrowser
import apps.amine.bou.readerforselfoss.utils.openItemUrl import apps.amine.bou.readerforselfoss.utils.openItemUrl
import apps.amine.bou.readerforselfoss.utils.shareLink
class ItemCardAdapter(private val app: Activity, class ItemCardAdapter(private val app: Activity,
private val items: ArrayList<Item>, private val items: ArrayList<Item>,
@ -221,21 +221,11 @@ class ItemCardAdapter(private val app: Activity,
}) })
shareBtn.setOnClickListener { shareBtn.setOnClickListener {
val i = items[adapterPosition] shareLink(items[adapterPosition].getLinkDecoded(), c)
val sendIntent = Intent()
sendIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
sendIntent.action = Intent.ACTION_SEND
sendIntent.putExtra(Intent.EXTRA_TEXT, i.getLinkDecoded())
sendIntent.type = "text/plain"
c.startActivity(Intent.createChooser(sendIntent, c.getString(R.string.share)).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
} }
browserBtn.setOnClickListener { browserBtn.setOnClickListener {
val i = items[adapterPosition] openInBrowser(items[adapterPosition], c)
val intent = Intent(Intent.ACTION_VIEW)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
intent.data = Uri.parse(i.getLinkDecoded())
c.startActivity(intent)
} }
} }

View File

@ -38,8 +38,9 @@ import apps.amine.bou.readerforselfoss.api.selfoss.SelfossApi
import apps.amine.bou.readerforselfoss.api.selfoss.SuccessResponse import apps.amine.bou.readerforselfoss.api.selfoss.SuccessResponse
import apps.amine.bou.readerforselfoss.utils.buildCustomTabsIntent import apps.amine.bou.readerforselfoss.utils.buildCustomTabsIntent
import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper
import apps.amine.bou.readerforselfoss.utils.openInBrowser
import apps.amine.bou.readerforselfoss.utils.openItemUrl import apps.amine.bou.readerforselfoss.utils.openItemUrl
import apps.amine.bou.readerforselfoss.utils.shareLink
class ItemListAdapter(private val app: Activity, class ItemListAdapter(private val app: Activity,
@ -229,21 +230,12 @@ class ItemListAdapter(private val app: Activity,
}) })
shareBtn.setOnClickListener { shareBtn.setOnClickListener {
val i = items[adapterPosition] shareLink(items[adapterPosition].getLinkDecoded(), c)
val sendIntent = Intent()
sendIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
sendIntent.action = Intent.ACTION_SEND
sendIntent.putExtra(Intent.EXTRA_TEXT, i.getLinkDecoded())
sendIntent.type = "text/plain"
c.startActivity(Intent.createChooser(sendIntent, c.getString(R.string.share)).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
} }
browserBtn.setOnClickListener { browserBtn.setOnClickListener {
val i = items[adapterPosition] openInBrowser(items[adapterPosition], c)
val intent = Intent(Intent.ACTION_VIEW)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
intent.data = Uri.parse(i.getLinkDecoded())
c.startActivity(intent)
} }
} }

View File

@ -13,7 +13,7 @@ import okhttp3.HttpUrl
import apps.amine.bou.readerforselfoss.BuildConfig import apps.amine.bou.readerforselfoss.BuildConfig
import apps.amine.bou.readerforselfoss.R import apps.amine.bou.readerforselfoss.R
import apps.amine.bou.readerforselfoss.api.selfoss.Item
fun checkAndDisplayStoreApk(context: Context) = { fun checkAndDisplayStoreApk(context: Context) = {
@ -103,3 +103,25 @@ fun longHash(string: String): Long {
} }
return h return h
} }
fun handleLinksWithoutHttp(itemUrl: String) =
if (!itemUrl.startsWith("https://") && !itemUrl.startsWith("http://"))
"http://" + itemUrl
else
itemUrl
fun shareLink(itemUrl: String, c: Context) {
val sendIntent = Intent()
sendIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
sendIntent.action = Intent.ACTION_SEND
sendIntent.putExtra(Intent.EXTRA_TEXT, handleLinksWithoutHttp(itemUrl))
sendIntent.type = "text/plain"
c.startActivity(Intent.createChooser(sendIntent, c.getString(R.string.share)).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
}
fun openInBrowser(i: Item, c: Context) {
val intent = Intent(Intent.ACTION_VIEW)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
intent.data = Uri.parse(handleLinksWithoutHttp(i.getLinkDecoded()))
c.startActivity(intent)
}