mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Fix build
This commit is contained in:
parent
83f4407ed3
commit
3574b1d1d1
5 changed files with 23 additions and 28 deletions
|
|
@ -16,7 +16,6 @@ import fr.free.nrw.commons.media.MediaDetailPagerFragment;
|
||||||
import fr.free.nrw.commons.nearby.NearbyFragment;
|
import fr.free.nrw.commons.nearby.NearbyFragment;
|
||||||
import fr.free.nrw.commons.nearby.NearbyListFragment;
|
import fr.free.nrw.commons.nearby.NearbyListFragment;
|
||||||
import fr.free.nrw.commons.nearby.NearbyMapFragment;
|
import fr.free.nrw.commons.nearby.NearbyMapFragment;
|
||||||
import fr.free.nrw.commons.nearby.NoPermissionsFragment;
|
|
||||||
import fr.free.nrw.commons.review.ReviewImageFragment;
|
import fr.free.nrw.commons.review.ReviewImageFragment;
|
||||||
import fr.free.nrw.commons.settings.SettingsFragment;
|
import fr.free.nrw.commons.settings.SettingsFragment;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,10 @@ import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
|
import android.text.Editable;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.text.TextWatcher;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
@ -19,6 +21,7 @@ import android.view.ViewGroup;
|
||||||
import android.view.ViewTreeObserver;
|
import android.view.ViewTreeObserver;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.ScrollView;
|
import android.widget.ScrollView;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
|
|
@ -51,12 +54,7 @@ import fr.free.nrw.commons.delete.ReasonBuilder;
|
||||||
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
|
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
|
||||||
import fr.free.nrw.commons.location.LatLng;
|
import fr.free.nrw.commons.location.LatLng;
|
||||||
import fr.free.nrw.commons.mwapi.MediaWikiApi;
|
import fr.free.nrw.commons.mwapi.MediaWikiApi;
|
||||||
import fr.free.nrw.commons.review.CheckCategoryTask;
|
|
||||||
import fr.free.nrw.commons.review.SendThankTask;
|
|
||||||
import fr.free.nrw.commons.ui.widget.CompatTextView;
|
import fr.free.nrw.commons.ui.widget.CompatTextView;
|
||||||
import io.reactivex.Observable;
|
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
||||||
import io.reactivex.schedulers.Schedulers;
|
|
||||||
import timber.log.Timber;
|
import timber.log.Timber;
|
||||||
|
|
||||||
import static android.content.Context.CLIPBOARD_SERVICE;
|
import static android.content.Context.CLIPBOARD_SERVICE;
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,9 @@ import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.annotation.VisibleForTesting;
|
import android.support.annotation.VisibleForTesting;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
|
||||||
import fr.free.nrw.commons.campaigns.CampaignResponseDTO;
|
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.apache.http.conn.ClientConnectionManager;
|
import org.apache.http.conn.ClientConnectionManager;
|
||||||
import org.apache.http.conn.scheme.PlainSocketFactory;
|
import org.apache.http.conn.scheme.PlainSocketFactory;
|
||||||
|
|
@ -39,9 +37,9 @@ import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Random;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import fr.free.nrw.commons.BuildConfig;
|
import fr.free.nrw.commons.BuildConfig;
|
||||||
import fr.free.nrw.commons.Media;
|
import fr.free.nrw.commons.Media;
|
||||||
|
|
@ -49,6 +47,7 @@ import fr.free.nrw.commons.PageTitle;
|
||||||
import fr.free.nrw.commons.R;
|
import fr.free.nrw.commons.R;
|
||||||
import fr.free.nrw.commons.achievements.FeedbackResponse;
|
import fr.free.nrw.commons.achievements.FeedbackResponse;
|
||||||
import fr.free.nrw.commons.auth.AccountUtil;
|
import fr.free.nrw.commons.auth.AccountUtil;
|
||||||
|
import fr.free.nrw.commons.campaigns.CampaignResponseDTO;
|
||||||
import fr.free.nrw.commons.category.CategoryImageUtils;
|
import fr.free.nrw.commons.category.CategoryImageUtils;
|
||||||
import fr.free.nrw.commons.category.QueryContinue;
|
import fr.free.nrw.commons.category.QueryContinue;
|
||||||
import fr.free.nrw.commons.media.RecentChangesImageUtils;
|
import fr.free.nrw.commons.media.RecentChangesImageUtils;
|
||||||
|
|
@ -296,7 +295,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean thank(String editToken, String revision) throws IOException {
|
public boolean thank(String editToken, String revision) throws IOException {
|
||||||
ApiResult res = api.action("thank")
|
CustomApiResult res = api.action("thank")
|
||||||
.param("rev", revision)
|
.param("rev", revision)
|
||||||
.param("token", editToken)
|
.param("token", editToken)
|
||||||
.param("source", getUserAgent())
|
.param("source", getUserAgent())
|
||||||
|
|
@ -392,7 +391,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
.get()
|
.get()
|
||||||
.getNodes("/api/query/search/p/@title");
|
.getNodes("/api/query/search/p/@title");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain searchCategories", e);
|
Timber.e(e, "Failed to obtain searchCategories");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (categoryNodes == null) {
|
if (categoryNodes == null) {
|
||||||
|
|
@ -424,7 +423,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
.get()
|
.get()
|
||||||
.getNodes("/api/query/allcategories/c");
|
.getNodes("/api/query/allcategories/c");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain allCategories", e);
|
Timber.e(e, "Failed to obtain allCategories");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (categoryNodes == null) {
|
if (categoryNodes == null) {
|
||||||
|
|
@ -538,7 +537,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
.get()
|
.get()
|
||||||
.getNodes("/api/query/search/p/@title");
|
.getNodes("/api/query/search/p/@title");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain searchTitles", e);
|
Timber.e(e, "Failed to obtain searchTitles");
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -609,7 +608,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
@Nullable
|
@Nullable
|
||||||
public Single<Revision> firstRevisionOfFile(String filename) {
|
public Single<Revision> firstRevisionOfFile(String filename) {
|
||||||
return Single.fromCallable(() -> {
|
return Single.fromCallable(() -> {
|
||||||
ApiResult res = api.action("query")
|
CustomApiResult res = api.action("query")
|
||||||
.param("prop", "revisions")
|
.param("prop", "revisions")
|
||||||
.param("rvprop", "timestamp|ids|user")
|
.param("rvprop", "timestamp|ids|user")
|
||||||
.param("titles", filename)
|
.param("titles", filename)
|
||||||
|
|
@ -637,7 +636,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
.get()
|
.get()
|
||||||
.getNode("/api/query/notifications/list");
|
.getNode("/api/query/notifications/list");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain searchCategories", e);
|
Timber.e(e, "Failed to obtain searchCategories");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notificationNode == null
|
if (notificationNode == null
|
||||||
|
|
@ -674,7 +673,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
|
|
||||||
apiResult = requestBuilder.get();
|
apiResult = requestBuilder.get();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain searchCategories", e);
|
Timber.e(e, "Failed to obtain searchCategories");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (apiResult == null) {
|
if (apiResult == null) {
|
||||||
|
|
@ -714,7 +713,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
|
|
||||||
apiResult = requestBuilder.get();
|
apiResult = requestBuilder.get();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain parent Categories", e);
|
Timber.e(e, "Failed to obtain parent Categories");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (apiResult == null) {
|
if (apiResult == null) {
|
||||||
|
|
@ -764,7 +763,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
}
|
}
|
||||||
apiResult = requestBuilder.get();
|
apiResult = requestBuilder.get();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain searchCategories", e);
|
Timber.e(e, "Failed to obtain searchCategories");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (apiResult == null) {
|
if (apiResult == null) {
|
||||||
|
|
@ -816,7 +815,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
imageNodes= customApiResult.getNodes("/api/query/pages/page/@title");
|
imageNodes= customApiResult.getNodes("/api/query/pages/page/@title");
|
||||||
authorNodes= customApiResult.getNodes("/api/query/pages/page/imageinfo/ii/@user");
|
authorNodes= customApiResult.getNodes("/api/query/pages/page/imageinfo/ii/@user");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain searchImages", e);
|
Timber.e(e, "Failed to obtain searchImages");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (imageNodes == null) {
|
if (imageNodes == null) {
|
||||||
|
|
@ -856,7 +855,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
.get()
|
.get()
|
||||||
.getNodes("/api/query/search/p/@title");
|
.getNodes("/api/query/search/p/@title");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain searchCategories", e);
|
Timber.e(e, "Failed to obtain searchCategories");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (categoryNodes == null) {
|
if (categoryNodes == null) {
|
||||||
|
|
@ -1071,7 +1070,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
|
|
||||||
apiResult = requestBuilder.get();
|
apiResult = requestBuilder.get();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain searchCategories", e);
|
Timber.e(e, "Failed to obtain searchCategories");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (apiResult == null) {
|
if (apiResult == null) {
|
||||||
|
|
@ -1136,9 +1135,9 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
while (media == null && tries < MAX_RANDOM_TRIES) {
|
while (media == null && tries < MAX_RANDOM_TRIES) {
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
Date startDate = new Date(now.getTime() - r.nextInt(RANDOM_SECONDS) * 1000L);
|
Date startDate = new Date(now.getTime() - r.nextInt(RANDOM_SECONDS) * 1000L);
|
||||||
ApiResult apiResult = null;
|
CustomApiResult apiResult = null;
|
||||||
try {
|
try {
|
||||||
MWApi.RequestBuilder requestBuilder = api.action("query")
|
CustomMwApi.RequestBuilder requestBuilder = api.action("query")
|
||||||
.param("list", "recentchanges")
|
.param("list", "recentchanges")
|
||||||
.param("rcstart", formatMWDate(startDate))
|
.param("rcstart", formatMWDate(startDate))
|
||||||
.param("rcnamespace", FILE_NAMESPACE)
|
.param("rcnamespace", FILE_NAMESPACE)
|
||||||
|
|
@ -1148,10 +1147,10 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
|
||||||
|
|
||||||
apiResult = requestBuilder.get();
|
apiResult = requestBuilder.get();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Timber.e("Failed to obtain recent random", e);
|
Timber.e(e, "Failed to obtain recent random");
|
||||||
}
|
}
|
||||||
if (apiResult != null) {
|
if (apiResult != null) {
|
||||||
ApiResult recentChangesNode = apiResult.getNode("/api/query/recentchanges");
|
CustomApiResult recentChangesNode = apiResult.getNode("/api/query/recentchanges");
|
||||||
if (recentChangesNode != null
|
if (recentChangesNode != null
|
||||||
&& recentChangesNode.getDocument() != null
|
&& recentChangesNode.getDocument() != null
|
||||||
&& recentChangesNode.getDocument().getChildNodes() != null
|
&& recentChangesNode.getDocument().getChildNodes() != null
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ public class ReviewActivity extends AuthenticatedActivity {
|
||||||
|
|
||||||
private void updateImage(String fileName) {
|
private void updateImage(String fileName) {
|
||||||
if (fileName.length() == 0) {
|
if (fileName.length() == 0) {
|
||||||
ViewUtil.showSnackbar(drawerLayout, R.string.error_review);
|
ViewUtil.showShortSnackbar(drawerLayout, R.string.error_review);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
reviewController.onImageRefreshed(fileName); //file name is updated
|
reviewController.onImageRefreshed(fileName); //file name is updated
|
||||||
|
|
@ -155,7 +155,7 @@ public class ReviewActivity extends AuthenticatedActivity {
|
||||||
|
|
||||||
private void categoryFetchError(Throwable throwable) {
|
private void categoryFetchError(Throwable throwable) {
|
||||||
Timber.e(throwable, "Error fetching categories");
|
Timber.e(throwable, "Error fetching categories");
|
||||||
ViewUtil.showSnackbar(drawerLayout, R.string.error_review_categories);
|
ViewUtil.showShortSnackbar(drawerLayout, R.string.error_review_categories);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateCategories(ArrayList<String> categories) {
|
private void updateCategories(ArrayList<String> categories) {
|
||||||
|
|
|
||||||
|
|
@ -261,7 +261,6 @@
|
||||||
<string name="nominated_see_more"><![CDATA[<u>See webpage for details</u>]]></string>
|
<string name="nominated_see_more"><![CDATA[<u>See webpage for details</u>]]></string>
|
||||||
<string name="nominating_file_for_deletion">Nominating %1$s for deletion.</string>
|
<string name="nominating_file_for_deletion">Nominating %1$s for deletion.</string>
|
||||||
<string name="nominating_for_deletion_status">Nominating file for deletion: %1$s</string>
|
<string name="nominating_for_deletion_status">Nominating file for deletion: %1$s</string>
|
||||||
<string name="nominated_see_more"><u>See webpage for details</u></string>
|
|
||||||
<string name="view_browser">View in Browser</string>
|
<string name="view_browser">View in Browser</string>
|
||||||
<string name="skip_login">Skip</string>
|
<string name="skip_login">Skip</string>
|
||||||
<string name="navigation_item_login">Log in</string>
|
<string name="navigation_item_login">Log in</string>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue