Proyectos de Subversion Android Microlearning - Nuevo Interface

Rev

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

Rev 52 Rev 53
Línea 79... Línea 79...
79
import com.cesams.twogetskills.entity.UserLog;
79
import com.cesams.twogetskills.entity.UserLog;
80
import com.cesams.twogetskills.preference.Preference;
80
import com.cesams.twogetskills.preference.Preference;
81
import com.cesams.twogetskills.receiver.ConnectivityReceiver;
81
import com.cesams.twogetskills.receiver.ConnectivityReceiver;
82
import com.cesams.twogetskills.receiver.InternalReceiver;
82
import com.cesams.twogetskills.receiver.InternalReceiver;
83
import com.cesams.twogetskills.room.ResultCount;
83
import com.cesams.twogetskills.room.ResultCount;
-
 
84
import com.cesams.twogetskills.skeleton.IReloadData;
84
import com.google.android.gms.tasks.OnCompleteListener;
85
import com.google.android.gms.tasks.OnCompleteListener;
85
import com.google.android.gms.tasks.Task;
86
import com.google.android.gms.tasks.Task;
86
import com.google.android.material.bottomnavigation.BottomNavigationView;
87
import com.google.android.material.bottomnavigation.BottomNavigationView;
87
import com.google.android.material.navigation.NavigationBarView;
88
import com.google.android.material.navigation.NavigationBarView;
88
import com.google.android.material.snackbar.Snackbar;
89
import com.google.android.material.snackbar.Snackbar;
Línea 123... Línea 124...
123
    private boolean isSyncDevice = false;
124
    private boolean isSyncDevice = false;
124
    private boolean isSyncToken = false;
125
    private boolean isSyncToken = false;
125
    private boolean isSyncBatch = false;
126
    private boolean isSyncBatch = false;
126
    private boolean isForeground = false;
127
    private boolean isForeground = false;
127
    private boolean isSmartLockLoginRun = false;
128
    private boolean isSmartLockLoginRun = false;
-
 
129
    private boolean isShowingCartelRefresh = false;
Línea 128... Línea 130...
128
 
130
 
129
    private final static String PREFIX_FRAG = "FRAG";
131
    private final static String PREFIX_FRAG = "FRAG";
Línea 130... Línea 132...
130
    private final static String TAG = "C2GS - MainActivity";
132
    private final static String TAG = "C2GS - MainActivity";
Línea 327... Línea 329...
327
 
329
 
