[Bug] #3

Open
opened 2024-02-05 08:58:05 +07:00 by sindhu · 0 comments
Owner

1. Google disconnect mode debug akan menyebabkan aplikasi berhenti.

=> Solusi ditambahkan code sperti ini pada logout provider saat listen dan setelah disconnect
akan di keluarkan secara aplikasi dengan SystemNavigator.pop

ref.listen(logoutProvider, (prev, next) async {
      if (next is LogoutStateLoading) {
        isLoading.value = true;
      } else if (next is LogoutStateError) {
        isLoading.value = false;
        errorMessage.value = next.message;
        Timer(const Duration(seconds: 3), () {
          errorMessage.value = "";
        });
      } else if (next is LogoutStateDone) {
        isLoading.value = false;
        final shared = await SharedPreferences.getInstance();
        final bearerString = shared.get(Constant.bearerName).toString();
        // print(bearerString);
        if (bearerString.isNotEmpty) {
          shared.remove(bearerString);
          shared.clear();
        }
      }
      final googleSignIn = ref.watch(googleSignInProvider);
      if (await googleSignIn.isSignedIn()) {
        await googleSignIn.disconnect();
      }
      SystemChannels.platform.invokeMethod('SystemNavigator.pop');
    });

2. Saat sudah success clock in / clock out bukan selfie ketambahan 1 navigator presensi screen sehingga harus 2x back baru kembali ke beranda

3. Custom Error dari backend graphql

4. Menu user bisa memilih company jika tugas kerja nya berbeda dari yang sebelumnya agar ketika clock in sesuai dengan koordinat lokasi

5.Menu home screen atau presensi serta presensi selfie harus ada nama company, atau mau diberikan di drawer nya dibawah NIP ada company sekarang

### 1. Google disconnect mode debug akan menyebabkan aplikasi berhenti. => Solusi ditambahkan code sperti ini pada logout provider saat listen dan setelah disconnect akan di keluarkan secara aplikasi dengan SystemNavigator.pop ```flutter ref.listen(logoutProvider, (prev, next) async { if (next is LogoutStateLoading) { isLoading.value = true; } else if (next is LogoutStateError) { isLoading.value = false; errorMessage.value = next.message; Timer(const Duration(seconds: 3), () { errorMessage.value = ""; }); } else if (next is LogoutStateDone) { isLoading.value = false; final shared = await SharedPreferences.getInstance(); final bearerString = shared.get(Constant.bearerName).toString(); // print(bearerString); if (bearerString.isNotEmpty) { shared.remove(bearerString); shared.clear(); } } final googleSignIn = ref.watch(googleSignInProvider); if (await googleSignIn.isSignedIn()) { await googleSignIn.disconnect(); } SystemChannels.platform.invokeMethod('SystemNavigator.pop'); }); ``` ### 2. Saat sudah success clock in / clock out bukan selfie ketambahan 1 navigator presensi screen sehingga harus 2x back baru kembali ke beranda ### 3. Custom Error dari backend graphql ### 4. Menu user bisa memilih company jika tugas kerja nya berbeda dari yang sebelumnya agar ketika clock in sesuai dengan koordinat lokasi ### 5.Menu home screen atau presensi serta presensi selfie harus ada nama company, atau mau diberikan di drawer nya dibawah NIP ada company sekarang
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sindhu/absensi_sas_flutter#3