Android Open Source - StreamHub-Android-Reviews-App Stream Client






From Project

Back to project page StreamHub-Android-Reviews-App.

License

The source code is released under:

MIT License

If you think the Android project StreamHub-Android-Reviews-App listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package livefyre.streamhub;
//  w  ww  . jav a2  s . c o m
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;

import org.json.JSONException;
import org.json.JSONObject;

import android.net.Uri;
import android.net.Uri.Builder;
import android.util.Log;

import com.loopj.android.http.AsyncHttpResponseHandler;

public class StreamClient {
  public static String generateStreamUrl(String networkId,
      String collectionId, String eventId) throws MalformedURLException {
    final Builder uriBuilder = new Uri.Builder()
        .scheme(Config.scheme)
        .authority(
            Config.streamDomain + "."
                + Config.getHostname(networkId))
        .appendPath("v3.1").appendPath("collection")
        .appendPath(collectionId).appendPath("").appendPath(eventId);

    return uriBuilder.toString();
  }

  /**
   * Performs a long poll request to the Livefyre's stream endpoint
   * 
   * @param networkId
   *            The collection's network as identified by domain, i.e.
   *            livefyre.com.
   * @param collectionId
   *            The Id of the collection
   * @param eventId
   *            The last eventId that was returned from either stream or
   *            bootstrap. Event time a new eventId is returned, it should be
   *            used in the next stream request.
   * @param handler
   *            Response handler
   * @throws UnsupportedEncodingException
   * @throws MalformedURLException
   */
  public static void pollStreamEndpoint(final String networkId,
      final String collectionId, final String eventId,
      final AsyncHttpResponseHandler handler) throws IOException,
      JSONException {
    final String streamEndpoint = generateStreamUrl(networkId,
        collectionId, eventId);
    HttpClient.client.get(streamEndpoint, new AsyncHttpResponseHandler() {
      @Override
      public void onSuccess(String responce) {
        handler.onSuccess(responce);
        try {

          if (responce != null) {
            Log.d("Stream Clint Call", "Success" + responce);
            JSONObject responceJson = new JSONObject(responce);
            String lastEvent;
            if (responceJson.has("data")) {
              lastEvent = responceJson.getJSONObject("data")
                  .getString("maxEventId");

              pollStreamEndpoint(networkId, collectionId,
                  lastEvent, handler);
            }

          }
        } catch (JSONException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }

      }

      @Override
      public void onFailure(Throwable error, String content) {
        super.onFailure(error, content);
        try {
          pollStreamEndpoint(networkId, collectionId, eventId,
              handler);
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        } catch (JSONException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }

    });
  }
}




Java Source Code List

com.filepicker.sdk.AuthActivity.java
com.filepicker.sdk.AuthError.java
com.filepicker.sdk.BuildConfig.java
com.filepicker.sdk.BuildConfig.java
com.filepicker.sdk.CacheElement.java
com.filepicker.sdk.DataCache.java
com.filepicker.sdk.FPFile.java
com.filepicker.sdk.FPService.java
com.filepicker.sdk.FilePickerAPI.java
com.filepicker.sdk.FilePicker.java
com.filepicker.sdk.FixedSizeList.java
com.filepicker.sdk.Folder.java
com.filepicker.sdk.Inode.java
com.filepicker.sdk.NonThumbnailGridBlockView.java
com.filepicker.sdk.Service.java
com.filepicker.sdk.ThumbnailView.java
livefyre.AppSingleton.java
livefyre.BaseActivity.java
livefyre.DeviceNotConnectedException.java
livefyre.DownloadAllImagesTask.java
livefyre.LFSAppConstants.java
livefyre.LFSConfig.java
livefyre.LFUtils.java
livefyre.LivefyreApplication.java
livefyre.NotifyingScrollView.java
livefyre.ImagesCache.DownloadImageTask.java
livefyre.ImagesCache.ImagesCache.java
livefyre.activities.Edit.java
livefyre.activities.LivefyreSplash.java
livefyre.activities.NewReview.java
livefyre.activities.Reply.java
livefyre.activities.ReviewInDetail.java
livefyre.activities.ReviewsActivity.java
livefyre.adapters.ReviewInDetailAdapter.java
livefyre.adapters.ReviewListAdapter.java
livefyre.fadingactionbar.FadingActionBarHelperBase.java
livefyre.fadingactionbar.FadingActionBarHelper.java
livefyre.fadingactionbar.ListViewActivity.java
livefyre.fadingactionbar.ObservableScrollView.java
livefyre.fadingactionbar.ObservableScrollable.java
livefyre.fadingactionbar.ObservableWebViewWithHeader.java
livefyre.fadingactionbar.OnScrollChangedCallback.java
livefyre.fadingactionbar.RootLayout.java
livefyre.fadingactionbar.Utils.java
livefyre.models.AuthorsBean.java
livefyre.models.ContentBean.java
livefyre.models.ContentTypeEnum.java
livefyre.models.OembedBean.java
livefyre.models.ReviewStatus.java
livefyre.models.Vote.java
livefyre.parsers.AdminClintParser.java
livefyre.parsers.ContentParser.java
livefyre.parsers.ContentUpdateListener.java
livefyre.streamhub.AdminClient.java
livefyre.streamhub.BootstrapClient.java
livefyre.streamhub.BuildConfig.java
livefyre.streamhub.BuildConfig.java
livefyre.streamhub.Config.java
livefyre.streamhub.Helpers.java
livefyre.streamhub.HttpClient.java
livefyre.streamhub.LFSActions.java
livefyre.streamhub.LFSConstants.java
livefyre.streamhub.LFSFlag.java
livefyre.streamhub.StreamClient.java
livefyre.streamhub.WriteClient.java