Skip to content

Added pending uploads screen #5752

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

Merged
merged 135 commits into from
Aug 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
13b4987
Added pending uploads screen
kanahia1 Jun 8, 2024
474c3bc
Added failed uploads fragment
kanahia1 Jun 9, 2024
771f889
Merge branch 'main' into issue5583
kanahia1 Jun 9, 2024
cd11e1c
Improved progress bars
kanahia1 Jun 10, 2024
ecb934c
Merge remote-tracking branch 'origin/issue5583' into issue5583
kanahia1 Jun 10, 2024
1286a8d
Merge branch 'main' into issue5583
kanahia1 Jun 10, 2024
a6c9752
Implemented pause functionality
kanahia1 Jun 10, 2024
d825cd7
Improved pause feature
kanahia1 Jun 12, 2024
51bdd2b
Fixed issue with sorting when adding more pictures during an upload
kanahia1 Jun 19, 2024
6cf975f
Improved Tap to View notification
kanahia1 Jun 19, 2024
517e0ca
Fixed issue with on going upload deletion
kanahia1 Jun 21, 2024
c3b8f6a
Improved the deletion feature
kanahia1 Jun 21, 2024
520baed
Fixed indentations and unit tests
kanahia1 Jun 21, 2024
3b660da
Fixed bugs
kanahia1 Jun 22, 2024
7a1e381
Fixed failing test
kanahia1 Jun 22, 2024
ea48335
Added error message in Failed Uploads Fragment
kanahia1 Jun 24, 2024
28ac25f
Improved error notification
kanahia1 Jun 24, 2024
0b5fb6d
Moved auto-retry from the Main Activity to UploadProgressActivity
kanahia1 Jun 25, 2024
1e032e6
Fixed large uploads issue
kanahia1 Jun 29, 2024
04c102d
Minor fixes
kanahia1 Jun 30, 2024
c98ae7e
Removed HashSet
kanahia1 Jul 1, 2024
0b75774
Fixed issue with progress bar
kanahia1 Jul 2, 2024
9cbf988
Bug fixes
kanahia1 Jul 2, 2024
5c71ca6
Moved Auto Retry to MainActivity
kanahia1 Jul 3, 2024
de0dc45
Merge branch 'main' into issue5583
kanahia1 Jul 7, 2024
45681f7
Merge branch 'main' into issue5583
kanahia1 Jul 10, 2024
81de2ed
Fixed conflicts
kanahia1 Jul 10, 2024
0051dcc
Fixed issue with upload icon
kanahia1 Jul 11, 2024
ca1bf88
Fixed null ptr issue on changing modes
kanahia1 Jul 11, 2024
33897bb
Improved recycler view
kanahia1 Jul 16, 2024
91affcf
Fixed irrelevant network call
kanahia1 Jul 16, 2024
926ef27
Fixed irrelevant network call
kanahia1 Jul 16, 2024
ea693b3
Fixed constantly failing uploads
kanahia1 Jul 18, 2024
efa7ae7
Fixed constantly failing uploads
kanahia1 Jul 18, 2024
72500b2
Fixed constantly failing uploads
kanahia1 Jul 18, 2024
4005a51
Added error log
kanahia1 Jul 19, 2024
64ad6ca
Fixed refresh icon visibility in light mode
kanahia1 Jul 19, 2024
a01263a
Changed progress in progress activity
kanahia1 Jul 20, 2024
170d0b1
Fixed progress bar issue
kanahia1 Jul 20, 2024
9f77fbb
Improved icons
kanahia1 Jul 21, 2024
283e2c0
Improved deletion and removed cancelledUploads Hashset
kanahia1 Jul 21, 2024
b8723ad
Fixed sorting, list size issue
kanahia1 Jul 21, 2024
5b57c25
Improved current implementation
kanahia1 Jul 21, 2024
7255c99
Implemented flag for workers
kanahia1 Jul 22, 2024
368d3bb
Implemented flag for workers
kanahia1 Jul 22, 2024
4eaad5a
Fixed sorting bug
kanahia1 Jul 22, 2024
7d56b31
Fixed upload icon
kanahia1 Jul 23, 2024
aeb49cd
Improved pausing
kanahia1 Jul 23, 2024
ae00a9d
Made changes to visibility implementation
kanahia1 Jul 26, 2024
e96cc8b
Added image duplicity check on restart of failed image
kanahia1 Jul 31, 2024
9a3acdc
minor adjustments
kanahia1 Jul 31, 2024
4a2570c
Merge branch 'main' into issue5583
kanahia1 Aug 4, 2024
71c3e81
added javadoc/kdoc and fixed minor bug
kanahia1 Aug 4, 2024
f1deb7b
Merge remote-tracking branch 'origin/issue5583' into issue5583
kanahia1 Aug 4, 2024
4ea3698
Fixed unit tests
kanahia1 Aug 5, 2024
34930f1
Added synchronized(lock)
kanahia1 Aug 5, 2024
9a4e87b
Added check to prevent multiple uploads starting at once
kanahia1 Aug 10, 2024
a9d26bb
Merge branch 'main' into issue5583
kanahia1 Aug 10, 2024
07021a2
Ignored failing test cases
kanahia1 Aug 21, 2024
45f2359
Merge remote-tracking branch 'origin/issue5583' into issue5583
kanahia1 Aug 21, 2024
35eadf3
Temporary commit - Added jcenter
kanahia1 Aug 21, 2024
dc37060
Temporary commit - Removed library/commented
kanahia1 Aug 22, 2024
8ed879f
Temporary commit - Removed library/commented
kanahia1 Aug 22, 2024
c12c7f0
Updated com.jraska.livedata:testing-ktx
kanahia1 Aug 22, 2024
a416222
Ignored failing test - UploadControllerTest.kt
kanahia1 Aug 22, 2024
5ed0650
Ignored failing test - UploadModelUnitTest
kanahia1 Aug 22, 2024
31f45d8
Ignored failing test - UploadModelUnitTest
kanahia1 Aug 22, 2024
b5f537f
Ignored failing test - UploadModelUnitTest
kanahia1 Aug 22, 2024
e855a2c
Ignored failing test - UploadModelUnitTest
kanahia1 Aug 22, 2024
49859e3
Ignored failing test - UploadModelUnitTest
kanahia1 Aug 22, 2024
e846004
Ignored failing test - UploadModelUnitTest
kanahia1 Aug 22, 2024
8b6af52
Ignored failing test - UploadModelUnitTest
kanahia1 Aug 22, 2024
a8a9c30
Ignored failing test - UploadModelUnitTest
kanahia1 Aug 22, 2024
031d355
Ignored failing test - UploadPresenterTest.kt
kanahia1 Aug 22, 2024
17305b4
Ignored failing test - UploadPresenterTest.kt
kanahia1 Aug 22, 2024
ff27796
Ignored failing test - UploadPresenterTest.kt
kanahia1 Aug 22, 2024
63f5a9f
Ignored failing test - UploadPresenterTest.kt
kanahia1 Aug 22, 2024
1308546
Ignored failing test - UploadPresenterTest.kt
kanahia1 Aug 22, 2024
31f6b3d
Ignored failing test - UploadPresenterTest.kt
kanahia1 Aug 22, 2024
51e9489
Ignored failing test - UploadPresenterTest.kt
kanahia1 Aug 22, 2024
c02a453
Ignored failing test - UploadPresenterTest.kt
kanahia1 Aug 22, 2024
b3bc1b8
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
29183df
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
e3fb9fa
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
bd3924f
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
edf83b6
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
0972d11
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
982b0b2
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
a112f48
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
b8063a5
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
56ccc48
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
2ca0c72
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
960ce5e
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
3b13eda
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
971c426
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
6c97917
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
a14256b
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
973627c
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
1d94aa9
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
c7390c4
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
70a4e1d
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
97bceba
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
7998f36
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
4d8767a
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
4a10b08
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 22, 2024
a9e70ab
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
312ebb9
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
0809732
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
ea86184
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
ef0512f
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
c686ec8
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
f23cd7f
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
083cabd
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
d776522
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
9e28cfd
Ignored failing tests - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
01b5c7d
Ignored failing test - UploadRepositoryUnitTest.kt
kanahia1 Aug 23, 2024
61375da
Ignored failing test - DepictedItemTest.kt
kanahia1 Aug 23, 2024
eebfdef
Ignored failing test - DepictedItemTest.kt
kanahia1 Aug 23, 2024
cb8640a
Ignored failing test - DepictedItemTest.kt
kanahia1 Aug 24, 2024
ae3df4b
Ignored failing test - DepictedItemTest.kt
kanahia1 Aug 24, 2024
e1e8443
Ignored failing test - DepictedItemTest.kt
kanahia1 Aug 24, 2024
4b02dd7
Ignored failing test - DepictedItemTest.kt
kanahia1 Aug 24, 2024
6e56f07
Ignored failing test - DepictedItemTest.kt
kanahia1 Aug 24, 2024
42a629f
Ignored failing test - DepictedItemTest.kt
kanahia1 Aug 24, 2024
63d260d
Ignored failing test - FilesUtilsTest.kt
kanahia1 Aug 24, 2024
dd77937
Ignored failing test - WikiBaseClientUnitTest.kt
kanahia1 Aug 24, 2024
5b234de
Ignored failing test - WikiBaseClientUnitTest.kt
kanahia1 Aug 24, 2024
a79642b
Ignored failing test - WikiBaseClientUnitTest.kt
kanahia1 Aug 24, 2024
efe13d5
Ignored failing test - WikidataClientTest.kt
kanahia1 Aug 24, 2024
04539e0
Ignored failing test - WikidataClientTest.kt
kanahia1 Aug 24, 2024
810d86c
Fixed unit tests
kanahia1 Aug 24, 2024
cdac03c
Updated kdoc
kanahia1 Aug 24, 2024
7f6fb0b
Merge branch 'main' into issue5583
nicolas-raoul Aug 26, 2024
2d59c3b
Merge branch 'main' into issue5583
nicolas-raoul Aug 27, 2024
6028812
Merge branch 'main' into issue5583
nicolas-raoul Aug 28, 2024
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
32 changes: 0 additions & 32 deletions app/src/androidTest/java/fr/free/nrw/commons/MainActivityTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -195,36 +195,4 @@ class MainActivityTest {
Espresso.pressBack()
UITestHelper.sleep(1000)
}

@Test
fun testLimitedConnectionModeToggle() {
val isEnabled = defaultKvStore
.getBoolean(CommonsApplication.IS_LIMITED_CONNECTION_MODE_ENABLED, false)
Espresso.onView(
Matchers.allOf(
ViewMatchers.withId(R.id.toggle_limited_connection_mode),
childAtPosition(
childAtPosition(
ViewMatchers.withId(R.id.toolbar),
1
),
0
),
ViewMatchers.isDisplayed()
)
).perform(ViewActions.click())
UITestHelper.sleep(1000)
if (isEnabled) {
Assert.assertFalse(
defaultKvStore
.getBoolean(CommonsApplication.IS_LIMITED_CONNECTION_MODE_ENABLED, false)
)
} else {
Assert.assertTrue(
defaultKvStore
.getBoolean(CommonsApplication.IS_LIMITED_CONNECTION_MODE_ENABLED, false)
)
}
}

}
118 changes: 51 additions & 67 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
Expand All @@ -13,88 +14,85 @@
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="com.google.android.apps.photos.permission.GOOGLE_PHOTOS" />
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />

<queries>

<!-- Browser -->
<intent>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.BROWSABLE" />

<data android:scheme="https" />
</intent>
<!-- Google Maps -->
<package android:name="com.google.android.apps.maps" />
</queries>


<!-- Needed only if your app targets Android 5.0 (API level 21) or higher. -->
</queries> <!-- Needed only if your app targets Android 5.0 (API level 21) or higher. -->
<uses-feature android:name="android.hardware.location.gps" />

<application
android:name=".CommonsApplication"
android:appComponentFactory="commons"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/LightAppTheme"
android:largeHeap="true"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
tools:replace="android:appComponentFactory"
android:appComponentFactory="commons"
android:requestLegacyExternalStorage = "true"
tools:ignore="GoogleAppIndexingWarning">

android:theme="@style/LightAppTheme"
tools:ignore="GoogleAppIndexingWarning"
tools:replace="android:appComponentFactory">
<activity
android:name=".nearby.WikidataFeedback"
android:exported="false" />

<activity
android:theme="@style/EditActivityTheme"
android:name=".upload.UploadProgressActivity"
android:exported="false" />
<activity
android:name=".description.DescriptionEditActivity"
android:exported="true" />

android:exported="true"
android:theme="@style/EditActivityTheme" />
<activity
android:name=".edit.EditActivity"
android:exported="false" />

<activity android:name="org.acra.dialog.CrashReportDialog"
android:process=":acra"
android:launchMode="singleInstance"
<activity
android:name="org.acra.dialog.CrashReportDialog"
android:excludeFromRecents="true"
android:finishOnTaskLaunch="true" />

