Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Crash EditDescriptionActivity when switched dark/light mode #5503

Conversation

shashankiitbhu
Copy link
Contributor

@shashankiitbhu shashankiitbhu commented Jan 31, 2024

Description (required)

Fixes #5473

What changes did you make and why?

Tests performed (required)

Tested {build variant, e.g. ProdDebug} on {name of device or emulator} with API level {API level}.

Screenshots (for UI changes only)

@rohit9625
Copy link
Contributor

Please mention the issue number that this PR solves : )

@shashankiitbhu
Copy link
Contributor Author

Yeah I know I was going to mention the issue number once a related PR is merged, I want to make a commit after that PR is approved , so I didn't want to get this one reviewed before that :)

@rohit9625
Copy link
Contributor

Ohh I see. 😅

@shashankiitbhu
Copy link
Contributor Author

@RitikaPahwa4444 made the required changes, please review it, thanks

@RitikaPahwa4444
Copy link
Collaborator

Sorry for the delay! Thank you for making the suggested changes. I'll test it over the weekend and share my observations.

@shashankiitbhu
Copy link
Contributor Author

@RitikaPahwa4444 Sure

@shashankiitbhu
Copy link
Contributor Author

@RitikaPahwa4444 @nicolas-raoul Please Review and let me know if there is any change required.

@shashankiitbhu
Copy link
Contributor Author

@RitikaPahwa4444 Just Pinging In case you missed it, Please Review and merge this PR, thanks

@RitikaPahwa4444
Copy link
Collaborator

Sorry, I was facing some issues with my emulators, had to reset everything. Tested, this does fix the crash :)

@shashankiitbhu
Copy link
Contributor Author

@RitikaPahwa4444 @nicolas-raoul if these changes fix the issue then can you please Merge this, thanks

@nicolas-raoul
Copy link
Member

Sorry would you mind rebasing from main?
I am getting this error:

> Task :app:compileProdDebugJavaWithJavac
The following annotation processors are not incremental: butterknife-compiler-10.1.0.jar (com.jakewharton:butterknife-compiler:10.1.0), dagger-android-processor-2.23.jar (com.google.dagger:dagger-android-processor:2.23), dagger-compiler-2.23.jar (com.google.dagger:dagger-compiler:2.23).
Make sure all annotation processors are incremental to improve your build speed.
/Users/nicolasraoul/src/commons-app/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java:405: error: cannot find symbol
        progressBarEditDescription.setVisibility(GONE);
        ^
  symbol:   variable progressBarEditDescription
  location: class MediaDetailFragment
/Users/nicolasraoul/src/commons-app/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java:406: error: cannot find symbol
        editDescription.setVisibility(VISIBLE);
        ^
  symbol:   variable editDescription
  location: class MediaDetailFragment

@shashankiitbhu
Copy link
Contributor Author

@nicolas-raoul Done

@nicolas-raoul
Copy link
Member

nicolas-raoul commented Mar 29, 2024

I am still getting this crash with commit c114c27 when following the steps described in the bug description:

APP_VERSION_NAME=4.2.1-debug-shashankiitbhu-custom_picker_5095
ANDROID_VERSION=14
PHONE_MODEL=Pixel 7 Pro
STACK_TRACE=java.lang.RuntimeException: Unable to start activity ComponentInfo{fr.free.nrw.commons/fr.free.nrw.commons.contributions.MainActivity}: java.lang.NullPointerException: Attempt to read from field 'androidx.viewpager.widget.ViewPager fr.free.nrw.commons.databinding.FragmentMediaDetailPagerBinding.mediaDetailsPager' on a null object reference in method 'void fr.free.nrw.commons.media.MediaDetailPagerFragment.onCreate(android.os.Bundle)'
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3946)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4126)
at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:6165)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:6056)
at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:77)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:60)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:195)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:157)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:90)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2544)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8501)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
Caused by: java.lang.NullPointerException: Attempt to read from field 'androidx.viewpager.widget.ViewPager fr.free.nrw.commons.databinding.FragmentMediaDetailPagerBinding.mediaDetailsPager' on a null object reference in method 'void fr.free.nrw.commons.media.MediaDetailPagerFragment.onCreate(android.os.Bundle)'
at fr.free.nrw.commons.media.MediaDetailPagerFragment.onCreate(MediaDetailPagerFragment.java:167)
at androidx.fragment.app.Fragment.performCreate(Fragment.java:2949)
at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:278)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:3061)
at androidx.fragment.app.Fragment.restoreChildFragmentState(Fragment.java:1891)
at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:479)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:278)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:3061)
at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:240)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:276)
at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
at fr.free.nrw.commons.di.CommonsDaggerAppCompatActivity.onCreate(CommonsDaggerAppCompatActivity.java:24)
at fr.free.nrw.commons.theme.BaseActivity.onCreate(BaseActivity.java:28)
at fr.free.nrw.commons.contributions.MainActivity.onCreate(MainActivity.java:119)
at android.app.Activity.performCreate(Activity.java:8767)
at android.app.Activity.performCreate(Activity.java:8745)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1519)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3928)
... 16 more

@shashankiitbhu
Copy link
Contributor Author

@nicolas-raoul Fixed the Error, Please Review

@nicolas-raoul
Copy link
Member

Would you mind fixing the conflict?

# Conflicts:
#	app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java
@shashankiitbhu
Copy link
Contributor Author

@nicolas-raoul Fixed the merge conflicts , Please Review and Merge

Copy link
Member

@nicolas-raoul nicolas-raoul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I confirm the fix for both "back" and "submit"

@nicolas-raoul nicolas-raoul merged commit 82b97fc into commons-app:main Mar 31, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: Changes Lost and App Crashes when Switched between Dark-Light Modes in Edit Description and Captions
4 participants