Project

General

Profile

Download (2.25 KB) Statistics
| Branch: | Tag: | Revision:

magiccube / src / main / java / org / distorted / solvers / SolvingThread.java @ fc08e3ca

1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2020 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Magic Cube.                                                              //
5
//                                                                                               //
6
// Magic Cube is proprietary software licensed under an EULA which you should have received      //
7
// along with the code. If not, check https://distorted.org/magic/License-Magic-Cube.html        //
8
///////////////////////////////////////////////////////////////////////////////////////////////////
9

    
10
package org.distorted.solvers;
11

    
12
import android.content.res.Resources;
13

    
14
import org.distorted.objectlib.helpers.OperatingSystemInterface;
15
import org.distorted.objectlib.main.TwistyObject;
16

    
17
import org.distorted.main.R;
18
import org.distorted.solverui.ScreenList;
19
import org.distorted.solverui.ScreenSolver;
20

    
21
///////////////////////////////////////////////////////////////////////////////////////////////////
22

    
23
public class SolvingThread implements Runnable
24
{
25
  private final Resources mRes;
26
  private final OperatingSystemInterface mOS;
27
  private final TwistyObject mObject;
28
  private final SolvingList mList;
29

    
30
///////////////////////////////////////////////////////////////////////////////////////////////////
31

    
32
  public SolvingThread(OperatingSystemInterface os, Resources res, TwistyObject object, SolvingList list)
33
    {
34
    mRes   = res;
35
    mOS    = os;
36
    mObject= object;
37
    mList  = list;
38
    }
39

    
40
///////////////////////////////////////////////////////////////////////////////////////////////////
41

    
42
  public void start()
43
    {
44
    Thread thr = new Thread(this);
45
    thr.start();
46
    }
47

    
48
///////////////////////////////////////////////////////////////////////////////////////////////////
49

    
50
  public void run()
51
    {
52
    ScreenSolver screen=(ScreenSolver) ScreenList.SVER.getScreenClass();
53
    SolvingInterface solver = mList.create(mOS,mRes,mObject);
54
    if( solver!=null ) solver.solve(screen);
55
    else screen.displayErrorDialog(mRes.getString(R.string.solver_generic_not_implemented));
56
    }
57
}  
58

    
(19-19/19)