Proyectos de Subversion Android Microlearning - Nuevo Interface

Rev

Rev 48 | Rev 50 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 48 Rev 49
Línea 110... Línea 110...
110
import java.util.Random;
110
import java.util.Random;
111
import java.util.TimeZone;
111
import java.util.TimeZone;
Línea 112... Línea 112...
112
 
112
 
113
//import de.hdodenhof.circleimageview.CircleImageView;
113
//import de.hdodenhof.circleimageview.CircleImageView;
-
 
114
import okhttp3.Call;
114
import okhttp3.Call;
115
import okhttp3.Callback;
115
import okhttp3.FormBody;
116
import okhttp3.FormBody;
116
import okhttp3.OkHttpClient;
117
import okhttp3.OkHttpClient;
117
import okhttp3.Request;
118
import okhttp3.Request;
118
import okhttp3.RequestBody;
119
import okhttp3.RequestBody;
Línea 326... Línea 327...
326
 
327
 
Línea 327... Línea 328...
327
        if (getIntent().getExtras() != null) {
328
        if (getIntent().getExtras() != null) {
328
 
329
 
329
            for (String key : getIntent().getExtras().keySet()) {
330
            for (String key : getIntent().getExtras().keySet()) {
330
                Object value = getIntent().getExtras().get(key);
331
                Object value = getIntent().getExtras().get(key);
331
                if(value.toString().equals("content-refresh"))
332
                if(value.toString().equals("content-refresh") && !preference.isRefreshContentRequired())
332
                    {
333
                    {
333
                        //Vengo de notificacion, pero el app estaba cerrada, asi que muestro el cartel de content-refresh
334
                        //Vengo de notificacion, pero el app estaba cerrada, asi que muestro el cartel de content-refresh
Línea 334... Línea 335...
334
                        preference.setRefreshContentRequired(true);
335
                       // preference.setRefreshContentRequired(true);
Línea 335... Línea 336...
335
                        saveNotificationCenterNew("Nuevo contenido para descargar","","Tienes nuevas capsulas de aprendizaje para descargar");
336
                        saveNotificationCenterNew("Nuevo contenido para descargar","","Tienes nuevas capsulas de aprendizaje para descargar");
Línea 336... Línea 337...
336
 
337
 
Línea 375... Línea 376...
375
        preference = Preference.getInstance(getApplicationContext());
376
        preference = Preference.getInstance(getApplicationContext());
376
        preference.load();
377
        preference.load();
Línea 377... Línea 378...
377
 
378
 
378
        if(preference.isRefreshContentRequired())
379
        if(preference.isRefreshContentRequired())
-
 
380
        {
-
 
381
            //Hubo una notificacion de actualización de contenido antes
379
        {
382
            // pero no se pudo procesar por alguna interrupcion
380
            Cartelrefreshcontent();
383
            CartelRefreshContent();
Línea 381... Línea 384...
381
        }
384
        }
Línea 382... Línea 385...
382
 
385
 
Línea 390... Línea 393...
390
            }
393
            }
Línea 391... Línea 394...
391
 
394
 
392
 
395
 
393
        } else {
396
        } else {
394
            if(preference.getFragmentIdxActive() == 0) {
-
 
395
                invokeFragment(Constants.IDX_FRAGMENT_TOPICS);
397
            if(preference.getFragmentIdxActive() == 0) {
396
              //  Log.e("El device uuid",""+preference.getDeviceUuid());
398
                invokeFragment(Constants.IDX_FRAGMENT_WELCOME); //La pantalla principal ahora es Welcome, no Topic
397
            } else {
399
            } else {
398
                invokeFragment(preference.getFragmentIdxActive());
400
                    invokeFragment(preference.getFragmentIdxActive());
Línea 399... Línea 401...
399
            }
401
            }
Línea 476... Línea 478...
476
            showMessageSnackBarWithClose(body);
478
            showMessageSnackBarWithClose(body);
477
            saveNotificationCenterNew("Nuevo contenido","",body);
479
            saveNotificationCenterNew("Nuevo contenido","",body);
Línea 478... Línea 480...
478
 
480
 
Línea 479... Línea -...
479
        }
-
 
480
 
481
        }
-
 
482
 
481
        /*
483
    if(content_refresh)
-
 
484
    {
482
        if(content_refresh) {
485
        if(!preference.isRefreshContentRequired())
483
            //Levanto el cartel desde FMC Show
486
        {
-
 
487
            CartelRefreshContent();
484
            Cartelrefreshcontent();
488
        }
Línea 485... Línea 489...
485
        }
489
    }
Línea 486... Línea 490...
486
*/
490
 
Línea 812... Línea 816...
812
            signout();
816
            signout();
813
        }
817
        }
Línea 814... Línea 818...
814
 
818
 
Línea 815... Línea 819...
815
        if (command.equals("content-refresh")){
819
        if (command.equals("content-refresh")){
Línea 816... Línea 820...
816
 
820
 
Línea 817... Línea 821...
817
            saveNotificationCenterNew("Nuevo contenido para descargar","","Tienes nuevas capsulas de aprendizaje para descargar");
821
            if (!preference.isRefreshContentRequired()) {
Línea -... Línea 822...
-
 
822
 
Línea -... Línea 823...
-
 
823
                saveNotificationCenterNew("Nuevo contenido para descargar", "", "Tienes nuevas capsulas de aprendizaje para descargar");
818
 
824
 
819
            preference.setRefreshContentRequired(true);
825
               // preference.setRefreshContentRequired(true);
Línea 820... Línea 826...
820
 
826
 
-
 
827
                CartelRefreshContent();
-
 
828
 
821
            Cartelrefreshcontent();
829
            }
822
 
830
        }
823
 
831
    }
824
        }
832
 
825
    }
833
    public void CartelRefreshContent (){
826
 
834
        preference.setRefreshContentRequired(true);
Línea 827... Línea 835...
827
    public void Cartelrefreshcontent (){
835
 
828
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
836
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
829
        alertDialogBuilder.setMessage("Tienes nuevas capsulas para descargar");
-
 
830
        alertDialogBuilder.setPositiveButton("Si, actualizar ahora",
837
        alertDialogBuilder.setMessage("Tienes nuevas capsulas para descargar");
831
                new DialogInterface.OnClickListener() {
838
        alertDialogBuilder.setPositiveButton("Si, actualizar ahora",
Línea 832... Línea 839...
832
                    @Override
839
                new DialogInterface.OnClickListener() {
Línea 844... Línea 851...
844
        alertDialog.getButton(alertDialog.BUTTON_POSITIVE).setTextColor(getResources().getColor(R.color.teal_700, null));
851
        alertDialog.getButton(alertDialog.BUTTON_POSITIVE).setTextColor(getResources().getColor(R.color.teal_700, null));
Línea 845... Línea 852...
845
 
852
 
Línea 846... Línea 853...
846
    }
853
    }
-
 
854
 
-
 
855
    @Override
-
 
856
    protected void onNewIntent(Intent intent) {
-
 
857
        super.onNewIntent(intent);
-
 
858
 
-
 
859
        if(intent.getExtras() != null) {
-
 
860
            for (String key : intent.getExtras().keySet()) {
-
 
861
                Object value = intent.getExtras().get(key);
-
 
862
                if (value.toString().equals("content-refresh")) {
-
 
863
                    if (!preference.isRefreshContentRequired()) {
-
 
864
                      //  preference.setRefreshContentRequired(true);
-
 
865
                        saveNotificationCenterNew("Nuevo contenido para descargar", "", "Tienes nuevas capsulas de aprendizaje para descargar");
-
 
866
 
-
 
867
                        CartelRefreshContent();
-
 
868
                    }
-
 
869
                }
-
 
870
            }
-
 
871
        }
-
 
872
    }
847
 
873
 
848
    @Override
874
    @Override
849
    public void setConnectedInternet(Boolean isConnected)
875
    public void setConnectedInternet(Boolean isConnected)
850
    {
876
    {
851
        connected = isConnected;
877
        connected = isConnected;
Línea 1715... Línea 1741...
1715
    @Override
1741
    @Override
1716
    public Preference getPreference() {
1742
    public Preference getPreference() {
1717
        return preference;
1743
        return preference;
1718
    }
1744
    }
Línea -... Línea 1745...
-
 
1745
 
-
 
1746
    public void refreshContent(){
-
 
1747
 
-
 
1748
        try {
-
 
1749
            TimeZone timeZone = TimeZone.getTimeZone("UTC");
-
 
1750
            Calendar calendar = Calendar.getInstance(timeZone);
-
 
1751
            TimeZone tz = calendar.getTimeZone();
-
 
1752
            int created = (int) (calendar.getTimeInMillis() / 1000);
-
 
1753
 
-
 
1754
            Random random = new Random(created);
-
 
1755
            int rand = 1000 + random.nextInt(8999);
-
 
1756
 
-
 
1757
 
-
 
1758
            Log.d(TAG, "token = " + preference.getDeviceUuid());
-
 
1759
            Log.d(TAG, "created = " + created);
-
 
1760
            Log.d(TAG, "rand = " + rand);
-
 
1761
            Log.d(TAG, "calc = " + preference.getPassword() + ':' + created + ':' + rand);
-
 
1762
 
-
 
1763
            String secret = MD5.generar(preference.getPassword() + ':' + created + ':' + rand);
-
 
1764
 
-
 
1765
            Log.d(TAG, "secret = " + secret);
-
 
1766
 
-
 
1767
            Log.d(TAG, "URL = " + Configuration.URL_REFRESH);
-
 
1768
            Request request = new Request.Builder()
-
 
1769
                    .url(Configuration.URL_REFRESH)
-
 
1770
                    .build();
-
 
1771
 
-
 
1772
            Http http = new Http(getCacheDir(), preference.getDeviceUuid(), secret, created, rand);
-
 
1773
            OkHttpClient client = http.getHttpClient(false);
-
 
1774
 
-
 
1775
            Call call = client.newCall(request);
-
 
1776
            call.enqueue(new Callback() {
-
 
1777
                public void onResponse(Call call, Response response)
-
 
1778
                        throws IOException {
-
 
1779
                    processResponseServer(response.body().string());
-
 
1780
 
-
 
1781
                }
-
 
1782
 
-
 
1783
                public void onFailure(Call call, IOException e) {
-
 
1784
                    Log.d(TAG, "Error :  " + e.getMessage());
-
 
1785
                }
-
 
1786
            });
-
 
1787
 
-
 
1788
        } catch (Exception e) {
-
 
1789
           showMessageSnackBar(e.getMessage());
-
 
1790
        }
Línea 1719... Línea 1791...
1719
 
1791
    }
1720
 
1792
 
1721
    public void requestCheckChanges()
1793
    public void requestCheckChanges()
1722
    {
1794
    {
Línea 2815... Línea 2887...
2815
            }
2887
            }
2816
        });
2888
        });
2817
    }
2889
    }
