mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-30 22:34:02 +01:00 
			
		
		
		
	More cleanup now that clean Dao classes are available from Dagger.
This commit is contained in:
		
							parent
							
								
									874627e3f5
								
							
						
					
					
						commit
						4bd72462e5
					
				
					 6 changed files with 48 additions and 41 deletions
				
			
		|  | @ -17,10 +17,25 @@ import javax.inject.Provider; | |||
| 
 | ||||
| import fr.free.nrw.commons.settings.Prefs; | ||||
| 
 | ||||
| import static fr.free.nrw.commons.contributions.ContributionDao.Table.ALL_FIELDS; | ||||
| import static fr.free.nrw.commons.contributions.ContributionsContentProvider.BASE_URI; | ||||
| import static fr.free.nrw.commons.contributions.ContributionsContentProvider.uriForId; | ||||
| 
 | ||||
| public class ContributionDao { | ||||
|     /* | ||||
|         This sorts in the following order: | ||||
|         Currently Uploading | ||||
|         Failed (Sorted in ascending order of time added - FIFO) | ||||
|         Queued to Upload (Sorted in ascending order of time added - FIFO) | ||||
|         Completed (Sorted in descending order of time added) | ||||
| 
 | ||||
|         This is why Contribution.STATE_COMPLETED is -1. | ||||
|      */ | ||||
|     static final String CONTRIBUTION_SORT = Table.COLUMN_STATE + " DESC, " | ||||
|             + Table.COLUMN_UPLOADED + " DESC , (" | ||||
|             + Table.COLUMN_TIMESTAMP + " * " | ||||
|             + Table.COLUMN_STATE + ")"; | ||||
| 
 | ||||
|     private final Provider<ContentProviderClient> clientProvider; | ||||
| 
 | ||||
|     @Inject | ||||
|  | @ -28,6 +43,17 @@ public class ContributionDao { | |||
|         this.clientProvider = clientProvider; | ||||
|     } | ||||
| 
 | ||||
|     Cursor loadAllContributions() { | ||||
|         ContentProviderClient db = clientProvider.get(); | ||||
|         try { | ||||
|             return db.query(BASE_URI, ALL_FIELDS, "", null, CONTRIBUTION_SORT); | ||||
|         } catch (RemoteException e) { | ||||
|             return null; | ||||
|         } finally { | ||||
|             db.release(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public void save(Contribution contribution) { | ||||
|         ContentProviderClient db = clientProvider.get(); | ||||
|         try { | ||||
|  | @ -59,7 +85,7 @@ public class ContributionDao { | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public static ContentValues toContentValues(Contribution contribution) { | ||||
|     ContentValues toContentValues(Contribution contribution) { | ||||
|         ContentValues cv = new ContentValues(); | ||||
|         cv.put(Table.COLUMN_FILENAME, contribution.getFilename()); | ||||
|         if (contribution.getLocalUri() != null) { | ||||
|  |  | |||
|  | @ -65,21 +65,6 @@ public  class       ContributionsActivity | |||
|     private UploadService uploadService; | ||||
|     private boolean isUploadServiceConnected; | ||||
|     private ArrayList<DataSetObserver> observersWaitingForLoad = new ArrayList<>(); | ||||
|     private String CONTRIBUTION_SELECTION = ""; | ||||
| 
 | ||||
|     /* | ||||
|         This sorts in the following order: | ||||
|         Currently Uploading | ||||
|         Failed (Sorted in ascending order of time added - FIFO) | ||||
|         Queued to Upload (Sorted in ascending order of time added - FIFO) | ||||
|         Completed (Sorted in descending order of time added) | ||||
| 
 | ||||
|         This is why Contribution.STATE_COMPLETED is -1. | ||||
|      */ | ||||
|     private String CONTRIBUTION_SORT = ContributionDao.Table.COLUMN_STATE + " DESC, " | ||||
|             + ContributionDao.Table.COLUMN_UPLOADED + " DESC , (" | ||||
|             + ContributionDao.Table.COLUMN_TIMESTAMP + " * " | ||||
|             + ContributionDao.Table.COLUMN_STATE + ")"; | ||||
| 
 | ||||
|     private CompositeDisposable compositeDisposable = new CompositeDisposable(); | ||||
| 
 | ||||
|  | @ -127,8 +112,7 @@ public  class       ContributionsActivity | |||
|         startService(uploadServiceIntent); | ||||
|         bindService(uploadServiceIntent, uploadServiceConnection, Context.BIND_AUTO_CREATE); | ||||
| 
 | ||||
|         allContributions = getContentResolver().query(BASE_URI, ALL_FIELDS, | ||||
|                 CONTRIBUTION_SELECTION, null, CONTRIBUTION_SORT); | ||||
|         allContributions = contributionDao.loadAllContributions(); | ||||
| 
 | ||||
|         getSupportLoaderManager().initLoader(0, null, this); | ||||
|     } | ||||
|  | @ -238,8 +222,8 @@ public  class       ContributionsActivity | |||
|     public Loader<Cursor> onCreateLoader(int i, Bundle bundle) { | ||||
|         int uploads = prefs.getInt(UPLOADS_SHOWING, 100); | ||||
|         return new CursorLoader(this, BASE_URI, | ||||
|                 ALL_FIELDS, CONTRIBUTION_SELECTION, null, | ||||
|                 CONTRIBUTION_SORT + "LIMIT " + uploads); | ||||
|                 ALL_FIELDS, "", null, | ||||
|                 ContributionDao.CONTRIBUTION_SORT + "LIMIT " + uploads); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|  |  | |||
|  | @ -89,6 +89,7 @@ public class ContributionsSyncAdapter extends AbstractThreadedSyncAdapter { | |||
|         LogEventResult result; | ||||
|         Boolean done = false; | ||||
|         String queryContinue = null; | ||||
|         ContributionDao contributionDao = new ContributionDao(() -> contentProviderClient); | ||||
|         while (!done) { | ||||
| 
 | ||||
|             try { | ||||
|  | @ -121,7 +122,7 @@ public class ContributionsSyncAdapter extends AbstractThreadedSyncAdapter { | |||
|                         "", -1, dateUpdated, dateUpdated, user, | ||||
|                         "", ""); | ||||
|                 contrib.setState(STATE_COMPLETED); | ||||
|                 imageValues.add(ContributionDao.toContentValues(contrib)); | ||||
|                 imageValues.add(contributionDao.toContentValues(contrib)); | ||||
| 
 | ||||
|                 if (imageValues.size() % COMMIT_THRESHOLD == 0) { | ||||
|                     try { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Paul Hawke
						Paul Hawke