opensrp / opensrp-client-reveal

OpenSRP Client Reveal App
Other
7 stars 9 forks source link

Logging into the app gives a localflag error #777

Open Naima-Bashir opened 4 years ago

Naima-Bashir commented 4 years ago

Both NTD and and Reveal image

craigappl commented 4 years ago

The underlying issue appears to be related to the feature that allows users to login with different teams. We experienced this on production APK v4.1.0 for Thailand.

Here's the logcat: 06-08 12:01:48.103 8019 8019 E SettingsRepository: java.lang.NullPointerException: Attempt to invoke virtual method 'net.sqlcipher.database.SQLiteDatabase org.smartregister.repository.Repository.getReadableDatabase()' on a null object reference 06-08 12:01:48.103 8019 8019 E SettingsRepository: at org.smartregister.repository.SettingsRepository.querySetting(SettingsRepository.java:119) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at org.smartregister.repository.AllSettings.getSetting(AllSettings.java:100) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at org.smartregister.util.SyncUtils.isAppVersionAllowed(SyncUtils.java:106) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at org.smartregister.view.activity.BaseLoginActivity.isAppVersionAllowed(BaseLoginActivity.java:271) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at org.smartregister.login.presenter.BaseLoginPresenter.attemptLogin(BaseLoginPresenter.java:46) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at org.smartregister.view.activity.BaseLoginActivity.onEditorAction(BaseLoginActivity.java:202) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at android.widget.TextView.onEditorAction(TextView.java:5911) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at com.android.internal.widget.EditableInputConnection.performEditorAction(EditableInputConnection.java:138) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:360) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:85) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at android.os.Handler.dispatchMessage(Handler.java:106) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at android.os.Looper.loop(Looper.java:164) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at android.app.ActivityThread.main(ActivityThread.java:6518) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at java.lang.reflect.Method.invoke(Native Method) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 06-08 12:01:48.103 8019 8019 E SettingsRepository: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Steps to reproduce on Thailand Production APK:

craigappl commented 4 years ago

I cleared the app data and tried to login as the bvbd_test user and got the same error. It appears to be user specific. I had the same issue with the same user after I uninstalled the app and reinstalled it again.

Rkareko commented 4 years ago

The plans that bvbd_test was assigned to had expired. After being assigned to another plan the user is able to log in.