Skip to content

Fixes #1545 Top crashes on Play Store for v2.7.1 [A and E] #1672

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
c959321
Update issue_template.md
misaochan May 2, 2018
3f47d39
Localisation updates from https://translatewiki.net.
translatewiki Jun 7, 2018
3b6c94c
Modify allow_gps_summary string (#1608)
misaochan Jun 11, 2018
a772b97
Merge remote-tracking branch 'refs/remotes/origin/2.7.x-release'
misaochan Jun 11, 2018
1adb052
Revert "Fix issue #1332 : Contribution Image auto/manual refresh if f…
misaochan Jun 11, 2018
89defc5
Versioning and changelog for v2.7.2 (#1610)
misaochan Jun 11, 2018
8d62103
add parameters to sort featured images by order of recency
neoliteconsultant Jun 5, 2018
7f02524
Add comments to parameters for sorting featured images
neoliteconsultant Jun 6, 2018
699d150
Merge remote-tracking branch 'refs/remotes/origin/2.7.x-release'
misaochan Jun 12, 2018
887f152
Merge remote-tracking branch 'refs/remotes/origin/2.8-release'
misaochan Jun 12, 2018
135d885
Correct name is "Wikidata", not "wiki data"
nemobis Jun 12, 2018
a0fe8b0
Fix#1479 (#1547)
Jun 14, 2018
2cfbb67
Added Basic Pic Of the Day App Widget (#1523)
madhurgupta10 Jun 14, 2018
b76746c
Localisation updates from https://translatewiki.net.
translatewiki Jun 14, 2018
c6ba0f1
Create utility class for contribution process
neslihanturan Jun 16, 2018
8ee81fa
implement method to save five from given URİ
neslihanturan Jun 16, 2018
a327ee2
Add file utilities for directory checks
neslihanturan Jun 16, 2018
e77b83a
Add ContributionUtils for saving file during upload
neslihanturan Jun 16, 2018
f6c18c6
Localisation updates from https://translatewiki.net.
translatewiki Jun 18, 2018
ac2de1a
back button functionality (#1517)
tanvidadu Jun 19, 2018
e8b2dd7
remove unused imports (#1606)
dlsrks1021 Jun 20, 2018
7d393dd
Localisation updates from https://translatewiki.net.
translatewiki Jun 21, 2018
54246fd
Merge remote-tracking branch 'refs/remotes/origin/2.8-release'
misaochan Jun 23, 2018
43d9f0d
Merge branch 'master' of https://github.com/commons-app/apps-android-…
misaochan Jun 23, 2018
5dab7e3
Change method call acordingly with handleImagePicked() method
neslihanturan Jun 23, 2018
6f4e677
Call method to save file temproarily when a photo to upload is chosen…
neslihanturan Jun 23, 2018
198ffe9
Call method to save file temproarily when a photo to upload is chosen…
neslihanturan Jun 23, 2018
733a48b
Arrange method call
neslihanturan Jun 23, 2018
e296d03
Write a method to save file temporarily during upload process. It wil…
neslihanturan Jun 23, 2018
3e5b87a
Add a method to save a file to a given path from a content provider Uri
neslihanturan Jun 23, 2018
b077496
On openAssetFileDescriptor method, use URi from temporarily saved fil…
neslihanturan Jun 23, 2018
6330ff4
Edit uploadContribution method so that it will use FileInputStream fr…
neslihanturan Jun 23, 2018
2616a51
Make it work
neslihanturan Jun 23, 2018
d8301b0
Code cleanup
neslihanturan Jun 23, 2018
185a7fd
Merge master into branch
neslihanturan Jun 23, 2018
52fe572
Add directory cleaner method
neslihanturan Jun 23, 2018
fa09813
Call temp directory cleaner method at the end of uplpoad process
neslihanturan Jun 23, 2018
1e6c48b
Use FileInputStream insted
neslihanturan Jun 23, 2018
bd3ada1
Add directory cleaner method
neslihanturan Jun 23, 2018
e05993f
Localisation updates from https://translatewiki.net.
translatewiki Jun 25, 2018
730c34b
Merge master into branch
neslihanturan Jun 26, 2018
262b523
Add file removal method
neslihanturan Jun 26, 2018
8513bc7
Use external directory instead
neslihanturan Jun 27, 2018
ef5f3c4
Make destination file name flexible
neslihanturan Jun 27, 2018
c1c178c
Fix nearby crash by updating to Mapbox version that includes telem 2.…
nicolas-raoul Jun 27, 2018
4dc80d3
Make it work with share action coming from another activity
neslihanturan Jun 27, 2018
5e63437
Make it work for Multiple hare Activity
neslihanturan Jun 27, 2018
c3fecdd
Code cleanup
neslihanturan Jun 27, 2018
044cbc3
Fix conflicts
neslihanturan Jun 27, 2018
0092451
Localisation updates from https://translatewiki.net.
translatewiki Jun 28, 2018
7797048
Add description to "steps to reproduce"
misaochan Jun 28, 2018
88d2038
Fix tamil translation of app name (#1679)
sivaraam Jun 30, 2018
6fba2eb
Merge pull request #1484 from commons-app/issue-template-change
neslihanturan Jul 1, 2018
0ebb84c
Merge remote-tracking branch 'upstream/master' into fixUrgentCrashesA…
neslihanturan Jul 1, 2018
e1d0852
Solve camera issue
neslihanturan Jul 1, 2018
d3f8ffa
Localisation updates from https://translatewiki.net.
translatewiki Jul 2, 2018
107729c
Merge remote-tracking branch 'refs/remotes/origin/2.8-release'
misaochan Jul 4, 2018
1e49438
Merge branch 'master' of https://github.com/commons-app/apps-android-…
misaochan Jul 4, 2018
fa6353b
Localisation updates from https://translatewiki.net.
translatewiki Jul 5, 2018
9456732
Fix camera crash
neslihanturan Jul 7, 2018
d7b956e
dependency-injection.md: fix some typos (#1681)
san1j Jul 7, 2018
b6d076e
Cleanup
neslihanturan Jul 7, 2018
2332904
Fix conflicts
neslihanturan Jul 7, 2018
6580b46
Revert change of commenting out posibly useles code, because I am not…
neslihanturan Jul 12, 2018
1b6bfd1
Use timestamp in temoorary file names, so that we wont never create s…
neslihanturan Jul 12, 2018
a7a8061
Code cleanup
neslihanturan Jul 12, 2018
544c0f5
Add nullable annotation to handleImagePicked method uri parameter
neslihanturan Jul 12, 2018
b275126
Add Nullable anotation to method
neslihanturan Jul 12, 2018
b531e92
Code cleanup
neslihanturan Jul 12, 2018
3d8d191
Fix conflicts
neslihanturan Jul 12, 2018
a31e4cc
Bugfix: use uri.getPath() instead uri.toString
neslihanturan Jul 12, 2018
a47fe4b
Remove unecesarry file saving operation, which was added accidentally
neslihanturan Jul 12, 2018
8ac9205
Fix travis fail
neslihanturan Jul 12, 2018
a280c0c
Remove temp file if upload gets failed and file is still there
neslihanturan Jul 13, 2018
03b0ef5
Code cleanup:Remove unused parameters from removeTempFile method
neslihanturan Jul 13, 2018
bbb9a87
Empty temp directory on app create, in case some of files are still t…
neslihanturan Jul 13, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 5 additions & 12 deletions ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,18 @@
_Before creating an issue, please search the existing issues to see if a similar one has already been created. You can search issues by specific labels (e.g. `label:nearby `) or just by typing keywords into the search filter._

**Summary:**

Summarize your issue in one sentence (what goes wrong, what did you expect to happen)

_Before creating an issue, please search the existing issues to see if a similar one has already been created. You can search issues by specific labels (e.g. `label:nearby `) or just by typing keywords into the search filter._

**Steps to reproduce:**

How can we reproduce the issue?
How can we reproduce the issue?
What did you expect the app to do, and what did you see instead?

**Add System logs:**

Add logcat files here (if possible).

**Expected behavior:**

What did you expect the App to do?

**Observed behavior:**

What did you see instead? Describe your issue in detail here.

**Device and Android version:**

What make and model device (e.g., Samsung J7) did you encounter this on? What Android
Expand All @@ -28,7 +21,7 @@ version (e.g., Android 4.0 Ice Cream Sandwich or Android 6.0 Marshmallow) are yo

**Commons app version:**

You can find this information by going to the navigation drawer in the app and tapping 'About'
You can find this information by going to the navigation drawer in the app and tapping 'About'. If you are building from our codebase instead of downloading the app, please also mention the branch and build variant (e.g. master and prodDebug).

**Screen-shots:**

Expand Down
19 changes: 6 additions & 13 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ apply from: 'quality.gradle'
apply plugin: 'com.getkeepsafe.dexcount'

dependencies {
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.prof.rssparser:rssparser:1.1'
implementation 'com.github.nicolas-raoul:Quadtree:ac16ea8035bf07'
implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'
implementation 'in.yuvi:http.fluent:1.3'
Expand All @@ -23,44 +25,33 @@ dependencies {
implementation('com.mapbox.mapboxsdk:mapbox-android-sdk:5.5.0@aar') {
transitive = true
}

implementation "com.github.deano2390:MaterialShowcaseView:1.2.0"

implementation 'com.github.deano2390:MaterialShowcaseView:1.2.0'
implementation "com.android.support:support-v4:$SUPPORT_LIB_VERSION"
implementation "com.android.support:appcompat-v7:$SUPPORT_LIB_VERSION"
implementation "com.android.support:design:$SUPPORT_LIB_VERSION"
implementation "com.android.support:customtabs:$SUPPORT_LIB_VERSION"

implementation "com.android.support:cardview-v7:$SUPPORT_LIB_VERSION"

implementation "com.jakewharton:butterknife:$BUTTERKNIFE_VERSION"
kapt "com.jakewharton:butterknife-compiler:$BUTTERKNIFE_VERSION"

implementation 'com.squareup.okhttp3:okhttp:3.9.1'
implementation 'com.squareup.okio:okio:1.13.0'

implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
implementation 'com.android.support:multidex:1.0.3'

implementation 'io.reactivex.rxjava2:rxjava:2.1.2'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.0.0'

implementation 'org.jsoup:jsoup:1.11.3'

implementation 'com.facebook.fresco:fresco:1.5.0'
implementation 'com.facebook.stetho:stetho:1.5.0'

implementation "com.google.dagger:dagger:$DAGGER_VERSION"
implementation "com.google.dagger:dagger-android-support:$DAGGER_VERSION"
kapt "com.google.dagger:dagger-android-processor:$DAGGER_VERSION"
kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"

testImplementation "org.robolectric:multidex:3.4.2"
testImplementation 'org.robolectric:multidex:3.4.2'
testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
testImplementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
testImplementation 'junit:junit:4.12'
Expand Down Expand Up @@ -134,6 +125,7 @@ android {
flavorDimensions 'tier'
productFlavors {
prod {
buildConfigField "String", "WIKIMEDIA_API_POTD", "\"https://commons.wikimedia.org/w/api.php?action=featuredfeed&feed=potd&feedformat=rss&language=en\""
buildConfigField "String", "WIKIMEDIA_API_HOST", "\"https://commons.wikimedia.org/w/api.php\""
buildConfigField "String", "WIKIDATA_API_HOST", "\"https://www.wikidata.org/w/api.php\""
buildConfigField "String", "WIKIMEDIA_FORGE_API_HOST", "\"https://tools.wmflabs.org/\""
Expand All @@ -151,6 +143,7 @@ android {

beta {
// What values do we need to hit the BETA versions of the site / api ?
buildConfigField "String", "WIKIMEDIA_API_POTD", "\"https://commons.wikimedia.org/w/api.php?action=featuredfeed&feed=potd&feedformat=rss&language=en\""
buildConfigField "String", "WIKIMEDIA_API_HOST", "\"https://commons.wikimedia.beta.wmflabs.org/w/api.php\""
buildConfigField "String", "WIKIDATA_API_HOST", "\"https://www.wikidata.org/w/api.php\""
buildConfigField "String", "WIKIMEDIA_FORGE_API_HOST", "\"https://tools.wmflabs.org/\""
Expand Down
Binary file added app/libs/java-json.jar
Binary file not shown.
10 changes: 10 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,16 @@
android:label="@string/provider_categories"
android:syncable="false" />

<receiver android:name=".widget.PicOfDayAppWidget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/pic_of_day_app_widget_info" />
</receiver>

</application>

</manifest>
6 changes: 0 additions & 6 deletions app/src/main/java/fr/free/nrw/commons/AboutActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
import android.text.Html;
import android.text.SpannableString;
import android.text.style.UnderlineSpan;
import android.util.Log;
import android.support.customtabs.CustomTabsIntent;
import android.support.v4.content.ContextCompat;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
Expand All @@ -20,16 +17,13 @@
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import fr.free.nrw.commons.theme.NavigationBaseActivity;
import fr.free.nrw.commons.ui.widget.HtmlTextView;

import static android.widget.Toast.LENGTH_SHORT;

/**
* Represents about screen of this app
*/
Expand Down
5 changes: 3 additions & 2 deletions app/src/main/java/fr/free/nrw/commons/CommonsApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@
import javax.inject.Inject;
import javax.inject.Named;

import fr.free.nrw.commons.BuildConfig;
import fr.free.nrw.commons.auth.SessionManager;
import fr.free.nrw.commons.category.CategoryDao;
import fr.free.nrw.commons.contributions.ContributionDao;
import fr.free.nrw.commons.data.DBOpenHelper;
import fr.free.nrw.commons.di.ApplicationlessInjection;
import fr.free.nrw.commons.modifications.ModifierSequenceDao;
import fr.free.nrw.commons.upload.FileUtils;
import fr.free.nrw.commons.utils.ContributionUtils;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
Expand Down Expand Up @@ -69,7 +69,6 @@ public class CommonsApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();

ApplicationlessInjection
.getInstance(this)
.getCommonsApplicationComponent()
Expand All @@ -82,6 +81,8 @@ public void onCreate() {
if (setupLeakCanary() == RefWatcher.DISABLED) {
return;
}
// Empty temp directory in case some temp files are created and never removed.
ContributionUtils.emptyTemporaryDirectory();

Timber.plant(new Timber.DebugTree());

Expand Down
2 changes: 0 additions & 2 deletions app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import android.accounts.AccountAuthenticatorActivity;
import android.accounts.AccountAuthenticatorResponse;
import android.accounts.AccountManager;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
Expand All @@ -24,7 +23,6 @@
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import fr.free.nrw.commons.R;
import fr.free.nrw.commons.auth.AuthenticatedActivity;
import fr.free.nrw.commons.media.MediaDetailPagerFragment;
import timber.log.Timber;

/**
* This activity displays pictures of a particular category
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ public Contribution[] newArray(int i) {
private String decimalCoords;
private boolean isMultiple;
private String wikiDataEntityId;
private Uri contentProviderUri;

public Contribution(Uri contentUri, String filename, Uri localUri, String imageUrl, Date timestamp,
int state, long dataLength, Date dateUploaded, long transferred,
Expand Down Expand Up @@ -236,4 +237,12 @@ public String getWikiDataEntityId() {
public void setWikiDataEntityId(String wikiDataEntityId) {
this.wikiDataEntityId = wikiDataEntityId;
}

public void setContentProviderUri(Uri contentProviderUri) {
this.contentProviderUri = contentProviderUri;
}

public Uri getContentProviderUri() {
return contentProviderUri;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.content.FileProvider;
Expand All @@ -29,7 +30,7 @@
public class ContributionController {

private static final int SELECT_FROM_GALLERY = 1;
private static final int SELECT_FROM_CAMERA = 2;
public static final int SELECT_FROM_CAMERA = 2;

private Fragment fragment;

Expand Down Expand Up @@ -91,7 +92,7 @@ public void startGalleryPick() {
fragment.startActivityForResult(pickImageIntent, SELECT_FROM_GALLERY);
}

public void handleImagePicked(int requestCode, Intent data, boolean isDirectUpload, String wikiDataEntityId) {
public void handleImagePicked(int requestCode, @Nullable Uri uri, boolean isDirectUpload, String wikiDataEntityId) {
Timber.d("Is direct upload %s and the Wikidata entity ID is %s", isDirectUpload, wikiDataEntityId);
FragmentActivity activity = fragment.getActivity();
Timber.d("handleImagePicked() called with onActivityResult()");
Expand All @@ -100,7 +101,7 @@ public void handleImagePicked(int requestCode, Intent data, boolean isDirectUplo
switch (requestCode) {
case SELECT_FROM_GALLERY:
//Handles image picked from gallery
Uri imageData = data.getData();
Uri imageData = uri;
shareIntent.setType(activity.getContentResolver().getType(imageData));
shareIntent.putExtra(EXTRA_STREAM, imageData);
shareIntent.putExtra(EXTRA_SOURCE, SOURCE_GALLERY);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import android.os.RemoteException;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Log;

import java.util.Date;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import fr.free.nrw.commons.mwapi.MediaWikiApi;
import fr.free.nrw.commons.settings.Prefs;
import fr.free.nrw.commons.upload.UploadService;
import fr.free.nrw.commons.utils.ContributionUtils;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.schedulers.Schedulers;
Expand Down Expand Up @@ -144,6 +145,7 @@ protected void onCreate(Bundle savedInstanceState) {
if(!BuildConfig.FLAVOR.equalsIgnoreCase("beta")){
setUploadCount();
}

}

@Override
Expand Down Expand Up @@ -188,6 +190,9 @@ public void deleteUpload(int i) {
Contribution c = contributionDao.fromCursor(allContributions);
if (c.getState() == STATE_FAILED) {
Timber.d("Deleting failed contrib %s", c.toString());
// If upload fails and then user decides to cancel upload at all, which means contribution
// object will be deleted. So we have to delete temp file for that contribution.
ContributionUtils.removeTemporaryFile(c.getLocalUri());
contributionDao.delete(c);
} else {
Timber.d("Skipping deletion for non-failed contrib %s", c.toString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
Expand All @@ -32,6 +33,7 @@
import fr.free.nrw.commons.R;
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
import fr.free.nrw.commons.nearby.NearbyActivity;
import fr.free.nrw.commons.utils.ContributionUtils;
import timber.log.Timber;

import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
Expand All @@ -48,8 +50,6 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment {
TextView waitingMessage;
@BindView(R.id.loadingContributionsProgressBar)
ProgressBar progressBar;
@BindView(R.id.swipeRefreshLayout)
SwipeRefreshLayout swipeRefreshLayout;

@Inject
@Named("prefs")
Expand All @@ -67,13 +67,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
ButterKnife.bind(this, v);

contributionsList.setOnItemClickListener((AdapterView.OnItemClickListener) getActivity());
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
((ContributionsListAdapter)contributionsList.getAdapter()).notifyDataSetChanged();
swipeRefreshLayout.setRefreshing(false);
}
});
if (savedInstanceState != null) {
Timber.d("Scrolling to %d", savedInstanceState.getInt("grid-position"));
contributionsList.setSelection(savedInstanceState.getInt("grid-position"));
Expand Down Expand Up @@ -127,7 +120,13 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
Timber.d("OnActivityResult() parameters: Req code: %d Result code: %d Data: %s",
requestCode, resultCode, data);
controller.handleImagePicked(requestCode, data, false, null);
if (requestCode == ContributionController.SELECT_FROM_CAMERA) {
// If coming from camera, pass null as uri. Because camera photos get saved to a
// fixed directory
controller.handleImagePicked(requestCode, null, false, null);
} else {
controller.handleImagePicked(requestCode, data.getData(), false, null);
}
} else {
Timber.e("OnActivityResult() parameters: Req code: %d Result code: %d Data: %s",
requestCode, resultCode, data);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,16 @@
import android.preference.PreferenceManager;
import android.support.v4.util.LruCache;

import com.google.gson.Gson;

import javax.inject.Named;
import javax.inject.Singleton;

import dagger.Module;
import dagger.Provides;

import fr.free.nrw.commons.BuildConfig;
import fr.free.nrw.commons.auth.AccountUtil;
import fr.free.nrw.commons.auth.SessionManager;
import fr.free.nrw.commons.data.DBOpenHelper;
import fr.free.nrw.commons.location.LocationServiceManager;
import fr.free.nrw.commons.mwapi.ApacheHttpClientMediaWikiApi;
import fr.free.nrw.commons.mwapi.MediaWikiApi;
import fr.free.nrw.commons.nearby.NearbyPlaces;
import fr.free.nrw.commons.upload.UploadController;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@
import javax.inject.Inject;
import javax.inject.Provider;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import fr.free.nrw.commons.License;
import fr.free.nrw.commons.LicenseList;
import fr.free.nrw.commons.Media;
Expand Down
Loading