Skip to content
Snippets Groups Projects
Commit 793b8c26 authored by John's avatar John
Browse files

Fix infinite opening loop on feed fragment

parent 9a23bf02
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -38,8 +38,8 @@ android {
minSdkVersion 16
targetSdkVersion 27
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
versionCode 2060200
versionName "2.6.2"
versionCode 2060300
versionName "2.6.3"
manifestPlaceholders = [fabric_key: project.ext.LABCOAT_FABRIC_KEY]
vectorDrawables.useSupportLibrary = true
 
Loading
Loading
Loading
Loading
@@ -44,7 +44,9 @@
android:launchMode="singleTask"
android:theme="@style/Activity.Todos" />
 
<activity android:name=".activity.ProjectActivity" />
<activity
android:name=".activity.ProjectActivity"
android:launchMode="singleTask" />
 
<activity
android:name=".activity.LoginActivity"
Loading
Loading
Loading
Loading
@@ -24,11 +24,10 @@ class ActivityActivity : BaseActivity() {
 
companion object {
 
private val TAG_FEED_FRAGMENT = "feed_fragment"
private const val TAG_FEED_FRAGMENT = "feed_fragment"
 
fun newIntent(context: Context): Intent {
val intent = Intent(context, ActivityActivity::class.java)
return intent
return Intent(context, ActivityActivity::class.java)
}
}
 
Loading
Loading
Loading
Loading
@@ -20,6 +20,7 @@ import com.commit451.gitlab.model.rss.Entry
import com.commit451.gitlab.model.rss.Feed
import com.commit451.gitlab.navigation.Navigator
import com.commit451.gitlab.rx.CustomSingleObserver
import com.commit451.gitlab.util.IntentUtil
import com.novoda.simplechromecustomtabs.SimpleChromeCustomTabs
import timber.log.Timber
 
Loading
Loading
@@ -30,7 +31,7 @@ class FeedFragment : ButterKnifeFragment() {
 
companion object {
 
private val EXTRA_FEED_URL = "extra_feed_url"
private const val EXTRA_FEED_URL = "extra_feed_url"
 
fun newInstance(feedUrl: String): FeedFragment {
val args = Bundle()
Loading
Loading
@@ -71,7 +72,7 @@ class FeedFragment : ButterKnifeFragment() {
Snackbar.make(swipeRefreshLayout, R.string.not_a_valid_url, Snackbar.LENGTH_SHORT)
.show()
} else {
Navigator.navigateToUrl(baseActivty, entry.link.href, App.get().getAccount())
IntentUtil.openBrowser(baseActivty, entry.link.href, App.get().getAccount())
}
}
})
Loading
Loading
Loading
Loading
@@ -215,12 +215,7 @@ object Navigator {
fun navigateToUrl(activity: Activity, url: String, account: Account) {
Timber.d("navigateToUrl: $url")
val uri = Uri.parse(url.resolveUrl(account))
val serverUri = Uri.parse(account.serverUrl)
if (serverUri.host == uri.host) {
activity.startActivity(DeepLinker.generateDeeplinkIntentFromUri(activity, uri))
} else {
IntentUtil.openPage(activity as BaseActivity, uri.toString())
}
IntentUtil.openPage(activity as BaseActivity, uri.toString())
}
 
/**
Loading
Loading
package com.commit451.gitlab.util
 
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.support.design.widget.Snackbar
import android.view.View
import android.widget.Toast
import com.commit451.addendum.themeAttrColor
import com.commit451.easel.Easel
import com.commit451.gitlab.R
Loading
Loading
@@ -32,6 +34,18 @@ object IntentUtil {
.navigateTo(Uri.parse(resolvedUrl), activity)
}
 
fun openBrowser(context: Context, url: String, account: Account? = null) {
val intent = Intent(Intent.ACTION_VIEW)
val resolvedUrl = if (account == null) url else url.resolveUrl(account)
intent.data = Uri.parse(resolvedUrl)
try {
context.startActivity(intent)
} catch (e: Exception) {
Toast.makeText(context, R.string.error_no_browser, Toast.LENGTH_SHORT)
.show()
}
}
fun share(root: View, url: Uri) {
val shareIntent = Intent(Intent.ACTION_SEND)
shareIntent.type = "text/plain"
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment