mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-28 05:13:53 +01:00
* #3222 Merge master into Structured Data branch, fix conflicts (#3447)
* [WIP] Fixes #2942. Set 'depicts' automatically for images uploaded via 'Nearby'
* Feature/refractor uploads [WIP] (#2887)
* Fix duplicate param information (#2515)
* Bug fix issue #2476 (#2526)
* Added wikidataEntityID in all db versions, handled db.execSql via method runQuery
* Versioning and changelog for v2.10.2 (#2531)
* Update changelog.md
* Versioning for v2.10.2
* Update changelog.md
* Bugfix/issue 2580 (#2584)
* Corrected string placedholders in certain string files
* Corrected string placedholders in certain string files[Bug fix #2580]
* Bug Fix #2585 (#2647)
* Bug Fix #2585
* Added null checks on view in SearchImageFragment when updating views from external sources
* Disposed the disposables in SearchActivity and SearchImageFragment when no longer in active lifecycle
* use FragmentUtils to verify fragment active state
* Bug Fix issue #2648 (#2678)
* Bug Fix issue #2648
* Handled external storage permission before file download
* * Removed redudant check for permission in MediaDetailPagerFragment (Dexter already does that)
* Removed duplicate code in PermissionUtil$checkPermissionsAndPerformAction, used the existing function with conditional extra parameters
* string name typo correction
* BugFix issue #2652 (#2706)
* Addded null check on bookmark before operating on it
* BugFix issue #2711 (#2712)
* Added null checks in OkHttpJsonApiClient$searchImages MwQueryResponse
* BugFix #2718 (#2719)
* Handled null auth cookies
* Fix #2791: NPE when nominating for deletion and leaving screen (#2792)
* Bug Fix issue #2789 (#2790)
* Handled Illegal State Exception for non existent appropriate view parents in ViewUtils$showShortSnackbar
* BugFix #2720 (#2831)
BugFix deprecated licenes #2720
* ui fixes, wip, upload
* *Issue #2886, BugFix #2832[wip]
* updated UploadActivity code
* modified ui
* Updated UploadPresenterTest
* * updated interfaces names to follow names suffixed with Contract
* added test cases
* card view elevation
* view pager disabled swipe
* bug fix, duplicate image
* used existing non-swipable view pager
* Avoid image view resize with keyboard, added adjustPan and stateVisible as softinputMode for UploadActivity
* retain UploadBaseFragment instances on orientation changes
* * Added test cases for UploadMediaPresenter
* Injected io and main thread schedulers
* categories presenter test cased wip
* Added CategoriesPresenter test
* * Added the logic to show open map (with to be uploaded image's coordinates while uploading image)
* codacy suggested changes * added java docs
* Added travis_wait fot android-wait-for-emulator
* ranamed interface onResponseCallback to Callback
* * Added api to delete picture in UploadModel
* cleanUp in UploadModel. once upload has been initiated
* Removed unused methods from UploadModel and the corresponding test class
* * Added tests for UploadPresenter
* Travis suggested changes
* Addded copy previous title and description
* * Made the upload add descriptions visible when keyboard visible
* add description request focus only when user manually requests it
* Added JavaDocs, review suggested changes
* Fix dagger injection
* use DialogUtil to show info in descriptions
* use activity context for DialogUtil
* Minor changes
* refactored title
* ui for depicts
* bug fix
* basic architecture for depicts
* adde architecture components for depicts
* [WIP] ApacheHttpClientMediaWikiApi.wikidataEditEntity: JSON param creation uses object instead of string
* resolved dagger errors
* multilingual captions and next button error resolved
* fixed next button issues in depicts fragment
* captions and depicts
* resolved previous button click issues
* fixed bindview error and added multi-captions
* replaced description and caption with uploadmediadetail
* refactored few classes
* modified ui of depicts
* minor fixes
* Bug fix, reduced the add description edit text clickable bound (#2973)
* moved depicts before categories
* replaced previous filename with captions
* removed time from filename
* added depicts suggestions
* [WIP] Wikidata Sandbox (Q4115189) test
* changes layout of layout_upload_depicts
* changed layout of upload_depicts
* code stuck at IO_SCHEDULER
* labels and description for depicts activity
* Bugfix/uploads (#3000)
* merged with master
* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active
* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel
* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java
* Added class level JavaDoc UploadRemoteDataSource
* Added class level JavaDoc for UploadRepository
* Added JavaDocs for ThumbnailsAdapter
* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter
* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search
* Attached image scale listener to upload media image
* Bug fix, reduced the add description edit text clickable bound
* Fix memory leak (#3001)
* Bugfix/uploads (#3002)
* merged with master
* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active
* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel
* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java
* Added class level JavaDoc UploadRemoteDataSource
* Added class level JavaDoc for UploadRepository
* Added JavaDocs for ThumbnailsAdapter
* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter
* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search
* Attached image scale listener to upload media image
* Bug fix, reduced the add description edit text clickable bound
* Added tooltip in Title in UploadMediaFragment
* BugFix recent categories
* Updated test methods
* Bugfix/uploads (#3011)
* merged with master
* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active
* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel
* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java
* Added class level JavaDoc UploadRemoteDataSource
* Added class level JavaDoc for UploadRepository
* Added JavaDocs for ThumbnailsAdapter
* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter
* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search
* Attached image scale listener to upload media image
* Bug fix, reduced the add description edit text clickable bound
* Added tooltip in Title in UploadMediaFragment
* BugFix recent categories
* Updated test methods
* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView
* bugfix/uploads (#3012)
* merged with master
* BugFix IllegalStateException
* setRetainState(true), not required with FragmentStatePagerAdapter
* Increase the ViewPager's Offscreen Limit, we want all the fragments to be active
* BugFix, clear selected categoris for previous upload session
* Clear Selected Categories
* Addded JavaDocs for CategoriesModel
* Code Formatting in app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java
* Added class level JavaDoc UploadRemoteDataSource
* Added class level JavaDoc for UploadRepository
* Added JavaDocs for ThumbnailsAdapter
* Added JavaDocs for MediaLicensePresenter, CategoriesPresenter
* Removed null check on category query
* Show default catgeories based on image title and gps location when category text empty
* Allow search for empty category search
* Attached image scale listener to upload media image
* Bug fix, reduced the add description edit text clickable bound
* Added tooltip in Title in UploadMediaFragment
* BugFix recent categories
* Updated test methods
* Avoid memory leak, free the adpater in MediaLicenseFragment.onDestroyView
* BugFix Illegal State Exception in ViewpPagerAdapter
* Remove irrelevant comment
* merge conflict with strings (#3016)
* [WIP] Fixed duplicated subscriprion for 'addPropertyP180'
* added documentation
* fixed issue #3006
* resolved issue #3004
* fixed issue with categoryPresenterTest.kt
* send captions as labels
* fixed issue with the captions
* optimised imports
* added upload for captions
* minor changes
* resolved issue with uploading captions
* resolved issue with api call
* uploading captions to wikibase
* added some tests and documentation
* undo formatting changes
* uploaded captions as labels to wikibase
* minor changes
* resolved error with spinner adpater
* adding captions to local database
* Fixed issue #3035
* fixed issue #3033
* fixed issue #3005
* fixed issue #3005
* added search for depicts
* fixed issue with compile time
* fixe issue with project build
* fixed issue #3044
* merged uploading depicts into branch
* uploading depicts
* rebased branch
* fixed crash due to depicts
* modified depicts interface
* Resolve merge conflicts
* Fix issues with API calls
* Use wikidata token
* searching depictions from depicts activity
* added some documentation and other changes
* fixed crash on selecting depictions
* sending wikidataentity id to upload depictions
* added changes after review
* Fixed issue with next button diabling in media detail activity
* added tests for depictions
* added all the unit tests and fixed few more issues
* showing captions in media details
* show captions in media details
* added documentations and worked upon review comments
* parsing response for depictions
* displaying captions and depiction QID in media detail
* added documentation
* fetching labels from QIDs
* captions working perfectly
* added documentations and code cleaning
* minor changes
* minor changes
* Showing items in explore
* added search via depicts in explore
* Added setOffscreenPageLimit in ViewPager
* show captions in explore
* show captions in home
* showing depict images under items
* added documentation and code refactoring
* enabled pagination in depiction search
* added some tests and media deatils in depiction detail activity
* fixed bug with back button in media
* fixed issue #3100
* fixed issue #3098
* fixed issue #3099
* fixed issue #3104 and #3098
* showing captions in place of title in home and explore:media
* show captions in explore:depiction image list activity
* showing depictions in media details
* showing depictions in media details in production flavor
* fixed issue #3108 and #3107
* fix isse #3108
* fixed issue #3110 and #3112
* fixed issue #3113
* added documentations
* fixed issue #3076 and #3109
* added depiction search test
* fixed issue #3113
* fixed issue #3111
* fixed issue #3106
* Showing items in explore
* minor change
* fixed issue #3118 and some other changes
* added MVP in searchdepictionsfragment
* added mvp architecture
* added MVP architecture to DepictedImagesDetailsActivity
* added documentation and some minor changes
* added image to depicted item in search depictions
* * Use callbacks from renderer to fetch thumbnails
* adding fresco to load image in depictions
* adding thumbnail image for depictions in upload and explore
* pagination issues
* fixed issue --(showing previous depiction thumbnail in explore)
* Fixed the logic for pagination
* hide progress on success of last page
* adding sub-items and parent items to search in explore
* minor changes for review comments
* fixed issue #3119
* fixed issue #3130
* changes after review comments
* showing child classes for depictions
* Showing child items
* showing parent classes for depicted items
* adding localised search for parent and child items
* clicking on any child class or parent class should call the corresponding class items
* fixed issue of showing wrong thumbnail for P18 item
* fixed issue #3132
* added test for DepictedImagesPresenter.java
* added unit tests for depicted items parent and child classes
* removed unused imports and code formatting
* fixed issue in search test
* deleting unnecessary .attach_pid9313 file
* deleting unnecessary .attach_pid9655 file
* added SearchDepictionsPresenterTest
* changes after review comments
* updates for review comments
* added more documentations
* removed unused code and classes and addressed spacing changes
* changes after review
* fixed build issues in the app
* worked on some review comments
* fixed issue:wrong thumbnail appears on wikidata item
* minor change
* worked on some review changes
* worked on review comments
* minor change
* addressed remaining review comments
* replaced hardcoded jpgs with pageIds to fetch captions
* added documentation
* removed hardcoded extensions and worked on review comments
* review comments
* [WIP] Added Depicts values for flavors
* [WIP] Minor fix
* [WIP] Minor fixes
* [WIP] Fixed URL
* [WIP] Fixed URLs and tokens
* Fixed MediaClient: added check for null in continuation store
* Fixed Media::from, changed return from null to new Media()
* [WIP] Merged with master
* Fix #3254 Displays a proper message in explore section when no result for caption
* Updated Mockito to org.mockito:mockito-inline:2.13.0
* [WIP] Fixed tests after merging
* [WIP] Fixed some JUnit tests
* Fixed 'accessing from wrong thread' error
* #3222 Delete manifest declaration of activity as fragment - stop casting MainActivity to CatgoryImagesCallback - fix tests
* Remove unit test not associated with any class - make CategoryPresenterTest more idiomatic
* fix compilation errors
Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Ashish Kumar <ashishkumar468@gmail.com>
Co-authored-by: vanshikaarora <vanshikaa937@gmail.com>
Co-authored-by: Vivek Maskara <maskaravivek@gmail.com>
Co-authored-by: Vanshika Arora <34261945+vanshikaarora@users.noreply.github.com>
Co-authored-by: Somanshu and Himanshu <somanshS14@gmail.com>
* #3482 Use Room in Structured Data branch - remove unused code (#3483)
* #3482 Use Room in Structured Data branch - remove unused code
* #3482 Use Room in Structured Data branch - fix unit test compilation
* #3482 Use Room in Structured Data branch - add kdoc
* #3490 Depiction Search in upload shows No Results before it gets results (#3491)
* #3482 Use Room in Structured Data branch - remove unused code
* #3482 Use Room in Structured Data branch - fix unit test compilation
* #3490 Depiction Search in upload shows No Results before it gets results - stop showing error on subscription
* #3490 Depiction Search in upload shows No Results before it gets results - update test cases
* make labels nullable too
* fix unit test compilation
* #3222 remove lingering reference to depiction content provider
* Fix Crash
* #3222 Merge master into Structured Data branch, fix conflicts - review fixes
* Fix method invocations
* #3529 Captions/depictions are not saved to Commons (#3574)
* #3529 Captions/depictions are not saved to Commons - make copy of list of depictionEntityIds - uncomment editBaseDepictsProperty - refactor upload related classes
* #3529 Captions/depictions are not saved to Commons - fix wrong ArrayList usage
* #3529 Captions/depictions are not saved to Commons - fix test
* #3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs (#3578)
* #3529 Captions/depictions are not saved to Commons - make copy of list of depictionEntityIds - uncomment editBaseDepictsProperty - refactor upload related classes
* #3529 Captions/depictions are not saved to Commons - fix wrong ArrayList usage
* #3529 Captions/depictions are not saved to Commons - fix test
* #3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - replace title with the first MediaDetail
* #3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - restore button disabling
* #3503 Remove Title/Caption From MediaUploadDetail and only use Caption/Description pairs - fix nearby place
* fix thumbnail issue 3526 (#3617)
* #3222 Merge master into Structured Data branch, fix conflicts - fix bad merge
* #3529 Captions/depictions are not saved to Commons (#3588)
* #3529 Captions/depictions are not saved to Commons - update flow to update appropriate data
* #3529 Captions/depictions are not saved to Commons - fix invoking of setlabel
* #3529 Captions/depictions are not saved to Commons - fix unit tests
* #3529 Captions/depictions are not saved to Commons - use constant for @Named
* #3529 Captions/depictions are not saved to Commons - remove captions interface
* #3529 Captions/depictions are not saved to Commons - delete unused Contribution fields - enforce Single Responsibility by using PageContentsCreator
* #3529 Captions/depictions are not saved to Commons - prefix id with M - remove language from url and only add from Field
* #3529 Captions/depictions are not saved to Commons - make edits of depictions and captions sequential
* #3529 Captions/depictions are not saved to Commons - remove unused model fields
* #3529 Captions/depictions are not saved to Commons - weaken type of categories - copy list on Contribution creation
* #3529 Captions/depictions are not saved to Commons - mark Media fields private - weaken types - remove partly implemented fields
* #3529 Captions/depictions are not saved to Commons - add semi colon
* #3529 Captions/depictions are not saved to Commons - fix test
* Fix issue 3526 Unlike "Items" tab, "child classes" tab does not display description nor image thumbnail (#3619)
* fix thumbnail issue 3526
* Fix Description issue 3526
* revert changes on this file, not finished with it yet
* Fix Description for Child and Parent classes - issue 3526
* Remove conflict text in file
* Remove retrofit.HEAD import
* Incorporated review comments
* Fix issue 3137 (#3637)
* Fix issue 3137
* Remove import Timber
* Remove unnecessary space
* #3222 Merge master into Structured Data branch, fix conflicts - revert logging
* Fix build
* #3661 No Depictions Selected Dialog has reversed buttons - fix button order
* Revert "#3661 No Depictions Selected Dialog has reversed buttons - fix button order"
This reverts commit d8f9809584.
* #3222 Merge master into Structured Data branch, fix conflicts - remove unused methods/fields
* #3661 No Depictions Selected Dialog has reversed buttons - fix button order (#3662)
* #3653 Many Mnull requests - stop requesting captions for null ids (#3657)
* #3653 Many Mnull requests - stop requesting captions for null ids
* #3653 Many Mnull requests - move log line
* #3633 [structured-data branch] In depictions selection screen, suggest nearby items (#3650)
* #3633 [structured-data branch] In depictions selection screen, suggest nearby items - for empty search terms show nearby items for depictions
* #3633 [structured-data branch] In depictions selection screen, suggest nearby items - use linear radii progression to search for places
* #3666 Crash when uploading on structured-data branch - revert cleanup of UploadController (#3670)
* #3222 Merge Structured Data branch into master - fix caption rendering in new UI
* #3222 Merge Structured Data branch into master - upgrade retrofit + okhttp
* #3664 Stop using JsonObject on StructuredData (#3672)
* #3664 Stop using JsonObject on StructuredData - remove usage in Media classes - remove from depicts client - create partial network models
* #3664 Stop using JsonObject on StructuredData - allow partial mapping of polymorphic models by returning null in typeadapter
* #3664 Stop using JsonObject on StructuredData - use models for editing depicts property
* #3664 Stop using JsonObject on StructuredData - use models for sparql parent query
* #3664 Stop using JsonObject on StructuredData - fix unit test compilation
* #3664 Stop using JsonObject on StructuredData - unify sparql responses
* #3664 Stop using JsonObject on StructuredData - minor cleanup of misnamed/unused/too broad visibility
* #3664 Stop using JsonObject on StructuredData - share variable names and logic for the Sarql queries
* #3664 Stop using JsonObject on StructuredData - add error logging
Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: Ashish Kumar <ashishkumar468@gmail.com>
Co-authored-by: vanshikaarora <vanshikaa937@gmail.com>
Co-authored-by: Vivek Maskara <maskaravivek@gmail.com>
Co-authored-by: Vanshika Arora <34261945+vanshikaarora@users.noreply.github.com>
Co-authored-by: Somanshu and Himanshu <somanshS14@gmail.com>
Co-authored-by: vvijayalakshmi21 <34595292+vvijayalakshmi21@users.noreply.github.com>
This commit is contained in:
parent
22c20687f3
commit
0f906b20c9
168 changed files with 7463 additions and 2123 deletions
49
app/src/main/res/layout/activity_wikidata_item_details.xml
Normal file
49
app/src/main/res/layout/activity_wikidata_item_details.xml
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/drawer_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/toolbar_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/primaryDarkColor">
|
||||
|
||||
<include layout="@layout/toolbar"/>
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tab_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/toolbar"
|
||||
android:background="?attr/tabBackground"
|
||||
app:tabIndicatorColor="?attr/tabIndicatorColor"
|
||||
app:tabMode="scrollable"
|
||||
app:tabSelectedTextColor="?attr/tabSelectedTextColor"
|
||||
app:tabTextColor="?attr/tabTextColor" />
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/mediaContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/toolbar_layout"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone" />
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/viewPager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/toolbar_layout" />
|
||||
</RelativeLayout>
|
||||
|
||||
<include layout="@layout/drawer_view" />
|
||||
|
||||
</androidx.drawerlayout.widget.DrawerLayout>
|
||||
40
app/src/main/res/layout/fragment_depict_image.xml
Normal file
40
app/src/main/res/layout/fragment_depict_image.xml
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/parentLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@+id/mediaContainer"
|
||||
android:background="?attr/mainBackground"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/statusMessage"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_gravity="center"
|
||||
android:text="@string/waiting_first_sync"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/loadingImagesProgressBar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:visibility="gone" />
|
||||
|
||||
<GridView
|
||||
android:id="@+id/depicts_image_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:columnWidth="240dp"
|
||||
android:fadingEdge="none"
|
||||
android:fastScrollEnabled="true"
|
||||
android:listSelector="@null"
|
||||
android:numColumns="auto_fit"
|
||||
android:stretchMode="columnWidth" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
@ -54,6 +54,8 @@
|
|||
android:background="?attr/mainBackground"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
|
@ -98,6 +100,27 @@
|
|||
tools:text="Media author user name goes here." />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/caption_layout"
|
||||
style="@style/MediaDetailContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
style="@style/MediaDetailTextLabelGeneric"
|
||||
android:layout_width="@dimen/widget_margin"
|
||||
android:layout_height="match_parent"
|
||||
android:text="@string/media_detail_caption" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/media_detail_caption"
|
||||
android:layout_width="@dimen/widget_margin"
|
||||
android:layout_height="match_parent"
|
||||
style="@style/MediaDetailTextBody"
|
||||
tools:text="Captions of the media" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
style="@style/MediaDetailContainer"
|
||||
android:layout_width="match_parent"
|
||||
|
|
@ -183,6 +206,28 @@
|
|||
tools:text="Coordinates link" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/depicts_layout"
|
||||
style="@style/MediaDetailContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:textStyle="bold">
|
||||
|
||||
<TextView
|
||||
style="@style/MediaDetailTextLabelGeneric"
|
||||
android:layout_width="@dimen/widget_margin"
|
||||
android:layout_height="match_parent"
|
||||
android:text="@string/media_detail_depiction" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/media_detail_depiction_container"
|
||||
android:layout_width="@dimen/widget_margin"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="70"
|
||||
android:orientation="vertical" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
style="@style/MediaDetailContainer"
|
||||
android:layout_width="match_parent"
|
||||
|
|
@ -293,4 +338,4 @@
|
|||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
</FrameLayout>
|
||||
</FrameLayout>
|
||||
|
|
|
|||
|
|
@ -82,22 +82,6 @@
|
|||
android:layout_marginTop="@dimen/standard_gap"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/til_container_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatEditText
|
||||
android:id="@+id/et_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/share_title_hint"
|
||||
android:imeOptions="actionNext"
|
||||
android:drawableEnd="@drawable/mapbox_info_icon_default"
|
||||
android:inputType="text"
|
||||
android:maxLines="1" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<fr.free.nrw.commons.widget.HeightLimitedRecyclerView
|
||||
android:id="@+id/rv_descriptions"
|
||||
android:layout_width="match_parent"
|
||||
|
|
@ -112,7 +96,7 @@
|
|||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/previous_image_title_description"
|
||||
android:text="@string/previous_image_caption_description"
|
||||
android:padding="@dimen/miniscule_margin"
|
||||
android:textAlignment="textEnd"
|
||||
android:textColor="@color/button_blue"
|
||||
|
|
@ -136,6 +120,8 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:enabled="false"
|
||||
android:alpha=".5"
|
||||
android:text="@string/next"
|
||||
android:textColor="@android:color/white" />
|
||||
|
||||
|
|
|
|||
37
app/src/main/res/layout/item_depictions.xml
Normal file
37
app/src/main/res/layout/item_depictions.xml
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/tiny_gap">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/depicts_image"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="70dp"
|
||||
android:paddingRight="@dimen/tiny_gap"
|
||||
app:srcCompat="@drawable/ic_wikidata_logo_24dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/depicts_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Label"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textStyle="bold"
|
||||
android:paddingTop="@dimen/tiny_gap"
|
||||
app:layout_constraintLeft_toRightOf="@+id/depicts_image"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Description"
|
||||
android:paddingTop="@dimen/tiny_gap"
|
||||
app:layout_constraintLeft_toRightOf="@+id/depicts_image"
|
||||
app:layout_constraintTop_toBottomOf="@+id/depicts_label" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
61
app/src/main/res/layout/layout_depict_image.xml
Normal file
61
app/src/main/res/layout/layout_depict_image.xml
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="2dp"
|
||||
android:paddingBottom="0dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/depict_images_sequence_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:textColor="#33FFFFFF"
|
||||
android:textSize="98sp"
|
||||
android:typeface="serif" />
|
||||
|
||||
<com.facebook.drawee.view.SimpleDraweeView
|
||||
android:id="@+id/depict_image_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="240dp"
|
||||
app:actualImageScaleType="centerCrop" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center|bottom"
|
||||
android:background="#AA000000"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/small_gap">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/depict_progress"
|
||||
style="@style/ProgressBar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminateOnly="false"
|
||||
android:max="100"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/depict_image_title"
|
||||
style="?android:textAppearanceLarge"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="#FFFFFFFF" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/depict_image_author"
|
||||
style="?android:textAppearanceMedium"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="#FFFFFFFF" />
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
46
app/src/main/res/layout/layout_upload_depicts_item.xml
Normal file
46
app/src/main/res/layout/layout_upload_depicts_item.xml
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/depicts_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/depict_checkbox"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:checkMark="?android:attr/textCheckMark"
|
||||
android:checked="false"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="@dimen/tiny_gap"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/depicted_image"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:paddingRight="@dimen/tiny_gap"
|
||||
app:layout_constraintLeft_toRightOf="@+id/depict_checkbox"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_wikidata_logo_24dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/depicts_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Label"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toRightOf="@+id/depicted_image"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Description"
|
||||
app:layout_constraintLeft_toRightOf="@+id/depicted_image"
|
||||
app:layout_constraintTop_toBottomOf="@+id/depicts_label" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
18
app/src/main/res/layout/row_item_caption.xml
Normal file
18
app/src/main/res/layout/row_item_caption.xml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="8">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatSpinner
|
||||
android:id="@+id/spinner_caption_languages"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
android:minWidth="1dp"
|
||||
android:padding="0dp"
|
||||
android:spinnerMode="dialog" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
|
@ -13,11 +13,29 @@
|
|||
android:minWidth="@dimen/tiny_height"
|
||||
android:padding="@dimen/dimen_0"
|
||||
android:spinnerMode="dialog" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_weight="8">
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatEditText
|
||||
android:id="@+id/caption_item_edit_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/share_caption_hint"
|
||||
android:imeOptions="actionNext|flagNoExtractUi"
|
||||
android:inputType="textMultiLine" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:layout_width="217dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="8">
|
||||
>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatEditText
|
||||
android:id="@+id/description_item_edit_text"
|
||||
|
|
@ -28,5 +46,5 @@
|
|||
android:inputType="textMultiLine" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
131
app/src/main/res/layout/upload_depicts_fragment.xml
Normal file
131
app/src/main/res/layout/upload_depicts_fragment.xml
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:orientation="vertical"
|
||||
tools:showIn="@layout/activity_upload">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@+id/button_divider"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/depicts_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginStart="@dimen/standard_gap"
|
||||
android:layout_marginLeft="@dimen/standard_gap"
|
||||
android:layout_marginTop="@dimen/standard_gap"
|
||||
android:layout_marginEnd="@dimen/standard_gap"
|
||||
android:layout_marginRight="@dimen/standard_gap"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:gravity="center_vertical"
|
||||
android:textSize="@dimen/normal_text"
|
||||
android:textStyle="bold"
|
||||
tools:text="Step 1 of 15" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/depicts_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginStart="@dimen/standard_gap"
|
||||
android:layout_marginLeft="@dimen/standard_gap"
|
||||
android:layout_marginTop="@dimen/tiny_gap"
|
||||
android:layout_marginEnd="@dimen/standard_gap"
|
||||
android:layout_marginRight="@dimen/standard_gap"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:gravity="center_vertical"
|
||||
android:textSize="@dimen/subtitle_text"
|
||||
android:text="@string/upload_flow_all_images_in_set"
|
||||
android:layout_below="@+id/depicts_title"
|
||||
tools:text="(For all images in set)" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" android:id="@+id/depicts_search_layout"
|
||||
android:layout_marginStart="@dimen/standard_gap"
|
||||
android:layout_marginLeft="@dimen/standard_gap"
|
||||
android:layout_marginEnd="@dimen/standard_gap"
|
||||
android:layout_marginRight="@dimen/standard_gap"
|
||||
android:layout_below="@id/depicts_subtitle">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/depicts_search_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/depicts_search"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/depicts_search_text_hint"
|
||||
android:imeOptions="actionSearch"
|
||||
android:inputType="text"
|
||||
android:maxLines="1" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/depictsSearchInProgress"
|
||||
style="?android:progressBarStyleSmall"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/tiny_gap"
|
||||
android:layout_marginRight="@dimen/tiny_gap"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:indeterminate="true"
|
||||
android:indeterminateOnly="true"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/depicts_recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="@dimen/standard_gap"
|
||||
android:layout_marginLeft="@dimen/standard_gap"
|
||||
android:layout_marginEnd="@dimen/standard_gap"
|
||||
android:layout_marginRight="@dimen/standard_gap"
|
||||
android:layout_above="@+id/button_divider"
|
||||
android:layout_below="@id/depicts_search_layout" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/button_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_above="@+id/depicts_next"
|
||||
android:background="@color/divider_grey" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/depicts_next"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:layout_marginRight="24dp"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:text="@string/next" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/depicts_previous"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/standard_gap"
|
||||
android:layout_marginRight="@dimen/standard_gap"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:layout_toStartOf="@id/depicts_next"
|
||||
android:layout_toLeftOf="@id/depicts_next"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:text="@string/previous" />
|
||||
|
||||
</RelativeLayout>
|
||||
Loading…
Add table
Add a link
Reference in a new issue