Línea 328... Línea 330...
328
        if (getIntent().getExtras() != null) {
330
        if (getIntent().getExtras() != null) {
329
 
331
 
330
            for (String key : getIntent().getExtras().keySet()) {
332
            for (String key : getIntent().getExtras().keySet()) {
331
                Object value = getIntent().getExtras().get(key);
333
                Object value = getIntent().getExtras().get(key);
-
 
334
                if(value.toString().equals("content-refresh") && !isShowingCartelRefresh)
-
 
335
                    {
-
 
336
 
332
                if(value.toString().equals("content-refresh") && !preference.isRefreshContentRequired())
337
                        Log.e("OnCreate","intent cartel");
333
                    {
338
 
334
                        //Vengo de notificacion, pero el app estaba cerrada, asi que muestro el cartel de content-refresh
339
                        //Vengo de notificacion, pero el app estaba cerrada, asi que muestro el cartel de content-refresh
335
                       // preference.setRefreshContentRequired(true);
-
 
336
                        saveNotificationCenterNew("Nuevo contenido para descargar","","Tienes nuevas capsulas de aprendizaje para descargar");
340
                       // preference.setRefreshContentRequired(true);
Línea 337... Línea 341...
337
 
341
                        saveNotificationCenterNew("Nuevo contenido para descargar","","Tienes nuevas capsulas de aprendizaje para descargar");
Línea 338... Línea 342...
338
                        CartelRefreshContent();
342
                        CartelRefreshContent();
Línea 374... Línea 378...
374
        isForeground = true;
378
        isForeground = true;
Línea 375... Línea 379...
375
 
379
 
376
        preference = Preference.getInstance(getApplicationContext());
380
        preference = Preference.getInstance(getApplicationContext());
Línea 377... Línea 381...
377
        preference.load();
381
        preference.load();
378
 
382
 
379
        if(preference.isRefreshContentRequired())
383
        if(preference.isRefreshContentRequired() && !isShowingCartelRefresh)
380
        {
384
        {
381
            //Hubo una notificacion de actualización de contenido antes
385
            //Hubo una notificacion de actualización de contenido antes
382
            // pero no se pudo procesar por alguna interrupcion
386
            // pero no se pudo procesar por alguna interrupcion
Línea 470... Línea 474...
470
                    : "Hay " + new_capsules + " cápsulas disponible";
474
                    : "Hay " + new_capsules + " cápsulas disponible";
Línea 471... Línea 475...
471
 
475
 
Línea 472... Línea 476...
472
 
476
 
473
            showMessageSnackBarWithClose(message);
477
            showMessageSnackBarWithClose(message);
Línea 474... Línea 478...
474
 
478
 
475
            saveNotificationCenterNew("Nuevo cápsula","",message);
479
            saveNotificationCenterNew("Nueva cápsula","",message);
Línea 476... Línea 480...
476
        } else {
480
        } else {
Línea 477... Línea 481...
477
 
481
 
478
            showMessageSnackBarWithClose(body);
482
            showMessageSnackBarWithClose(body);
479
            saveNotificationCenterNew("Nuevo contenido","",body);
483
            saveNotificationCenterNew(title,"",body);
480
 
484
 
-
 
485
        }
-
 
486
 
-
 
487
    if(content_refresh)
481
        }
488
    {
482
 
489
        if(!isShowingCartelRefresh)
483
    if(content_refresh)
490
        {
Línea 535... Línea 542...
535
        }
542
        }
Línea 536... Línea 543...
536
 
543
 
Línea 537... Línea 544...
537
    }
544
    }
-
 
545
 
-
 
546
    @Override
-
 
547
    public void saveNotificationCenter(String title, String url, String mensaje) {
-
 
548
        saveNotificationCenterNew(title,url,mensaje);
-
 
549
    }
538
 
550
 
539
    @Override
551
    @Override
540
    public void signout()
552
    public void signout()
541
    {
553
    {
542
        mAppDatabase.getAnswerDao().removeAll();
554
        mAppDatabase.getAnswerDao().removeAll();
Línea 814... Línea 826...
814
 
826
 
815
        if (command.equals("signout")) {
827
        if (command.equals("signout")) {
816
            signout();
828
            signout();
Línea -... Línea 829...
-
 
829
        }
817
        }
830
 
Línea 818... Línea 831...
818
 
831
 
-
 
832
        if (command.equals("content-refresh")){
-
 
833
 
Línea 819... Línea 834...
819
        if (command.equals("content-refresh")){
834
            if (!isShowingCartelRefresh) {
Línea 820... Línea 835...
820
 
835
 
Línea 821... Línea 836...
821
            if (!preference.isRefreshContentRequired()) {
836
                Log.e("On Execute fcm command","intent cartel");
Línea 822... Línea 837...
822
 
837
 
823
                saveNotificationCenterNew("Nuevo contenido para descargar", "", "Tienes nuevas capsulas de aprendizaje para descargar");
838
                saveNotificationCenterNew("Nuevo contenido para descargar", "", "Tienes nuevas capsulas de aprendizaje para descargar");
-
 
839
 
-
 
840
               // preference.setRefreshContentRequired(true);
824
 
841
 
Línea 825... Línea 842...
825
               // preference.setRefreshContentRequired(true);
842
                CartelRefreshContent();
-
 
843
 
826
 
844
            }
Línea 827... Línea 845...
827
                CartelRefreshContent();
845
        }
828
 
846
 
829
            }
847
 
830
        }
848
    }
831
    }
849
 
832
 
850
    public void CartelRefreshContent (){
Línea -... Línea 851...
-
 
851
 
-
 
852
        isShowingCartelRefresh= true;
833
    public void CartelRefreshContent (){
853
 
-
 
854
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
-
 
855
        alertDialogBuilder.setMessage("Tienes nuevas capsulas para descargar");
-
 
856
        alertDialogBuilder.setPositiveButton("Si, actualizar ahora",
-
 
857
                new DialogInterface.OnClickListener() {
-
 
858
                    @Override
-
 
859
                    public void onClick(DialogInterface arg0, int arg1) {
-
 
860
 
-
 
861
                        preference.setRefreshContentRequired(true);
-
 
862
 
-
 
863
                        if(preference.getFragmentIdxActive() == Constants.IDX_FRAGMENT_TOPICS) {
834
        preference.setRefreshContentRequired(true);
864
 
-
 
865
                            String fragmentKeyActual = PREFIX_FRAG + preference.getFragmentIdxActive();
835
 
866
                            if (fragmentHashMap.containsKey(fragmentKeyActual)) {
836
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
867
                                Fragment fragment = fragmentHashMap.get(fragmentKeyActual);
837
        alertDialogBuilder.setMessage("Tienes nuevas capsulas para descargar");
868
                                if (fragment instanceof IReloadData) {
Línea 838... Línea 869...
838
        alertDialogBuilder.setPositiveButton("Si, actualizar ahora",
869
                                    ((IReloadData) fragment).onReloadData();
839
                new DialogInterface.OnClickListener() {
870
                                }
840
                    @Override
871
                            }
-
 
872
                        }
-
 
873
                        else{
-
 
874
                            invokeFragment(Constants.IDX_FRAGMENT_TOPICS);
-
 
875
 
-
 
876
                        }
-
 
877
                    }
Línea 841... Línea 878...
841
                    public void onClick(DialogInterface arg0, int arg1) {
878
                });
Línea 842... Línea 879...
842
 
879
 
843
                        //Toast.makeText(MainActivity.this,"Actualizando tu contenido...",Toast.LENGTH_LONG).show();
880
 
Línea 859... Línea 896...
859
 
896
 
860
        if(intent.getExtras() != null) {
897
        if(intent.getExtras() != null) {
861
            for (String key : intent.getExtras().keySet()) {
898
            for (String key : intent.getExtras().keySet()) {
862
                Object value = intent.getExtras().get(key);
899
                Object value = intent.getExtras().get(key);
863
                if (value.toString().equals("content-refresh")) {
900
                if (value.toString().equals("content-refresh")) {
864
                    if (!preference.isRefreshContentRequired()) {
901
                    if (!isShowingCartelRefresh) {
865
                      //  preference.setRefreshContentRequired(true);
902
                      //  preference.setRefreshContentRequired(true);
Línea -... Línea 903...
-
 
903
                        saveNotificationCenterNew("Nuevo contenido para descargar", "", "Tienes nuevas capsulas de aprendizaje para descargar");
866
                        saveNotificationCenterNew("Nuevo contenido para descargar", "", "Tienes nuevas capsulas de aprendizaje para descargar");
904
 
867
 
905
                        Log.e("On new","intent cartel");
868
                        CartelRefreshContent();
906
                        CartelRefreshContent();
869
                    }
907
                    }
870
                }
908
                }
Línea 1742... Línea 1780...
1742
    @Override
1780
    @Override
1743
    public Preference getPreference() {
1781
    public Preference getPreference() {
1744
        return preference;
1782
        return preference;
1745
    }
1783
    }
Línea 1746... Línea -...
1746
 
-
 
1747
    /*
-
 
1748
    public void refreshContent(){
-
 
1749
 
-
 
1750
        try {
-
 
1751
            TimeZone timeZone = TimeZone.getTimeZone("UTC");
-
 
1752
            Calendar calendar = Calendar.getInstance(timeZone);
-
 
1753
            TimeZone tz = calendar.getTimeZone();
-
 
1754
            int created = (int) (calendar.getTimeInMillis() / 1000);
-
 
1755
 
-
 
1756
            Random random = new Random(created);
-
 
1757
            int rand = 1000 + random.nextInt(8999);
-
 
1758
 
-
 
1759
 
-
 
1760
            Log.d(TAG, "token = " + preference.getDeviceUuid());
-
 
1761
            Log.d(TAG, "created = " + created);
-
 
1762
            Log.d(TAG, "rand = " + rand);
-
 
1763
            Log.d(TAG, "calc = " + preference.getPassword() + ':' + created + ':' + rand);
-
 
1764
 
-
 
Línea 1765... Línea -...
1765
            String secret = MD5.generar(preference.getPassword() + ':' + created + ':' + rand);
-
 
Línea 1766... Línea -...
1766
 
-
 
1767
            Log.d(TAG, "secret = " + secret);
-
 
1768
 
-
 
1769
            Log.d(TAG, "URL = " + Configuration.URL_REFRESH);
-
 
1770
            Request request = new Request.Builder()
-
 
1771
                    .url(Configuration.URL_REFRESH)
-
 
1772
                    .build();
-
 
1773
 
-
 
1774
            Http http = new Http(getCacheDir(), preference.getDeviceUuid(), secret, created, rand);
-
 
1775
            OkHttpClient client = http.getHttpClient(false);
-
 
1776
 
-
 
1777
            Call call = client.newCall(request);
-
 
1778
            call.enqueue(new Callback() {
-
 
1779
                public void onResponse(Call call, Response response)
-
 
1780
                        throws IOException {
-
 
Línea 1781... Línea -...
1781
                    processResponseServer(response.body().string());
-
 
1782
 
-
 
1783
                }
-
 
1784
 
-
 
1785
                public void onFailure(Call call, IOException e) {
-
 
1786
                    Log.d(TAG, "Error :  " + e.getMessage());
-
 
1787
                }
-
 
1788
            });
-
 
1789
 
-
 
1790
        } catch (Exception e) {
-
 
1791
           showMessageSnackBar(e.getMessage());
1784
 
1792
        }
1785
 
1793
    }
1786
 
1794
*/
1787
 
Línea 2889... Línea 2882...
2889
            }
2882
            }
2890
        });
2883
        });
2891
    }
2884
    }
2892
     */
2885
     */
Línea 2893... Línea -...
2893
 
-
 
2894
    /*
-
 
2895
    private void processResponseServer(String dataString) {
-
 
2896
 
-
 
2897
        Log.d(TAG, "processResponseServer = " + dataString);
-
 
2898
 
-
 
2899
        runOnUiThread(new Runnable() {
-
 
2900
 
-
 
2901
            @Override
-
 
2902
            public void run() {
-
 
2903
 
-
 
2904
                try {
-
 
2905
                    JSONObject objJSON = new JSONObject(dataString);
-
 
2906
                    boolean success = objJSON.has("success") ? objJSON.getBoolean("success") : false;
-
 
2907
                    String message = "";
-
 
2908
                    if (objJSON.has("data")) {
-
 
2909
                        Object item = objJSON.get("data");
-
 
2910
                        if (item instanceof String) {
-
 
2911
                            message = item.toString();
-
 
2912
                        }
-
 
2913
                    }
-
 
2914
 
-
 
2915
                    if (success) {
-
 
2916
 
-
 
2917
                        getDatabase().getAnswerDao().removeAll();
-
 
2918
                        getDatabase().getQuestionDao().removeAll();
-
 
2919
                        getDatabase().getQuizDao().removeAll();
-
 
2920
                        getDatabase().getSlideDao().removeAll();
-
 
2921
                        getDatabase().getCapsuleDao().removeAll();
-
 
2922
                        getDatabase().getTopicDao().removeAll();
-
 
2923
                        getDatabase().getUserExtendedDao().removeAll();
-
 
2924
                        getDatabase().getUserLogDao().removeAllUserUuidNotEqual(preference.getUserUuid());
-
 
2925
                        getDatabase().getProgressDao().removeAllUserUuidNotEqual(preference.getUserUuid());
-
 
2926
 
-
 
2927
                        JSONObject data = objJSON.getJSONObject("data");
-
 
2928
                        syncFromServer(data);
-
 
2929
 
-
 
2930
                        preference.setRefreshContentRequired(false);
-
 
2931
                        Toast.makeText(getApplicationContext(), "¡Contenido actualizado con exito!", Toast.LENGTH_SHORT).show();
-
 
2932
                        invokeFragment(Constants.IDX_FRAGMENT_TOPICS);
-
 
2933
 
-
 
2934
                    } else {
-
 
2935
                       showMessageSnackBar(message);
-
 
2936
                    }
-
 
Línea 2937... Línea -...
2937
 
-
 
2938
 
-
 
2939
                } catch (JSONException e) {
-
 
2940
                    Log.d(TAG, e.getMessage());
-
 
2941
                }
-
 
2942
 
-
 
2943
 
-
 
2944
            }
-
 
2945
        });
-
 
2946
 
-
 
2947
 
-
 
2948
    }
2886