2818
     */
2890
     */
Línea -... Línea 2891...
-
 
2891
 
-
 
2892
    private void processResponseServer(String dataString) {
-
 
2893
 
-
 
2894
        Log.d(TAG, "processResponseServer = " + dataString);
-
 
2895
 
-
 
2896
        runOnUiThread(new Runnable() {
-
 
2897
 
-
 
2898
            @Override
-
 
2899
            public void run() {
-
 
2900
 
-
 
2901
                try {
-
 
2902
                    JSONObject objJSON = new JSONObject(dataString);
-
 
2903
                    boolean success = objJSON.has("success") ? objJSON.getBoolean("success") : false;
-
 
2904
                    String message = "";
-
 
2905
                    if (objJSON.has("data")) {
-
 
2906
                        Object item = objJSON.get("data");
-
 
2907
                        if (item instanceof String) {
-
 
2908
                            message = item.toString();
-
 
2909
                        }
-
 
2910
                    }
-
 
2911
 
Línea -... Línea 2912...
-
 
2912
                    if (success) {
-
 
2913
 
-
 
2914
                        getDatabase().getAnswerDao().removeAll();
-
 
2915
                        getDatabase().getQuestionDao().removeAll();
-
 
2916
                        getDatabase().getQuizDao().removeAll();
-
 
2917
                        getDatabase().getSlideDao().removeAll();
-
 
2918
                        getDatabase().getCapsuleDao().removeAll();
-
 
2919
                        getDatabase().getTopicDao().removeAll();
-
 
2920
                        getDatabase().getUserExtendedDao().removeAll();
-
 
2921
                        getDatabase().getUserLogDao().removeAllUserUuidNotEqual(preference.getUserUuid());
-
 
2922
                        getDatabase().getProgressDao().removeAllUserUuidNotEqual(preference.getUserUuid());
-
 
2923
 
-
 
2924
                        JSONObject data = objJSON.getJSONObject("data");
-
 
2925
                        syncFromServer(data);
-
 
2926
 
-
 
2927
                        preference.setRefreshContentRequired(false);
-
 
2928
                        Toast.makeText(getApplicationContext(), "¡Contenido actualizado con exito!", Toast.LENGTH_SHORT).show();
-
 
2929
 
-
 
2930
                    } else {
-
 
2931
                       showMessageSnackBar(message);
-
 
2932
                    }
-
 
2933
 
-
 
2934
 
-
 
2935
                } catch (JSONException e) {
-
 
2936
                    Log.d(TAG, e.getMessage());
-
 
2937
                }
-
 
2938
 
-
 
2939
 
-
 
2940
            }
-
 
2941
        });
-
 
2942
 
Línea 2819... Línea 2943...
2819
 
2943