mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 12:53:55 +01:00
* BaseMarker.kt: removed unneeded cast
* TransformImageImpl.kt: removed unreachable code
* ZoomableActivity.kt: removed Unnecessary safe call on a non-null receiver of type ZoomableDraweeView
* ZoomableActivity.kt: removed Unnecessary safe call on a non-null receiver of type ZoomableDraweeView
* DescriptionEditActivity.kt: removed unnecessary non-null assertion (!!) on a non-null receiver of type DescriptionEditHelper
* Media.kt: Property would not be serialized into a 'Parcel'. Added '@IgnoredOnParcel' annotation to remove the warning
* ZoomableActivity.kt: removed Unnecessary non-null assertion (!!) on a non-null receiver of type ZoomableDraweeView
* CategoryClient.kt: removed condition 'page.categoryInfo() == null' as it's always 'false'
* DescriptionEditActivity.kt: removed unnecessary safe call on a non-null receiver of type SessionManager
* DescriptionEditActivity.kt: removed unnecessary safe call on a non-null receiver of type DescriptionEditHelper
* WikidataFeedback.kt: removed unneeded cast
* FailedUploadsFragment.kt: removed unneeded non-null assertion (!!)
* PendingUploadsFragment.kt: removed unneeded non-null assertion (!!)
* AchievementsFragment.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* ExploreFragment.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* FileUtils.java: Changed toUpperCase to toUpperCase(Locale.getDefault())
* AchievementsFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ExploreFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* LocationPickerActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* MediaDetailFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* NearbyFilterSearchRecyclerViewAdapter.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ProfileActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* RecentSearchesFragment.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* ReviewActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* SearchActivity.java: Changed toUpperCase to toUpperCase(Locale.ROOT)
* UploadMediaPresenter.java: Changed toUpperCase to toLowerCase(Locale.ROOT)
* CategoriesMediaFragment.kt: Changed arguments!! to requireArguments()
* ChildDepictionsFragment.kt: Changed arguments!! to requireArguments()
* DepictedImagesFragment.kt: Changed arguments!! to requireArguments()
* DepictsFragment: Changed Objects.requireNonNull(getView()) to requireViews(), Objects.requireNonNull(getActivity())) to requireActivity()
* ParentCategoriesFragment.kt: Changed arguments!! to requireArguments()
* ParentCategoriesFragment.kt: Changed arguments!! to requireArguments()
* SubCategoriesFragment.kt: Changed arguments!! to requireArguments()
* SubCategoriesFragment.kt: Changed Objects.requireNonNull(getView()) to requireViews(), Objects.requireNonNull(getActivity()) to requireActivity()
* UploadMediaDetailFragment.java: Changed arguments!! to requireArguments()
* WikipediaInstructionsDialogFragment.kt: Changed arguments!! to requireArguments()
* BookmarkItemsDao.java: Added @SuppressLint("Range"), as -1 is expected behavior not index doesn't exist for getColumnIndex()
* BookmarkLocationsDao.java: Added @SuppressLint("Range"), as -1 is expected behavior not index doesn't exist for getColumnIndex()
* AndroidManifest.xml: Removed redundant label android:label="@string/app_name"
* bs\strings.xml: Added missing few quantity
* hr\strings.xml: Added missing few quantity
* hr\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63
* Revert "hr\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63"
This reverts commit 47232466ab.
* cy\strings.xml: Added missing zero, two, few, many quantities for lines 23 - 63
* sr\strings.xml: Added missing few quantities for lines 35 to 70
* ro\strings.xml: Added missing few quantity and removed not needed zero for <plurals name="contributions_subtitle" fuzzy="true">
* cs\strings.xml: Added missing few many missing quantities for lines 33 - 74
* lt\strings.xml: Added missing few, many missing quantities for lines 34 - 58
* lt\strings.xml: Replaced . . . with ...
* ca\strings.xml: Added missing many quantities for lines 21 - 51, replaced . . . with ...
* ser\strings.xml: Added missing few quantities, replaced . . . with ...
* br\strings.xml: Added missing two, few, many quantities
* pt\strings.xml: Added missing many quantity, changed . . . to ... and ignored typo as it is correct for European Portuguese
* it\strings.xml: changed . . . to ...
* pt\strings.xml: fixed many quantity
* ca\strings.xml: fixed many quantity
* sr\strings.xml: fixed many quantity
* cy\strings.xml: corrected quantities for "share_license_summary
* fr\strings.xml: changed . . . to ... and add many quantities using the other quantity
* fr\strings.xml: changed . . . to ... and add many quantities using the other quantity. Fixed some typos, added ignore for correct spellings but has warning
* getColumnIndex(): added @SuppressLint("Range") as -1 is expected result for column name doesn't exist
* values-b+sr+Latn\strings.xml: changed . . . to ...
* Revert "values-b+sr+Latn\strings.xml: changed . . . to ..."
This reverts commit 95b909c29f.
* values-b+roa+tara\strings.xml: changed . . . to ...
* Revert "values-b+roa+tara\strings.xml: changed . . . to ..."
This reverts commit b5db1a3e68.
* values-b+roa+tara\strings.xml: changed . . . to ...
* values-b+sr+Latn\strings.xml: changed . . . to ..., add few based on other quantity. Ignored one ImpliedQuantity warning as it is correct.
* it\strings.xml: changed . . . to ..., add many based on other quantity.
* pt-rBR\strings.xml: changed . . . to ..., add many based on other quantity. Fixed typos, ignored warning for "one" quantity as translation didn't use number
* si\strings.xml: Ignored ImpliedQuantity warning as it uses 1 not %d. Removed not needed zero quantity
* si\strings.xml: Ignored ImpliedQuantity warning as it uses 1 not %d. Removed not needed zero quantity. Fixed wrong %1$d. Changed . . . to ...
* mk\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use 1
* sl\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* ru\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* uk\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* is\strings.xml: changed . . . to ... and ignored ImpliedQuantity as it doesn't use %1$d
* strings.xml: changed . . . to ...
* af\strings.xml: removed not needed zero quantity
* de\strings.xml: fixed duplicate word typo
* diq\strings.xml: changed - to dash (-)
* hi\strings.xml: removed not needed zero
* in\strings.xml: removed not needed one quantity
* iw\strings.xml: removed not needed many quantity
* ja\strings.xml: removed not needed one quantity
* ko\strings.xml: removed not needed one quantity
* ky\strings.xml: removed not needed one quantity
* mr\strings.xml: removed not needed zero quantity
* my\strings.xml: removed not needed one quantity
* su\strings.xml: removed not needed one quantity
* th\strings.xml: removed not needed one and zero quantity
* zh\strings.xml: removed not needed one quantity
* activity_description_edit.xml: changed android:tint to app:tint, changed layout_alignParentRight to layout_alignParentEnd
* bottom_sheet_details_explore.xml: changed android:tint to app:tint, added focusable, changed to margin layout
* bottom_sheet_item_layout.xml: changed android:tint to app:tint, added focusable
* bottom_sheet_details_explore.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* item_place.xml.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* layout_campagin.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* layout_contribution.xml.xml: changed android:tint to app:tint
* nearby_card_view.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* nearby_row_button.xml: changed android:tint to app:tint, added focusable, changed margin layout and removed not needed and invalid params
* toolbar_location_picker.xml: changed android:tint to app:tint
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
136 lines
4 KiB
Kotlin
136 lines
4 KiB
Kotlin
package fr.free.nrw.commons
|
|
|
|
import android.os.Parcelable
|
|
import fr.free.nrw.commons.location.LatLng
|
|
import fr.free.nrw.commons.wikidata.model.page.PageTitle
|
|
import kotlinx.parcelize.IgnoredOnParcel
|
|
import kotlinx.parcelize.Parcelize
|
|
import java.util.Date
|
|
import java.util.Locale
|
|
import java.util.UUID
|
|
|
|
@Parcelize
|
|
class Media constructor(
|
|
/**
|
|
* @return pageId for the current media object
|
|
* Wikibase Identifier associated with media files
|
|
*/
|
|
var pageId: String = UUID.randomUUID().toString(),
|
|
var thumbUrl: String? = null,
|
|
/**
|
|
* Gets image URL
|
|
* @return Image URL
|
|
*/
|
|
var imageUrl: String? = null,
|
|
/**
|
|
* Gets the name of the file.
|
|
* @return file name as a string
|
|
*/
|
|
var filename: String? = null,
|
|
/**
|
|
* Gets or sets the file description.
|
|
* @return file description as a string
|
|
* @param fallbackDescription the new description of the file
|
|
*/
|
|
var fallbackDescription: String? = null,
|
|
/**
|
|
* Gets the upload date of the file.
|
|
* Can be null.
|
|
* @return upload date as a Date
|
|
*/
|
|
var dateUploaded: Date? = null,
|
|
/**
|
|
* Gets or sets the license name of the file.
|
|
* @return license as a String
|
|
* @param license license name as a String
|
|
*/
|
|
var license: String? = null,
|
|
var licenseUrl: String? = null,
|
|
/**
|
|
* Gets or sets the name of the creator of the file.
|
|
* @return author name as a String
|
|
* @param author creator name as a string
|
|
*/
|
|
var author: String? = null,
|
|
var user: String? = null,
|
|
/**
|
|
* Gets the categories the file falls under.
|
|
* @return file categories as an ArrayList of Strings
|
|
*/
|
|
var categories: List<String>? = null,
|
|
/**
|
|
* Gets the coordinates of where the file was created.
|
|
* @return file coordinates as a LatLng
|
|
*/
|
|
var coordinates: LatLng? = null,
|
|
var captions: Map<String, String> = emptyMap(),
|
|
var descriptions: Map<String, String> = emptyMap(),
|
|
var depictionIds: List<String> = emptyList(),
|
|
/**
|
|
* This field was added to find non-hidden categories
|
|
* Stores the mapping of category title to hidden attribute
|
|
* Example: "Mountains" => false, "CC-BY-SA-2.0" => true
|
|
*/
|
|
var categoriesHiddenStatus: Map<String, Boolean> = emptyMap(),
|
|
) : Parcelable {
|
|
constructor(
|
|
captions: Map<String, String>,
|
|
categories: List<String>?,
|
|
filename: String?,
|
|
fallbackDescription: String?,
|
|
author: String?,
|
|
user: String?,
|
|
) : this(
|
|
filename = filename,
|
|
fallbackDescription = fallbackDescription,
|
|
dateUploaded = Date(),
|
|
author = author,
|
|
user = user,
|
|
categories = categories,
|
|
captions = captions,
|
|
)
|
|
|
|
/**
|
|
* Gets media display title
|
|
* @return Media title
|
|
*/
|
|
val displayTitle: String
|
|
get() =
|
|
if (filename != null) {
|
|
pageTitle.displayTextWithoutNamespace.replaceFirst("[.][^.]+$".toRegex(), "")
|
|
} else {
|
|
""
|
|
}
|
|
|
|
/**
|
|
* Gets file page title
|
|
* @return New media page title
|
|
*/
|
|
val pageTitle: PageTitle get() = Utils.getPageTitle(filename!!)
|
|
|
|
/**
|
|
* Returns wikicode to use the media file on a MediaWiki site
|
|
* @return
|
|
*/
|
|
val wikiCode: String
|
|
get() = String.format("[[%s|thumb|%s]]", filename, mostRelevantCaption)
|
|
|
|
val mostRelevantCaption: String
|
|
get() =
|
|
captions[Locale.getDefault().language]
|
|
?: captions.values.firstOrNull()
|
|
?: displayTitle
|
|
|
|
/**
|
|
* Gets the categories the file falls under.
|
|
* @return file categories as an ArrayList of Strings
|
|
*/
|
|
@IgnoredOnParcel
|
|
var addedCategories: List<String>? = null
|
|
// TODO added categories should be removed. It is added for a short fix. On category update,
|
|
// categories should be re-fetched instead
|
|
get() = field // getter
|
|
set(value) {
|
|
field = value
|
|
} // setter
|
|
}
|