This Android app lets you classify Galaxy Zoo subjects. It is available in the Google Play Store: https://play.google.com/store/apps/details?id=com.murrayc.galaxyzoo.app . Try beta versions early here: https://play.google.com/apps/testing/com.murrayc.galaxyzoo.app . See also the iPhone app for Galaxy Zoo: https://github.com/murraycu/ios-galaxyzoo/
GNU General Public License v3.0
11
stars
13
forks
source link
Crash with CONNECTIVITY_CHANGE: "Error receiving broadcast Intent" #21
A user reported this crash on Android 5.0 with version 1.45 after classifying 5 subjects. It looks like it was triggered by a change of network connectivity.
java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in com.murrayc.galaxyzoo.app.g@2505d2ff
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:872)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.void checkStateLoss()(Unknown Source)
at android.support.v4.app.FragmentManagerImpl.void throwException(java.lang.RuntimeException)(Unknown Source)
android.support.v4.app.FragmentTransaction beginTransaction()
void putFragment(android.os.Bundle,java.lang.String,android.support.v4.app.Fragment)
android.support.v4.app.Fragment getFragment(android.os.Bundle,java.lang.String)
void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])
android.view.animation.Animation makeOpenCloseAnimation(android.content.Context,float,float,float,float)
android.view.animation.Animation makeFadeAnimation(android.content.Context,float,float)
android.view.animation.Animation loadAnimation(android.support.v4.app.Fragment,int,boolean,int)
void performPendingDeferredStart(android.support.v4.app.Fragment)
void moveToState(android.support.v4.app.Fragment,int,int,int,boolean)
void moveToState(int,boolean)
void moveToState(int,int,int,boolean)
void addFragment(android.support.v4.app.Fragment,boolean)
void removeFragment(android.support.v4.app.Fragment,int,int)
android.support.v4.app.Fragment findFragmentById(int)
android.support.v4.app.Fragment findFragmentByTag(java.lang.String)
void enqueueAction(java.lang.Runnable,boolean)
int allocBackStackIndex(android.support.v4.app.BackStackRecord)
void setBackStackIndex(int,android.support.v4.app.BackStackRecord)
boolean popBackStackState(android.os.Handler,java.lang.String,int,int)
void restoreAllState(android.os.Parcelable,java.util.ArrayList)
void attachActivity(android.support.v4.app.FragmentActivity,android.support.v4.app.FragmentContainer,android.support.v4.app.Fragment)
void dispatchConfigurationChanged(android.content.res.Configuration)
boolean dispatchCreateOptionsMenu(android.view.Menu,android.view.MenuInflater)
boolean dispatchPrepareOptionsMenu(android.view.Menu)
boolean dispatchOptionsItemSelected(android.view.MenuItem)
android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet)
at android.support.v4.app.BackStackRecord.void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])(Unknown Source)
void dump(java.lang.String,java.io.PrintWriter,boolean)
void addOp(android.support.v4.app.BackStackRecord$Op)
android.support.v4.app.FragmentTransaction add(int,android.support.v4.app.Fragment,java.lang.String)
void doAddOp(int,android.support.v4.app.Fragment,java.lang.String,int)
android.support.v4.app.FragmentTransaction replace(int,android.support.v4.app.Fragment)
android.support.v4.app.FragmentTransaction hide(android.support.v4.app.Fragment)
void bumpBackStackNesting(int)
int commit()
int commitInternal(boolean)
void setFirstOut(android.util.SparseArray,android.support.v4.app.Fragment)
void calculateBackFragments(android.util.SparseArray,android.util.SparseArray)
android.support.v4.app.BackStackRecord$TransitionState popFromBackStack(boolean,android.support.v4.app.BackStackRecord$TransitionState,android.util.SparseArray,android.util.SparseArray)
android.support.v4.app.BackStackRecord$TransitionState beginTransition(android.util.SparseArray,android.util.SparseArray,boolean)
java.lang.Object getEnterTransition(android.support.v4.app.Fragment,boolean)
java.lang.Object getSharedElementTransition(android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean)
java.lang.Object captureExitingViews(java.lang.Object,android.support.v4.app.Fragment,java.util.ArrayList,android.support.v4.util.ArrayMap,android.view.View)
android.support.v4.util.ArrayMap remapSharedElements(android.support.v4.app.BackStackRecord$TransitionState,android.support.v4.app.Fragment,boolean)
boolean configureTransitions(int,android.support.v4.app.BackStackRecord$TransitionState,boolean,android.util.SparseArray,android.util.SparseArray)
void prepareSharedElementTransition(android.support.v4.app.BackStackRecord$TransitionState,android.view.View,java.lang.Object,android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,java.util.ArrayList)
void callSharedElementEnd(android.support.v4.app.BackStackRecord$TransitionState,android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,android.support.v4.util.ArrayMap)
void setEpicenterIn(android.support.v4.util.ArrayMap,android.support.v4.app.BackStackRecord$TransitionState)
android.support.v4.util.ArrayMap mapSharedElementsIn(android.support.v4.app.BackStackRecord$TransitionState,boolean,android.support.v4.app.Fragment)
android.support.v4.util.ArrayMap remapNames(java.util.ArrayList,java.util.ArrayList,android.support.v4.util.ArrayMap)
void excludeHiddenFragmentsAfterEnter(android.view.View,android.support.v4.app.BackStackRecord$TransitionState,int,java.lang.Object)
void excludeHiddenFragments(android.support.v4.app.BackStackRecord$TransitionState,int,java.lang.Object)
void setNameOverride(android.support.v4.util.ArrayMap,java.lang.String,java.lang.String)
void setNameOverrides(android.support.v4.app.BackStackRecord$TransitionState,java.util.ArrayList,java.util.ArrayList)
void setBackNameOverrides(android.support.v4.app.BackStackRecord$TransitionState,android.support.v4.util.ArrayMap,boolean)
android.support.v4.util.ArrayMap access$000(android.support.v4.app.BackStackRecord,android.support.v4.app.BackStackRecord$TransitionState,boolean,android.support.v4.app.Fragment)
void access$100(android.support.v4.app.BackStackRecord,android.support.v4.util.ArrayMap,android.support.v4.app.BackStackRecord$TransitionState)
void access$200(android.support.v4.app.BackStackRecord,android.support.v4.app.BackStackRecord$TransitionState,android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,android.support.v4.util.ArrayMap)
void access$300(android.support.v4.app.BackStackRecord,android.support.v4.app.BackStackRecord$TransitionState,int,java.lang.Object)
at android.support.v4.app.BackStackRecord.void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])(Unknown Source)
void dump(java.lang.String,java.io.PrintWriter,boolean)
void addOp(android.support.v4.app.BackStackRecord$Op)
android.support.v4.app.FragmentTransaction add(int,android.support.v4.app.Fragment,java.lang.String)
void doAddOp(int,android.support.v4.app.Fragment,java.lang.String,int)
android.support.v4.app.FragmentTransaction replace(int,android.support.v4.app.Fragment)
android.support.v4.app.FragmentTransaction hide(android.support.v4.app.Fragment)
void bumpBackStackNesting(int)
int commit()
int commitInternal(boolean)
void setFirstOut(android.util.SparseArray,android.support.v4.app.Fragment)
void calculateBackFragments(android.util.SparseArray,android.util.SparseArray)
android.support.v4.app.BackStackRecord$TransitionState popFromBackStack(boolean,android.support.v4.app.BackStackRecord$TransitionState,android.util.SparseArray,android.util.SparseArray)
android.support.v4.app.BackStackRecord$TransitionState beginTransition(android.util.SparseArray,android.util.SparseArray,boolean)
java.lang.Object getEnterTransition(android.support.v4.app.Fragment,boolean)
java.lang.Object getSharedElementTransition(android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean)
java.lang.Object captureExitingViews(java.lang.Object,android.support.v4.app.Fragment,java.util.ArrayList,android.support.v4.util.ArrayMap,android.view.View)
android.support.v4.util.ArrayMap remapSharedElements(android.support.v4.app.BackStackRecord$TransitionState,android.support.v4.app.Fragment,boolean)
boolean configureTransitions(int,android.support.v4.app.BackStackRecord$TransitionState,boolean,android.util.SparseArray,android.util.SparseArray)
void prepareSharedElementTransition(android.support.v4.app.BackStackRecord$TransitionState,android.view.View,java.lang.Object,android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,java.util.ArrayList)
void callSharedElementEnd(android.support.v4.app.BackStackRecord$TransitionState,android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,android.support.v4.util.ArrayMap)
void setEpicenterIn(android.support.v4.util.ArrayMap,android.support.v4.app.BackStackRecord$TransitionState)
android.support.v4.util.ArrayMap mapSharedElementsIn(android.support.v4.app.BackStackRecord$TransitionState,boolean,android.support.v4.app.Fragment)
android.support.v4.util.ArrayMap remapNames(java.util.ArrayList,java.util.ArrayList,android.support.v4.util.ArrayMap)
void excludeHiddenFragmentsAfterEnter(android.view.View,android.support.v4.app.BackStackRecord$TransitionState,int,java.lang.Object)
void excludeHiddenFragments(android.support.v4.app.BackStackRecord$TransitionState,int,java.lang.Object)
void setNameOverride(android.support.v4.util.ArrayMap,java.lang.String,java.lang.String)
void setNameOverrides(android.support.v4.app.BackStackRecord$TransitionState,java.util.ArrayList,java.util.ArrayList)
void setBackNameOverrides(android.support.v4.app.BackStackRecord$TransitionState,android.support.v4.util.ArrayMap,boolean)
android.support.v4.util.ArrayMap access$000(android.support.v4.app.BackStackRecord,android.support.v4.app.BackStackRecord$TransitionState,boolean,android.support.v4.app.Fragment)
void access$100(android.support.v4.app.BackStackRecord,android.support.v4.util.ArrayMap,android.support.v4.app.BackStackRecord$TransitionState)
void access$200(android.support.v4.app.BackStackRecord,android.support.v4.app.BackStackRecord$TransitionState,android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,android.support.v4.util.ArrayMap)
void access$300(android.support.v4.app.BackStackRecord,android.support.v4.app.BackStackRecord$TransitionState,int,java.lang.Object)
at com.murrayc.galaxyzoo.app.ClassifyFragment.void showChildFragments(boolean)(Unknown Source)
at com.murrayc.galaxyzoo.app.ClassifyFragment.void showLoadingInProgress(boolean)(Unknown Source)
at com.murrayc.galaxyzoo.app.ClassifyFragment.void onAttach(android.app.Activity)(Unknown Source)
android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)
void onCreateOptionsMenu(android.view.Menu,android.view.MenuInflater)
android.support.v4.content.Loader onCreateLoader(int,android.os.Bundle)
void onLoadFinished(android.support.v4.content.Loader,android.database.Cursor)
void onLoaderReset(android.support.v4.content.Loader)
void onLoadFinished(android.support.v4.content.Loader,java.lang.Object)
at android.support.v4.app.LoaderManagerImpl.android.support.v4.app.LoaderManagerImpl$LoaderInfo createLoader(int,android.os.Bundle,android.support.v4.app.LoaderManager$LoaderCallbacks)(Unknown Source)
void doStop()
at android.support.v4.app.LoaderManagerImpl.android.support.v4.app.LoaderManagerImpl$LoaderInfo createAndInstallLoader(int,android.os.Bundle,android.support.v4.app.LoaderManager$LoaderCallbacks)(Unknown Source)
void doRetain()
at android.support.v4.app.LoaderManagerImpl.android.support.v4.content.Loader restartLoader(int,android.os.Bundle,android.support.v4.app.LoaderManager$LoaderCallbacks)(Unknown Source)
void doStart()
at com.murrayc.galaxyzoo.app.ClassifyFragment.void update()(Unknown Source)
at com.murrayc.galaxyzoo.app.ClassifyActivity.void startNextClassification()(Unknown Source)
at com.murrayc.galaxyzoo.app.ClassifyActivity.void access$500(com.murrayc.galaxyzoo.app.ClassifyActivity)(Unknown Source)
at com.murrayc.galaxyzoo.app.ClassifyActivity$5.void onReceive(android.content.Context,android.content.Intent)(Unknown Source)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:862)
... 8 more
A user reported this crash on Android 5.0 with version 1.45 after classifying 5 subjects. It looks like it was triggered by a change of network connectivity.