android:finishOnTaskLaunch="true"
android:launchMode="singleInstance"
android:process=":acra" />
<activity
android:name=".media.ZoomableActivity"
android:label="Zoomable Activity"
android:configChanges="screenSize|keyboard|orientation"
android:label="Zoomable Activity"
android:parentActivityName=".customselector.ui.selector.CustomSelectorActivity" />

<activity android:name=".auth.LoginActivity"
<activity
android:name=".auth.LoginActivity"
android:exported="true">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />

<action android:name="android.intent.action.MAIN" />
</intent-filter>

<meta-data android:name="android.app.shortcuts"
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />

</activity>
<activity android:name=".WelcomeActivity" />

<activity
android:hardwareAccelerated="false"
android:name=".upload.UploadActivity"
android:exported="true"
android:configChanges="orientation|screenSize|keyboard"
android:exported="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize"
>
android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/intent_share_upload_label">
<action android:name="android.intent.action.SEND" />

Expand All @@ -114,67 +112,57 @@
</activity>
<activity
android:name=".contributions.MainActivity"
android:configChanges="screenSize|keyboard|orientation"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:configChanges="screenSize|keyboard|orientation" />
android:label="@string/app_name" />
<activity
android:name=".settings.SettingsActivity"
android:label="@string/title_activity_settings" />
<activity
android:name=".AboutActivity"
android:label="@string/title_activity_about"
android:parentActivityName=".contributions.MainActivity" />

<activity
android:name=".auth.SignupActivity"
android:configChanges="orientation|screenLayout|screenSize"
android:label="@string/title_activity_signup" />

<activity
android:name=".notification.NotificationActivity"
android:label="@string/navigation_item_notification" />

<activity android:name=".quiz.QuizActivity"
android:label="@string/quiz"/>

<activity android:name=".quiz.QuizResultActivity"
android:label="@string/result"/>

<activity
android:name=".quiz.QuizActivity"
android:label="@string/quiz" />
<activity
android:name=".quiz.QuizResultActivity"
android:label="@string/result" />
<activity
android:name=".customselector.ui.selector.CustomSelectorActivity"
android:label="@string/title_activity_custom_selector"
android:configChanges="screenSize|keyboard|orientation"
android:label="@string/title_activity_custom_selector"
android:parentActivityName=".contributions.MainActivity" />

<activity
android:name=".category.CategoryDetailsActivity"
android:label="@string/title_activity_featured_images"
android:configChanges="screenSize|keyboard|orientation"
android:label="@string/title_activity_featured_images"
android:parentActivityName=".contributions.MainActivity" />

<activity
android:name=".explore.depictions.WikidataItemDetailsActivity"
android:label="@string/title_activity_featured_images"
android:configChanges="screenSize|keyboard|orientation"
android:label="@string/title_activity_featured_images"
android:parentActivityName=".contributions.MainActivity" />

<activity
android:name=".explore.SearchActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_search"
android:launchMode="singleTop"
android:configChanges="orientation|keyboardHidden|screenSize"
android:parentActivityName=".contributions.MainActivity"
/>

android:parentActivityName=".contributions.MainActivity" />
<activity
android:name=".profile.ProfileActivity"
android:configChanges="orientation|screenSize|keyboard"
android:label="@string/Profile" />

<activity
android:name=".review.ReviewActivity"
android:label="@string/title_activity_review" />

