From 0d7d167dcfd456c1f8695448f885989661e712c8 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Mon, 19 Jan 2015 00:42:03 +0000
Subject: [PATCH] Create "About" tab and bump version.
---
app/app.iml | 11
app/src/main/res/layout/main.xml | 381 ++++++++++++++++---------------
app/src/main/java/net/jacekk/bridge/android/AboutActivity.java | 27 ++
app/src/main/res/layout/about.xml | 82 ++++++
app/src/main/res/values-w820dp/dimens.xml | 6
app/src/main/res/values/strings.xml | 45 +++
app/src/main/java/net/jacekk/bridge/android/MainActivity.java | 24 +
app/src/main/res/menu/main.xml | 13 +
app/src/main/AndroidManifest.xml | 32 ++
app/src/main/res/values-pl/strings.xml | 47 +++
app/build.gradle | 8
app/src/main/res/values/dimens.xml | 5
12 files changed, 459 insertions(+), 222 deletions(-)
diff --git a/app/app.iml b/app/app.iml
index 4753f0d..c6c55c4 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -86,17 +86,6 @@
<orderEntry type="library" exported="" name="appcompat-v7-21.0.3" level="project" />
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
<orderEntry type="library" exported="" name="support-v4-21.0.3" level="project" />
- <orderEntry type="module-library" scope="TEST">
- <library name="JUnit4">
- <CLASSES>
- <root url="jar://$APPLICATION_HOME_DIR$/lib/junit-4.11.jar!/" />
- <root url="jar://$APPLICATION_HOME_DIR$/lib/hamcrest-core-1.3.jar!/" />
- <root url="jar://$APPLICATION_HOME_DIR$/lib/hamcrest-library-1.3.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
</component>
</module>
diff --git a/app/build.gradle b/app/build.gradle
index 2d32d42..9b791cb 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,14 +6,14 @@
defaultConfig {
applicationId "net.jacekk.bridge"
- minSdkVersion 14
+ minSdkVersion 11
targetSdkVersion 21
- versionCode 1
- versionName "1.0"
+ versionCode 2
+ versionName "1.1"
}
buildTypes {
release {
- minifyEnabled false
+ minifyEnabled true
}
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 407198c..8864004 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,12 +1,30 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.jacekk.bridge">
- <application android:allowBackup="true" android:label="@string/app_name"
- android:icon="@drawable/icon" android:theme="@style/AppTheme">
- <activity android:name="net.jacekk.bridge.android.MainActivity"
- android:label="@string/app_name">
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="net.jacekk.bridge">
+
+ <application
+ android:allowBackup="true"
+ android:icon="@drawable/icon"
+ android:label="@string/app_name"
+ android:theme="@style/AppTheme"
+ android:supportsRtl="true">
+ <activity
+ android:name=".android.MainActivity"
+ android:label="@string/app_name" >
<intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
+ <activity
+ android:name=".android.AboutActivity"
+ android:label="@string/about_title"
+ android:parentActivityName=".android.MainActivity" >
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value="net.jacekk.bridge.android.MainActivity" />
+ </activity>
</application>
+
</manifest>
diff --git a/app/src/main/java/net/jacekk/bridge/android/AboutActivity.java b/app/src/main/java/net/jacekk/bridge/android/AboutActivity.java
new file mode 100644
index 0000000..dd11245
--- /dev/null
+++ b/app/src/main/java/net/jacekk/bridge/android/AboutActivity.java
@@ -0,0 +1,27 @@
+package net.jacekk.bridge.android;
+
+import android.app.Activity;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.widget.TextView;
+
+import net.jacekk.bridge.R;
+
+public class AboutActivity extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.about);
+
+ InitializeApp();
+ }
+
+ protected void InitializeApp() {
+ final TextView version = (TextView)findViewById(R.id.about_version);
+ try {
+ version.setText(getPackageManager().getPackageInfo(getPackageName(), 0).versionName);
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/app/src/main/java/net/jacekk/bridge/android/MainActivity.java b/app/src/main/java/net/jacekk/bridge/android/MainActivity.java
index eb1677f..15d2906 100644
--- a/app/src/main/java/net/jacekk/bridge/android/MainActivity.java
+++ b/app/src/main/java/net/jacekk/bridge/android/MainActivity.java
@@ -1,9 +1,12 @@
package net.jacekk.bridge.android;
import android.app.Activity;
+import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
+import android.view.Menu;
+import android.view.MenuItem;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.SeekBar;
@@ -51,6 +54,25 @@
InitializeApp();
}
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu.main, menu);
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.main_action_about:
+ Intent about = new Intent(getApplicationContext(), AboutActivity.class);
+ startActivity(about);
+ return true;
+ case R.id.main_action_reset:
+ resetInputs();
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
private void resetInputs() {
BidSlider.setProgress(0);
MinorSuitsToggle.setChecked(true);
@@ -61,7 +83,7 @@
ResultsText.setText(getString(R.string.enter_data));
}
- private void InitializeApp() {
+ protected void InitializeApp() {
bridgeCompute = new BridgeCompute();
BidSlider = (SeekBar) findViewById(R.id.BidSlider);
diff --git a/app/src/main/res/layout/about.xml b/app/src/main/res/layout/about.xml
new file mode 100644
index 0000000..61d1617
--- /dev/null
+++ b/app/src/main/res/layout/about.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingBottom="@dimen/activity_vertical_margin"
+ android:paddingLeft="@dimen/activity_horizontal_margin"
+ android:paddingRight="@dimen/activity_horizontal_margin"
+ android:paddingTop="@dimen/activity_vertical_margin">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/about_version_label"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/about_version"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/about_version"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+ <TextView
+ android:id="@+id/about_author_label"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10sp"
+ android:text="@string/about_author"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/about_author"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/about_author_contents" />
+
+ <TextView
+ android:id="@+id/about_url_label"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10sp"
+ android:text="@string/about_url"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/about_url"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/about_url_contents"
+ android:autoLink="web" />
+
+ <TextView
+ android:id="@+id/about_license_label"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10sp"
+ android:text="@string/about_license"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/about_license"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/about_license_contents"
+ android:textSize="16sp" />
+
+ <TextView
+ android:id="@+id/about_license_full"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/about_license_full"
+ android:textSize="16sp" />
+ </LinearLayout>
+</ScrollView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/main.xml b/app/src/main/res/layout/main.xml
index d31e456..c9d38c6 100644
--- a/app/src/main/res/layout/main.xml
+++ b/app/src/main/res/layout/main.xml
@@ -1,195 +1,202 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_margin="10dp"
- android:orientation="vertical">
-
- <SeekBar
- android:id="@+id/BidSlider"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:indeterminate="false"
- android:max="7" />
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingBottom="@dimen/activity_vertical_margin"
+ android:paddingLeft="@dimen/activity_horizontal_margin"
+ android:paddingRight="@dimen/activity_horizontal_margin"
+ android:paddingTop="@dimen/activity_vertical_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:weightSum="1">
+ android:orientation="vertical">
+
+ <SeekBar
+ android:id="@+id/BidSlider"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:indeterminate="false"
+ android:max="7" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:weightSum="1">
+
+ <TextView
+ android:id="@+id/BidText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_weight="0.25"
+ android:text="0"
+ android:textAlignment="center"
+ android:textAppearance="?android:attr/textAppearanceLarge" />
+
+ <ToggleButton
+ android:id="@+id/MinorSuitsToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0.25"
+ android:checked="true"
+ android:text="@string/minor_suits"
+ android:textOff="@string/minor_suits"
+ android:textOn="@string/minor_suits" />
+
+ <ToggleButton
+ android:id="@+id/MajorSuitsToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0.25"
+ android:checked="false"
+ android:text="@string/major_suits"
+ android:textOff="@string/major_suits"
+ android:textOn="@string/major_suits" />
+
+ <ToggleButton
+ android:id="@+id/NoTrumpToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0.25"
+ android:checked="false"
+ android:text="@string/no_trump"
+ android:textOff="@string/no_trump"
+ android:textOn="@string/no_trump" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <ToggleButton
+ android:id="@+id/ContractToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:checked="true"
+ android:text="@string/bid_normal"
+ android:textOff="@string/bid_normal"
+ android:textOn="@string/bid_normal" />
+
+ <ToggleButton
+ android:id="@+id/DoubleToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:checked="false"
+ android:text="@string/bid_double"
+ android:textOff="@string/bid_double"
+ android:textOn="@string/bid_double" />
+
+ <ToggleButton
+ android:id="@+id/RedoubleToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:checked="false"
+ android:text="@string/bid_redouble"
+ android:textOff="@string/bid_redouble"
+ android:textOn="@string/bid_redouble" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <ToggleButton
+ android:id="@+id/NNToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:checked="true"
+ android:text="@string/non_non"
+ android:textOff="@string/non_non"
+ android:textOn="@string/non_non" />
+
+ <ToggleButton
+ android:id="@+id/NVToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:checked="false"
+ android:text="@string/non_vul"
+ android:textOff="@string/non_vul"
+ android:textOn="@string/non_vul" />
+
+ <ToggleButton
+ android:id="@+id/VNToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:checked="false"
+ android:text="@string/vul_non"
+ android:textOff="@string/vul_non"
+ android:textOn="@string/vul_non" />
+
+ <ToggleButton
+ android:id="@+id/VVToggle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:checked="false"
+ android:text="@string/vul_vul"
+ android:textOff="@string/vul_vul"
+ android:textOn="@string/vul_vul" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/PCText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginEnd="10dp"
+ android:layout_marginRight="10dp"
+ android:labelFor="@+id/PCInput"
+ android:text="@string/pc"
+ android:textAppearance="?android:attr/textAppearanceLarge" />
+
+ <EditText
+ android:id="@+id/PCInput"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ems="4"
+ android:inputType="number" />
+
+ <TextView
+ android:id="@+id/TricksText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginEnd="10dp"
+ android:layout_marginLeft="20dp"
+ android:layout_marginRight="10dp"
+ android:layout_marginStart="20dp"
+ android:labelFor="@+id/TricksInput"
+ android:text="@string/tricks"
+ android:textAppearance="?android:attr/textAppearanceLarge" />
+
+ <EditText
+ android:id="@+id/TricksInput"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ems="4"
+ android:inputType="number" />
+ </LinearLayout>
<TextView
- android:id="@+id/BidText"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:layout_weight="0.25"
- android:text="0"
- android:textAlignment="gravity"
- android:textAppearance="?android:attr/textAppearanceLarge" />
-
- <ToggleButton
- android:id="@+id/MinorSuitsToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0.25"
- android:checked="true"
- android:text="@string/minor_suits"
- android:textOff="@string/minor_suits"
- android:textOn="@string/minor_suits" />
-
- <ToggleButton
- android:id="@+id/MajorSuitsToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0.25"
- android:checked="false"
- android:text="@string/major_suits"
- android:textOff="@string/major_suits"
- android:textOn="@string/major_suits" />
-
- <ToggleButton
- android:id="@+id/NoTrumpToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0.25"
- android:checked="false"
- android:text="@string/no_trump"
- android:textOff="@string/no_trump"
- android:textOn="@string/no_trump" />
+ android:id="@+id/ResultsText"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="10dp"
+ android:text="@string/enter_data"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
-
- <ToggleButton
- android:id="@+id/ContractToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:checked="true"
- android:text="@string/bid_normal"
- android:textOff="@string/bid_normal"
- android:textOn="@string/bid_normal" />
-
- <ToggleButton
- android:id="@+id/DoubleToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:checked="false"
- android:text="@string/bid_double"
- android:textOff="@string/bid_double"
- android:textOn="@string/bid_double" />
-
- <ToggleButton
- android:id="@+id/RedoubleToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:checked="false"
- android:text="@string/bid_redouble"
- android:textOff="@string/bid_redouble"
- android:textOn="@string/bid_redouble" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
-
- <ToggleButton
- android:id="@+id/NNToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:checked="true"
- android:text="@string/before_before"
- android:textOff="@string/before_before"
- android:textOn="@string/before_before" />
-
- <ToggleButton
- android:id="@+id/NVToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:checked="false"
- android:text="@string/before_after"
- android:textOff="@string/before_after"
- android:textOn="@string/before_after" />
-
- <ToggleButton
- android:id="@+id/VNToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:checked="false"
- android:text="@string/after_before"
- android:textOff="@string/after_before"
- android:textOn="@string/after_before" />
-
- <ToggleButton
- android:id="@+id/VVToggle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:checked="false"
- android:text="@string/after_after"
- android:textOff="@string/after_after"
- android:textOn="@string/after_after" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
-
- <TextView
- android:id="@+id/PCText"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="10dp"
- android:labelFor="@+id/PCInput"
- android:text="@string/pc"
- android:textAppearance="?android:attr/textAppearanceLarge" />
-
- <EditText
- android:id="@+id/PCInput"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:ems="4"
- android:inputType="number" />
-
- <Space
- android:layout_width="20dp"
- android:layout_height="wrap_content" />
-
- <TextView
- android:id="@+id/TricksText"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="10dp"
- android:labelFor="@+id/TricksInput"
- android:text="@string/tricks"
- android:textAppearance="?android:attr/textAppearanceLarge" />
-
- <EditText
- android:id="@+id/TricksInput"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:ems="4"
- android:inputType="number" />
- </LinearLayout>
-
- <TextView
- android:id="@+id/ResultsText"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_marginTop="10dp"
- android:text="@string/enter_data"
- android:textAppearance="?android:attr/textAppearanceMedium" />
-</LinearLayout>
-
+</ScrollView>
diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml
new file mode 100644
index 0000000..f044483
--- /dev/null
+++ b/app/src/main/res/menu/main.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/main_action_reset"
+ android:icon="@android:drawable/ic_menu_revert"
+ android:title="@string/reset"
+ android:showAsAction="ifRoom"/>
+ <item
+ android:id="@+id/main_action_about"
+ android:icon="@android:drawable/ic_menu_info_details"
+ android:title="@string/about"
+ android:showAsAction="ifRoom" />
+</menu>
\ No newline at end of file
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 29d49e9..567b41a 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -2,14 +2,51 @@
<resources>
<string name="app_name">Obliczenia brydżowe</string>
+ <string name="reset">Wyczyść</string>
+
+ <string name="about">O programie</string>
+ <string name="about_title">Obliczenia brydżowe - O programie</string>
+ <string name="about_version">Wersja</string>
+ <string name="about_author">Autor</string>
+ <string name="about_author_contents">Jacek Kowalski</string>
+ <string name="about_url">WWW</string>
+ <string name="about_url_contents">https://dev.jacekk.net/brydz</string>
+ <string name="about_license">Licencja</string>
+ <string name="about_license_contents">Trzyklauzulowa licencja BSD</string>
+ <string name="about_license_full">Copyright © 2012-2015 Jacek Kowalski\n
+Wszystkie prawa zastrzeżone.\n
+\n
+Rozpowszechnianie i używanie oprogramowania, czy to w formie kodu źródłowego, czy w formie kodu
+ wykonywalnego, są dozwolone pod warunkiem spełnienia poniższych warunków:\n
+1. Rozpowszechniany kod źródłowy musi zawierać powyższą notę dotyczącą praw autorskich,
+ niniejszą listę warunków oraz poniższe oświadczenie o wyłączeniu odpowiedzialności.\n
+2. Rozpowszechniany kod wykonywalny musi zawierać powyższą notę dotyczącą praw autorskich,
+ niniejszą listę warunków oraz poniższe oświadczenie o wyłączeniu odpowiedzialności
+ w dokumentacji i/lub w innych materiałach dostarczanych wraz z kopią oprogramowania.\n
+3. Ani nazwa Jacekk.info, ani nazwa Jacekk.net, ani nazwiska twórców i współpracowników nie mogą
+ być użyte dla ukazania ich aprobaty dla prac pochodnych od tego oprogramowania lub ich
+ promowania bez szczególnego, wyrażonego na piśmie zezwolenia danej osoby lub organizacji.\n
+\n
+To oprogramowanie jest dostarczone przez właścicieli praw autorskich "takim, jakie jest". Wszelkie
+ dorozumiane lub bezpośrednio wyrażone gwarancje, nie wyłączając gwarancji przydatności
+ handlowej i przydatności do określonego zastosowania, są wyłączone. W żadnym wypadku
+ posiadacze praw autorskich oraz współtwórcy nie mogą być odpowiedzialni za jakiekolwiek
+ bezpośrednie, pośrednie, przypadkowe, specjalne, uboczne lub wtórne szkody (w tym obowiązek
+ dostarczenia produktu zastępczego lub serwisu, utratę danych lub korzyści, a także przerwę
+ w pracy przedsiębiorstwa) spowodowane w jakikolwiek sposób i niezależnie od przyczyn
+ odpowiedzialności, takich jak: teoretyczna odpowiedzialność kontraktowa lub deliktowa
+ (wynikła zarówno z niedbalstwa, jak i z innych przyczyn), powstałe w jakikolwiek sposób
+ w wyniku używania lub mające związek z używaniem oprogramowania, nawet jeśli o możliwości
+ powstania takich szkód ostrzeżono.</string>
+
<string name="minor_suits">♣ / ♦</string>
<string name="major_suits">♥ / ♠</string>
<string name="no_trump">NT</string>
- <string name="before_before">przed/przed</string>
- <string name="before_after">przed/po</string>
- <string name="after_before">po/przed</string>
- <string name="after_after">po/po</string>
+ <string name="non_non">przed/przed</string>
+ <string name="non_vul">przed/po</string>
+ <string name="vul_non">po/przed</string>
+ <string name="vul_vul">po/po</string>
<string name="bid_normal">norm.</string>
<string name="bid_double">ktr.</string>
@@ -22,14 +59,12 @@
<string name="invalid_level">Niepoprawny kontrakt.</string>
<string name="invalid_color">Niepoprawny kolor kontraktu.</string>
<string name="invalid_contract">Niepoprawna informacja o kontrze.</string>
- <string name="invalid_vulnerability">Niepoprawna informacja o partii.</string>
<string name="invalid_pc">Niepoprawna ilość punktów.</string>
<string name="invalid_tricks">Niepoprawna ilość wziętych lew.</string>
<string name="invalid_passes">Przy czterech pasach podaj większą liczę punktów.</string>
<string name="result_for_us">Zapis dla rozgrywających.</string>
<string name="result_for_them">Zapis dla przeciwników.</string>
-
<string name="result_pts_wo_pc">Punktów (bez PC):</string>
<string name="result_pts">Punktów (z PC):</string>
<string name="result_imps">IMP-ów:</string>
diff --git a/app/src/main/res/values-w820dp/dimens.xml b/app/src/main/res/values-w820dp/dimens.xml
new file mode 100644
index 0000000..63fc816
--- /dev/null
+++ b/app/src/main/res/values-w820dp/dimens.xml
@@ -0,0 +1,6 @@
+<resources>
+ <!-- Example customization of dimensions originally defined in res/values/dimens.xml
+ (such as screen margins) for screens with more than 820dp of available width. This
+ would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
+ <dimen name="activity_horizontal_margin">64dp</dimen>
+</resources>
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..47c8224
--- /dev/null
+++ b/app/src/main/res/values/dimens.xml
@@ -0,0 +1,5 @@
+<resources>
+ <!-- Default screen margins, per the Android Design guidelines. -->
+ <dimen name="activity_horizontal_margin">16dp</dimen>
+ <dimen name="activity_vertical_margin">16dp</dimen>
+</resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index dda0d92..08e32d2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,14 +2,49 @@
<resources>
<string name="app_name">Bridge scoring</string>
+ <string name="reset">Reset</string>
+
+ <string name="about">About</string>
+ <string name="about_title">Bridge scoring - About</string>
+ <string name="about_version">Version</string>
+ <string name="about_author">Author</string>
+ <string name="about_author_contents">Jacek Kowalski</string>
+ <string name="about_url">WWW</string>
+ <string name="about_url_contents">https://dev.jacekk.net/brydz</string>
+ <string name="about_license">License</string>
+ <string name="about_license_contents">BSD 3-clause license</string>
+ <string name="about_license_full">Copyright © 2012-2015 Jacek Kowalski\n
+All rights reserved.\n
+\n
+Redistribution and use in source and binary forms, with or without modification, are permitted
+ provided that the following conditions are met:\n
+1. Redistributions of source code must retain the above copyright notice, this list of conditions
+ and the following disclaimer.\n
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
+ and the following disclaimer in the documentation and/or other materials provided with the
+ distribution.\n
+3. Neither the name Jacekk.info, nor Jacekk.net, nor the names of its contributors may be used to
+ endorse or promote products derived from this software without specific prior written
+ permission.\n
+\n
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
+ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.</string>
+
<string name="minor_suits">♣ / ♦</string>
<string name="major_suits">♥ / ♠</string>
<string name="no_trump">NT</string>
- <string name="before_before">non./non</string>
- <string name="before_after">non./vuln.</string>
- <string name="after_before">vuln./non.</string>
- <string name="after_after">vuln./vuln.</string>
+ <string name="non_non">non./non.</string>
+ <string name="non_vul">non./vuln.</string>
+ <string name="vul_non">vuln./non.</string>
+ <string name="vul_vul">vuln./vuln.</string>
<string name="bid_normal">norm.</string>
<string name="bid_double">dbl.</string>
@@ -22,14 +57,12 @@
<string name="invalid_level">Invalid contract level.</string>
<string name="invalid_color">Invalid contract color.</string>
<string name="invalid_contract">Invalid information about doubling/redoubling.</string>
- <string name="invalid_vulnerability">Invalid information about vulnerability.</string>
<string name="invalid_pc">Invalid number for Milton Work Point Count.</string>
<string name="invalid_tricks">Invalid number of tricks taken.</string>
<string name="invalid_passes">For four passes enter data for side with more PCs.</string>
<string name="result_for_us">Score for declaring side.</string>
<string name="result_for_them">Score for defending side.</string>
-
<string name="result_pts_wo_pc">Points (excl. PC):</string>
<string name="result_pts">Points (incl. PC):</string>
<string name="result_imps">IMPs:</string>
--
Gitblit v1.9.1