Closed shubhamvashisht closed 7 years ago
@shubhamvashisht It seems to be working fine. The app isn't force closing on switching from favourites to alerts.
@sauravvishal8797 It is crashing. here you go again
@sauravvishal8797 What device are you using? Its working fine on my device (Moto G4 Plus, Android 7.0)
@free4murad i am also using Moto G4 Plus, Android 7.0 . crashing on my device.
I am using Moto G2 2nd gen, Android 6.0, not crashing on my phone.
I also don't get this problem, but if it exists and we can fix, let's do it!
@danielpassos @sauravvishal8797 its crashing on my device very frequently, let me see the logcat again..i will update here.
@shubhamvashisht I think you are not running the latest code. Because the title of toolbar is not being displayed in the latest code and the gif you have shared is showing the title. I suggest that you fetch the latest code and run the app.
@free4murad might be, let me test.
fetched latest code, still same result. am on it.
@shubhamvashisht Can you please add complete logcat
Hi I was able to recreate the issue (easier to recreate if you are running the app on a slower internet connection).
It happens only if you switch between the tabs before the content is loaded. I found there are two issues that will cause two separate null pointer exceptions.
When I kept recreating the issue once I got this
E/AndroidRuntime: FATAL EXCEPTION: main Process: org.hawkular.client.android, PID: 25808 java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference at org.hawkular.client.android.util.ViewDirector.show(ViewDirector.java:63) at org.hawkular.client.android.fragment.AlertsFragment.showMessage(AlertsFragment.java:378) at org.hawkular.client.android.fragment.AlertsFragment.access$800(AlertsFragment.java:65) at org.hawkular.client.android.fragment.AlertsFragment$AlertsCallback.onSuccess(AlertsFragment.java:439) at org.hawkular.client.android.fragment.AlertsFragment$AlertsCallback.onSuccess(AlertsFragment.java:433) at org.jboss.aerogear.android.pipe.loader.LoaderAdapter.supportFragmentSuccess(LoaderAdapter.java:315) at org.jboss.aerogear.android.pipe.loader.LoaderAdapter.access$500(LoaderAdapter.java:59) at org.jboss.aerogear.android.pipe.loader.LoaderAdapter$CallbackHandler.run(LoaderAdapter.java:374) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6688) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Then another time I got this
E/AndroidRuntime: FATAL EXCEPTION: main Process: org.hawkular.client.android, PID: 30779 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference at android.view.LayoutInflater.from(LayoutInflater.java:233) at org.hawkular.client.android.adapter.BindableAdapter.
(BindableAdapter.java:36) at org.hawkular.client.android.adapter.TriggersAdapter. (TriggersAdapter.java:54) at org.hawkular.client.android.fragment.TriggersFragment.setUpTriggers(TriggersFragment.java:148) at org.hawkular.client.android.fragment.TriggersFragment.access$200(TriggersFragment.java:67) at org.hawkular.client.android.fragment.TriggersFragment$TriggersCallback.onSuccess(TriggersFragment.java:256) at org.hawkular.client.android.fragment.TriggersFragment$TriggersCallback.onSuccess(TriggersFragment.java:252) at org.jboss.aerogear.android.pipe.loader.LoaderAdapter.supportFragmentSuccess(LoaderAdapter.java:315) at org.jboss.aerogear.android.pipe.loader.LoaderAdapter.access$500(LoaderAdapter.java:59) at org.jboss.aerogear.android.pipe.loader.LoaderAdapter$CallbackHandler.run(LoaderAdapter.java:374) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6688) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Device: Galaxy S7 - Android 7.0
I didn't have much time to look into this but I'd like to see if can put a fix for this
@janakamarasena Go for it
@janakamarasena Reason for this issue is callback of success/fail may come from server when user is out of screen already. You have to do is set it to perform UI actions only when fragment is displayable
@garg-anuj will start working on it :)
03-09 19:21:12.040 6656-6666/org.hawkular.client.android E/StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks. java.lang.Throwable: Explicit termination method 'close' not called at dalvik.system.CloseGuard.open(CloseGuard.java:180) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:190) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:808) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:793) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:696) at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:680) at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:289) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) at org.jboss.aerogear.android.store.sql.SQLStore.openSync(SQLStore.java:373) at org.hawkular.client.android.fragment.FavTriggersFragment.setUpTriggers(FavTriggersFragment.java:92) at org.hawkular.client.android.fragment.FavTriggersFragment.onActivityCreated(FavTriggersFragment.java:85) at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:2198) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1326) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595) at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:757) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2355) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2146) at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2098) at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1979) at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:626) at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:166) at android.support.v4.view.ViewPager.populate(ViewPager.java:1268) at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:668) at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:630) at android.support.v4.view.ViewPager.dataSetChanged(ViewPager.java:1110) at android.support.v4.view.ViewPager$PagerObserver.onChanged(ViewPager.java:3113) at android.support.v4.view.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:284) at org.hawkular.client.android.activity.DrawerActivity.showFavourites(DrawerActivity.java:222) at org.hawkular.client.android.activity.DrawerActivity.onNavigationItemSelected(DrawerActivity.java:343) at android.support.design.widget.NavigationView$1.onMenuItemSelected(NavigationView.java:156) at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:822) at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:156) at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:969) at android.support.design.internal.NavigationMenuPresenter$1.onClick(NavigationMenuPresenter.java:342) at android.view.View.performClick(View.java:5612) at android.view.View$PerformClick.run(View.java:22285) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6123) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)