# added prototype for taking pictures of finishing list

This commit is contained in:
Lukas Niemeier committed 2013-05-17 15:58:56 +02:00
1 parent 24f9f674cd
commit 96592e75e1
4 files changed
+88 -12

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -107,13 +107,23 @@
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_weight="0.2"
android:orientation="vertical">
android:orientation="horizontal">
<Button
android:id="@+id/buttonPositioning"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Set positionings"
android:text="Confirm positionings"
android:textSize="14pt"
android:gravity="center_vertical|center_horizontal"
android:ems="10" />
<ImageButton
android:id="@+id/buttonCamera"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Snap"
android:src="@drawable/ic_menu_camera"
android:textSize="14pt"
android:gravity="center_vertical|center_horizontal"
android:ems="10" />
@@ -3,17 +3,24 @@
*/
package com.sap.sailing.racecommittee.app.ui.fragments.raceinfo;
import java.io.File;
import java.util.Date;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.racecommittee.app.AppConstants;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.logging.ExLog;
import com.sap.sailing.racecommittee.app.ui.fragments.RaceFragment;
@@ -27,7 +34,7 @@ public class FinishedRaceFragment extends RaceFragment {
TextView timeLimitView;
TextView protestStartTimeView;
// / TODO: some time limit time is missing?! Dunno why it exists...
File imageFile;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@@ -37,6 +44,10 @@ public class FinishedRaceFragment extends RaceFragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
File imageDirectory = new File(Environment.getExternalStorageDirectory() + AppConstants.ApplicationFolder);
imageDirectory.mkdirs();
imageFile = new File(imageDirectory, "image.jpg");
headerView = (TextView) getView().findViewById(R.id.textFinishedRace);
startTimeView = (TextView) getView().findViewById(R.id.textFinishedRaceStarted);
@@ -51,10 +62,9 @@ public class FinishedRaceFragment extends RaceFragment {
finishTimeView.setText(getFinishTimeText());
timeLimitView.setText(getTimeLimitText());
protestStartTimeView.setText(getProtestStartTimeText());
Button positioningButton = (Button) getView().findViewById(R.id.buttonPositioning);
positioningButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
PositioningFragment fragment = new PositioningFragment();
@@ -62,6 +72,29 @@ public class FinishedRaceFragment extends RaceFragment {
fragment.show(getFragmentManager(), null);
}
});
ImageButton cameraButton = (ImageButton) getView().findViewById(R.id.buttonCamera);
cameraButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imageFile));
startActivityForResult(intent, 1337);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1337) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "lukas.niemeier@student.hpi.uni-potsdam.de" });
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imageFile));
startActivity(Intent.createChooser(intent, "Send mail..."));
}
}
private CharSequence getProtestStartTimeText() {
@@ -75,14 +108,13 @@ public class FinishedRaceFragment extends RaceFragment {
if (startTime == null || firstBoatTime == null) {
return null;
}
return firstBoatTime.plus((long)((firstBoatTime.asMillis() - startTime.asMillis()) * 0.75));
return firstBoatTime.plus((long) ((firstBoatTime.asMillis() - startTime.asMillis()) * 0.75));
}
private CharSequence getTimeLimitText() {
TimePoint timeLimit = getTimeLimit();
if (timeLimit != null) {
return String.format(getString(R.string.race_time_limit),
getFormattedTime(timeLimit.asDate()));
return String.format(getString(R.string.race_time_limit), getFormattedTime(timeLimit.asDate()));
}
return getString(R.string.empty);
}
@@ -129,13 +161,14 @@ public class FinishedRaceFragment extends RaceFragment {
@Override
public void notifyTick() {
}
@Override
public void onStart() {
super.onStart();
ExLog.w(FinishedRaceFragment.class.getName(), String.format("Fragment %s is now shown", FinishedRaceFragment.class.getName()));
ExLog.w(FinishedRaceFragment.class.getName(),
String.format("Fragment %s is now shown", FinishedRaceFragment.class.getName()));
}
}
@@ -0,0 +1,33 @@
package com.sap.sailing.racecommittee.app.utils;
import java.io.File;
import com.sap.sailing.racecommittee.app.AppConstants;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.provider.MediaStore;
public class CameraToMailHelper {
public void sendPictureToMail(String[] recipients, Context context) {
File imageDirectory = new File(Environment.getExternalStorageDirectory() + AppConstants.ApplicationFolder);
imageDirectory.mkdirs();
File imageFile = new File(imageDirectory, "image.jpg");
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imageFile));
/*Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL, recipients);
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");
//intent.putExtra(Intent.EXTRA_STREAM, uri);
context.startActivity(Intent.createChooser(intent, "Send mail..."));*/
}
}