Android Open Source - sharemore Create Clip






From Project

Back to project page sharemore.

License

The source code is released under:

GNU General Public License

If you think the Android project sharemore 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

/*******************************************************************************
 * Copyright (c) 2012 Moarub Oy./* w w w. j a v a2s.  co  m*/
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Public License v3.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Contributors:
 *     Moarub Oy - initial API and implementation
 ******************************************************************************/
package com.moarub.kipptapi;

import java.io.IOException;

import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
import org.apache.http.protocol.HTTP;
import org.json.JSONException;
import org.json.JSONObject;

import android.os.AsyncTask;
import android.util.Log;

public class CreateClip extends AsyncTask<String, Void, HttpResponse> {

  private String fClipUrl;
  private ClipCreatedListener fListener;
  private String fNote;
  private boolean fReadLater;
  private boolean fStar;
  private String fTitle;
  private String fListResourceUri;

  public CreateClip(String clip, ClipCreatedListener listener) {
    fClipUrl = clip;
    fListener = listener;
  }

  public void addNote(String fNotes) {
    fNote = fNotes;
  }

  public void addTitle(String title) {
    fTitle = title;
  }

  public void runOutsideUiThread(String... params){
    doHandleResult(doCreateClip(params));
  }
  
  
  @Override
  protected HttpResponse doInBackground(String... params) {
    return doCreateClip(params);
  }

  private HttpResponse doCreateClip(String... params) {
    String username = params[0];
    String token = params[1];
    String reqTokenUrl = "https://kippt.com/api/clips/";
    DefaultHttpClient client = new DefaultHttpClient();

    try {
      HttpPost request = new HttpPost(reqTokenUrl);
      request.addHeader("X-Kippt-Username", username);
      request.addHeader("X-Kippt-API-Token", token);
      request.addHeader("X-Kippt-Client", "ShareMore for Android,sharemore@moarub.com,http://moarub.com/sharemore");
      
      JSONObject job = new JSONObject();
      job.put("url", fClipUrl);
      if (fNote != null) {
        job.put("notes", fNote);
      }
      if (fTitle != null) {
        job.put("title", fTitle);
      }
      if(fReadLater) {
        job.put("is_read_later", true);
      }
      if(fStar) {
        job.put("is_starred", true);
      } 
      if(fListResourceUri != null) {
        job.put("list", fListResourceUri);
      }

      StringEntity se = new StringEntity(job.toString(), "UTF-8");
      se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,
          "application/json"));
      
      Log.d("Sending clip JSON", job.toString());

      request.setEntity(se);

      return client.execute(request);
    } catch (ClientProtocolException e) {
      Log.d("ApiTokenFailure", "Can't fetch API Token");
      return null;
    } catch (IOException e) {
      Log.d("ApiTokenFailure", "Can't fetch API Token");
      return null;
    } catch (JSONException e) {
      Log.d("ApiTokenFailure", "Can't fetch API Token");
      return null;
    }
  }


  @Override
  protected void onPostExecute(HttpResponse result) {
    doHandleResult(result);
  }

  private void doHandleResult(HttpResponse result) {
    StatusLine sl = result.getStatusLine();

    Log.d("CreateClip", sl.getStatusCode() + " " + sl.getReasonPhrase());

    fListener.onClipCreated(sl.getStatusCode());
  }

  public void setStar(boolean star) {
    fStar = star;
  }

  public void setReadLater(boolean checked) {
    fReadLater = checked;
  }

  public void addListUri(String fListUri) {
    fListResourceUri = fListUri;
  }


}




Java Source Code List

com.moarub.db.ListItem.java
com.moarub.db.ListsDataSource.java
com.moarub.db.ListsDbHelper.java
com.moarub.kipptapi.ApiTokenListener.java
com.moarub.kipptapi.ClipCreatedListener.java
com.moarub.kipptapi.CreateClip.java
com.moarub.kipptapi.KipptAPIToken.java
com.moarub.kipptapi.KipptClipItem.java
com.moarub.kipptapi.ListsGetter.java
com.moarub.kipptapi.ListsListener.java
com.moarub.sharemore.GettingStartedActivity.java
com.moarub.sharemore.GettingStartedView.java
com.moarub.sharemore.LoginActivity.java
com.moarub.sharemore.QuickShareToKipptActivity.java
com.moarub.sharemore.SaveToKipptService.java
com.moarub.sharemore.ShareMorePreferenceFragment.java
com.moarub.sharemore.ShareMorePreferencesActivity.java
com.moarub.sharemore.ShareToKipptActivity.java
com.moarub.util.DeshorteningResult.java
com.moarub.util.PageTitleGetter.java
com.moarub.util.ShareMoreUtils.java
com.moarub.util.UrlDeshortenerListener.java
com.moarub.util.UrlDeshortener.java