Revision 8021e4bb
Added by Leszek Koltunski almost 5 years ago
| src/main/java/org/distorted/tutorial/TutorialList.java | ||
|---|---|---|
| 28 | 28 | 
    CUBE2 ( ObjectList.CUBE, 2,  | 
| 29 | 29 | 
              new String[][] {
   | 
| 30 | 30 | 
                              {"gb","rJlh5p2wAKA","How to Solve a 2x2 Rubik's Cube","Z3"},
   | 
| 31 | 
                              {"es","f85wqJTIDlw","Resolver cubo de Rubik 2X2","Cuby"},
   | 
|
| 32 | 
                              {"ru","azC6P3VYFkc","КАК СОБРАТЬ КУБИК РУБИКА 2Х2","Евгений Бондаренко"},
   | 
|
| 33 | 
                              {"fr","qMIB7dYOrHw","Comment résoudre le rubik's cube 2x2","Valentino Cube"},
   | 
|
| 34 | 
                              {"pl","haNWdAYWGsY","Jak ułożyć: 2x2x2 (podstawy)","DżoDżo"},
   | 
|
| 31 | 35 | 
    }  | 
| 32 | 36 | 
    ),  | 
| 33 | 37 | 
     | 
| 34 | 38 | 
    CUBE3 ( ObjectList.CUBE, 3,  | 
| 35 | 39 | 
              new String[][] {
   | 
| 36 | 40 | 
                              {"gb","-8ohoCKN0Zw","How to Solve a Rubik's Cube","Z3"},
   | 
| 41 | 
                              {"es","GyY0OxDk5lI","Resolver cubo de Rubik 3x3","Cuby"},
   | 
|
| 42 | 
                              {"ru","5S2eq81FRzI","КАК СОБРАТЬ КУБИК РУБИКА","Евгений Бондаренко"},
   | 
|
| 37 | 43 | 
                              {"pl","cBU9Y729nQM","Jak ułożyć kostkę Rubika 3x3x3","DżoDżo"},
   | 
| 38 | 44 | 
    }  | 
| 39 | 45 | 
    ),  | 
| ... | ... | |
| 41 | 47 | 
    CUBE4 ( ObjectList.CUBE, 4,  | 
| 42 | 48 | 
              new String[][] {
   | 
| 43 | 49 | 
                              {"gb","RR77Md71Ymc","How to Solve the 4x4 Rubik's Cube","Z3"},
   | 
| 50 | 
                              {"es","d_4xk1r9hxU","Resolver cubo de Rubik 4x4","Cuby"},
   | 
|
| 51 | 
                              {"ru","aQNVZlWpqXw","Как собрать кубик рубика 4х4","Евгений Бондаренко"},
   | 
|
| 52 | 
                              {"pl","LiUxNsowXiI","Jak ułożyć kostkę 4x4x4","DżoDżo"},
   | 
|
| 44 | 53 | 
    }  | 
| 45 | 54 | 
    ),  | 
| 46 | 55 | 
     | 
| 47 | 56 | 
    CUBE5 ( ObjectList.CUBE, 5,  | 
| 48 | 57 | 
              new String[][] {
   | 
| 49 | 58 | 
                              {"gb","zMkNkXHzQts","How to Solve the 5x5 Rubik's Cube","Z3"},
   | 
| 59 | 
                              {"es","6uaq-xfFs98","Resolver cubo de Rubik 5x5","Cuby"},
   | 
|
| 60 | 
                              {"pl","ERsPyWOF7mg","Jak ułożyć kostkę 5x5x5","DżoDżo"},
   | 
|
| 50 | 61 | 
    }  | 
| 51 | 62 | 
    ),  | 
| 52 | 63 | 
     | 
| 53 | 64 | 
    PYRA3 ( ObjectList.PYRA, 3,  | 
| 54 | 65 | 
              new String[][] {
   | 
| 55 | 66 | 
                              {"gb","xIQtn2qazvg","Pyraminx Layer By Layer","Z3"},
   | 
| 67 | 
                              {"es","4cJJe9RAzAU","Resolver Pyraminx","Cuby"},
   | 
|
| 68 | 
                              {"ru","F4_bhfWyVRQ","КАК СОБРАТЬ ПИРАМИДКУ","Евгений Бондаренко"},
   | 
|
| 69 | 
                              {"fr","Z2h1YI6jPes","Comment résoudre le Pyraminx","ValentinoCube"},
   | 
|
| 70 | 
                              {"pl","uNpKpJfAa5I","Jak ułożyć: Pyraminx","DżoDżo"},
   | 
|
| 56 | 71 | 
    }  | 
| 57 | 72 | 
    ),  | 
| 58 | 73 | 
     | 
| 59 | 74 | 
    PYRA4 ( ObjectList.PYRA, 4,  | 
| 60 | 75 | 
              new String[][] {
   | 
| 61 | 76 | 
                              {"gb","tGQDqDcSa6U","How to Solve the Master (4x4) Pyraminx","Z3"},
   | 
| 77 | 
                              {"es","74PIPm9-uPg","Resolver MASTER PYRAMINX 4x4","Cuby"},
   | 
|
| 78 | 
                              {"pl","EamwvhmHC7Q","4x4 (Master) Pyraminx PL","MrUk"},
   | 
|
| 62 | 79 | 
    }  | 
| 63 | 80 | 
    ),  | 
| 64 | 81 | 
     | 
| 65 | 82 | 
    PYRA5 ( ObjectList.PYRA, 5,  | 
| 66 | 83 | 
              new String[][] {
   | 
| 67 | 84 | 
                              {"gb","2nsPEECDdN0","Professor Pyraminx Solve","RedKB"},
   | 
| 85 | 
                              {"es","cSDj8OQK3TU","Tutorial del Professor Pyraminx","QBAndo"},
   | 
|
| 86 | 
                              {"ru","gMp1tbDyDWg","Как собрать Professor Pyraminx","RBcuber"},
   | 
|
| 68 | 87 | 
    }  | 
| 69 | 88 | 
    ),  | 
| 70 | 89 | 
     | 
| 71 | 90 | 
    DIAM2 ( ObjectList.DIAM, 2,  | 
| 72 | 91 | 
              new String[][] {
   | 
| 73 | 92 | 
                              {"gb","R2wrbJJ3izM","How to Solve a Skewb Diamond","Dr. Penguin^3"},
   | 
| 93 | 
                              {"ru","k8B6RFcNoGw","Как собрать Skewb Diamond","Алексей Ярыгин"},
   | 
|
| 94 | 
                              {"fr","tqbkgwNcZCE","Comment résoudre le Skewb Diamond","Valentino Cube"},
   | 
|
| 95 | 
                              {"pl","61_Z4TpLMBc","Diamond skewb TUTORIAL PL","MrUk"},
   | 
|
| 74 | 96 | 
    }  | 
| 75 | 97 | 
    ),  | 
| 76 | 98 | 
     | 
| 77 | 99 | 
    DINO3 ( ObjectList.DINO, 3,  | 
| 78 | 100 | 
              new String[][] {
   | 
| 79 | 101 | 
                              {"gb","puTJZqFBQwo","Dino Skewb Cube Tutorial","Bearded Cubing"},
   | 
| 102 | 
                              {"es","6o1Yo5iCxvI","Resolver CUBO DINO","Cuby"},
   | 
|
| 103 | 
                              {"fr","hNkpte7Mesc","Comment résoudre le Dino Cube","Valentino Cube"},
   | 
|
| 104 | 
                              {"pl","o05DYu8UMio","Dino cube TUTORIAL PL","MrUk"},
   | 
|
| 80 | 105 | 
    }  | 
| 81 | 106 | 
    ),  | 
| 82 | 107 | 
     | 
| 83 | 108 | 
    REDI3 ( ObjectList.REDI, 3,  | 
| 84 | 109 | 
              new String[][] {
   | 
| 85 | 110 | 
                              {"gb","Qn7TJED6O-4","How to Solve the MoYu Redi Cube","Z3"},
   | 
| 111 | 
                              {"es","g0M38Aotgac","Resolver REDI CUBE","Cuby"},
   | 
|
| 112 | 
                              {"fr","zw7UZcqqsgA","Comment résoudre le Redi Cube","ValentinoCube"},
   | 
|
| 113 | 
                              {"pl","vxo3lXMsWQI","Jak ułożyć redi cube?","DJ rubiks"},
   | 
|
| 86 | 114 | 
    }  | 
| 87 | 115 | 
    ),  | 
| 88 | 116 | 
     | 
| 89 | 117 | 
    HELI3 ( ObjectList.HELI, 3,  | 
| 90 | 118 | 
              new String[][] {
   | 
| 91 | 119 | 
                              {"gb","-suwJpd_PO8","Helicopter Cube Tutorial","Bearded Cubing"},
   | 
| 120 | 
                              {"es","DWG9n_YyGPA","Resolver HELICOPTER CUBE","Cuby"},
   | 
|
| 121 | 
                              {"pl","zoBZame4gFo","Helicopter cube TUTORIAL PL","MrUk"},
   | 
|
| 92 | 122 | 
    }  | 
| 93 | 123 | 
    ),  | 
| 94 | 124 | 
     | 
| 95 | 125 | 
    SKEW2 ( ObjectList.SKEW, 2,  | 
| 96 | 126 | 
              new String[][] {
   | 
| 97 | 127 | 
                              {"gb","I6132yshkeU","How to Solve the Skewb","Z3"},
   | 
| 128 | 
                              {"es","wxQX3HhPgds","Resolver Skewb (Principiantes)","Cuby"},
   | 
|
| 129 | 
                              {"fr","apIF6QHhVpY","Comment résoudre le Skewb","Valentino Cube"},
   | 
|
| 130 | 
                              {"pl","ofRu1fByNpk","Jak ułożyć: Skewb","DżoDżo"},
   | 
|
| 98 | 131 | 
    }  | 
| 99 | 132 | 
    ),  | 
| 100 | 133 | 
     | 
| 101 | 134 | 
    SKEW3 ( ObjectList.SKEW, 3,  | 
| 102 | 135 | 
              new String[][] {
   | 
| 103 | 136 | 
                              {"gb","Jiuf7zQyPYI","Master Skewb Cube Tutorial","Bearded Cubing"},
   | 
| 137 | 
                              {"es","8TP6p63KQCA","MASTER SKEWB EN ESPAÑOL","jorlozCubes"},
   | 
|
| 138 | 
                              {"pl","Y7l3AYFvDJI","Master skewb TUTORIAL PL","MrUk"},
   | 
|
| 104 | 139 | 
    }  | 
| 105 | 140 | 
    ),  | 
| 106 | 141 | 
     | 
| 107 | 142 | 
    IVY2 ( ObjectList.IVY, 2,  | 
| 108 | 143 | 
              new String[][] {
   | 
| 109 | 144 | 
                              {"gb","QMzeJobSu1M","How to Solve the Ivy Cube","Z3"},
   | 
| 145 | 
                              {"es","2-Gf2cmEJDs","Resolver IVY CUBE","Cuby"},
   | 
|
| 146 | 
                              {"fr","mn7YTnYu3Uc","Comment résoudre le Ivy Cube","ValentinoCube"},
   | 
|
| 147 | 
                              {"pl","8s_0VxNvFA8","Jak ułożyć ivy cube","DubiCube"},
   | 
|
| 110 | 148 | 
    }  | 
| 111 | 149 | 
    );  | 
| 112 | 150 | 
     | 
| src/main/java/org/distorted/tutorial/TutorialWebView.java | ||
|---|---|---|
| 23 | 23 | 
    import android.content.Context;  | 
| 24 | 24 | 
    import android.content.res.Resources;  | 
| 25 | 25 | 
    import android.webkit.WebView;  | 
| 26 | 
    import android.webkit.WebViewClient;  | 
|
| 26 | 27 | 
     | 
| 27 | 28 | 
    import org.distorted.main.R;  | 
| 28 | 29 | 
     | 
| ... | ... | |
| 47 | 48 | 
    mContext = context;  | 
| 48 | 49 | 
    mWebView.setBackgroundColor(0);  | 
| 49 | 50 | 
    mWebView.getSettings().setJavaScriptEnabled(true);  | 
| 51 | 
     | 
|
| 52 | 
    mWebView.setWebViewClient(new WebViewClient()  | 
|
| 53 | 
            {
   | 
|
| 54 | 
    @Override  | 
|
| 55 | 
    public boolean shouldOverrideUrlLoading(WebView view, String url)  | 
|
| 56 | 
              {
   | 
|
| 57 | 
    return false;  | 
|
| 58 | 
    }  | 
|
| 59 | 
    });  | 
