@@ -1113,15 +1113,9 @@ private void startFileUpload() {
1113
1113
}
1114
1114
1115
1115
@ NonNull
1116
- private MultipartBody .Part prepareFilePart (String partName , final File file , int notificationId ) {
1116
+ private MultipartBody .Part prepareFilePart (String partName , final File file , int notificationId , UploadProgressRequest . UploadCallbacks callbacks ) {
1117
1117
// create UploadProgressRequest instance from file
1118
- UploadProgressRequest request = new UploadProgressRequest (file , new UploadProgressRequest .UploadCallbacks () {
1119
- @ Override
1120
- public void onProgressUpdate (int percentage , String progress , int notificationId ) {
1121
- // update notification
1122
- progressNotification (notificationId , percentage , progress , file .getName ());
1123
- }
1124
- }, notificationId );
1118
+ UploadProgressRequest request = new UploadProgressRequest (file , callbacks , notificationId );
1125
1119
1126
1120
// MultipartBody.Part is used to send also the actual file name
1127
1121
return MultipartBody .Part .createFormData (partName , file .getName (), request );
@@ -1210,8 +1204,22 @@ private void uploadFile(final File file) {
1210
1204
// generate unique notification Id for this upload
1211
1205
final int notifId = (int ) (new Date ().getTime () % Integer .MAX_VALUE );
1212
1206
1207
+ // update notification after every one second
1208
+ final long startTime = System .currentTimeMillis ();
1209
+ final int [] counter = {0 };
1210
+ UploadProgressRequest .UploadCallbacks progressListener = new UploadProgressRequest .UploadCallbacks () {
1211
+ @ Override
1212
+ public void onProgressUpdate (int percentage , String progress , int notificationId ) {
1213
+ if (System .currentTimeMillis () - startTime >= 1000 * counter [0 ]) {
1214
+ // update notification
1215
+ progressNotification (notificationId , percentage , progress , file .getName ());
1216
+ counter [0 ]++;
1217
+ }
1218
+ }
1219
+ };
1220
+
1213
1221
// MultipartBody.Part is used to send also the actual file name
1214
- MultipartBody .Part body = prepareFilePart ("file" , file , notifId );
1222
+ MultipartBody .Part body = prepareFilePart ("file" , file , notifId , progressListener );
1215
1223
1216
1224
// start notification
1217
1225
setNotification (notifId , getString (R .string .init_notif_title ));
0 commit comments