package com.jdroid.android.sample.ui.firebase.dynamiclinks; import android.os.Bundle; import android.view.View; import android.widget.CheckBox; import android.widget.TextView; import com.jdroid.android.firebase.dynamiclink.DynamicLinkBuilder; import com.jdroid.android.firebase.dynamiclink.ShortDynamicLinkService; import com.jdroid.android.fragment.AbstractFragment; import com.jdroid.android.sample.R; import com.jdroid.java.concurrent.ExecutorUtils; import com.jdroid.java.utils.NumberUtils; import com.jdroid.java.utils.StringUtils; public class DynamicLinksFragment extends AbstractFragment { private TextView linkUrlTextView; private TextView minVersionCodeTextView; private TextView fallbackLinkTextView; private TextView customAppLocationTextView; private TextView utmSourceTextView; private TextView utmMediumTextView; private TextView utmCampaignTextView; private TextView utmTermTextView; private TextView utmContentTextView; private CheckBox unguessableCheckBox; private TextView shortLinkTextView; private TextView longLinkTextView; @Override public Integer getContentFragmentLayout() { return R.layout.dynamic_links_fragment; } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); linkUrlTextView = findView(R.id.linkUrl); linkUrlTextView.setText("http://www.jdroidframework.com/"); minVersionCodeTextView = findView(R.id.minVersionCode); fallbackLinkTextView = findView(R.id.fallbackLink); customAppLocationTextView = findView(R.id.customAppLocation); utmSourceTextView = findView(R.id.utmSource); utmMediumTextView = findView(R.id.utmMedium); utmCampaignTextView = findView(R.id.utmCampaign); utmTermTextView = findView(R.id.utmTerm); utmContentTextView = findView(R.id.utmContent); unguessableCheckBox = findView(R.id.unguessable); shortLinkTextView = findView(R.id.shortLink); longLinkTextView = findView(R.id.longLink); findView(R.id.buildLink).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ExecutorUtils.execute(new Runnable() { @Override public void run() { final DynamicLinkBuilder builder = new DynamicLinkBuilder(); builder.setLinkUrl(linkUrlTextView.getText().toString()); builder.setMinVersionCode(NumberUtils.getLong(minVersionCodeTextView.getText().toString())); builder.setFallbackLink(fallbackLinkTextView.getText().toString()); builder.setCustomAppLocation(customAppLocationTextView.getText().toString()); builder.setUtmSource(utmSourceTextView.getText().toString()); builder.setUtmMedium(utmMediumTextView.getText().toString()); builder.setUtmCampaign(utmCampaignTextView.getText().toString()); builder.setUtmTerm(utmTermTextView.getText().toString()); builder.setUtmContent(utmContentTextView.getText().toString()); executeOnUIThread(new Runnable() { @Override public void run() { longLinkTextView.setText(builder.build()); } }); } }); } }); findView(R.id.shortenLink).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final String longLink = longLinkTextView.getText().toString(); if (StringUtils.isNotEmpty(longLink)) { ExecutorUtils.execute(new Runnable() { @Override public void run() { final String shortLink = new ShortDynamicLinkService().getShortDynamicLink(longLink, unguessableCheckBox.isChecked()); executeOnUIThread(new Runnable() { @Override public void run() { shortLinkTextView.setText(shortLink); } }); } }); } } }); } }