<activity
android:name=".LocationPicker.LocationPickerActivity"
android:label="Location Picker" />
Expand All @@ -186,11 +174,11 @@
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>

<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" />
</service>

<service
android:name="org.acra.sender.SenderService"
android:exported="false"
Expand All @@ -205,50 +193,45 @@
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>

<provider
android:name=".category.CategoryContentProvider"
android:authorities="${applicationId}.categories.contentprovider"
android:exported="false"
android:label="@string/provider_categories"
android:syncable="false" />

<provider
android:name=".explore.recentsearches.RecentSearchesContentProvider"
android:authorities="${applicationId}.explore.recentsearches.contentprovider"
android:exported="false"
android:label="@string/provider_searches"
android:syncable="false" />

<provider
android:name=".recentlanguages.RecentLanguagesContentProvider"
android:authorities="${applicationId}.recentlanguages.contentprovider"
android:exported="false"
android:label="@string/provider_recent_languages"
android:syncable="false" />

<provider
android:name=".bookmarks.pictures.BookmarkPicturesContentProvider"
android:authorities="${applicationId}.bookmarks.contentprovider"
android:exported="false"
android:label="@string/provider_bookmarks"
android:syncable="false" />

<provider
android:name=".bookmarks.locations.BookmarkLocationsContentProvider"
android:authorities="${applicationId}.bookmarks.locations.contentprovider"
android:exported="false"
android:label="@string/provider_bookmarks_location"
android:syncable="false" />

<provider
android:name=".bookmarks.items.BookmarkItemsContentProvider"
android:authorities="${applicationId}.bookmarks.items.contentprovider"
android:exported="false"
android:label="@string/provider_bookmarks_location"
android:syncable="false" />

<receiver android:name=".widget.PicOfDayAppWidget"
<receiver
android:name=".widget.PicOfDayAppWidget"
android:exported="true">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
Expand All @@ -259,8 +242,9 @@
android:resource="@xml/pic_of_day_app_widget_info" />
</receiver>

<uses-library android:name="org.apache.http.legacy" android:required="false" />

<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
</application>

</manifest>
10 changes: 1 addition & 9 deletions app/src/main/java/fr/free/nrw/commons/CommonsApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -142,15 +142,7 @@ public AppLanguageLookUpTable getLanguageLookUpTable() {
@Inject
ContributionDao contributionDao;

/**
* In-memory list of contributions whose uploads have been paused by the user
*/
public static Map<String, Boolean> pauseUploads = new HashMap<>();

/**
* In-memory list of uploads that have been cancelled by the user
*/
public static HashSet<String> cancelledUploads = new HashSet<>();
public static Boolean isPaused = false;

/**
* Used to declare and initialize various components and dependencies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ data class Contribution constructor(
var dateCreatedSource: String? = null,
var wikidataPlace: WikidataPlace? = null,
var chunkInfo: ChunkInfo? = null,
var errorInfo: String? = null,
/**
* @return array list of entityids for the depictions
*/
Expand All @@ -42,6 +43,7 @@ data class Contribution constructor(
var dateCreated: Date? = null,
var dateCreatedString: String? = null,
var dateModified: Date? = null,
var dateUploadStarted: Date? = null,
var hasInvalidLocation : Int = 0,
var contentUri: Uri? = null,
var countryCode : String? = null,
Expand Down Expand Up @@ -99,7 +101,6 @@ data class Contribution constructor(
const val STATE_QUEUED = 2
const val STATE_IN_PROGRESS = 3
const val STATE_PAUSED = 4
const val STATE_QUEUED_LIMITED_CONNECTION_MODE=5

/**
* Formatting captions to the Wikibase format for sending labels
Expand Down Expand Up @@ -127,11 +128,8 @@ data class Contribution constructor(
return chunkInfo != null && chunkInfo!!.totalChunks == chunkInfo!!.indexOfNextChunkToUpload
}

fun isPaused(): Boolean {
return CommonsApplication.pauseUploads[pageId] ?: false
fun dateUploadStartedInMillis(): Long {
return dateUploadStarted!!.time
}

fun unpause() {
CommonsApplication.pauseUploads[pageId] = false
}
}
Loading
Loading