// Path: app/src/main/java/org/kb10uy/tencocoa/model/TwitterAccountInformation.java
// public class TwitterAccountInformation implements Serializable {
//     private static final long serialVersionUID = 2591925210205947107L;
// 
//     private long userId;
//     private String screenName;
//     private AccessToken token;
// 
//     public TwitterAccountInformation(AccessToken token) {
//         userId = token.getUserId();
//         screenName = token.getScreenName();
//         this.token = token;
//     }
// 
//     public AccessToken getAccessToken() {
//         return token;
//     }
// 
//     public String getScreenName() {
//         return screenName;
//     }
// 
//     public long getUserId() {
//         return userId;
//     }
// }
// 
// Path: app/src/main/java/org/kb10uy/tencocoa/views/TencocoaServiceProvider.java
// public interface TencocoaServiceProvider {
//     TencocoaWritePermissionService getWritePermissionService();
//     TencocoaReadPermissionService getReadPermissionService();
//     TencocoaStreamingService getStreamingService();
//     boolean isWriteBound();
//     boolean isReadBound();
//     boolean isStreamingBound();
// }


import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.google.common.base.Strings;
import com.twitter.Extractor;
import org.kb10uy.tencocoa.model.TwitterAccountInformation;
import org.kb10uy.tencocoa.views.TencocoaServiceProvider;
import java.util.List;
import twitter4j.Status;
import twitter4j.User;
                        span = new ClickableSpan() {
                            @Override
                            public void onClick(View widget) {
                                mProvider.getReadPermissionService().requestUserInformation(e.getValue());
                            }
                        };
                        break;
                }
                sdesc.setSpan(span, e.getStart(), e.getEnd(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            }
            mTextViewDescription.setText(sdesc);
            mTextViewDescription.setMovementMethod(LinkMovementMethod.getInstance());

            mLayoutLink.setVisibility(Strings.isNullOrEmpty(uri) ? View.GONE : View.VISIBLE);
            mTextViewLink.setText(uri);
        }

        @Override
        public void onAttach(Context context) {
            super.onAttach(context);

        }

        @Override
        public void onDetach() {
            super.onDetach();
            mContext = null;
            //mListener = null;
        }

// Path: app/src/main/java/org/kb10uy/tencocoa/model/TwitterAccountInformation.java
// public class TwitterAccountInformation implements Serializable {
//     private static final long serialVersionUID = 2591925210205947107L;
// 
//     private long userId;
//     private String screenName;
//     private AccessToken token;
// 
//     public TwitterAccountInformation(AccessToken token) {
//         userId = token.getUserId();
//         screenName = token.getScreenName();
//         this.token = token;
//     }
// 
//     public AccessToken getAccessToken() {
//         return token;
//     }
// 
//     public String getScreenName() {
//         return screenName;
//     }
// 
//     public long getUserId() {
//         return userId;
//     }
// }
// 
// Path: app/src/main/java/org/kb10uy/tencocoa/views/TencocoaServiceProvider.java
// public interface TencocoaServiceProvider {
//     TencocoaWritePermissionService getWritePermissionService();
//     TencocoaReadPermissionService getReadPermissionService();
//     TencocoaStreamingService getStreamingService();
//     boolean isWriteBound();
//     boolean isReadBound();
//     boolean isStreamingBound();
// }


// Path: app/src/main/java/org/kb10uy/tencocoa/UserInformationFragment.java
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.google.common.base.Strings;
import com.twitter.Extractor;
import org.kb10uy.tencocoa.model.TwitterAccountInformation;
import org.kb10uy.tencocoa.views.TencocoaServiceProvider;
import java.util.List;
import twitter4j.Status;
import twitter4j.User;

                        span = new ClickableSpan() {
                            @Override
                            public void onClick(View widget) {
                                mProvider.getReadPermissionService().requestUserInformation(e.getValue());
                            }
                        };
                        break;
                }
                sdesc.setSpan(span, e.getStart(), e.getEnd(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            }
            mTextViewDescription.setText(sdesc);
            mTextViewDescription.setMovementMethod(LinkMovementMethod.getInstance());

            mLayoutLink.setVisibility(Strings.isNullOrEmpty(uri) ? View.GONE : View.VISIBLE);
            mTextViewLink.setText(uri);
        }

        @Override
        public void onAttach(Context context) {
            super.onAttach(context);

        }

        @Override
        public void onDetach() {
            super.onDetach();
            mContext = null;
            //mListener = null;
        }

        public void setProvider(TencocoaServiceProvider p) {