Proyectos de Subversion Android Microlearning - Nuevo Interface

Rev

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

Rev 38 Rev 39
Línea 1... Línea 1...
1
package com.cesams.twogetskills.activity;
1
package com.cesams.twogetskills.activity;
Línea 2... Línea 2...
2
 
2
 
3
import androidx.activity.result.ActivityResultLauncher;
3
import androidx.activity.result.ActivityResultLauncher;
4
import androidx.activity.result.contract.ActivityResultContracts;
4
import androidx.activity.result.contract.ActivityResultContracts;
5
import androidx.annotation.NonNull;
-
 
6
import androidx.appcompat.app.ActionBarDrawerToggle;
5
import androidx.annotation.NonNull;
7
import androidx.appcompat.app.AppCompatActivity;
6
import androidx.appcompat.app.AppCompatActivity;
8
import androidx.core.app.NotificationCompat;
7
import androidx.core.app.NotificationCompat;
9
import androidx.core.content.ContextCompat;
8
import androidx.core.content.ContextCompat;
10
import androidx.fragment.app.Fragment;
9
import androidx.fragment.app.Fragment;
Línea 11... Línea 10...
11
import androidx.fragment.app.FragmentTransaction;
10
import androidx.fragment.app.FragmentTransaction;
12
 
11
 
-
 
12
import android.accounts.Account;
13
import android.accounts.Account;
13
import android.accounts.AccountManager;
14
import android.accounts.AccountManager;
14
import android.app.AlertDialog;
15
import android.app.NotificationChannel;
15
import android.app.NotificationChannel;
16
import android.app.NotificationManager;
16
import android.app.NotificationManager;
17
import android.app.PendingIntent;
17
import android.app.PendingIntent;
18
import android.content.ContentResolver;
18
import android.content.ContentResolver;
19
import android.content.SharedPreferences;
19
import android.content.DialogInterface;
20
import android.net.ConnectivityManager;
20
import android.net.ConnectivityManager;
21
import android.os.Build;
21
import android.os.Build;
22
import android.os.Handler;
-
 
23
import android.os.Looper;
22
import android.os.Handler;
24
import android.preference.PreferenceManager;
23
import android.os.Looper;
25
import android.text.TextUtils;
24
import android.text.TextUtils;
26
import android.util.Log;
25
import android.util.Log;
27
import android.content.Context;
26
import android.content.Context;
28
import android.content.Intent;
27
import android.content.Intent;
29
import android.content.IntentFilter;
28
import android.content.IntentFilter;
30
import android.os.Bundle;
29
import android.os.Bundle;
31
import android.view.Menu;
30
import android.view.Menu;
32
import android.view.MenuItem;
-
 
33
import android.view.View;
31
import android.view.MenuItem;
34
import android.widget.ImageView;
32
import android.view.View;
35
import android.widget.PopupMenu;
33
import android.widget.PopupMenu;
36
import android.widget.ProgressBar;
34
import android.widget.ProgressBar;
Línea 37... Línea -...
37
import android.widget.TextView;
-
 
38
import android.widget.Toast;
-
 
39
 
-
 
40
 
-
 
41
import com.bumptech.glide.Glide;
-
 
42
import com.bumptech.glide.load.engine.DiskCacheStrategy;
35
import android.widget.TextView;
43
import com.bumptech.glide.load.model.GlideUrl;
36
import android.widget.Toast;
44
import com.bumptech.glide.load.model.LazyHeaders;
37
 
45
import com.bumptech.glide.request.RequestOptions;
38
 
46
import com.cesams.twogetskills.Configuration;
39
import com.cesams.twogetskills.Configuration;
Línea 92... Línea 85...
92
import com.google.android.gms.tasks.Task;
85
import com.google.android.gms.tasks.Task;
93
import com.google.android.material.bottomnavigation.BottomNavigationView;
86
import com.google.android.material.bottomnavigation.BottomNavigationView;
94
import com.google.android.material.navigation.NavigationBarView;
87
import com.google.android.material.navigation.NavigationBarView;
95
import com.google.android.material.snackbar.Snackbar;
88
import com.google.android.material.snackbar.Snackbar;
Línea 96... Línea -...
96
 
-
 
97
import androidx.drawerlayout.widget.DrawerLayout;
89
 
Línea 98... Línea 90...
98
import androidx.appcompat.widget.Toolbar;
90
import androidx.appcompat.widget.Toolbar;
99
 
91
 
Línea 100... Línea 92...
100
import com.cesams.twogetskills.Constants;
92
import com.cesams.twogetskills.Constants;
101
import com.cesams.twogetskills.R;
93
import com.cesams.twogetskills.R;
102
 
94
 
103
import com.cesams.twogetskills.fragment.IntroFragment;
95
import com.cesams.twogetskills.fragment.IntroFragment;
104
import com.cesams.twogetskills.fragment.SigninFragment;
-
 
Línea 105... Línea 96...
105
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
96
import com.cesams.twogetskills.fragment.SigninFragment;
106
import com.google.firebase.messaging.FirebaseMessaging;
97
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
107
import com.google.firebase.messaging.FirebaseMessagingService;
98
import com.google.firebase.messaging.FirebaseMessaging;
Línea 114... Línea 105...
114
import java.text.SimpleDateFormat;
105
import java.text.SimpleDateFormat;
115
import java.util.Calendar;
106
import java.util.Calendar;
116
import java.util.Date;
107
import java.util.Date;
117
import java.util.HashMap;
108
import java.util.HashMap;
118
import java.util.List;
109
import java.util.List;
119
import java.util.Observable;
-
 
