Project

General

Profile

« Previous | Next » 

Revision 477f9217

Added by Leszek Koltunski 2 days ago

Progress remembering solves.

View differences:

src/main/java/org/distorted/helpers/RubikFiles.java
135 135
    else android.util.Log.e("D", "successfully deleted "+filename);
136 136
    }
137 137

  
138
///////////////////////////////////////////////////////////////////////////////////////////////////
139

  
140
  public void deleteFile(Context context, String name)
141
    {
142
    boolean success = context.deleteFile(name);
143
    if( !success ) android.util.Log.e("D", "failed to delete "+name);
144
    else android.util.Log.e("D", "successfully deleted "+name);
145
    }
146

  
138 147
///////////////////////////////////////////////////////////////////////////////////////////////////
139 148

  
140 149
  public void deleteJsonObject(Context context, String name)
141 150
    {
142
    String filename = name.toLowerCase(Locale.ENGLISH) + "_object.json";
143
    boolean success = context.deleteFile(filename);
144
    if( !success ) android.util.Log.e("D", "failed to delete "+filename);
145
    else android.util.Log.e("D", "successfully deleted "+filename);
151
    deleteFile(context,name.toLowerCase(Locale.ENGLISH) + "_object.json");
146 152
    }
147 153

  
148 154
///////////////////////////////////////////////////////////////////////////////////////////////////
149 155

  
150 156
  public void deleteJsonExtras(Context context, String name)
151 157
    {
152
    String filename = name.toLowerCase(Locale.ENGLISH) + "_extras.json";
153
    boolean success = context.deleteFile(filename);
154
    if( !success ) android.util.Log.e("D", "failed to delete "+filename);
155
    else android.util.Log.e("D", "successfully deleted "+filename);
158
    deleteFile(context,name.toLowerCase(Locale.ENGLISH) + "_extras.json");
156 159
    }
157 160
  }
src/main/java/org/distorted/helpers/RubikRememberedSolves.java
25 25
import java.io.InputStream;
26 26
import java.io.InputStreamReader;
27 27
import java.nio.charset.StandardCharsets;
28
import java.util.Locale;
28 29

  
29 30
///////////////////////////////////////////////////////////////////////////////////////////////////
30 31

  
......
40 41

  
41 42
    }
42 43

  
44
///////////////////////////////////////////////////////////////////////////////////////////////////
45

  
46
  private String produceFilename(String objname)
47
    {
48
    return objname.toLowerCase(Locale.ENGLISH)+"_solves.json";
49
    }
50

  
43 51
///////////////////////////////////////////////////////////////////////////////////////////////////
44 52

  
45 53
  private String readContents(InputStream stream) throws IOException
......
191 199
  public JSONArray readFile(Activity act, String objname)
192 200
    {
193 201
    RubikFiles files = RubikFiles.getInstance();
194
    InputStream file = files.openFile(act,objname.toLowerCase()+"_solves.json");
202
    InputStream file = files.openFile(act,produceFilename(objname));
195 203

  
196 204
    if( file==null ) return null;
197 205

  
......
206 214
    return null;
207 215
    }
208 216

  
217
///////////////////////////////////////////////////////////////////////////////////////////////////
218

  
219
  public void deleteFile(Activity act, String objname)
220
    {
221
    String filename  = produceFilename(objname);
222
    RubikFiles files = RubikFiles.getInstance();
223
    files.deleteFile(act,filename);
224
    }
225

  
209 226
///////////////////////////////////////////////////////////////////////////////////////////////////
210 227

  
211 228
  public void deleteSolve(Activity act, String objname, int level, long time)
212 229
    {
213
    String filename  = objname.toLowerCase()+"_solves.json";
230
    String filename  = produceFilename(objname);
214 231
    RubikFiles files = RubikFiles.getInstance();
215 232
    InputStream input= files.openFile(act,filename);
216 233

  
......
238 255

  
239 256
  public void rememberSolve(Activity act, String objname, int level, int elapsed, Static4D rot, TwistyObject object)
240 257
    {
241
    String filename  = objname.toLowerCase()+"_solves.json";
258
    String filename  = produceFilename(objname);
242 259
    RubikFiles files = RubikFiles.getInstance();
243 260
    InputStream input= files.openFile(act,filename);
244 261
    String contents  = addInfo(input,level,elapsed,rot,object);
src/main/java/org/distorted/main/MainObjectPopup.java
24 24
import android.widget.PopupWindow;
25 25
import android.widget.TextView;
26 26

  
27
import androidx.annotation.NonNull;
28

  
27 29
import org.distorted.helpers.RubikRememberedSolves;
28 30
import org.distorted.helpers.RubikScores;
29 31
import org.distorted.library.type.Static4D;
......
207 209
    TextView levels = layout.findViewById(R.id.objectLevels);
208 210
    levels.setTextSize(TypedValue.COMPLEX_UNIT_PX, mMenuTextSize);
209 211

  
210
    setupLevelButtons(act,object,layout,width,height,padding,marginH,darkC,passedC);
212
    if( object!=null )
213
      setupLevelButtons(act,object,layout,width,height,padding,marginH,darkC,passedC);
211 214
    }
212 215

  
213 216
///////////////////////////////////////////////////////////////////////////////////////////////////
214 217

  
215
  private void setupLevelButtons(MainActivity act, RubikObject object, View layout, int width, int height, int padding, int margin, int darkC, int passedC)
218
  private void setupLevelButtons(MainActivity act, @NonNull RubikObject object, View layout, int width,
219
                                 int height, int padding, int margin, int darkC, int passedC)
216 220
    {
217 221
    RubikScores scores = RubikScores.getInstance(act);
218 222
    Resources res = act.getResources();
......
238 242
    level[7] = layout.findViewById(R.id.level7);
239 243
    level[8] = layout.findViewById(R.id.levelM);
240 244

  
241
    int numScramble  = object==null ? 1 : object.getNumScramble();
245
    int numScramble  = object.getNumScramble();
242 246
    int min = Math.min(numScramble,LEVELS_SHOWN);
243 247

  
244 248
    if( numScramble>=1 && numScramble<=7 )
......
304 308
              catch(JSONException jex)
305 309
                {
306 310
                android.util.Log.e("D", "Exception 2 trying to parse file: "+jex.getMessage() );
311
                solves.deleteFile(act,object.getLowerName());
312
                act.switchToPlay(object,mObjectOrdinal,scrambles,ll,0,null,null);
307 313
                }
308 314
              }
309 315
            else

Also available in: Unified diff