Skip to content

Crash when viewing pic I just uploaded #3705

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

Closed
nicolas-raoul opened this issue Apr 24, 2020 · 19 comments
Closed

Crash when viewing pic I just uploaded #3705

nicolas-raoul opened this issue Apr 24, 2020 · 19 comments
Assignees
Labels

Comments

@nicolas-raoul
Copy link
Member

nicolas-raoul commented Apr 24, 2020

Latest macgills/3601-depiction-thumbnails (most probably also happens on latest master).
Maybe not reproducible.
Steps:

  • Upload image (with depiction and no categories)
  • Tap it
  • Details activity loads, then crashes
APP_VERSION_CODE=561
APP_VERSION_NAME=2.12.3-debug-macgills/3601-depiction-thumbnails
ANDROID_VERSION=9
PHONE_MODEL=SM-G970F
STACK_TRACE=java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 502, found: 501 Pager id: fr.free.nrw.commons:id/mediaDetailsPager Pager class: class androidx.viewpager.widget.ViewPager Problematic adapter: class fr.free.nrw.commons.media.MediaDetailPagerFragment$MediaDetailAdapter
	at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1143)
	at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092)
	at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7134)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1535)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:825)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:704)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7134)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7134)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1535)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:825)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:704)
	at android.view.View.measure(View.java:24967)
	at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1638)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7134)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
	at android.view.View.measure(View.java:24967)
	at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
	at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
	at android.view.View.measure(View.java:24967)
	at androidx.drawerlayout.widget.DrawerLayout.onMeasure(DrawerLayout.java:1119)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7134)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
	at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7134)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1535)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:825)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:704)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7134)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7134)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1535)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:825)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:704)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7134)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
	at com.android.internal.policy.DecorView.onMeasure(DecorView.java:992)
	at android.view.View.measure(View.java:24967)
	at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3266)
	at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1993)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2295)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1853)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8476)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
	at android.view.Choreographer.doCallbacks(Choreographer.java:761)
	at android.view.Choreographer.doFrame(Choreographer.java:696)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
	at android.os.Handler.handleCallback(Handler.java:873)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:214)
	at android.app.ActivityThread.main(ActivityThread.java:7032)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)

IS_SILENT=false
USER_EMAIL=
USER_CRASH_DATE=2020-04-24T16:47:10.709+09:00
REPORT_ID=4abadeef-c5f5-49a0-9164-ad54da062257
@Raj-Bapat
Copy link
Contributor

Hi @nicolas-raoul can I work on this issue? I will try to repro it.

@nicolas-raoul
Copy link
Member Author

@rhulkb27 Sure thanks! :-)

@ashishkumar468
Copy link
Collaborator

Hi @rhulkb27 Any updates on the issue?

@misaochan misaochan mentioned this issue May 1, 2020
30 tasks
@Raj-Bapat
Copy link
Contributor

I am not able to reproduce the error that you have stated @nicolas-raoul. I do however get the following error when I tap the image, get the detailed activity, and tap it again:

USER_COMMENT=
APP_VERSION_CODE=561
APP_VERSION_NAME=2.12.3-debug-master
ANDROID_VERSION=9
PHONE_MODEL=AOSP on IA Emulator
STACK_TRACE=java.lang.NullPointerException: uriString
	at android.net.Uri$StringUri.<init>(Uri.java:490)
	at android.net.Uri$StringUri.<init>(Uri.java:480)
	at android.net.Uri.parse(Uri.java:452)
	at fr.free.nrw.commons.media.MediaDetailFragment.launchZoomActivity(MediaDetailFragment.java:227)
	at fr.free.nrw.commons.media.MediaDetailFragment_ViewBinding$1.doClick(MediaDetailFragment_ViewBinding.java:48)
	at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:18)
	at android.view.View.performClick(View.java:6597)
	at android.view.View.performClickInternal(View.java:6574)
	at android.view.View.access$3100(View.java:778)
	at android.view.View$PerformClick.run(View.java:25885)
	at android.os.Handler.handleCallback(Handler.java:873)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:193)
	at android.app.ActivityThread.main(ActivityThread.java:6669)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

