commit 4ac0ea400ab189b570611ea9f85f1bff7721c56d
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Jan 2 14:05:05 2023 +0100

    Purchase Pane: buttons

diff --git a/src/main/java/org/distorted/purchase/PurchaseActivity.java b/src/main/java/org/distorted/purchase/PurchaseActivity.java
index f13a43b7..9b3ecefc 100644
--- a/src/main/java/org/distorted/purchase/PurchaseActivity.java
+++ b/src/main/java/org/distorted/purchase/PurchaseActivity.java
@@ -222,17 +222,6 @@ public class PurchaseActivity extends AppCompatActivity
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // PUBLIC API
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public void changeObject(int ordinal)
-      {
-      mObjectOrdinal = ordinal;
-      RubikObject object = RubikObjectList.getObject(ordinal);
-      PurchaseSurfaceView view = findViewById(R.id.purchaseSurfaceView);
-      ObjectControl control = view.getObjectControl();
-      changeIfDifferent(object,ordinal,control);
-      }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     public int getScreenWidthInPixels()
@@ -292,7 +281,20 @@ public class PurchaseActivity extends AppCompatActivity
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    public boolean isVertical()
+    int getObjectPrice()
+      {
+      if( mObjectOrdinal>=0 && mObjectOrdinal< RubikObjectList.getNumObjects() )
+        {
+        RubikObject object = RubikObjectList.getObject(mObjectOrdinal);
+        return object==null ? 0 : object.getPrice();
+        }
+
+      return 0;
+      }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    boolean isVertical()
       {
       PurchaseSurfaceView view = findViewById(R.id.purchaseSurfaceView);
       return view.isVertical();
diff --git a/src/main/java/org/distorted/purchase/PurchaseScreenPane.java b/src/main/java/org/distorted/purchase/PurchaseScreenPane.java
index 37262c5b..f09d85f4 100644
--- a/src/main/java/org/distorted/purchase/PurchaseScreenPane.java
+++ b/src/main/java/org/distorted/purchase/PurchaseScreenPane.java
@@ -11,7 +11,7 @@ package org.distorted.purchase;
 
 import android.util.TypedValue;
 import android.view.View;
-import android.widget.Button;
+import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
@@ -27,7 +27,7 @@ import java.io.InputStream;
 
 public class PurchaseScreenPane
 {
-  private static final int UNLOCK_ALL_PRICE = 1000;
+  private static final int UNLOCK_ALL_PRICE = 500;
 
   private static final int[] IMAGES =
     {
@@ -86,10 +86,10 @@ public class PurchaseScreenPane
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  private void setUpButtons(LinearLayout one, LinearLayout all)
+  private void setUpButtons(int price, LinearLayout one, LinearLayout all)
     {
-    Button butO = one.findViewById(R.id.purchaseButtonOne);
-    Button butA = all.findViewById(R.id.purchaseButtonAll);
+    ImageButton butO = one.findViewById(R.id.purchaseButtonOne);
+    ImageButton butA = all.findViewById(R.id.purchaseButtonAll);
 
     butO.setOnClickListener( new View.OnClickListener()
       {
@@ -201,6 +201,7 @@ public class PurchaseScreenPane
     text = allLayout.findViewById(R.id.purchaseTextAll);
     text.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
 
-    setUpButtons(oneLayout,allLayout);
+    int price = act.getObjectPrice();
+    setUpButtons(price,oneLayout,allLayout);
     }
 }
diff --git a/src/main/res/drawable/price_10.png b/src/main/res/drawable/price_10.png
new file mode 100644
index 00000000..932a2ca3
Binary files /dev/null and b/src/main/res/drawable/price_10.png differ
diff --git a/src/main/res/drawable/price_100.png b/src/main/res/drawable/price_100.png
new file mode 100644
index 00000000..00710105
Binary files /dev/null and b/src/main/res/drawable/price_100.png differ
diff --git a/src/main/res/drawable/price_20.png b/src/main/res/drawable/price_20.png
new file mode 100644
index 00000000..9dd997d4
Binary files /dev/null and b/src/main/res/drawable/price_20.png differ
diff --git a/src/main/res/drawable/price_30.png b/src/main/res/drawable/price_30.png
new file mode 100644
index 00000000..06a5df84
Binary files /dev/null and b/src/main/res/drawable/price_30.png differ
diff --git a/src/main/res/drawable/price_40.png b/src/main/res/drawable/price_40.png
new file mode 100644
index 00000000..4762cac5
Binary files /dev/null and b/src/main/res/drawable/price_40.png differ
diff --git a/src/main/res/drawable/price_50.png b/src/main/res/drawable/price_50.png
new file mode 100644
index 00000000..917e1c33
Binary files /dev/null and b/src/main/res/drawable/price_50.png differ
diff --git a/src/main/res/drawable/price_500.png b/src/main/res/drawable/price_500.png
new file mode 100644
index 00000000..5ea4f0e9
Binary files /dev/null and b/src/main/res/drawable/price_500.png differ
diff --git a/src/main/res/drawable/price_60.png b/src/main/res/drawable/price_60.png
new file mode 100644
index 00000000..3baef1ed
Binary files /dev/null and b/src/main/res/drawable/price_60.png differ
diff --git a/src/main/res/drawable/price_70.png b/src/main/res/drawable/price_70.png
new file mode 100644
index 00000000..6fec6402
Binary files /dev/null and b/src/main/res/drawable/price_70.png differ
diff --git a/src/main/res/drawable/price_80.png b/src/main/res/drawable/price_80.png
new file mode 100644
index 00000000..eb3d99cd
Binary files /dev/null and b/src/main/res/drawable/price_80.png differ
diff --git a/src/main/res/drawable/price_90.png b/src/main/res/drawable/price_90.png
new file mode 100644
index 00000000..fa8f8f54
Binary files /dev/null and b/src/main/res/drawable/price_90.png differ
diff --git a/src/main/res/layout/purchase.xml b/src/main/res/layout/purchase.xml
index 95f387a2..efe58b4b 100644
--- a/src/main/res/layout/purchase.xml
+++ b/src/main/res/layout/purchase.xml
@@ -76,17 +76,15 @@
             android:maxLines="1"
             android:text="@string/buy_one"/>
 
-        <Button
+        <ImageButton
             android:id="@+id/purchaseButtonOne"
             android:layout_width="0dp"
             android:layout_height="match_parent"
             android:layout_weight="1.0"
             android:gravity="center_vertical|end"
             android:backgroundTint="@color/dark_white"
-            android:paddingStart="5dp"
-            android:textSize="26sp"
-            android:singleLine="true"
-            android:maxLines="1"/>
+            android:scaleType="fitCenter"
+            android:src="@drawable/price_50"/>
 
     </LinearLayout>
 
@@ -111,17 +109,15 @@
             android:maxLines="1"
             android:text="@string/buy_all"/>
 
-        <Button
+        <ImageButton
             android:id="@+id/purchaseButtonAll"
             android:layout_width="0dp"
             android:layout_height="match_parent"
             android:layout_weight="1.0"
             android:gravity="center_vertical|end"
             android:backgroundTint="@color/dark_white"
-            android:paddingStart="5dp"
-            android:textSize="26sp"
-            android:singleLine="true"
-            android:maxLines="1"/>
+            android:scaleType="fitCenter"
+            android:src="@drawable/price_500"/>
     </LinearLayout>
 
     <LinearLayout
diff --git a/src/main/res/values-ja/strings.xml b/src/main/res/values-ja/strings.xml
index 6aa85369..fbb4aa57 100755
--- a/src/main/res/values-ja/strings.xml
+++ b/src/main/res/values-ja/strings.xml
@@ -56,8 +56,8 @@
     <string name="install">インストール</string>
     <string name="abandon_solve">あきらめる</string>
 
-    <string name="buy_one">このキューブをアンロックする</string>
-    <string name="buy_all">すべてのロックを解除する</string>
+    <string name="buy_one">キューブをアンロックして</string>
+    <string name="buy_all">全部のロックを解除して</string>
 
     <string name="config_details">詳細</string>
     <string name="config_name">名前</string>
