From d8b7d5b438e693422af5c7bc5bc9446b718e1fd1 Mon Sep 17 00:00:00 2001 From: veyndan Date: Fri, 31 Mar 2017 22:15:56 +0100 Subject: [PATCH] Improve type safety through the use of generics --- app/build.gradle | 2 +- .../java/fr/free/nrw/commons/HandlerService.java | 4 ++-- .../fr/free/nrw/commons/caching/CacheController.java | 12 ++++++------ .../commons/contributions/ContributionsActivity.java | 11 +++++------ .../java/fr/free/nrw/commons/upload/MwVolleyApi.java | 2 +- .../fr/free/nrw/commons/upload/ShareActivity.java | 2 +- 6 files changed, 16 insertions(+), 17 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1aec3ab46..7ed7ad782 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' apply from: 'quality.gradle' dependencies { - compile ('com.github.nicolas-raoul:Quadtree:211b6fe59ac48f') { + compile ('com.github.nicolas-raoul:Quadtree:349eb842356bae') { exclude module: 'junit' } compile 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar' diff --git a/app/src/main/java/fr/free/nrw/commons/HandlerService.java b/app/src/main/java/fr/free/nrw/commons/HandlerService.java index 0a31b2d8b..61fa1f1c5 100644 --- a/app/src/main/java/fr/free/nrw/commons/HandlerService.java +++ b/app/src/main/java/fr/free/nrw/commons/HandlerService.java @@ -59,9 +59,9 @@ public abstract class HandlerService extends Service { threadHandler = new ServiceHandler(threadLooper); } - private void postMessage(int type, Object obj) { + private void postMessage(int type, T t) { Message msg = threadHandler.obtainMessage(type); - msg.obj = obj; + msg.obj = t; threadHandler.sendMessage(msg); } diff --git a/app/src/main/java/fr/free/nrw/commons/caching/CacheController.java b/app/src/main/java/fr/free/nrw/commons/caching/CacheController.java index be5b4dff7..28215b8b2 100644 --- a/app/src/main/java/fr/free/nrw/commons/caching/CacheController.java +++ b/app/src/main/java/fr/free/nrw/commons/caching/CacheController.java @@ -14,15 +14,15 @@ import fr.free.nrw.commons.upload.MwVolleyApi; public class CacheController { private double x, y; - private QuadTree quadTree; - private Point[] pointsFound; + private QuadTree> quadTree; + private Point>[] pointsFound; private double xMinus, xPlus, yMinus, yPlus; private static final String TAG = CacheController.class.getName(); private static final int EARTH_RADIUS = 6378137; public CacheController() { - quadTree = new QuadTree(-180, -90, +180, +90); + quadTree = new QuadTree<>(-180, -90, +180, +90); } public void setQtPoint(double decLongitude, double decLatitude) { @@ -43,7 +43,7 @@ public class CacheController { quadTree.set(x, y, pointCatList); } - public List findCategory() { + public List findCategory() { //Convert decLatitude and decLongitude to a coordinate offset range convertCoordRange(); pointsFound = quadTree.searchWithin(xMinus, yMinus, xPlus, yPlus); @@ -53,9 +53,9 @@ public class CacheController { if (pointsFound.length != 0) { Log.d(TAG, "Entering for loop"); - for (Point point : pointsFound) { + for (Point> point : pointsFound) { Log.d(TAG, "Nearby point: " + point.toString()); - displayCatList = (List)point.getValue(); + displayCatList = point.getValue(); Log.d(TAG, "Nearby cat: " + point.getValue()); } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index ff7af70e8..a098a4783 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -22,6 +22,7 @@ import android.widget.Adapter; import android.widget.AdapterView; import java.util.ArrayList; +import java.util.Objects; import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.HandlerService; @@ -34,7 +35,7 @@ import fr.free.nrw.commons.upload.UploadService; public class ContributionsActivity extends AuthenticatedActivity - implements LoaderManager.LoaderCallbacks, + implements LoaderManager.LoaderCallbacks, AdapterView.OnItemClickListener, MediaDetailPagerFragment.MediaDetailProvider, FragmentManager.OnBackStackChangedListener, @@ -204,14 +205,12 @@ public class ContributionsActivity } @Override - public Loader onCreateLoader(int i, Bundle bundle) { + public Loader onCreateLoader(int i, Bundle bundle) { return new CursorLoader(this, ContributionsContentProvider.BASE_URI, Contribution.Table.ALL_FIELDS, CONTRIBUTION_SELECTION, null, CONTRIBUTION_SORT); } @Override - public void onLoadFinished(Loader cursorLoader, Object result) { - - Cursor cursor = (Cursor) result; + public void onLoadFinished(Loader cursorLoader, Cursor cursor) { if(contributionsList.getAdapter() == null) { contributionsList.setAdapter(new ContributionsListAdapter(this, cursor, 0)); } else { @@ -225,7 +224,7 @@ public class ContributionsActivity } @Override - public void onLoaderReset(Loader cursorLoader) { + public void onLoaderReset(Loader cursorLoader) { ((CursorAdapter) contributionsList.getAdapter()).swapCursor(null); } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/MwVolleyApi.java b/app/src/main/java/fr/free/nrw/commons/upload/MwVolleyApi.java index 913e6bfd3..f47e76dbd 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/MwVolleyApi.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/MwVolleyApi.java @@ -49,7 +49,7 @@ public class MwVolleyApi { return categoryList; } - public static void setGpsCat(List cachedList) { + public static void setGpsCat(List cachedList) { categoryList = new ArrayList<>(); categoryList.addAll(cachedList); Log.d(TAG, "Setting GPS cats from cache: " + categoryList.toString()); diff --git a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java index 3247f8123..af87d443b 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java @@ -408,7 +408,7 @@ public class ShareActivity MwVolleyApi apiCall = new MwVolleyApi(this); - List displayCatList = app.cacheData.findCategory(); + List displayCatList = app.cacheData.findCategory(); boolean catListEmpty = displayCatList.isEmpty(); // If no categories found in cache, call MediaWiki API to match image coords with nearby Commons categories