diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fbdf612..5637d70 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -31,6 +31,12 @@
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hochi/nextcompanion/MainActivity.java b/app/src/main/java/com/example/hochi/nextcompanion/MainActivity.java
index 1eeedf2..e490aec 100644
--- a/app/src/main/java/com/example/hochi/nextcompanion/MainActivity.java
+++ b/app/src/main/java/com/example/hochi/nextcompanion/MainActivity.java
@@ -17,6 +17,7 @@ import android.widget.ArrayAdapter;
import android.widget.ListView;
import org.json.JSONArray;
+import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
@@ -101,6 +102,8 @@ public class MainActivity extends AppCompatActivity implements AsyncTaskCallback
@Override
public void onTaskComplete(String response) {
+ final Context context = this;
+
if (!response.isEmpty()) {
final ArrayList list = new ArrayList<>();
try {
@@ -122,13 +125,31 @@ public class MainActivity extends AppCompatActivity implements AsyncTaskCallback
final ArrayAdapter adapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, list);
listview.setAdapter(adapter);
+
+ try {
+ final JSONObject jObject = new JSONObject(response);
+ final JSONArray bikesArray = jObject.getJSONArray("rentalCollection");
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, final View view, int position, long id) {
- //TODO: Return bike
+ Intent intent = new Intent(context, ReturnActivity.class);
+ try {
+ JSONObject bike = bikesArray.getJSONObject(position);
+ String bID = bike.getString("bike");
+ String stID = bike.getString("start_place");
+ String[] bikeArray = {bID, stID};
+ intent.putExtra("bike", bikeArray);
+ startActivity(intent);
+ }
+ catch (JSONException e) {
+ e.printStackTrace();
+ }
}
});
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
}
else {
//TODO: implement error handling
diff --git a/app/src/main/java/com/example/hochi/nextcompanion/ReturnActivity.java b/app/src/main/java/com/example/hochi/nextcompanion/ReturnActivity.java
new file mode 100644
index 0000000..58cf5de
--- /dev/null
+++ b/app/src/main/java/com/example/hochi/nextcompanion/ReturnActivity.java
@@ -0,0 +1,61 @@
+package com.example.hochi.nextcompanion;
+
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import java.util.Arrays;
+
+public class ReturnActivity extends AppCompatActivity implements AsyncTaskCallbacks {
+ private RequestHandler returnRequestTask = null;
+ private String[] bikeArray;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_return);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+
+ Intent intent = getIntent();
+ bikeArray = intent.getStringArrayExtra("bike");
+
+ Button mReturnSubmitButton = findViewById(R.id.return_submit_button);
+ mReturnSubmitButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ returnRequest();
+ }
+ });
+ }
+ void returnRequest() {
+ TextView mStationInput;
+ mStationInput = findViewById(R.id.return_station_id);
+ String stationID = mStationInput.getText().toString();
+ //get loginkey
+ SharedPreferences sharedPref = getSharedPreferences("persistence", MODE_PRIVATE);
+ String defaultValue = "nokey";
+ String loginKey = sharedPref.getString("loginKey", defaultValue);
+
+ String[] params = {
+ "apikey=", getString(R.string.apikey),
+ "bike=", bikeArray[0],
+ "loginkey=", loginKey,
+ "station=", stationID,
+ "comment=", "return bike"
+ };
+ returnRequestTask = new RequestHandler(this, "POST",
+ "api/return.json", params);
+ returnRequestTask.execute((Void) null);
+ }
+
+ @Override
+ public void onTaskComplete(String response) {
+ Log.d("DEBUG", response);
+ finish();
+ }
+}
diff --git a/app/src/main/res/layout/activity_return.xml b/app/src/main/res/layout/activity_return.xml
new file mode 100644
index 0000000..556d43e
--- /dev/null
+++ b/app/src/main/res/layout/activity_return.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file