Browse Source

Prototyping

master
gitsvn 12 years ago
parent
commit
07046ab4f3

+ 1
- 1
res/layout/activity_riser_sight_configuration.xml View File

@@ -11,6 +11,6 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
android:text="@string/title_activity_riser_sight_configuration" />
</RelativeLayout>

+ 178
- 337
res/layout/rbs_main.xml View File

@@ -1,13 +1,86 @@
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/ch.spherIC.recurvebowsight"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg" >
android:background="@drawable/bg"
android:gravity="center" >
<LinearLayout
android:id="@+id/views"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ch.spherIC.recurvebowsight.components.XTextView
android:id="@+id/viewParams"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:layout_marginTop="2dp"
android:layout_weight="1"
android:background="@drawable/glassbg_black"
android:gravity="center"
android:paddingBottom="1dip"
android:paddingLeft="3dip"
android:paddingTop="1dip"
android:text="@string/viewParams"
android:textColor="@color/white"
android:textStyle="bold"
android:visibility="visible"
app:drawBorder="true"
app:drawBorderColor="@color/white"
app:drawBorderWidth="3dp" />
<ch.spherIC.recurvebowsight.components.XTextView
android:id="@+id/viewResults"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:layout_marginTop="2dp"
android:layout_weight="1"
android:background="@drawable/glassbg_black"
android:gravity="center"
android:paddingBottom="1dip"
android:paddingLeft="3dip"
android:paddingTop="1dip"
android:text="@string/viewResults"
android:textColor="@color/white"
android:textStyle="normal|bold"
android:visibility="visible"
app:drawBorder="true"
app:drawBorderColor="@color/white"
app:drawBorderWidth="3dp" />
<ch.spherIC.recurvebowsight.components.XTextView
android:id="@+id/viewSight"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:layout_marginTop="2dip"
android:layout_weight="1"
android:background="@drawable/glassbg_black"
android:gravity="center"
android:paddingBottom="1dip"
android:paddingLeft="3dip"
android:paddingTop="1dip"
android:text="@string/viewSight"
android:textColor="@color/white"
android:textStyle="bold"
android:visibility="visible"
app:drawBorder="true"
app:drawBorderColor="@color/white"
app:drawBorderWidth="3dp" />
</LinearLayout>
<ViewFlipper
android:id="@+id/viewFlipper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/views"
android:scrollbarAlwaysDrawVerticalTrack="false" >
<ScrollView
@@ -15,6 +88,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableLayout
android:id="@+id/inputParams"
android:layout_width="match_parent"
@@ -24,259 +98,49 @@
android:scrollbars="vertical" >
<requestFocus />
<TableRow
android:id="@+id/TableRow13"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView13"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText13"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView12"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText12"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView11"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText11"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView10"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText10"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow09"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView09"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText09"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow08"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView08"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText08"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow07"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView07"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText07"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow06"
android:id="@+id/tableRow0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView06"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText06"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
<TextView
android:id="@+id/bowAndArrowParams"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/yellow"
android:paddingBottom="3dip"
android:paddingLeft="3dip"
android:paddingTop="3dip"
android:text="@string/titleBowAndArrowParams"
android:textColor="@color/black"
android:textStyle="bold" >
</TextView>
</TableRow>
<TableRow
android:id="@+id/TableRow05"
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView05"
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:layout_gravity="right|center_vertical"
android:text="@string/arrowDiameterLbl"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText05"
android:layout_width="200dp"
android:id="@+id/editText1"
android:layout_width="150dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:layout_marginLeft="4dp"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
@@ -284,58 +148,29 @@
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow04"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView04"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText04"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow03"
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView03"
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:layout_gravity="right|center_vertical"
android:text="@string/arrowCwLbl"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText03"
android:layout_width="200dp"
android:id="@+id/editText2"
android:layout_width="100dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:layout_marginLeft="4dp"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
@@ -343,59 +178,30 @@
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow02"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText02"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/TableRow01"
android:id="@+id/tableRow3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp" >
<TextView
android:id="@+id/TextView01"
android:id="@+id/textView3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:layout_gravity="right|center_vertical"
android:text="@string/arrowV0Lbl"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText01"
android:layout_width="200dp"
android:id="@+id/editText3"
android:layout_width="100dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:layout_marginLeft="4dp"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
@@ -403,40 +209,74 @@
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp" >
<TableRow
android:id="@+id/tableRow4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp" >
<TextView
android:id="@+id/textView4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:text="@string/bowPulloutLbl"
android:textColor="@color/black" />
<EditText
android:id="@+id/editText4"
android:layout_width="100dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:layout_marginLeft="4dp"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp" >
<TextView
android:id="@+id/textView5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:text="@string/arrowWeightLbl"
android:textColor="@color/black" />
<EditText
android:id="@+id/editText5"
android:layout_width="100dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:layout_marginLeft="4dp"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableRow>
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:text="@string/hello_world"
android:textColor="@color/black" />
<EditText
android:id="@+id/EditText1"
android:layout_width="200dp"
android:layout_height="36dp"
android:layout_gravity="fill_horizontal"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:text="22"
android:textSize="18sp" />
</TableLayout>
</TableRow>
</TableLayout>
</ScrollView>
<LinearLayout
@@ -474,6 +314,7 @@
android:text="62"
android:textSize="18dp" />
</LinearLayout>
</ViewFlipper>
</RelativeLayout>

