Skip to content

Commit

Permalink
Merge branch 'master' of github.com:shewu/Spacehold
Browse files Browse the repository at this point in the history
  • Loading branch information
shewu committed May 14, 2012
2 parents 4272902 + 494ce4c commit 5ee9419
Show file tree
Hide file tree
Showing 113 changed files with 7,474 additions and 203 deletions.
5,508 changes: 5,508 additions & 0 deletions .metadata/.log

Large diffs are not rendered by default.

Binary file modified .metadata/.mylyn/.tasks.xml.zip
Binary file not shown.
Binary file modified .metadata/.mylyn/tasks.xml.zip
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
background=#000000
foreground=#ffffff
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
package com.a.space;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class SetupSpaceChooserActivity extends Activity {
private List<CharSequence> mChosenSpaces;
private TextView mSpacesListTextView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setup_space_chooser_activity);
mChosenSpaces = new LinkedList<CharSequence>();
mSpacesListTextView = (TextView)findViewById(R.id.textView2);
assert mSpacesListTextView != null;

Button pickSpacesButton = (Button)findViewById(R.id.button1);
pickSpacesButton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
showSpacesChooser();
}
});

// TODO disable this button when mChosenSpaces.size() < 1
Button finishSetupButton = (Button)findViewById(R.id.button2);
finishSetupButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (mChosenSpaces.size() < 1) {
showNoSpaceChosenWarning();
return;
}

finish();
startActivity(new Intent(SetupSpaceChooserActivity.this, SetupFinishedActivity.class));
}
});

showSpacesChooser();
}

private void showNoSpaceChosenWarning() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Spacehold");
builder.setMessage("Choose a space before proceeding.");
builder.setPositiveButton("Okay", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});

builder.create().show();
}

private void showSpacesChooser() {
final CharSequence[] items = getListOfSpaces();
boolean[] states = new boolean[items.length];
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select spaces to join");
builder.setMultiChoiceItems(items, states, new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
assert which < items.length;
if (isChecked) {
mChosenSpaces.add(items[which]);
} else {
mChosenSpaces.remove(items[which]);
}
refreshSpaceListTextView();
}
});
builder.setPositiveButton("Okay", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
for (CharSequence s : mChosenSpaces) {
addSpaceToServer(s);
}
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.create().show();
}

private void refreshSpaceListTextView() {
StringBuilder sb = new StringBuilder();
for (CharSequence s : mChosenSpaces) {
sb.append(s);
sb.append("\n");
}
mSpacesListTextView.setText(sb.toString());
}

private void addSpaceToServer(CharSequence s) {
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
SharedPreferences settings = getSharedPreferences(SHUtil.PREFS_NAME, 0);
String userName = settings.getString(SHUtil.ACCOUNT_NAME, "");
if (userName.equals("")) {
Log.wtf("Spacehold", "no user registered with app");
}

HttpGet httpGet = new HttpGet("http://shewu.scripts.mit.edu/Spacehold/spacehold"); // TODO change to our URL
try {
HttpResponse response = httpClient.execute(httpGet, localContext);
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
int spacesWritten = Integer.parseInt(in.readLine());
if (spacesWritten < mChosenSpaces.size()) {
Log.wtf("Spacehold", "did not add expected number of spaces for user " + userName);
}
} catch (Exception e) {
e.printStackTrace();
}
}

private CharSequence[] getListOfSpaces() {
CharSequence[] seq = new CharSequence[0];
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("http://shewu.scripts.mit.edu/Spacehold/spacehold"); // TODO change to our URL
try {
HttpResponse response = httpClient.execute(httpGet, localContext);

BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

String line = null;
List<String> tmp = new ArrayList<String>();
while ((line = reader.readLine()) != null) {
tmp.add(line);
}

seq = new CharSequence[tmp.size()];
for (int i = 0; i < tmp.size(); ++i) {
seq[i] = tmp.get(i);
}
} catch (Exception e) {
e.printStackTrace();
}

return seq;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.a.space"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
android:background="#FFFFFF"
>

<activity
android:name=".SplashScreenActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainScreenActivity" android:screenOrientation="portrait"/>
<activity android:name=".MitersActivity" android:screenOrientation="portrait"/>
<activity android:name=".ExpandableList1" android:screenOrientation="portrait"/>
<activity android:name=".SetupWelcomeActivity" android:screenOrientation="portrait"/>
<activity android:name=".SetupAccountChooserActivity" android:screenOrientation="portrait"/>
<activity android:name=".SetupSpaceChooserActivity" android:screenOrientation="portrait"/>
</application>

</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
package com.a.space;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class SetupSpaceChooserActivity extends Activity {
private List<CharSequence> mChosenSpaces;
private TextView mSpacesListTextView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setup_space_chooser_activity);
mChosenSpaces = new LinkedList<CharSequence>();
mSpacesListTextView = (TextView)findViewById(R.id.textView2);
assert mSpacesListTextView != null;

Button pickSpacesButton = (Button)findViewById(R.id.button1);
pickSpacesButton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
showSpacesChooser();
}
});

// TODO disable this button when mChosenSpaces.size() < 1
Button finishSetupButton = (Button)findViewById(R.id.button2);
finishSetupButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (mChosenSpaces.size() < 1) {
showNoSpaceChosenWarning();
return;
}

finish();
startActivity(new Intent(SetupSpaceChooserActivity.this, SetupFinishedActivity.class));
}
});

showSpacesChooser();
}

private void showNoSpaceChosenWarning() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Spacehold");
builder.setMessage("Choose a space before proceeding.");
builder.setPositiveButton("Okay", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});

builder.create().show();
}

private void showSpacesChooser() {
final CharSequence[] items = getListOfSpaces();
boolean[] states = new boolean[items.length];
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select spaces to join");
builder.setMultiChoiceItems(items, states, new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
assert which < items.length;
if (isChecked) {
mChosenSpaces.add(items[which]);
} else {
mChosenSpaces.remove(items[which]);
}
refreshSpaceListTextView();
}
});
builder.setPositiveButton("Okay", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
for (CharSequence s : mChosenSpaces) {
addSpaceToServer(s);
}
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.create().show();
}

private void refreshSpaceListTextView() {
StringBuilder sb = new StringBuilder();
for (CharSequence s : mChosenSpaces) {
sb.append(s);
sb.append("\n");
}
mSpacesListTextView.setText(sb.toString());
}

private void addSpaceToServer(CharSequence s) {
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
SharedPreferences settings = getSharedPreferences(SHUtil.PREFS_NAME, 0);
String userName = settings.getString(SHUtil.ACCOUNT_NAME, "");
if (userName.equals("")) {
Log.wtf("Spacehold", "no user registered with app");
}

HttpGet httpGet = new HttpGet("http://shewu.scripts.mit.edu/Spacehold/spacehold"); // TODO change to our URL
try {
HttpResponse response = httpClient.execute(httpGet, localContext);
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
int spacesWritten = Integer.parseInt(in.readLine());
if (spacesWritten < mChosenSpaces.size()) {
Log.wtf("Spacehold", "did not add expected number of spaces for user " + userName);
}
} catch (Exception e) {
e.printStackTrace();
}
}

private CharSequence[] getListOfSpaces() {
CharSequence[] seq = new CharSequence[0];
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("http://shewu.scripts.mit.edu/Spacehold/spacehold/r.php?cmd=getspaces&tok=21W.789"); // TODO change to our URL
try {
HttpResponse response = httpClient.execute(httpGet, localContext);

BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

String line = null;
List<String> tmp = new ArrayList<String>();
while ((line = reader.readLine()) != null) {
tmp.add(line);
}

seq = new CharSequence[tmp.size()];
for (int i = 0; i < tmp.size(); ++i) {
seq[i] = tmp.get(i);
}
} catch (Exception e) {
e.printStackTrace();
}

return seq;
}
}
Loading

0 comments on commit 5ee9419

Please sign in to comment.