IS_SILENT=false
USER_EMAIL=
USER_CRASH_DATE=2020-05-01T16:21:04.281-07:00
REPORT_ID=413a4f1e-0dc9-4156-a83e-7fad09c44330

@nicolas-raoul
Copy link
Member Author

@rhulkb27 Thanks for the info! Feel free to start working on something else.

If anyone gets this crash, please comment here, thanks :-)

@Raj-Bapat
Copy link
Contributor

@nicolas-raoul will do :)

@gvaibhav1734
Copy link
Contributor

Got the crash which @rhulkb27 mentioned. However, I could not reproduce the original crash

USER_COMMENT=
APP_VERSION_CODE=561
APP_VERSION_NAME=2.12.3-debug-master
ANDROID_VERSION=9
PHONE_MODEL=AOSP on IA Emulator
STACK_TRACE=java.lang.NullPointerException: uriString
	at android.net.Uri$StringUri.<init>(Uri.java:490)
	at android.net.Uri$StringUri.<init>(Uri.java:480)
	at android.net.Uri.parse(Uri.java:452)
	at fr.free.nrw.commons.media.MediaDetailFragment.launchZoomActivity(MediaDetailFragment.java:231)
	at fr.free.nrw.commons.media.MediaDetailFragment_ViewBinding$1.doClick(MediaDetailFragment_ViewBinding.java:48)
	at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:18)
	at android.view.View.performClick(View.java:6597)
	at android.view.View.performClickInternal(View.java:6574)
	at android.view.View.access$3100(View.java:778)
	at android.view.View$PerformClick.run(View.java:25885)
	at android.os.Handler.handleCallback(Handler.java:873)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:193)
	at android.app.ActivityThread.main(ActivityThread.java:6669)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

IS_SILENT=false
USER_EMAIL=
USER_CRASH_DATE=2020-05-05T10:12:02.219+05:30
REPORT_ID=c543b132-25f8-4e69-ba28-5168cb41e410

@misaochan
Copy link
Member

misaochan commented May 5, 2020

Please do create a separate issue for the crash that you are getting. If one of you is interested, you can state in your opening post that you wish to work on that issue, too. Thanks! :)

@misaochan
Copy link
Member

misaochan commented May 5, 2020

Btw, I know Nicolas says he experienced that crash on depictions-thumbnail branch, but I experienced a crash with the same stack trace while doing prodRelease testing on 2.13-release branch, so I think it is probably unrelated to depicts.

My crash happened when coming back to media details view from another app.

USER_COMMENT=
APP_VERSION_CODE=561
APP_VERSION_NAME=2.12.3
ANDROID_VERSION=10
PHONE_MODEL=SM-G960F
STACK_TRACE=java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 480, found: 479 Pager id: fr.free.nrw.commons:id/mediaDetailsPager Pager class: class androidx.viewpager.widget.ViewPager Problematic adapter: class fr.free.nrw.commons.media.MediaDetailPagerFragment$MediaDetailAdapter
	at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1143)
	at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092)
	at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7845)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7845)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7845)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
	at android.view.View.measure(View.java:26415)
	at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1638)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7845)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at android.view.View.measure(View.java:26415)
	at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:735)
	at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:481)
	at android.view.View.measure(View.java:26415)
	at androidx.drawerlayout.widget.DrawerLayout.onMeasure(DrawerLayout.java:1119)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7845)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7845)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7845)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7845)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7845)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at com.android.internal.policy.DecorView.onMeasure(DecorView.java:1009)
	at android.view.View.measure(View.java:26415)
	at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3578)
	at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:2321)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2613)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2169)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8933)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:996)
	at android.view.Choreographer.doCallbacks(Choreographer.java:794)
	at android.view.Choreographer.doFrame(Choreographer.java:729)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:981)
	at android.os.Handler.handleCallback(Handler.java:883)
	at android.os.Handler.dispatchMessage(Handler.java:100)
	at android.os.Looper.loop(Looper.java:237)
	at android.app.ActivityThread.main(ActivityThread.java:7811)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1076)

IS_SILENT=false
USER_EMAIL=
USER_CRASH_DATE=2020-04-28T04:26:02.534+10:00
REPORT_ID=a5d355b4-0970-4cf2-bec0-9cd7444775f8

