diff --git a/.idea/misc.xml b/.idea/misc.xml
index 1b77328..bd04605 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a6fe132..15b9c63 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -49,6 +49,7 @@
android:theme="@style/FullscreenTheme" />
pickNRandom(List lst, int n) {
@@ -229,7 +232,7 @@ public class Scenario {
Bitmap outputBitmap = null;
- if(currentFrame != null && snapTargets.contains(target) ) {
+ if(currentFrame != null && takeSnapshots && snapTargets.contains(target) ) {
// convert NV21 byteArrayFrame from camera to RGB bitmap.
Frame.ByteArrayFrame byteArrayFrame = (Frame.ByteArrayFrame) currentFrame;
outputBitmap = Nv21Image.nv21ToBitmap(rs, byteArrayFrame.getByteArray(), byteArrayFrame.getWidth(), byteArrayFrame.getHeight());
diff --git a/app/src/main/java/com/rubenvandeven/emotionhero/ScenarioView.java b/app/src/main/java/com/rubenvandeven/emotionhero/ScenarioView.java
index 7367627..790a42e 100644
--- a/app/src/main/java/com/rubenvandeven/emotionhero/ScenarioView.java
+++ b/app/src/main/java/com/rubenvandeven/emotionhero/ScenarioView.java
@@ -29,6 +29,9 @@ public class ScenarioView extends SurfaceView implements SurfaceHolder.Callback
private Scenario _scenario;
+ // bottom at 60%;
+ public static float BAR_POSITION = 0.7f;
+
/**
* The scorres in this moment, as to draw them on the screen.
* Indexes are Emotion ordinals
@@ -46,7 +49,6 @@ public class ScenarioView extends SurfaceView implements SurfaceHolder.Callback
private Paint missedPaint = new Paint();
private Paint scorePaint = new Paint();
private Paint bonusScorePaint = new Paint();
- private Paint scoreFinishedPaint = new Paint();
private Paint bonusBarPaint = new Paint();
private Point mLeftTop;
@@ -107,7 +109,7 @@ public class ScenarioView extends SurfaceView implements SurfaceHolder.Callback
Typeface font = Typeface.createFromAsset(context.getAssets(), "unifont-9.0.02.ttf");
scorePaint.setColor(Color.YELLOW);
- scorePaint.setTextSize(40);
+ scorePaint.setTextSize(getResources().getDimensionPixelSize(R.dimen.scenario_scorevalue));
scorePaint.setTypeface(Typeface.DEFAULT_BOLD);
bonusScorePaint.setColor(Color.rgb(132, 0, 255));
@@ -116,10 +118,6 @@ public class ScenarioView extends SurfaceView implements SurfaceHolder.Callback
bonusBarPaint.setColor(Color.rgb(132, 0, 255));
- scoreFinishedPaint.setColor(Color.YELLOW);
- scoreFinishedPaint.setTextSize(100);
- scoreFinishedPaint.setTypeface(Typeface.DEFAULT_BOLD);
-
//setup paints for drawing
mainPaint.setColor(Color.GRAY);
@@ -134,7 +132,7 @@ public class ScenarioView extends SurfaceView implements SurfaceHolder.Callback
for(Emotion emotion: Emotion.values()) {
Paint emoPaint = new Paint();
- emoPaint.setTextSize(22);
+ emoPaint.setTextSize(getResources().getDimensionPixelSize(R.dimen.scenario_emolabel));
// emoPaint.setTypeface(font);//gets ugly when transformed
emoPaint.setColor(emotion.getColor());
// emoPaint.setShadowLayer(10,0,0,Color.BLACK);
@@ -156,7 +154,7 @@ public class ScenarioView extends SurfaceView implements SurfaceHolder.Callback
int emoLightenedColor = Color.rgb(red, green, blue);
emoScoredPaint.setColor(emoLightenedColor);
- emoScoredPaint.setTextSize(20);
+ emoScoredPaint.setTextSize(getResources().getDimensionPixelSize(R.dimen.scenario_emolabel));
emoScoredPaint.setStrokeWidth(2);
emoScoredPaint.setStyle(Paint.Style.FILL_AND_STROKE);
// emoScoredPaint.setShadowLayer(10,0,0,Color.BLACK);
@@ -189,12 +187,12 @@ public class ScenarioView extends SurfaceView implements SurfaceHolder.Callback
float height = canvas.getHeight();
float width = canvas.getWidth();
- // bottom at 80%;
- float bottomline_height = height * (float) 0.8;
+ // bottom at 60%;
+ float bottomline_height = height * BAR_POSITION;
// draw current hits:
- float used_width = (float) 0.8; // 0.7: only use center
+ float used_width = (float) 0.9; // 0.7: only use center
float padding_left = canvas.getWidth() * (1-used_width) / 2;
float step_y = (canvas.getWidth() * used_width) / Emotion.values().length;
float max_ball_radius = step_y * (float) 0.8 / 2;
@@ -269,19 +267,20 @@ public class ScenarioView extends SurfaceView implements SurfaceHolder.Callback
float hitWidth = width*(_scenario.getHitPercentage()/100);
float misWidth = width*(_scenario.getMissedPercentage()/100);
float bonusWidth = width*(_scenario.getBonusPercentage()/100);
+ float bonus =_scenario.getBonusTotalValue();
- String scoreText = String.format("%1$.0f", _scenario.getHitTotalValue());
+ String scoreText = String.format("%1$.0f", _scenario.getHitTotalValue() + bonus);
Rect scoreTextBounds = new Rect();
scorePaint.getTextBounds(scoreText, 0, scoreText.length(), scoreTextBounds);
canvas.drawText(scoreText, hitWidth, height*0.95f-scoreTextBounds.height(), scorePaint);
- float bonus =_scenario.getBonusTotalValue();
- if(bonus > 0) {
+
+ /*if(bonus > 0) {
String bonusText = String.format("+ %1$.0f", bonus);
Rect bonusTextBounds = new Rect();
bonusScorePaint.getTextBounds(bonusText, 0, bonusText.length(), bonusTextBounds);
canvas.drawText(bonusText, hitWidth+scoreTextBounds.width()+3, height*0.95f-bonusTextBounds.height()-10, bonusScorePaint);
- }
+ }*/
canvas.drawRect(0, height*0.95f, width, height, mainPaint);
@@ -292,7 +291,7 @@ public class ScenarioView extends SurfaceView implements SurfaceHolder.Callback
canvas.drawRect(0, height*0.95f, hitWidth, height, emoPaints.get(Emotion.JOY)); // paint: yellow
canvas.drawRect(hitWidth, height*0.95f, hitWidth+misWidth, height, missedPaint);
- canvas.drawRect(0, height*0.95f, bonusWidth, height*0.975f, bonusBarPaint);
+// canvas.drawRect(0, height*0.95f, bonusWidth, height*0.975f, bonusBarPaint);
}
}
diff --git a/app/src/main/java/com/rubenvandeven/emotionhero/SnapshotDialogFragment.java b/app/src/main/java/com/rubenvandeven/emotionhero/SnapshotDialogFragment.java
new file mode 100644
index 0000000..9be7deb
--- /dev/null
+++ b/app/src/main/java/com/rubenvandeven/emotionhero/SnapshotDialogFragment.java
@@ -0,0 +1,91 @@
+package com.rubenvandeven.emotionhero;
+
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.v4.app.DialogFragment;
+import android.support.v4.widget.TextViewCompat;
+import android.support.v7.app.AlertDialog;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+/**
+ * Created by ruben on 21/09/16.
+ */
+
+public class SnapshotDialogFragment extends DialogFragment {
+
+ Player player;
+
+ public static SnapshotDialogFragment newInstance() {
+ SnapshotDialogFragment frag = new SnapshotDialogFragment();
+ return frag;
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ player = Player.getInstance(getContext());
+
+ View v = getActivity().getLayoutInflater().inflate(R.layout.snapshot_check, null);
+
+ if(player.hasSetSnapshotConfirm()) {
+ String statusString = player.allowsSnapshots() ? "share" : "not share";
+ TextView statusText = new TextView(getContext());
+ statusText.setText("You have currently set to "+statusString+" the snapshots.");
+ RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ params.addRule(RelativeLayout.BELOW, R.id.lastText);
+ int margin = getResources().getDimensionPixelSize(R.dimen.fab_margin);
+ params.setMargins(margin, margin/2, margin, 0);
+ ((RelativeLayout) v.findViewById(R.id.snapshotLayout)).addView(statusText,params);
+ }
+
+ return new AlertDialog.Builder(getActivity())
+// .setIcon(R.drawable.alert_dialog_icon)
+ .setTitle("Contribute")
+ .setView(v)
+ .setOnDismissListener(new DialogInterface.OnDismissListener() {
+ @Override
+ public void onDismiss(DialogInterface dialogInterface) {
+ // Set nothing, load website (triggers thing the next time
+ }
+ })
+ .setPositiveButton("Yes!",
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int whichButton) {
+// ((FragmentAlertDialog)getActivity()).doPositiveClick();
+ player.setAllowsSnapshots(true);
+ Toast.makeText(getContext(), "Thanks!", Toast.LENGTH_LONG).show();
+ }
+ }
+ )
+ .setNeutralButton("See website",
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int whichButton) {
+ // Set nothing, load website (triggers thing the next time
+ Intent i = new Intent(Intent.ACTION_VIEW);
+ i.setData(Uri.parse("https://emotionhero.com/faces"));
+ startActivity(i);
+ }
+ }
+ )
+ .setNegativeButton("Nope",
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int whichButton) {
+// ((FragmentAlertDialog)getActivity()).doNegativeClick();
+ player.setAllowsSnapshots(false);
+ Toast.makeText(getContext(), "Don't worry, we get it!", Toast.LENGTH_LONG).show();
+ }
+ }
+ )
+ .create();
+ }
+
+
+}
diff --git a/app/src/main/res/drawable/example_brow.jpg b/app/src/main/res/drawable/example_brow.jpg
new file mode 100644
index 0000000..f76a0a4
Binary files /dev/null and b/app/src/main/res/drawable/example_brow.jpg differ
diff --git a/app/src/main/res/drawable/example_mouth.jpg b/app/src/main/res/drawable/example_mouth.jpg
new file mode 100644
index 0000000..a2eb49b
Binary files /dev/null and b/app/src/main/res/drawable/example_mouth.jpg differ
diff --git a/app/src/main/res/drawable/example_nose.jpg b/app/src/main/res/drawable/example_nose.jpg
new file mode 100644
index 0000000..57b9d2e
Binary files /dev/null and b/app/src/main/res/drawable/example_nose.jpg differ
diff --git a/app/src/main/res/layout/activity_mirror_menu.xml b/app/src/main/res/layout/activity_mirror_menu.xml
index a9112a0..de9ad39 100644
--- a/app/src/main/res/layout/activity_mirror_menu.xml
+++ b/app/src/main/res/layout/activity_mirror_menu.xml
@@ -57,6 +57,17 @@
android:layout_height="wrap_content"
android:id="@+id/creditsButton"
android:fontFamily="sans-serif" />
+
@@ -72,7 +83,7 @@
android:textColor="@color/textSecondary"
android:textSize="30sp"
android:textStyle="bold"
- android:paddingBottom="60dp"
+ android:paddingBottom="100dp"
android:shadowColor="@android:color/black"
android:shadowDx="0"
android:shadowDy="0"
@@ -81,7 +92,6 @@
android:typeface="normal"
android:fontFamily="sans-serif-condensed" />
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index ca45e7a..04e3d5e 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -6,4 +6,7 @@
8dp
15sp
12sp
+ 20sp
+ 12sp
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8c1f236..a9a17fd 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -10,6 +10,7 @@
Continue
Progress
Credits
+ Settings
HighscoreActivity
Settings
Hello World from section: %1$d
diff --git a/build.gradle b/build.gradle
index dd57b9d..86851b2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.2.0-rc2'
+ classpath 'com.android.tools.build:gradle:2.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files