commit 92116505b08723f7ffd503bf8f54870291f1b746
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Mar 24 16:40:00 2023 +0100

    Dino6 solver: errors

diff --git a/src/main/java/org/distorted/solvers/SolverDino6.java b/src/main/java/org/distorted/solvers/SolverDino6.java
index b01c222b..124b7f09 100644
--- a/src/main/java/org/distorted/solvers/SolverDino6.java
+++ b/src/main/java/org/distorted/solvers/SolverDino6.java
@@ -25,6 +25,7 @@ public class SolverDino6 extends SolverTablebase
   private static final int ERROR_EDGE_CANNOT         = -2;
   private static final int ERROR_EDGE_TWISTED        = -3;
   private static final int ERROR_EDGE_MONOCHROMATIC  = -4;
+  private static final int ERROR_EDGE_TWICE          = -5;
 
   int[][] EDGE_MAP = {
                       {4,2},{0,4},{4,3},{1,4},
@@ -160,10 +161,10 @@ public class SolverDino6 extends SolverTablebase
     mFaceColors[4] = edges[0][0];
     mFaceColors[2] = edges[0][1];
     mFaceColors[5] = computeOpposite(mFaceColors[4], edges, present);
-    if( mFaceColors[5]<0 ) return ERROR_EDGE_CANNOT;
+    if( mFaceColors[5]<0 ) return mFaceColors[5];
 
     mFaceColors[3] = computeOpposite(mFaceColors[2], edges, present);
-    if( mFaceColors[3]<0 ) return ERROR_EDGE_CANNOT;
+    if( mFaceColors[3]<0 ) return mFaceColors[3];
 
     int success = fillUpRemainingFaceColors(present);
     if( success<0 ) return success;
@@ -199,8 +200,6 @@ public class SolverDino6 extends SolverTablebase
 
       if( notPresent(m1,m2,edges) )
         {
-        android.util.Log.e("D", "edge missing i="+i+" m1="+m1+" m2="+m2);
-
         mErrorColor1 = mFaceColors[m1];
         mErrorColor2 = mFaceColors[m2];
         return ERROR_EDGE_MISSING;
@@ -342,6 +341,18 @@ for(int i=0; i<6; i++)
     return res.getString(R.string.solver_generic_edge_mono,c0,c1);
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  private String edgeTwiceError(Resources res, int color0, int color1)
+    {
+    int j0 = getColorIndex3(color0);
+    int j1 = getColorIndex6(color1);
+    String c0 = res.getString(j0);
+    String c1 = res.getString(j1);
+
+    return res.getString(R.string.solver_generic_edge_twice,c0,c1);
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public String error(int index, Resources res)
@@ -351,6 +362,7 @@ for(int i=0; i<6; i++)
       case ERROR_EDGE_MISSING      : return edgeMissingError(res,mErrorColor1,mErrorColor2);
       case ERROR_EDGE_TWISTED      : return edgeTwistedError(res,mErrorColor1,mErrorColor2);
       case ERROR_EDGE_MONOCHROMATIC: return edgeMonoError(res,mErrorColor1);
+      case ERROR_EDGE_TWICE        : return edgeTwiceError(res,mErrorColor1,mErrorColor2);
       case ERROR_EDGE_CANNOT       : return res.getString(R.string.solver_generic_edges_cannot);
       }
 
diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml
index 471ebc39..15c89f97 100755
--- a/src/main/res/values-de/strings.xml
+++ b/src/main/res/values-de/strings.xml
@@ -99,6 +99,7 @@
     <string name="solver_generic_edges_cannot">Kanten können nicht verdreht werden, sodass alle Seiten einfarbig sind!</string>
     <string name="solver_generic_c_v_dont_match">Oktaederstücke und Tetraederecken passen nicht zusammen!</string>
     <string name="solver_generic_edge_mono">%1$s-%2$s Kante?</string>
+    <string name="solver_generic_edge_twice">Zwei %1$s-%2$s Kanten!</string>
 
     <string name="solver_cube3_error1">Es gibt nur %1$d %2$s Facelets.</string>
     <string name="solver_cube3_error2">Nicht alle 12 Kanten gibt es genau einmal!</string>
diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml
index cb1e61d0..1b3c2edb 100755
--- a/src/main/res/values-es/strings.xml
+++ b/src/main/res/values-es/strings.xml
@@ -99,6 +99,7 @@
     <string name="solver_generic_edges_cannot">¡Los bordes no se pueden torcer para que todos los lados sean monocromáticos!</string>
     <string name="solver_generic_c_v_dont_match">¡Las piezas octaédricas y las esquinas tetraédricas no coinciden!</string>
     <string name="solver_generic_edge_mono">Borde %1$s-%2$s?</string>
+    <string name="solver_generic_edge_twice">¡Dos bordes %1$s-%2$s!</string>
 
     <string name="solver_cube3_error1">Solo hay %1$d facetas %2$s.</string>
     <string name="solver_cube3_error2">¡No todos los 12 bordes existen exactamente una vez!</string>
diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml
index ca0e6bbe..f55a273a 100755
--- a/src/main/res/values-fr/strings.xml
+++ b/src/main/res/values-fr/strings.xml
@@ -99,6 +99,7 @@
     <string name="solver_generic_edges_cannot">Les bords ne peuvent pas être tordus pour que tous les côtés soient monochromes !</string>
     <string name="solver_generic_c_v_dont_match">Les pièces octaédriques et les coins tétraédriques ne correspondent pas !</string>
     <string name="solver_generic_edge_mono">Bord %1$s-%2$s?</string>
+    <string name="solver_generic_edge_twice">Deux bords %1$s-%2$s !</string>
 
     <string name="solver_cube3_error1">Il n\'y a que %1$d facettes %2$s.</string>
     <string name="solver_cube3_error2">Les 12 arêtes n\'existent pas exactement une fois !</string>
diff --git a/src/main/res/values-ja/strings.xml b/src/main/res/values-ja/strings.xml
index 93b2b41e..9f01ea1d 100755
--- a/src/main/res/values-ja/strings.xml
+++ b/src/main/res/values-ja/strings.xml
@@ -99,6 +99,7 @@
     <string name="solver_generic_edges_cannot">すべての面が単色になるようにエッジをねじることはできません。</string>
     <string name="solver_generic_c_v_dont_match">八面体のピースと四面体の角が一致しません!</string>
     <string name="solver_generic_edge_mono">%1$s%2$s エッジ?</string>
+    <string name="solver_generic_edge_twice">2 つの %1$s-%2$s エッジ!</string>
 
     <string name="solver_cube3_error1">%2$s小顔は%1$dつだけ</string>
     <string name="solver_cube3_error2">12 のエッジすべてが 存在するわけではありません。</string>
diff --git a/src/main/res/values-ko/strings.xml b/src/main/res/values-ko/strings.xml
index 884bd389..e08d7aba 100755
--- a/src/main/res/values-ko/strings.xml
+++ b/src/main/res/values-ko/strings.xml
@@ -99,6 +99,7 @@
     <string name="solver_generic_edges_cannot">모든 면이 단색이 되도록 가장자리를 비틀 수 없습니다!</string>
     <string name="solver_generic_c_v_dont_match">팔면체 조각과 사면체 모서리가 일치하지 않습니다!</string>
     <string name="solver_generic_edge_mono">%1$s%2$s 에지?</string>
+    <string name="solver_generic_edge_twice">두 개의 %1$s-%2$s 모서리!</string>
 
     <string name="solver_cube3_error1">%2$s작은 얼굴은  %1$d개뿐입니다.</string>
     <string name="solver_cube3_error2">12개의 가장자리 모두가 정확하게 한 번 존재하지 않습니다!</string>
diff --git a/src/main/res/values-pl/strings.xml b/src/main/res/values-pl/strings.xml
index 1aa9641e..966fe6b3 100644
--- a/src/main/res/values-pl/strings.xml
+++ b/src/main/res/values-pl/strings.xml
@@ -99,6 +99,7 @@
     <string name="solver_generic_edges_cannot">Krawędzi nie da się skręcić tak, aby wszystkie boki były monochromatyczne!</string>
     <string name="solver_generic_c_v_dont_match">Części ośmiościenne i czworościenne rogi nie pasują do siebie!</string>
     <string name="solver_generic_edge_mono">%1$s-%2$s krawędz?</string>
+    <string name="solver_generic_edge_twice">Dwie krawędzie %1$s-%2$s!</string>
 
     <string name="solver_cube3_error1">Jest tylko %1$d %2$s ścian.</string>
     <string name="solver_cube3_error2">Któraś z 12 krawędzi nie istnieje!</string>
diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml
index ea44171b..e31ec2b0 100755
--- a/src/main/res/values-ru/strings.xml
+++ b/src/main/res/values-ru/strings.xml
@@ -99,6 +99,7 @@
     <string name="solver_generic_edges_cannot">Ребр нельзя скрутить так, чтобы все стороны были однотонными!</string>
     <string name="solver_generic_c_v_dont_match">Восьмигранные фигуры и четырехгранные углы не совпадают!</string>
     <string name="solver_generic_edge_mono">%1$s-%2$s ребрo?</string>
+    <string name="solver_generic_edge_twice">Два ребра %1$s-%2$s!</string>
 
     <string name="solver_cube3_error1">Всего %1$d %2$s граней!</string>
     <string name="solver_cube3_error2">Не все 12 ребер существуют в единичном экземпляре!</string>
diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml
index af215248..4de46279 100644
--- a/src/main/res/values-zh-rCN/strings.xml
+++ b/src/main/res/values-zh-rCN/strings.xml
@@ -105,6 +105,7 @@
     <string name="solver_generic_edges_cannot">边缘不能扭曲，所以所有的面都是单色的！</string>
     <string name="solver_generic_c_v_dont_match">八面体块和四面体角不匹配！</string>
     <string name="solver_generic_edge_mono">%1$s%2$s 边缘？</string>
+    <string name="solver_generic_edge_twice">两个 %1$s-%2$s 边！</string>
 
     <string name="solver_cube3_error1">只有%1$d个%2$s小面</string>
     <string name="solver_cube3_error2">并非所有12条边都只存在一次！</string>
diff --git a/src/main/res/values-zh-rTW/strings.xml b/src/main/res/values-zh-rTW/strings.xml
index 71cfb0ec..c8bcece2 100644
--- a/src/main/res/values-zh-rTW/strings.xml
+++ b/src/main/res/values-zh-rTW/strings.xml
@@ -99,6 +99,7 @@
     <string name="solver_generic_edges_cannot">邊緣不能扭曲，所以所有的面都是單色的！</string>
     <string name="solver_generic_c_v_dont_match">八面體塊和四面體角不匹配！</string>
     <string name="solver_generic_edge_mono">%1$s%2$s 邊緣？</string>
+    <string name="solver_generic_edge_twice">兩個 %1$s-%2$s 邊！</string>
 
     <string name="solver_cube3_error1">只有%1$d個%2$s小臉</string>
     <string name="solver_cube3_error2">並非所有12條邊都只存在一次！</string>
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 562a54b4..956ea733 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -119,6 +119,7 @@
     <string name="solver_generic_edges_cannot">Edges cannot be twisted so that all faces are monochromatic!</string>
     <string name="solver_generic_c_v_dont_match">Octahedral pieces and tetrahedral corners do not match!</string>
     <string name="solver_generic_edge_mono">%1$s-%2$s edge?</string>
+    <string name="solver_generic_edge_twice">Two %1$s-%2$s edges!</string>
 
     <string name="solver_cube3_error1">There are only %1$d %2$s facelets.</string>
     <string name="solver_cube3_error2">Not all 12 edges exist exactly once!</string>
