package com.hkm.disqus; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import com.hkm.disqus.api.ApiClient; import com.hkm.disqus.api.ApiConfig; import com.hkm.disqus.api.AuthTokenServiceManager; import com.hkm.disqus.api.exception.ApiException; import com.hkm.disqus.api.model.Response; import com.hkm.disqus.api.model.posts.Post; import com.hkm.disqus.api.resources.AccessTokenService; import com.hkm.disqus.application.AuthorizeActivity; import java.util.List; import retrofit.Callback; /** * Created by hesk on 5/6/15. */ public class DisqusClient extends ApiClient { public static final int authorization_intent_id = 9392; private Context mcontent; private static AuthTokenServiceManager instance_am; private static DisqusClient main_instance; /** * @param c context * @param conf apiconfiguration * @return the disqus client instance */ public static DisqusClient getInstance(Context c, ApiConfig conf) { if (main_instance == null) { main_instance = new DisqusClient(conf, c); } return main_instance; } public static DisqusClient getInstance() throws NullPointerException { return main_instance; } /** * THe content * * @param config the collection of configuration * @param context the context uneeded for your dailt vntry */ public DisqusClient(ApiConfig config, Context context) { super(config); mcontent = context; if (instance_am == null) { instance_am = createAuthenticationManager(context); } } public AuthTokenServiceManager getAuthManager() { return instance_am; } public void getComments(String comment_id, Callback<Response<List<Post >>> cb) throws ApiException { createThreads().listPostByIDAsync(comment_id, getConfiguration().getForumName(), cb); } public void postPost(String text, String thread_id, Callback<Response<Post>> cbpost) { try { createPosts().create(text, thread_id, cbpost); } catch (ApiException e) { e.printStackTrace(); } } public void loginNow(Activity activity) { Intent in = new Intent(activity, AuthorizeActivity.class); Bundle h = getConfiguration().getLogInBundle(); h.putBoolean(AuthorizeActivity.EXTRA_STATUS_BAR_TOP, false); in.putExtras(h); activity.startActivityForResult(in, authorization_intent_id); } }