android/source/src/java/org/libreoffice/ColorPaletteAdapter.java |    4 ++++
 android/source/src/java/org/libreoffice/ColorPickerAdapter.java  |    8 
++------
 2 files changed, 6 insertions(+), 6 deletions(-)

New commits:
commit 5c452ad4c31bcaa3f0a94c50b5eeb7cbca27da2e
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat May 7 17:44:56 2022 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sun May 8 08:22:26 2022 +0200

    android: Don't store selected pos in ColorPickerAdapter
    
    The position is already set and used in `ColorPaletteAdapter`
    as its `upperSelectedBox` member, so stop doing the
    double bookkeeping in both classes and retrieve it
    from there instead.
    
    Change-Id: I59896b85f5d5a0285076f61599be64638fa71121
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133987
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/android/source/src/java/org/libreoffice/ColorPaletteAdapter.java 
b/android/source/src/java/org/libreoffice/ColorPaletteAdapter.java
index e26dcc1c30a9..16d8a977864f 100644
--- a/android/source/src/java/org/libreoffice/ColorPaletteAdapter.java
+++ b/android/source/src/java/org/libreoffice/ColorPaletteAdapter.java
@@ -36,6 +36,10 @@ public class ColorPaletteAdapter extends 
RecyclerView.Adapter<ColorPaletteAdapte
         return selectedBox;
     }
 
+    public int getUpperSelectedBox() {
+        return upperSelectedBox;
+    }
+
     @Override
     public void onBindViewHolder(final ColorPaletteViewHolder holder, int 
position) {
 
diff --git a/android/source/src/java/org/libreoffice/ColorPickerAdapter.java 
b/android/source/src/java/org/libreoffice/ColorPickerAdapter.java
index b88087da3bf0..ed8fe0e59933 100644
--- a/android/source/src/java/org/libreoffice/ColorPickerAdapter.java
+++ b/android/source/src/java/org/libreoffice/ColorPickerAdapter.java
@@ -17,7 +17,6 @@ public class ColorPickerAdapter extends 
RecyclerView.Adapter<ColorPickerAdapter.
     private final ColorPaletteListener colorPaletteListener;
     private final int[] colorList;
     private final int[][] colorPalette = new int[11][8];
-    private int selectedBox = 0;
 
     public ColorPickerAdapter(Context mContext, final ColorPaletteAdapter 
colorPaletteAdapter, ColorPaletteListener colorPaletteListener) {
         this.mContext = mContext;
@@ -41,7 +40,7 @@ public class ColorPickerAdapter extends 
RecyclerView.Adapter<ColorPickerAdapter.
     public void onBindViewHolder(final ColorPickerViewHolder holder, int 
position) {
         holder.colorBox.setBackgroundColor(colorList[position]);
 
-        if (selectedBox != position)
+        if (colorPaletteAdapter.getUpperSelectedBox() != position)
             holder.colorBox.setImageDrawable(null);
         else {
             holder.colorBox.setImageResource(R.drawable.ic_done_white_12dp);
@@ -64,7 +63,6 @@ public class ColorPickerAdapter extends 
RecyclerView.Adapter<ColorPickerAdapter.
 
 
     private void setPosition(int position) {
-        this.selectedBox = position;
         selectSubColor(position, position==0?0:3);
         colorPaletteListener.applyColor(colorList[position]);
         updateAdapter();
@@ -122,19 +120,17 @@ public class ColorPickerAdapter extends 
RecyclerView.Adapter<ColorPickerAdapter.
          */
         if (color == -1) {
             colorPaletteAdapter.changePosition(0, 0);
-            selectedBox = 0;
             updateAdapter();
             return;
         }
         /*
             Find the color if the palette points another color
          */
-        if (colorPalette[selectedBox][colorPaletteAdapter.getSelectedBox()] != 
color) {
+        if 
(colorPalette[colorPaletteAdapter.getUpperSelectedBox()][colorPaletteAdapter.getSelectedBox()]
 != color) {
             for (int i = 0; i < 11; i++) {
                 for (int k = 0; k < 8; k++) {
                     if (colorPalette[i][k] == color) {
                         colorPaletteAdapter.changePosition(i, k);
-                        selectedBox = i;
                         updateAdapter();
                         return;
                     }

Reply via email to