120
import java.util.Observer;
-
 
121
import java.util.Random;
110
import java.util.Random;
122
import java.util.TimeZone;
111
import java.util.TimeZone;
Línea 123... Línea 112...
123
 
112
 
124
//import de.hdodenhof.circleimageview.CircleImageView;
113
//import de.hdodenhof.circleimageview.CircleImageView;
Línea 233... Línea 222...
233
        fragmentHashMap = new HashMap<>();
222
        fragmentHashMap = new HashMap<>();
Línea 234... Línea 223...
234
 
223
 
235
        mProgressBar = findViewById(R.id.progressBar);
224
        mProgressBar = findViewById(R.id.progressBar);
236
        mToolbar = findViewById(R.id.toolbar);
225
        mToolbar = findViewById(R.id.toolbar);
237
        mToolbar.setOverflowIcon(ContextCompat.getDrawable(getApplicationContext(), R.drawable.notifications));
226
        mToolbar.setOverflowIcon(ContextCompat.getDrawable(getApplicationContext(), R.drawable.notifications));
238
        setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
227
        setSupportActionBar(findViewById(R.id.toolbar));
Línea 239... Línea 228...
239
        getSupportActionBar().setIcon(R.mipmap.ic_launcher_round);
228
        getSupportActionBar().setIcon(R.mipmap.ic_launcher_round);
Línea 240... Línea 229...
240
 
229
 
Línea 420... Línea 409...
420
        notificationManager.createNotificationChannel(channel);
409
        notificationManager.createNotificationChannel(channel);
421
    }
410
    }
Línea 422... Línea 411...
422
 
411
 
423
 
412
 
424
    @Override
413
    @Override
Línea 425... Línea 414...
425
    public void showFcmNotification(String title, String body, int new_capsules)
414
    public void showFcmNotification(String title, String body, int new_capsules, String url)
426
    {
415
    {
427
 
416
 
Línea 462... Línea 451...
462
 
451
 
Línea 463... Línea 452...
463
        notificacionueva = new com.cesams.twogetskills.entity.NotificationCenter();
452
        notificacionueva = new com.cesams.twogetskills.entity.NotificationCenter();
464
 
453
 
-
 
454
        notificacionueva.setTitle("Nuevo contenido disponible");
Línea 465... Línea 455...
465
        notificacionueva.setTitle("Nuevo contenido disponible");
455
        notificacionueva.setDate(dateOn);
Línea 466... Línea 456...
466
        notificacionueva.setDate(dateOn);
456
        notificacionueva.setUrl(url);
467
 
457
 
Línea 796... Línea 786...
796
    {
786
    {
Línea 797... Línea 787...
797
 
787
 
798
        if (command.equals("signout")) {
788
        if (command.equals("signout")) {
799
            signout();
789
            signout();
-
 
790
        }
-
 
791
 
-
 
792
        if (command.equals("content-refresh")){
-
 
793
 
-
 
794
 
-
 
795
            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
-
 
796
            alertDialogBuilder.setMessage("Tienes nuevas capsulas para descargar");
-
 
797
                    alertDialogBuilder.setPositiveButton("Si, actualizar ahora",
-
 
798
                            new DialogInterface.OnClickListener() {
-
 
799
                                @Override
-
 
800
                                public void onClick(DialogInterface arg0, int arg1) {
-
 
801
 
-
 
802
                                    preference.setRefreshContentRequired(true);
-
 
803
                                    Toast.makeText(MainActivity.this,"Actualizando tus capsulas...",Toast.LENGTH_LONG).show();
-
 
804
                                    invokeFragment(Constants.IDX_FRAGMENT_TOPICS);
-
 
805
 
-
 
806
                                }
-
 
807
                            });
-
 
808
 
-
 
809
            alertDialogBuilder.setNegativeButton("No, ahora no",new DialogInterface.OnClickListener() {
-
 
810
                @Override
-
 
811
                public void onClick(DialogInterface dialog, int which) {
-
 
812
                    Toast.makeText(MainActivity.this,"Ok, al finalizar recuerda actualizar tus capsulas en Tópicos deslizando hacia abajo",Toast.LENGTH_LONG).show();
-
 
813
                }
-
 
814
            });
-
 
815
 
-
 
816
            AlertDialog alertDialog = alertDialogBuilder.create();
-
 
817
            alertDialog.show();
-
 
818
            alertDialog.getButton(alertDialog.BUTTON_NEGATIVE).setTextColor(getResources().getColor(R.color.backgroundErrorConnection, null));
-
 
819
            alertDialog.getButton(alertDialog.BUTTON_POSITIVE).setTextColor(getResources().getColor(R.color.teal_700, null));
800
        }
820
        }
Línea 801... Línea 821...
801
    }
821
    }
Línea 2280... Línea 2300...
2280
 
2300
 
2281
                    if(!isForeground) {
2301
                    if(!isForeground) {
2282
                        String body = new_capsules == 1
2302
                        String body = new_capsules == 1
2283
                                ? "Hay 1 cápsula disponible"
2303
                                ? "Hay 1 cápsula disponible"
2284
                                : "Hay " + new_capsules + " cápsulas disponible";
2304
                                : "Hay " + new_capsules + " cápsulas disponible";
2285
                        showFcmNotification("Nuevo contenido", body, new_capsules);
2305
                        showFcmNotification("Nuevo contenido", body, new_capsules, "");
Línea 2286... Línea 2306...
2286
                    }
2306
                    }
2287
 
2307
 
2288
                    /*
2308
                    /*