|
| 50 | 60 | 
    }  | 
| 51 | 61 | 
     | 
| 52 | 62 | 
    ///////////////////////////////////////////////////////////////////////////////////////////////////  | 
| ... | ... | |
| 54 | 64 | 
    public void load(String url)  | 
| 55 | 65 | 
          {
   | 
| 56 | 66 | 
    mUrl = url;  | 
| 57 | 
    String data = readFromfile(mContext);  | 
|
| 58 | 
          data = data.replace("%1", url);
   | 
|
| 59 | 
    mWebView.loadData(data, "text/html", "UTF-8");  | 
|
| 60 | 
    }  | 
|
| 61 | 
     | 
|
| 62 | 
    ///////////////////////////////////////////////////////////////////////////////////////////////////  | 
|
| 63 | 
     | 
|
| 64 | 
    public String readFromfile(Context context)  | 
|
| 65 | 
          {
   | 
|
| 66 | 
    StringBuilder returnString = new StringBuilder();  | 
|
| 67 | 
    InputStream fIn = null;  | 
|
| 68 | 
    InputStreamReader isr = null;  | 
|
| 69 | 
    BufferedReader input = null;  | 
|
| 70 | 
     | 
|
| 71 | 
    try  | 
|
| 72 | 
            {
   | 
|
| 73 | 
    Resources res = context.getResources();  | 
|
| 74 | 
    fIn = res.openRawResource(R.raw.webvideo);  | 
|
| 75 | 
    isr = new InputStreamReader(fIn);  | 
|
| 76 | 
    input = new BufferedReader(isr);  | 
|
| 77 | 
    String line;  | 
|
| 78 | 67 | 
     | 
| 79 | 
    while ((line = input.readLine()) != null)  | 
|
| 80 | 
              {
   | 
|
| 81 | 
    returnString.append(line);  | 
|
| 82 | 
    }  | 
|
| 83 | 
    }  | 
|
| 84 | 
    catch (Exception e)  | 
|
| 85 | 
            {
   | 
|
| 86 | 
    e.getMessage();  | 
|
| 87 | 
    }  | 
|
| 88 | 
    finally  | 
|
| 89 | 
            {
   | 
|
| 90 | 
    try  | 
|
| 91 | 
              {
   | 
|
| 92 | 
    if (isr != null) isr.close();  | 
|
| 93 | 
    if (fIn != null) fIn.close();  | 
|
| 94 | 
    if (input != null) input.close();  | 
|
| 95 | 
    }  | 
|
| 96 | 
    catch (Exception e2)  | 
|
| 97 | 
              {
   | 
|
| 98 | 
    e2.getMessage();  | 
|
| 99 | 
    }  | 
|
| 100 | 
    }  | 
|
| 68 | 
    String data1 = "<html><body><iframe width=\"100%\" height=\"100%\" src=\"";  | 
|
| 69 | 
    String data2 = "\" frameborder=\"0\" allowfullscreen></iframe></body></html>";  | 
|
| 101 | 70 | 
     | 
| 102 | 
          return returnString.toString();
   | 
|
| 71 | 
          mWebView.loadData(data1+url+data2, "text/html", "UTF-8");
   | 
|
| 103 | 72 | 
    }  | 
| 104 | 73 | 
     | 
| 105 | 74 | 
    ///////////////////////////////////////////////////////////////////////////////////////////////////  | 
| src/main/res/raw/webvideo.html | ||
|---|---|---|
| 1 | 
    <!DOCTYPE html>  | 
|
| 2 | 
    <html lang="en">  | 
|
| 3 | 
    <head>  | 
|
| 4 | 
    <meta charset="utf-8">  | 
|
| 5 | 
    <style>  | 
|
| 6 | 
                iframe   { border: 0; position:fixed; width:100%; height:100%; bgcolor="#000000"; }
   | 
|
| 7 | 
                body     { margin: 0; bgcolor="#000000"; }
   | 
|
| 8 | 
    </style>  | 
|
| 9 | 
    </head>  | 
|
| 10 | 
    <body>  | 
|
| 11 | 
    <iframe src="%1" frameborder="0" allowfullscreen></iframe>  | 
|
| 12 | 
    </body>  | 
|
| 13 | 
    </html>  | 
|
Also available in: Unified diff
- new tutorials
- fix youtube playback