|
|
@ -24,10 +24,12 @@ import android.content.Context; |
|
|
|
import android.content.DialogInterface; |
|
|
|
import android.content.Intent; |
|
|
|
import android.graphics.Typeface; |
|
|
|
import android.net.Uri; |
|
|
|
import android.os.Bundle; |
|
|
|
import android.support.annotation.NonNull; |
|
|
|
import android.support.annotation.Nullable; |
|
|
|
import android.support.constraint.Group; |
|
|
|
import android.support.customtabs.CustomTabsIntent; |
|
|
|
import android.support.design.widget.BottomNavigationView; |
|
|
|
import android.support.v4.app.FragmentTransaction; |
|
|
|
import android.support.v4.app.LoaderManager; |
|
|
@ -134,15 +136,26 @@ public class FragmentMessage extends FragmentEx { |
|
|
|
|
|
|
|
URLSpan[] link = buffer.getSpans(off, off, URLSpan.class); |
|
|
|
if (link.length != 0) { |
|
|
|
Bundle args = new Bundle(); |
|
|
|
args.putString("link", link[0].getURL()); |
|
|
|
String url = link[0].getURL(); |
|
|
|
|
|
|
|
FragmentWebView fragment = new FragmentWebView(); |
|
|
|
fragment.setArguments(args); |
|
|
|
if (true) { |
|
|
|
// https://developer.chrome.com/multidevice/android/customtabs |
|
|
|
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); |
|
|
|
builder.setToolbarColor(Helper.resolveColor(getContext(), R.attr.colorPrimary)); |
|
|
|
|
|
|
|
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); |
|
|
|
fragmentTransaction.replace(R.id.content_frame, fragment).addToBackStack("webview"); |
|
|
|
fragmentTransaction.commit(); |
|
|
|
CustomTabsIntent customTabsIntent = builder.build(); |
|
|
|
customTabsIntent.launchUrl(getContext(), Uri.parse(url)); |
|
|
|
} else { |
|
|
|
Bundle args = new Bundle(); |
|
|
|
args.putString("link", url); |
|
|
|
|
|
|
|
FragmentWebView fragment = new FragmentWebView(); |
|
|
|
fragment.setArguments(args); |
|
|
|
|
|
|
|
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); |
|
|
|
fragmentTransaction.replace(R.id.content_frame, fragment).addToBackStack("webview"); |
|
|
|
fragmentTransaction.commit(); |
|
|
|
} |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|