package org.horaapps.leafpic.util;
import android.app.Activity;
import android.content.ComponentName;
import android.net.Uri;
import android.support.customtabs.CustomTabsClient;
import android.support.customtabs.CustomTabsIntent;
import android.support.customtabs.CustomTabsServiceConnection;
import android.support.customtabs.CustomTabsSession;
import android.widget.Toast;
public class CustomTabService {
private CustomTabsClient mCustomTabsClient;
private CustomTabsSession mCustomTabsSession;
private CustomTabsServiceConnection mCustomTabsServiceConnection;
private CustomTabsIntent mCustomTabsIntent;
private Activity activity;
private int color;
public CustomTabService (Activity act, int c) {
this.activity = act;
this.color = c;
init();
}
private void init() {
mCustomTabsServiceConnection = new CustomTabsServiceConnection() {
@Override
public void onCustomTabsServiceConnected(ComponentName componentName, CustomTabsClient customTabsClient) {
mCustomTabsClient = customTabsClient;
mCustomTabsClient.warmup(0L);
mCustomTabsSession = mCustomTabsClient.newSession(null);
}
@Override
public void onServiceDisconnected(ComponentName name) {
mCustomTabsClient= null;
}
};
CustomTabsClient.bindCustomTabsService(activity, activity.getPackageName(), mCustomTabsServiceConnection);
mCustomTabsIntent = new CustomTabsIntent.Builder(mCustomTabsSession)
.setShowTitle(true)
.setToolbarColor(color)
.build();
}
public void launchUrl(String Url){
try{
mCustomTabsIntent.launchUrl(activity, Uri.parse(Url));
}catch (Exception e){
Toast.makeText(activity.getApplication(), "Error: "+e.toString(), Toast.LENGTH_SHORT).show();
}
}
}