Skip to content

Commit c8a58bf

Browse files
Revert "Fixes commons-app#2337 - Show captions of image in media details (conflicts fixed) (commons-app#2933)" (commons-app#2934)
This reverts commit 3c9b7ba.
1 parent 3c9b7ba commit c8a58bf

File tree

9 files changed

+6
-137
lines changed

9 files changed

+6
-137
lines changed

app/src/main/java/fr/free/nrw/commons/Media.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ public Media[] newArray(int i) {
4747
protected String filename;
4848
protected String description; // monolingual description on input...
4949
protected String discussion;
50-
protected String caption;
5150
protected long dataLength;
5251
protected Date dateCreated;
5352
protected @Nullable Date dateUploaded;
@@ -241,22 +240,6 @@ public String getImageUrl() {
241240
return imageUrl;
242241
}
243242

244-
/**
245-
* Sets the Caption of the file.
246-
* @param caption
247-
*/
248-
public void setCaption(String caption) {
249-
this.caption = caption;
250-
}
251-
252-
/**
253-
* Gets the file Caption as a string.
254-
* @return file Caption as a string
255-
*/
256-
public String getCaption() {
257-
return caption;
258-
}
259-
260243
/**
261244
* Gets the name of the file.
262245
* @return file name as a string

app/src/main/java/fr/free/nrw/commons/MediaDataExtractor.java

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package fr.free.nrw.commons;
22

3-
import android.util.Log;
4-
5-
import java.io.IOException;
6-
73
import javax.inject.Inject;
84
import javax.inject.Singleton;
95

@@ -24,30 +20,25 @@ public class MediaDataExtractor {
2420
private final MediaWikiApi mediaWikiApi;
2521
private final OkHttpJsonApiClient okHttpJsonApiClient;
2622

27-
2823
@Inject
2924
public MediaDataExtractor(MediaWikiApi mwApi,
3025
OkHttpJsonApiClient okHttpJsonApiClient) {
3126
this.okHttpJsonApiClient = okHttpJsonApiClient;
3227
this.mediaWikiApi = mwApi;
33-
3428
}
3529

3630
/**
3731
* Simplified method to extract all details required to show media details.
38-
* It fetches media object, deletion status, talk page and caption for the filename
32+
* It fetches media object, deletion status and talk page for the filename
3933
* @param filename for which the details are to be fetched
4034
* @return full Media object with all details including deletion status and talk page
4135
*/
4236
public Single<Media> fetchMediaDetails(String filename) {
4337
Single<Media> mediaSingle = getMediaFromFileName(filename);
4438
Single<Boolean> pageExistsSingle = mediaWikiApi.pageExists("Commons:Deletion_requests/" + filename);
4539
Single<String> discussionSingle = getDiscussion(filename);
46-
Single<String> captionSingle = getCaption(filename);
47-
48-
return Single.zip(mediaSingle, pageExistsSingle, discussionSingle, captionSingle, (media, deletionStatus, discussion, caption) -> {
40+
return Single.zip(mediaSingle, pageExistsSingle, discussionSingle, (media, deletionStatus, discussion) -> {
4941
media.setDiscussion(discussion);
50-
media.setCaption(caption);
5142
if (deletionStatus) {
5243
media.setRequestedDeletion();
5344
}
@@ -77,19 +68,5 @@ private Single<String> getDiscussion(String filename) {
7768
Timber.e(throwable, "Error occurred while fetching discussion");
7869
return "";
7970
});
80-
81-
}
82-
83-
/**
84-
* Fetch caption from the MediaWiki API
85-
* @param filename the filename we will return the caption for
86-
* @return a single with caption string (an empty string if no caption)
87-
*/
88-
private Single<String> getCaption(String filename) {
89-
return mediaWikiApi.fetchCaptionByFilename(filename)
90-
.onErrorReturn(throwable -> {
91-
Timber.e(throwable, "Error occurred while fetching caption");
92-
return "";
93-
});
9471
}
9572
}

app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,6 @@ public static MediaDetailFragment forMedia(int index, boolean editable, boolean
101101
SimpleDraweeView image;
102102
@BindView(R.id.mediaDetailSpacer)
103103
MediaDetailSpacer spacer;
104-
@BindView(R.id.mediaDetailCaption)
105-
TextView mediaCaption;
106104
@BindView(R.id.mediaDetailTitle)
107105
TextView title;
108106
@BindView(R.id.mediaDetailDesc)
@@ -317,7 +315,6 @@ private void setTextFields(Media media) {
317315
coordinates.setText(prettyCoordinates(media));
318316
uploadedDate.setText(prettyUploadedDate(media));
319317
mediaDiscussion.setText(prettyDiscussion(media));
320-
mediaCaption.setText(prettyCaption(media));
321318

322319
categoryNames.clear();
323320
categoryNames.addAll(media.getCategories());
@@ -519,16 +516,6 @@ private String prettyDescription(Media media) {
519516
return desc;
520517
}
521518
}
522-
523-
private String prettyCaption(Media media) {
524-
String caption = media.getCaption().trim();
525-
if (caption.equals("")) {
526-
return getString(R.string.detail_caption_empty);
527-
} else {
528-
return caption;
529-
}
530-
}
531-
532519
private String prettyDiscussion(Media media) {
533520
String disc = media.getDiscussion().trim();
534521
if (disc.equals("")) {

app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import android.content.Context;
44
import android.net.Uri;
55
import android.text.TextUtils;
6-
import android.util.Log;
76

87
import com.google.gson.Gson;
98

@@ -304,26 +303,6 @@ public Single<String> parseWikicode(String source) {
304303
.getString("/api/flow-parsoid-utils/@content"));
305304
}
306305

307-
/**
308-
* fetches the Caption of the file with a given name.
309-
* @param filename title of the file
310-
* @return a single with media caption
311-
*/
312-
@Override
313-
public Single<String> fetchCaptionByFilename(String filename) {
314-
return Single.fromCallable(() -> {
315-
CustomApiResult apiResult = api.action("wbgetentities")
316-
.param("sites", "commonswiki")
317-
.param("titles", filename)
318-
.param("props", "labels")
319-
.param("format", "xml")
320-
.param("languages", Locale.getDefault().getLanguage())
321-
.param("languagefallback", "1")
322-
.get();
323-
return apiResult.getString("/api/entities/entity/labels/label/@value");
324-
});
325-
}
326-
327306
@Override
328307
@NonNull
329308
public Single<MediaResult> fetchMediaByFilename(String filename) {

app/src/main/java/fr/free/nrw/commons/mwapi/MediaWikiApi.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ Single<UploadResult> uploadFileFinalize(String filename, String filekey,
6666

6767
Single<String> parseWikicode(String source);
6868

69-
Single<String> fetchCaptionByFilename(String filename);
70-
7169
@NonNull
7270
Single<MediaResult> fetchMediaByFilename(String filename);
7371

app/src/main/res/layout/fragment_media_detail.xml

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -52,34 +52,6 @@
5252
android:orientation="vertical"
5353
android:padding="@dimen/standard_gap">
5454

55-
<LinearLayout
56-
android:layout_width="match_parent"
57-
android:layout_height="wrap_content"
58-
android:background="?attr/subBackground"
59-
android:orientation="vertical"
60-
android:padding="@dimen/standard_gap">
61-
62-
<TextView
63-
android:layout_width="match_parent"
64-
android:layout_height="wrap_content"
65-
android:paddingBottom="@dimen/tiny_gap"
66-
android:text="@string/media_detail_caption"
67-
android:textColor="@android:color/white"
68-
android:textSize="@dimen/normal_text"
69-
android:textStyle="bold" />
70-
71-
<TextView
72-
android:id="@+id/mediaDetailCaption"
73-
android:layout_width="match_parent"
74-
android:layout_height="wrap_content"
75-
android:layout_gravity="start"
76-
android:background="?attr/subBackground"
77-
android:padding="@dimen/small_gap"
78-
android:textColor="@android:color/white"
79-
android:textSize="@dimen/description_text_size"
80-
tools:text="Captions of the media" />
81-
</LinearLayout>
82-
8355
<LinearLayout
8456
android:layout_width="match_parent"
8557
android:layout_height="wrap_content"

app/src/main/res/values/strings.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,6 @@
160160
<string name="detail_panel_cats_none">None selected</string>
161161
<string name="detail_description_empty">No description</string>
162162
<string name="detail_discussion_empty">No discussion</string>
163-
<string name="detail_caption_empty">No caption</string>
164163
<string name="detail_license_empty">Unknown license</string>
165164
<string name="menu_refresh">Refresh</string>
166165
<string name="storage_permission_title">Requesting Storage Permission</string>
@@ -174,7 +173,6 @@
174173
<string name="upload_image_duplicate">This file already exists on Commons. Are you sure you want to proceed?</string>
175174
<string name="yes">Yes</string>
176175
<string name="no">No</string>
177-
<string name="media_detail_caption">Caption</string>
178176
<string name="media_detail_title">Title</string>
179177
<string name="media_detail_description">Description</string>
180178
<string name="media_detail_discussion">Discussion</string>

app/src/test/kotlin/fr/free/nrw/commons/MediaDataExtractorTest.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@ import io.reactivex.Single
77
import junit.framework.Assert.assertTrue
88
import org.junit.Before
99
import org.junit.Test
10-
import org.mockito.*
10+
import org.mockito.ArgumentMatchers
11+
import org.mockito.InjectMocks
12+
import org.mockito.Mock
1113
import org.mockito.Mockito.`when`
1214
import org.mockito.Mockito.mock
15+
import org.mockito.MockitoAnnotations
1316

1417
/**
1518
* Test methods in media data extractor
@@ -42,8 +45,6 @@ class MediaDataExtractorTest {
4245
`when`(okHttpJsonApiClient?.getMedia(ArgumentMatchers.anyString(), ArgumentMatchers.anyBoolean()))
4346
.thenReturn(Single.just(mock(Media::class.java)))
4447

45-
Mockito.`when`(mwApi?.fetchCaptionByFilename(ArgumentMatchers.anyString())).thenReturn(Single.just("test caption"))
46-
4748
`when`(mwApi?.pageExists(ArgumentMatchers.anyString()))
4849
.thenReturn(Single.just(true))
4950

app/src/test/kotlin/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApiTest.kt

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import fr.free.nrw.commons.BuildConfig
66
import fr.free.nrw.commons.TestCommonsApplication
77
import fr.free.nrw.commons.kvstore.JsonKvStore
88
import fr.free.nrw.commons.utils.ConfigUtils
9-
import io.reactivex.observers.TestObserver
109
import okhttp3.OkHttpClient
1110
import okhttp3.mockwebserver.MockResponse
1211
import okhttp3.mockwebserver.MockWebServer
@@ -24,7 +23,6 @@ import org.wikipedia.util.DateUtil
2423
import java.net.URLDecoder
2524
import java.util.*
2625

27-
2826
@RunWith(RobolectricTestRunner::class)
2927
@Config(constants = BuildConfig::class, sdk = intArrayOf(21), application = TestCommonsApplication::class)
3028
class ApacheHttpClientMediaWikiApiTest {
@@ -242,30 +240,6 @@ class ApacheHttpClientMediaWikiApiTest {
242240
assertFalse(result)
243241
}
244242

245-
@Test
246-
fun fetchCaptionByFilename() {
247-
server.enqueue(MockResponse().setBody("<?xml version=\"1.0\"?><api success=\"1\"><entities><entity type=\"mediainfo\" id=\"M77157483\"><labels><label language=\"it\" value=\"Test\" /></labels><statements /></entity></entities></api>"))
248-
249-
val result = testObject.fetchCaptionByFilename("File:foo")
250-
val testObserver = TestObserver<String>()
251-
result.subscribe(testObserver)
252-
assertBasicRequestParameters(server, "GET").let { request ->
253-
parseQueryParams(request).let { params ->
254-
assertEquals("xml", params["format"])
255-
assertEquals("wbgetentities", params["action"])
256-
assertEquals("commonswiki", params["sites"])
257-
assertEquals("File:foo", params["titles"])
258-
assertEquals("labels", params["props"])
259-
assertEquals(Locale.getDefault().getLanguage(), params["languages"])
260-
assertEquals("1", params["languagefallback"])
261-
}
262-
}
263-
264-
testObserver.assertResult("Test")
265-
testObserver.assertNoErrors()
266-
267-
}
268-
269243
@Test
270244
fun isUserBlockedFromCommonsForInfinitelyBlockedUser() {
271245
server.enqueue(MockResponse().setBody("<?xml version=\"1.0\"?><api><query><userinfo id=\"1000\" name=\"testusername\" blockid=\"3000\" blockedby=\"blockerusername\" blockedbyid=\"1001\" blockreason=\"testing\" blockedtimestamp=\"2018-05-24T15:32:09Z\" blockexpiry=\"infinite\"></userinfo></query></api>"))

0 commit comments

Comments
 (0)