Obliczenia brydżowe (Android)
Jacek Kowalski
2015-01-17 7a519ea493c2c38d602dcd3045da81d4d4c0ce2c
app/src/main/java/net/jacekk/bridge/android/MainActivity.java
File was renamed from src/net/jacekk/brydz/android/MainActivity.java
@@ -1,4 +1,4 @@
package net.jacekk.brydz.android;
package net.jacekk.bridge.android;
import android.app.Activity;
import android.os.Bundle;
@@ -9,25 +9,27 @@
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.ToggleButton;
import net.jacekk.brydz.BridgeCompute;
import net.jacekk.brydz.BridgeResult;
import net.jacekk.bridge.R;
import net.jacekk.bridge.BridgeCompute;
import net.jacekk.bridge.BridgeResult;
public class MainActivity extends Activity {
    private SeekBar BidSlider;
    private TextView BidText;
    private ToggleButton CDToggle;
    private ToggleButton HSToggle;
    private ToggleButton NTToggle;
    private ToggleButton MinorSuitsToggle;
    private ToggleButton MajorSuitsToggle;
    private ToggleButton NoTrumpToggle;
    private ToggleButton NormToggle;
    private ToggleButton DblToggle;
    private ToggleButton ReDblToggle;
    private ToggleButton ContractToggle;
    private ToggleButton DoubleToggle;
    private ToggleButton RedoubleToggle;
    private ToggleButton BBToggle;
    private ToggleButton BAToggle;
    private ToggleButton ABToggle;
    private ToggleButton AAToggle;
    private ToggleButton NNToggle;
    private ToggleButton NVToggle;
    private ToggleButton VNToggle;
    private ToggleButton VVToggle;
    private EditText PCInput;
    private EditText TricksInput;
@@ -53,23 +55,23 @@
        BidSlider = (SeekBar) findViewById(R.id.BidSlider);
        BidText = (TextView) findViewById(R.id.BidText);
        CDToggle = (ToggleButton) findViewById(R.id.CDToggle);
        HSToggle = (ToggleButton) findViewById(R.id.HSToggle);
        NTToggle = (ToggleButton) findViewById(R.id.NTToggle);
        MinorSuitsToggle = (ToggleButton) findViewById(R.id.MinorSuitsToggle);
        MajorSuitsToggle = (ToggleButton) findViewById(R.id.MajorSuitsToggle);
        NoTrumpToggle = (ToggleButton) findViewById(R.id.NoTrumpToggle);
        NormToggle = (ToggleButton) findViewById(R.id.NormToggle);
        DblToggle = (ToggleButton) findViewById(R.id.DblToggle);
        ReDblToggle = (ToggleButton) findViewById(R.id.ReDblToggle);
        ContractToggle = (ToggleButton) findViewById(R.id.ContractToggle);
        DoubleToggle = (ToggleButton) findViewById(R.id.DoubleToggle);
        RedoubleToggle = (ToggleButton) findViewById(R.id.RedoubleToggle);
        BBToggle = (ToggleButton) findViewById(R.id.BBToggle);
        BAToggle = (ToggleButton) findViewById(R.id.BAToggle);
        ABToggle = (ToggleButton) findViewById(R.id.ABToggle);
        AAToggle = (ToggleButton) findViewById(R.id.AAToggle);
        NNToggle = (ToggleButton) findViewById(R.id.NNToggle);
        NVToggle = (ToggleButton) findViewById(R.id.NVToggle);
        VNToggle = (ToggleButton) findViewById(R.id.VNToggle);
        VVToggle = (ToggleButton) findViewById(R.id.VVToggle);
        PCInput = (EditText) findViewById(R.id.PCInput);
        TricksInput = (EditText) findViewById(R.id.TricksInput);
        resultText = (TextView) findViewById(R.id.resultText);
        resultText = (TextView) findViewById(R.id.ResultsText);
        BidSlider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
@@ -92,62 +94,62 @@
            public void onClick(View view) {
                ToggleButton toggle = (ToggleButton) view;
                if (!toggle.equals(CDToggle))
                    CDToggle.setChecked(false);
                if (!toggle.equals(HSToggle))
                    HSToggle.setChecked(false);
                if (!toggle.equals(NTToggle))
                    NTToggle.setChecked(false);
                if (!toggle.equals(MinorSuitsToggle))
                    MinorSuitsToggle.setChecked(false);
                if (!toggle.equals(MajorSuitsToggle))
                    MajorSuitsToggle.setChecked(false);
                if (!toggle.equals(NoTrumpToggle))
                    NoTrumpToggle.setChecked(false);
                updateResults();
            }
        };
        CDToggle.setOnClickListener(colorClickListener);
        HSToggle.setOnClickListener(colorClickListener);
        NTToggle.setOnClickListener(colorClickListener);
        MinorSuitsToggle.setOnClickListener(colorClickListener);
        MajorSuitsToggle.setOnClickListener(colorClickListener);
        NoTrumpToggle.setOnClickListener(colorClickListener);
        ToggleButton.OnClickListener bidClickListener = new ToggleButton.OnClickListener() {
            @Override
            public void onClick(View view) {
                ToggleButton toggle = (ToggleButton) view;
                if (!toggle.equals(NormToggle))
                    NormToggle.setChecked(false);
                if (!toggle.equals(DblToggle))
                    DblToggle.setChecked(false);
                if (!toggle.equals(ReDblToggle))
                    ReDblToggle.setChecked(false);
                if (!toggle.equals(ContractToggle))
                    ContractToggle.setChecked(false);
                if (!toggle.equals(DoubleToggle))
                    DoubleToggle.setChecked(false);
                if (!toggle.equals(RedoubleToggle))
                    RedoubleToggle.setChecked(false);
                updateResults();
            }
        };
        NormToggle.setOnClickListener(bidClickListener);
        DblToggle.setOnClickListener(bidClickListener);
        ReDblToggle.setOnClickListener(bidClickListener);
        ContractToggle.setOnClickListener(bidClickListener);
        DoubleToggle.setOnClickListener(bidClickListener);
        RedoubleToggle.setOnClickListener(bidClickListener);
        ToggleButton.OnClickListener baClickListener = new ToggleButton.OnClickListener() {
            public void onClick(View view) {
                ToggleButton toggle = (ToggleButton) view;
                if (!toggle.equals(AAToggle))
                    AAToggle.setChecked(false);
                if (!toggle.equals(ABToggle))
                    ABToggle.setChecked(false);
                if (!toggle.equals(BAToggle))
                    BAToggle.setChecked(false);
                if (!toggle.equals(BBToggle))
                    BBToggle.setChecked(false);
                if (!toggle.equals(VVToggle))
                    VVToggle.setChecked(false);
                if (!toggle.equals(VNToggle))
                    VNToggle.setChecked(false);
                if (!toggle.equals(NVToggle))
                    NVToggle.setChecked(false);
                if (!toggle.equals(NNToggle))
                    NNToggle.setChecked(false);
                updateResults();
            }
        };
        AAToggle.setOnClickListener(baClickListener);
        ABToggle.setOnClickListener(baClickListener);
        BAToggle.setOnClickListener(baClickListener);
        BBToggle.setOnClickListener(baClickListener);
        VVToggle.setOnClickListener(baClickListener);
        VNToggle.setOnClickListener(baClickListener);
        NVToggle.setOnClickListener(baClickListener);
        NNToggle.setOnClickListener(baClickListener);
        PCInput.addTextChangedListener(
                new TextWatcher() {
@@ -188,35 +190,35 @@
        int bid = BidSlider.getProgress();
        int color = 0;
        if (HSToggle.isChecked())
        if (MajorSuitsToggle.isChecked())
            color = 1;
        if (NTToggle.isChecked())
        if (NoTrumpToggle.isChecked())
            color = 2;
        int dbl = 0;
        if (DblToggle.isChecked())
        if (DoubleToggle.isChecked())
            dbl = 1;
        if (ReDblToggle.isChecked())
        if (RedoubleToggle.isChecked())
            dbl = 2;
        int baba = 0;
        if (BAToggle.isChecked())
            baba = 1;
        if (ABToggle.isChecked())
            baba = 2;
        if (AAToggle.isChecked())
            baba = 3;
        int vulnerability = 0;
        if (NVToggle.isChecked())
            vulnerability = 1;
        if (VNToggle.isChecked())
            vulnerability = 2;
        if (VVToggle.isChecked())
            vulnerability = 3;
        int PC = -1;
        try {
            PC = Integer.parseInt(PCInput.getText().toString());
        } catch (NumberFormatException e) {
        } catch (NumberFormatException ignored) {
        }
        int tricks = -1;
        try {
            tricks = Integer.parseInt(TricksInput.getText().toString());
        } catch (NumberFormatException e) {
        } catch (NumberFormatException ignored) {
        }
        if (bid < 0 || bid > 7) {
@@ -234,7 +236,7 @@
            return;
        }
        if (baba < 0 || baba > 3) {
        if (vulnerability < 0 || vulnerability > 3) {
            resultText.setText(getString(R.string.invalid_baba));
            return;
        }
@@ -254,7 +256,7 @@
            return;
        }
        BridgeResult result = bridgeCompute.compute(bid, color, dbl, baba, PC, tricks);
        BridgeResult result = bridgeCompute.compute(bid, color, dbl, vulnerability, PC, tricks);
        resultText.setText(
                (result.pointsFor == BridgeResult.PointsFor.Us ? getString(R.string.result_for_us) : getString(R.string.result_for_them)) +
                        "\n" + getString(R.string.result_pts_wo_pc) + " " + result.pointsBefore +