@ashishkumar468
Copy link
Collaborator

Hi @misaochan, I am able to produce the NPE but not the exception you and @nicolas-raoul have been seeing, is there a specific step I am missing?

@misaochan
Copy link
Member

Have you tried switching out of the app and then back to it?

@ashishkumar468
Copy link
Collaborator

Yes @misaochan. Just to confirm I have been testing on 2.13-release

@misaochan
Copy link
Member

Yes, I was on 2.13-release as well (the ACRA report just doesn't reflect the branch). I guess I would be OK with us just fixing #3730 (since it seems more easily reproducible), then we can do the beta release and see how prevalent this crash turns out to be.

@nicolas-raoul
Copy link
Member Author

nicolas-raoul commented May 21, 2020

It happened to me again, I sent an ACRA stacktrace.
The picture's upload had failed so I had retried it, not sure if that matters. I had selected both a depiction and a category.

@misaochan
Copy link
Member

Thanks @nicolas-raoul , do you know if there are any specific steps we can take to reproduce this? @ashishkumar468 could you look into this please?

@nicolas-raoul
Copy link
Member Author

I have not found reproduction steps unfortunately. Maybe it does not happen every time.

@nicolas-raoul
Copy link
Member Author

I just tried again with latest master and it did not happen. Not saying it is fixed, but at least it does not happen all the time.

@macgills
Copy link
Contributor

image

This method must be called when ContributionListFragment receives updated data

@ashishkumar468
Copy link
Collaborator

@macgills Yes this probably should be the issue

ashishkumar468 added a commit to ashishkumar468/apps-android-commons that referenced this issue May 28, 2020
* Let the MediaDetailPager fragment know when the contributions have been updated
ashishkumar468 added a commit to ashishkumar468/apps-android-commons that referenced this issue Jun 3, 2020
…ons-app#3782)

* Fixes commons-app#3705
* Let the MediaDetailPager fragment know when the contributions have been updated

* Handle NPE, null check on adapter in MediaDetailPagerFragment
misaochan added a commit that referenced this issue Sep 14, 2020
* #3624 DateTimeFormat wrong - match pattern returned from servers (#3625)

* Revert "Fixes: #3179 Make category search non case-sensitive (#3326)" (#3636)

Simply lower casing the name of the category sent to the server
doesn't result in the server doing a case insensitive category
search. In fact, it reduces the category search space as only
categories that has a lower case character is searched even
if the search text contains upper case characters.

The test case did not catch this issue as the first character
of the title is case insensitive[1].

So, revert the changes done in commit afdeaae.

See further disucssion in the issue thread of #3179 starting
from [2].

[1]: https://www.mediawiki.org/wiki/Manual:Page_title
[2]: #3179 (comment)

* Bugfix/security exception (#3627)

* Fixes #3626
* Check is file is actually created before writing to file, file picker android

* Handle Security exception

* Fixes #3436 and #2881: Media Detail design Overhaul (#3505)

* ic_map_dark_24dp: map icon for white background

* ic_info_outline_dark_24dp: info icon for dark background

* MediaDetailFragment: update the spacer as per image aspect ratio

* fragment_media_detail: design overhaul

* fragment_media_detail: remove redundant background color statements

* make requested changes

* add dark mode support

* minor ui tweak

* white map icon in dark mode

* make rquested changes

* make requested changes to layout

* fix misalignment of category list

* subtle amendments

* convert comments to javadocs

* minor amendments

* minor changes

* add styles for media detail

* Media detail fragment refactored

* make suggested changes

* minor name fix

* fix the delete button border

* Fixes #3639 (Fix Save State implementation of CheckBoxTriState ) (#3686)

* Add #3723 and #3721 to 2.13 release, fix conflicts

Conflicts were caused by merging #3723 before #3721 , so I just rolled both into one commit.

* Fix NullPointer when clicking on image in MediaDetailFragment (#3730)… (#3739)

* Update changelog.md

* Versioning for v2.13

* Fixes #3705 (Crash when viewing pic I just uploaded) (#3782)

* Fixes #3705
* Let the MediaDetailPager fragment know when the contributions have been updated

* Handle NPE, null check on adapter in MediaDetailPagerFragment

* Fixed BookmarkLocationsDao DB migration (#3793)

* Fixes #3725 (#3795)

* Downgraded okhttp version to support Api 19 devices

* Handled null CompoundDrawable[2] in etTitle-> UploadMediaDetailsFragment (#3828)

* DownSample Upload image to be shown in UploadMediaDetailFragment to handle OOM, Bitmap Too large exception (#3830)

* Fixes #3829
* DownSample Upload image to be shown in UploadMediaDetailFragment to handle OOM, Bitmap Too large exception

* removed unused imports, handled possible exceptions

* Let Fresco handle the downsampling of image

* invalidate in onTransformEnd

* Expose an interface TransformationListener in ZoomableDraweeView to listen to transformation change end

* removed photoView dependency

* removed unused imports in ZoomableActivity

* Bugfix, expand/collapse

* changed functio name

* Bugfix/p18 uploads (#3869)

* updated gradle plugin version

* BugFix #3856
* Do not use preference for deciding acceptable lat long for nearby uploads, instead save the corresponding location in the Contribution via UploadItem

* Marshall contribution's hasInvalidLocation

* reset un-related changes

* Fixed test cases

* Minor code formatting and docs

* Fixes #3882 (#3883)

* Make hasInvalidLocation non-null integer with default value 0

Co-authored-by: Ashish Kumar <ashish@Ashishs-MacBook-Air.local>

* Fixes #3766, Added OPENSTREET attribution (#3889)

* Fixes #3766
* Added OPENSTREET attribution in nearby

* Added custom text attribution in Nearby

* Deleted unused class CustomBorderTextView

* review suggested changes

* modified telemetry summary string

* Versioning and changelog for v2.13.1 (#3908)

* Update changelog.md

* Versioning for v2.13.1

* Fixes #3914 (#3915)

* Verify user login before setting upload count

* fixed compile-time error

* fix erros

* delete emptied files

* remove empty file CategoriesModel.java

Co-authored-by: Seán Mac Gillicuddy <seantheappdev@gmail.com>
Co-authored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Co-authored-by: Kshitij Bhardwaj <44129798+kbhardwaj123@users.noreply.github.com>
Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish Kumar <ashish@Ashishs-MacBook-Air.local>
ashishkumar468 added a commit to ashishkumar468/apps-android-commons that referenced this issue Oct 10, 2020
* commons-app#3624 DateTimeFormat wrong - match pattern returned from servers (commons-app#3625)

* Revert "Fixes: commons-app#3179 Make category search non case-sensitive (commons-app#3326)" (commons-app#3636)

Simply lower casing the name of the category sent to the server
doesn't result in the server doing a case insensitive category
search. In fact, it reduces the category search space as only
categories that has a lower case character is searched even
if the search text contains upper case characters.

The test case did not catch this issue as the first character
of the title is case insensitive[1].

So, revert the changes done in commit afdeaae.

See further disucssion in the issue thread of commons-app#3179 starting
from [2].

[1]: https://www.mediawiki.org/wiki/Manual:Page_title
[2]: commons-app#3179 (comment)

* Bugfix/security exception (commons-app#3627)

* Fixes commons-app#3626
* Check is file is actually created before writing to file, file picker android

* Handle Security exception

* Fixes commons-app#3436 and commons-app#2881: Media Detail design Overhaul (commons-app#3505)

* ic_map_dark_24dp: map icon for white background

* ic_info_outline_dark_24dp: info icon for dark background

* MediaDetailFragment: update the spacer as per image aspect ratio

* fragment_media_detail: design overhaul

* fragment_media_detail: remove redundant background color statements

* make requested changes

* add dark mode support

* minor ui tweak

* white map icon in dark mode

* make rquested changes

* make requested changes to layout

* fix misalignment of category list

* subtle amendments

* convert comments to javadocs

* minor amendments

* minor changes

* add styles for media detail

* Media detail fragment refactored

* make suggested changes

* minor name fix

* fix the delete button border

* Fixes commons-app#3639 (Fix Save State implementation of CheckBoxTriState ) (commons-app#3686)

* Add commons-app#3723 and commons-app#3721 to 2.13 release, fix conflicts

Conflicts were caused by merging commons-app#3723 before commons-app#3721 , so I just rolled both into one commit.

* Fix NullPointer when clicking on image in MediaDetailFragment (commons-app#3730)… (commons-app#3739)

* Update changelog.md

* Versioning for v2.13

* Fixes commons-app#3705 (Crash when viewing pic I just uploaded) (commons-app#3782)

* Fixes commons-app#3705
* Let the MediaDetailPager fragment know when the contributions have been updated

* Handle NPE, null check on adapter in MediaDetailPagerFragment

* Fixed BookmarkLocationsDao DB migration (commons-app#3793)

* Fixes commons-app#3725 (commons-app#3795)

* Downgraded okhttp version to support Api 19 devices

* Handled null CompoundDrawable[2] in etTitle-> UploadMediaDetailsFragment (commons-app#3828)

* DownSample Upload image to be shown in UploadMediaDetailFragment to handle OOM, Bitmap Too large exception (commons-app#3830)

* Fixes commons-app#3829
* DownSample Upload image to be shown in UploadMediaDetailFragment to handle OOM, Bitmap Too large exception

* removed unused imports, handled possible exceptions

* Let Fresco handle the downsampling of image

* invalidate in onTransformEnd

* Expose an interface TransformationListener in ZoomableDraweeView to listen to transformation change end

* removed photoView dependency

* removed unused imports in ZoomableActivity

* Bugfix, expand/collapse

* changed functio name

* Bugfix/p18 uploads (commons-app#3869)

* updated gradle plugin version

* BugFix commons-app#3856
* Do not use preference for deciding acceptable lat long for nearby uploads, instead save the corresponding location in the Contribution via UploadItem

* Marshall contribution's hasInvalidLocation

* reset un-related changes

* Fixed test cases

* Minor code formatting and docs

* Fixes commons-app#3882 (commons-app#3883)

* Make hasInvalidLocation non-null integer with default value 0

Co-authored-by: Ashish Kumar <ashish@Ashishs-MacBook-Air.local>

* Fixes commons-app#3766, Added OPENSTREET attribution (commons-app#3889)

* Fixes commons-app#3766
* Added OPENSTREET attribution in nearby

* Added custom text attribution in Nearby

* Deleted unused class CustomBorderTextView

* review suggested changes

* modified telemetry summary string

* Versioning and changelog for v2.13.1 (commons-app#3908)

* Update changelog.md

* Versioning for v2.13.1

* Fixes commons-app#3914 (commons-app#3915)

* Verify user login before setting upload count

* fixed compile-time error

* fix erros

* delete emptied files

* remove empty file CategoriesModel.java

Co-authored-by: Seán Mac Gillicuddy <seantheappdev@gmail.com>
Co-authored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Co-authored-by: Kshitij Bhardwaj <44129798+kbhardwaj123@users.noreply.github.com>
Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish Kumar <ashish@Ashishs-MacBook-Air.local>
ashishkumar468 added a commit to ashishkumar468/apps-android-commons that referenced this issue Oct 10, 2020
* commons-app#3624 DateTimeFormat wrong - match pattern returned from servers (commons-app#3625)

* Revert "Fixes: commons-app#3179 Make category search non case-sensitive (commons-app#3326)" (commons-app#3636)

Simply lower casing the name of the category sent to the server
doesn't result in the server doing a case insensitive category
search. In fact, it reduces the category search space as only
categories that has a lower case character is searched even
if the search text contains upper case characters.

The test case did not catch this issue as the first character
of the title is case insensitive[1].

So, revert the changes done in commit afdeaae.

See further disucssion in the issue thread of commons-app#3179 starting
from [2].

[1]: https://www.mediawiki.org/wiki/Manual:Page_title
[2]: commons-app#3179 (comment)

* Bugfix/security exception (commons-app#3627)

* Fixes commons-app#3626
* Check is file is actually created before writing to file, file picker android

* Handle Security exception

* Fixes commons-app#3436 and commons-app#2881: Media Detail design Overhaul (commons-app#3505)

* ic_map_dark_24dp: map icon for white background

* ic_info_outline_dark_24dp: info icon for dark background

* MediaDetailFragment: update the spacer as per image aspect ratio

* fragment_media_detail: design overhaul

* fragment_media_detail: remove redundant background color statements

* make requested changes

* add dark mode support

* minor ui tweak

* white map icon in dark mode

* make rquested changes

* make requested changes to layout

* fix misalignment of category list

* subtle amendments

* convert comments to javadocs

* minor amendments

* minor changes

* add styles for media detail

* Media detail fragment refactored

* make suggested changes

* minor name fix

* fix the delete button border

* Fixes commons-app#3639 (Fix Save State implementation of CheckBoxTriState ) (commons-app#3686)

* Add commons-app#3723 and commons-app#3721 to 2.13 release, fix conflicts

Conflicts were caused by merging commons-app#3723 before commons-app#3721 , so I just rolled both into one commit.

* Fix NullPointer when clicking on image in MediaDetailFragment (commons-app#3730)… (commons-app#3739)

* Update changelog.md

* Versioning for v2.13

* Fixes commons-app#3705 (Crash when viewing pic I just uploaded) (commons-app#3782)

* Fixes commons-app#3705
* Let the MediaDetailPager fragment know when the contributions have been updated

* Handle NPE, null check on adapter in MediaDetailPagerFragment

* Fixed BookmarkLocationsDao DB migration (commons-app#3793)

* Fixes commons-app#3725 (commons-app#3795)

* Downgraded okhttp version to support Api 19 devices

* Handled null CompoundDrawable[2] in etTitle-> UploadMediaDetailsFragment (commons-app#3828)

* DownSample Upload image to be shown in UploadMediaDetailFragment to handle OOM, Bitmap Too large exception (commons-app#3830)

* Fixes commons-app#3829
* DownSample Upload image to be shown in UploadMediaDetailFragment to handle OOM, Bitmap Too large exception

* removed unused imports, handled possible exceptions

* Let Fresco handle the downsampling of image

* invalidate in onTransformEnd

* Expose an interface TransformationListener in ZoomableDraweeView to listen to transformation change end

* removed photoView dependency

* removed unused imports in ZoomableActivity

* Bugfix, expand/collapse

* changed functio name

* Bugfix/p18 uploads (commons-app#3869)

* updated gradle plugin version

* BugFix commons-app#3856
* Do not use preference for deciding acceptable lat long for nearby uploads, instead save the corresponding location in the Contribution via UploadItem

* Marshall contribution's hasInvalidLocation

* reset un-related changes

* Fixed test cases

* Minor code formatting and docs

* Fixes commons-app#3882 (commons-app#3883)

* Make hasInvalidLocation non-null integer with default value 0

Co-authored-by: Ashish Kumar <ashish@Ashishs-MacBook-Air.local>

* Fixes commons-app#3766, Added OPENSTREET attribution (commons-app#3889)

* Fixes commons-app#3766
* Added OPENSTREET attribution in nearby

* Added custom text attribution in Nearby

* Deleted unused class CustomBorderTextView

* review suggested changes

* modified telemetry summary string

* Versioning and changelog for v2.13.1 (commons-app#3908)

* Update changelog.md

* Versioning for v2.13.1

* Fixes commons-app#3914 (commons-app#3915)

* Verify user login before setting upload count

* fixed compile-time error

* fix erros

* delete emptied files

* remove empty file CategoriesModel.java

Co-authored-by: Seán Mac Gillicuddy <seantheappdev@gmail.com>
Co-authored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Co-authored-by: Kshitij Bhardwaj <44129798+kbhardwaj123@users.noreply.github.com>
Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Josephine Lim <josephinelim86@gmail.com>
Co-authored-by: Ashish Kumar <ashish@Ashishs-MacBook-Air.local>
ashishkumar468 added a commit to ashishkumar468/apps-android-commons that referenced this issue Oct 10, 2020
…ons-app#3782)

* Fixes commons-app#3705
* Let the MediaDetailPager fragment know when the contributions have been updated

* Handle NPE, null check on adapter in MediaDetailPagerFragment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants