Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

69 changes: 35 additions & 34 deletions app/app.iml
Original file line number Diff line number Diff line change
Expand Up @@ -114,49 +114,50 @@
</content>
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="play-services-base-8.1.0" level="project" />
<orderEntry type="library" exported="" name="google-http-client-1.20.0" level="project" />
<orderEntry type="library" exported="" name="mediarouter-v7-22.2.0" level="project" />
<orderEntry type="library" exported="" name="google-http-client-android-1.20.0" level="project" />
<orderEntry type="library" exported="" name="play-services-measurement-8.1.0" level="project" />
<orderEntry type="library" exported="" name="picasso-2.3.4" level="project" />
<orderEntry type="library" exported="" name="jackson-core-2.1.3" level="project" />
<orderEntry type="library" exported="" name="google-http-client-jackson2-1.20.0" level="project" />
<orderEntry type="library" exported="" name="google-api-client-android-1.20.0" level="project" />
<orderEntry type="library" exported="" name="support-v4-23.0.1" level="project" />
<orderEntry type="library" exported="" name="play-services-games-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-drive-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-panorama-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-plus-8.1.0" level="project" />
<orderEntry type="library" exported="" name="guava-jdk5-13.0" level="project" />
<orderEntry type="library" exported="" name="play-services-appstate-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-basement-8.1.0" level="project" />
<orderEntry type="library" exported="" name="YouTubeAndroidPlayerApi" level="project" />
<orderEntry type="library" exported="" name="play-services-wearable-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-appinvite-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-cast-8.1.0" level="project" />
<orderEntry type="library" exported="" name="jsr305-1.3.9" level="project" />
<orderEntry type="library" exported="" name="play-services-appindexing-8.1.0" level="project" />
<orderEntry type="library" exported="" name="google-api-client-gson-1.20.0" level="project" />
<orderEntry type="library" exported="" name="mediarouter-v7-22.2.0" level="project" />
<orderEntry type="library" exported="" name="play-services-base-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-location-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-identity-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-fitness-8.1.0" level="project" />
<orderEntry type="library" exported="" name="google-api-client-1.20.0" level="project" />
<orderEntry type="library" exported="" name="play-services-nearby-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-appindexing-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-gcm-8.1.0" level="project" />
<orderEntry type="library" exported="" name="google-api-client-android-1.20.0" level="project" />
<orderEntry type="library" exported="" name="google-api-services-youtube-v3-rev120-1.19.0" level="project" />
<orderEntry type="library" exported="" name="play-services-safetynet-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-vision-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-wallet-8.1.0" level="project" />
<orderEntry type="library" exported="" name="org.jbundle.util.osgi.wrapped.org.apache.http.client-4.1.2" level="project" />
<orderEntry type="library" exported="" name="google-oauth-client-1.20.0" level="project" />
<orderEntry type="library" exported="" name="jsr305-1.3.9" level="project" />
<orderEntry type="library" exported="" name="play-services-drive-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-analytics-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-8.1.0" level="project" />
<orderEntry type="library" exported="" name="appcompat-v7-23.0.1" level="project" />
<orderEntry type="library" exported="" name="play-services-measurement-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-ads-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-maps-8.1.0" level="project" />
<orderEntry type="library" exported="" name="google-http-client-android-1.20.0" level="project" />
<orderEntry type="library" exported="" name="google-oauth-client-1.20.0" level="project" />
<orderEntry type="library" exported="" name="support-v4-23.0.1" level="project" />
<orderEntry type="library" exported="" name="google-http-client-gson-1.20.0" level="project" />
<orderEntry type="library" exported="" name="gson-2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-location-8.1.0" level="project" />
<orderEntry type="library" exported="" name="appcompat-v7-23.0.1" level="project" />
<orderEntry type="library" exported="" name="play-services-cast-8.1.0" level="project" />
<orderEntry type="library" exported="" name="support-annotations-23.0.1" level="project" />
<orderEntry type="library" exported="" name="gson-2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-appinvite-8.1.0" level="project" />
<orderEntry type="library" exported="" name="gson-2.4" level="project" />
<orderEntry type="library" exported="" name="play-services-ads-8.1.0" level="project" />
<orderEntry type="library" exported="" name="google-api-client-1.20.0" level="project" />
<orderEntry type="library" exported="" name="YouTubeAndroidPlayerApi" level="project" />
<orderEntry type="library" exported="" name="google-http-client-jackson2-1.20.0" level="project" />
<orderEntry type="library" exported="" name="play-services-appstate-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-gcm-8.1.0" level="project" />
<orderEntry type="library" exported="" name="jackson-core-2.1.3" level="project" />
<orderEntry type="library" exported="" name="play-services-safetynet-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-games-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-wallet-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-basement-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-maps-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-nearby-8.1.0" level="project" />
<orderEntry type="library" exported="" name="google-http-client-1.20.0" level="project" />
<orderEntry type="library" exported="" name="play-services-panorama-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-fitness-8.1.0" level="project" />
<orderEntry type="library" exported="" name="guava-jdk5-13.0" level="project" />
<orderEntry type="library" exported="" name="play-services-wearable-8.1.0" level="project" />
<orderEntry type="library" exported="" name="play-services-plus-8.1.0" level="project" />
</component>
</module>
3 changes: 2 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ android {
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.1'
compile files('libs/YouTubeAndroidPlayerApi.jar')
compile 'com.google.android.gms:play-services:8.1.0'
Expand All @@ -32,4 +32,5 @@ dependencies {
// Image loading library
compile 'com.squareup.picasso:picasso:2.3.+'
compile files('libs/gson-2.4.jar')
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
}
165 changes: 162 additions & 3 deletions app/src/main/java/edu/phambdvcu/hacknc/Client.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,166 @@
package edu.phambdvcu.hacknc;

/**
* Created by phambd on 10/10/15.
*/
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;

public class Client {

public Client(){
}

public void post(VideoItem v, Responder R){
PostFetcher fetcher = new PostFetcher(v,R);
fetcher.execute();
}
public void get(Responder R){
GetFetcher fetcher = new GetFetcher(R);
fetcher.execute();
}


private class PostFetcher extends AsyncTask<Void, Void, String> {
private static final String TAG = "PostFetcher";
public static final String SERVER_URL = "https://castbox-1094.appspot.com/Video";

Responder R;
VideoItem v;

public PostFetcher(VideoItem v, Responder R){
this.R = R;
this.v = v;


}

@Override
protected String doInBackground(Void... params) {
try {
//Create an HTTP client
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(SERVER_URL);
post.setEntity(new UrlEncodedFormEntity(v.toMap()));

//Perform the request and check the status code
HttpResponse response = client.execute(post);
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();

try {
//Read the server response and attempt to parse it as JSON
Reader reader = new InputStreamReader(content);

GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();
List<VideoItem> videos = new ArrayList<VideoItem>();
videos = Arrays.asList(gson.fromJson(reader, VideoItem[].class));
content.close();

R.respond(videos);
} catch (Exception ex) {
Log.e(TAG, "Failed to parse JSON due to: " + ex);

}
} else {
Log.e(TAG, "Server responded with status code: " + statusLine.getStatusCode());

}
} catch(Exception ex) {
Log.e(TAG, "Failed to send HTTP POST request due to: " + ex);

}
return null;
}
}
private class GetFetcher extends AsyncTask<Void, Void, String> {
private static final String TAG = "PostFetcher";
public static final String SERVER_URL = "https://castbox-1094.appspot.com/Video";

Responder R;
VideoItem v;

public GetFetcher(Responder R){
this.R = R;
}

@Override
protected String doInBackground(Void... params) {
try {
//Create an HTTP client
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(SERVER_URL);

get.setParams(VideoItem.getKey());

//Perform the request and check the status code
HttpResponse response = client.execute(get);
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();

try {
//Read the server response and attempt to parse it as JSON
Reader reader = new InputStreamReader(content);

GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();
List<VideoItem> videos = new ArrayList<VideoItem>();
videos = Arrays.asList(gson.fromJson(reader, VideoItem[].class));
content.close();

R.respond(videos);
} catch (Exception ex) {
Log.e(TAG, "Failed to parse JSON due to: " + ex);

}
} else {
Log.e(TAG, "Server responded with status code: " + statusLine.getStatusCode());
}
} catch(Exception ex) {
Log.e(TAG, "Failed to send HTTP POST request due to: " + ex);

}
return null;
}
}

public static void main(String []args){

VideoItem v = new VideoItem();
v.setCurrent(true);
v.setId("butt");
v.setFinished(true);
v.setRating(5);
v.setThumbnailURL("pic");
v.setTitle("butthole");
Client c = new Client();
c.post(v,new Tester());

}


}
12 changes: 12 additions & 0 deletions app/src/main/java/edu/phambdvcu/hacknc/Responder.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package edu.phambdvcu.hacknc;

/**
* Created by willem on 10/10/15.
*/


public interface Responder {
final String SECRET_KEY = "Mr. Poopie Butthole";

String respond(Object o);
}
12 changes: 12 additions & 0 deletions app/src/main/java/edu/phambdvcu/hacknc/Tester.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package edu.phambdvcu.hacknc;

/**
* Created by willem on 10/11/15.
*/
public class Tester implements Responder {

public String respond(Object o){
System.out.print(o.toString());
return o.toString();
}
}
Loading