+ 20
- 0
res/values-de/strings.xml View File

@@ -0,0 +1,20 @@
<resources>
<string name="app_name">Recurve Bow Sight </string>
<string name="title_rbs_main_activity">Recurvebogen Visier</string>
<string name="title_activity_riser_sight_configuration">Konfiguration Bogen-Visier</string>
<string name="menu_settings">Menu</string>
<string name="action_settings">Settings</string>
<string name="viewParams">Parameter</string>
<string name="viewResults">Resultate</string>
<string name="viewSight">Visier</string>
<string name="titleBowAndArrowParams">Bogen- und Pfeilparameter</string>
<string name="arrowDiameterLbl">Durchmesser Pfeilschaft [mm]</string>
<string name="arrowCwLbl">Cw-Wert Pfeil</string>
<string name="arrowV0Lbl">Pfeilanfangsgeschw. V0 [m/s]</string>
<string name="bowPulloutLbl">Auszug Bogen [cm]</string>
<string name="arrowWeightLbl">Gewicht Pfeil [g]</string>
</resources>

+ 21
- 0
res/values/colors.xml View File

@@ -10,4 +10,25 @@
name="yellow">#AAFFFFAA</color>
<color
name="white">#FFFFFFFF</color>
<color
name="android_blue">#FF33B5E5</color>
<color
name="android_blue_dark">#FF0099CC</color>
<color
name="android_violet">#FFAA66CC</color>
<color
name="android_violet_dark">#FF9933CC</color>
<color
name="android_green">#FF99CC00</color>
<color
name="android_green_dark">#FF669900</color>
<color
name="android_yellow">#FFFFBB33</color>
<color
name="android_yellow_dark">#FFFF8800</color>
<color
name="android_red">#FFFF4444</color>
<color
name="android_red_dark">#FFCC0000</color>
</resources>

+ 15
- 5
res/values/strings.xml View File

@@ -1,11 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Recurve Bow Sight</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="app_name">Recurve Bow Sight </string>
<string name="title_rbs_main_activity">Recurve Bow Sight</string>
<string name="title_activity_riser_sight_configuration">Riser-Sight Configuration</string>
<string name="action_settings">Settings</string>
<string name="title_activity_riser_sight_configuration">Riser-Sight Configuration</string>
<string name="menu_settings">Menu</string>
<string name="action_settings">Settings</string>

<string name="viewParams">Parameters</string>
<string name="viewResults">Results</string>
<string name="viewSight">Sight</string>
<string name="titleBowAndArrowParams">Bow and Arrow Parameters</string>
<string name="arrowDiameterLbl">Arrow Diameter [mm]</string>
<string name="arrowCwLbl">Cw-Value of Arrow</string>
<string name="arrowV0Lbl">Arrow initial velocity V0 [m/s]</string>
<string name="bowPulloutLbl">Bow Pullout [cm]</string>
<string name="arrowWeightLbl">Arrow Weight [g]</string>
</resources>

+ 35
- 2
src/ch/spherIC/recurvebowsight/RBSMainActivity.java View File

@@ -18,12 +18,12 @@ import android.widget.ListView;
import android.widget.ScrollView;
import android.widget.ViewFlipper;
import ch.spherIC.recurvebowsight.R;
import ch.spherIC.recurvebowsight.components.XTextView;
import java.util.ArrayList;
import java.util.Arrays;
import ch.spherIC.recurvebowsight.R;
public class RBSMainActivity extends Activity {
@@ -31,6 +31,7 @@ public class RBSMainActivity extends Activity {
private ScrollView scrollView;
private float lastX;
private ListView listView1;
private XTextView txtViewParams;
private Activity riserSightConfigActivity;
@@ -56,6 +57,7 @@ public class RBSMainActivity extends Activity {
case MotionEvent.ACTION_DOWN: {
this.downX = event.getX();
this.downY = event.getY();
return true;
}
case MotionEvent.ACTION_UP: {
@@ -76,6 +78,37 @@ public class RBSMainActivity extends Activity {
// Show The Next Screen
RBSMainActivity.this.viewFlipper.showNext();
}
return true;
}
}
return false;
}
});
this.txtViewParams = (XTextView) findViewById(R.id.viewParams);
this.txtViewParams.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(final View v, final MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
RBSMainActivity.this.txtViewParams.setDrawborderColor(getResources().getColor(R.color.android_blue_dark));
RBSMainActivity.this.txtViewParams.setTextColor(getResources().getColor(R.color.android_blue_dark));
return true;
}
case MotionEvent.ACTION_UP: {
if (RBSMainActivity.this.viewFlipper.getDisplayedChild() != 0) {
RBSMainActivity.this.viewFlipper.setDisplayedChild(0);
}
RBSMainActivity.this.txtViewParams.setDrawborderColor(getResources().getColor(R.color.android_blue));
RBSMainActivity.this.txtViewParams.setTextColor(getResources().getColor(R.color.android_blue));
return true;
}
}

+ 16
- 6
src/ch/spherIC/recurvebowsight/components/XTextView.java View File

@@ -15,7 +15,6 @@
*/
package ch.spherIC.recurvebowsight.components;
import ch.spherIC.recurvebowsight.R;
import android.content.Context;
import android.content.res.TypedArray;
@@ -28,6 +27,7 @@ import android.util.AttributeSet;
import android.widget.TextView;
import ch.spherIC.recurvebowsight.R;
/**
@@ -47,7 +47,7 @@ public class XTextView extends TextView {
*
* @param context DOCUMENT ME!
*/
public XTextView(Context context) {
public XTextView(final Context context) {
super(context);
}
@@ -58,7 +58,7 @@ public class XTextView extends TextView {
* @param attrs DOCUMENT ME!
* @param defStyle DOCUMENT ME!
*/
public XTextView(Context context, AttributeSet attrs, int defStyle) {
public XTextView(final Context context, final AttributeSet attrs, final int defStyle) {
super(context, attrs, defStyle);
init(attrs);
}
@@ -69,7 +69,7 @@ public class XTextView extends TextView {
* @param context DOCUMENT ME!
* @param attrs DOCUMENT ME!
*/
public XTextView(Context context, AttributeSet attrs) {
public XTextView(final Context context, final AttributeSet attrs) {
super(context, attrs);
init(attrs);
}
@@ -80,7 +80,7 @@ public class XTextView extends TextView {
*
* @param attrs DOCUMENT ME!
*/
private void init(AttributeSet attrs) {
private void init(final AttributeSet attrs) {
TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.XTextView);
this.drawborder = a.getBoolean(R.styleable.XTextView_drawBorder, false);
@@ -98,7 +98,7 @@ public class XTextView extends TextView {
* @see android.widget.TextView#onDraw(android.graphics.Canvas)
*/
@Override
protected void onDraw(Canvas canvas) {
protected void onDraw(final Canvas canvas) {
super.onDraw(canvas);
if (this.drawborder) {
@@ -113,4 +113,14 @@ public class XTextView extends TextView {
canvas.drawRect(rect, paint);
}
}
/**
* @param drawborderColor the drawborderColor to set
*/
public void setDrawborderColor(final int drawborderColor) {
this.drawborderColor = drawborderColor;
invalidate();
}
}

Loading…
Cancel
Save