Skip to content

Commit 65aff5a

Browse files
committed
update
1 parent ef58d7c commit 65aff5a

21 files changed

+139
-123
lines changed

app/src/main/java/com/aliasadi/mvvm/data/DataManager.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package com.aliasadi.mvvm.data;
22

3-
import com.aliasadi.mvvm.data.movie.source.MoviesRepository;
4-
import com.aliasadi.mvvm.data.movie.source.local.MovieCacheDataSource;
5-
import com.aliasadi.mvvm.data.movie.source.local.MovieLocalDataSource;
6-
import com.aliasadi.mvvm.data.movie.source.local.dao.MovieDao;
7-
import com.aliasadi.mvvm.data.movie.source.local.database.MovieDatabase;
8-
import com.aliasadi.mvvm.data.movie.source.remote.MovieRemoteDataSource;
9-
import com.aliasadi.mvvm.data.movie.source.remote.services.MovieApi;
10-
import com.aliasadi.mvvm.data.movie.source.remote.services.MovieService;
3+
import com.aliasadi.mvvm.data.repository.movie.MovieRepository;
4+
import com.aliasadi.mvvm.data.repository.movie.MovieRepositoryImpl;
5+
import com.aliasadi.mvvm.data.repository.movie.MovieCacheDataSource;
6+
import com.aliasadi.mvvm.data.repository.movie.MovieLocalDataSource;
7+
import com.aliasadi.mvvm.data.db.MovieDao;
8+
import com.aliasadi.mvvm.data.db.MovieDatabase;
9+
import com.aliasadi.mvvm.data.repository.movie.MovieRemoteDataSource;
10+
import com.aliasadi.mvvm.data.api.MovieApi;
11+
import com.aliasadi.mvvm.data.service.MovieService;
1112
import com.preference.PowerPreference;
1213
import com.preference.Preference;
1314

@@ -34,7 +35,7 @@ public Preference getPrefs() {
3435
return PowerPreference.getDefaultFile();
3536
}
3637

37-
public MoviesRepository getMovieRepository() {
38+
public MovieRepository getMovieRepository() {
3839

3940
MovieApi movieApi = MovieService.getInstance().getMovieApi();
4041
MovieRemoteDataSource movieRemote = MovieRemoteDataSource.getInstance(movieApi);
@@ -44,7 +45,7 @@ public MoviesRepository getMovieRepository() {
4445

4546
MovieCacheDataSource movieCache = MovieCacheDataSource.getsInstance();
4647

47-
return MoviesRepository.getInstance(movieRemote,movieLocal,movieCache);
48+
return MovieRepositoryImpl.getInstance(movieRemote,movieLocal,movieCache);
4849
}
4950

5051
}

app/src/main/java/com/aliasadi/mvvm/data/movie/source/remote/services/MovieApi.java renamed to app/src/main/java/com/aliasadi/mvvm/data/api/MovieApi.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package com.aliasadi.mvvm.data.movie.source.remote.services;
1+
package com.aliasadi.mvvm.data.api;
22

3-
import com.aliasadi.mvvm.data.movie.source.remote.model.MovieResponse;
3+
import com.aliasadi.mvvm.data.model.MovieResponse;
44

55
import retrofit2.Call;
66
import retrofit2.http.GET;

app/src/main/java/com/aliasadi/mvvm/data/movie/source/local/dao/MovieDao.java renamed to app/src/main/java/com/aliasadi/mvvm/data/db/MovieDao.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.aliasadi.mvvm.data.movie.source.local.dao;
1+
package com.aliasadi.mvvm.data.db;
22

33
import android.arch.persistence.room.Dao;
44
import android.arch.persistence.room.Insert;
55
import android.arch.persistence.room.OnConflictStrategy;
66
import android.arch.persistence.room.Query;
77

8-
import com.aliasadi.mvvm.data.movie.Movie;
8+
import com.aliasadi.mvvm.data.model.Movie;
99

1010
import java.util.List;
1111

app/src/main/java/com/aliasadi/mvvm/data/movie/source/local/database/MovieDatabase.java renamed to app/src/main/java/com/aliasadi/mvvm/data/db/MovieDatabase.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
package com.aliasadi.mvvm.data.movie.source.local.database;
1+
package com.aliasadi.mvvm.data.db;
22

33
import android.arch.persistence.room.Database;
44
import android.arch.persistence.room.Room;
55
import android.arch.persistence.room.RoomDatabase;
66

77
import com.aliasadi.mvvm.App;
8-
import com.aliasadi.mvvm.data.movie.Movie;
9-
import com.aliasadi.mvvm.data.movie.source.local.dao.MovieDao;
8+
import com.aliasadi.mvvm.data.model.Movie;
109

1110
/**
1211
* Created by Ali Asadi on 30/01/2019.

app/src/main/java/com/aliasadi/mvvm/data/movie/Movie.java renamed to app/src/main/java/com/aliasadi/mvvm/data/model/Movie.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.aliasadi.mvvm.data.movie;
1+
package com.aliasadi.mvvm.data.model;
22

33
import android.arch.persistence.room.ColumnInfo;
44
import android.arch.persistence.room.Entity;

app/src/main/java/com/aliasadi/mvvm/data/movie/source/remote/model/MovieResponse.java renamed to app/src/main/java/com/aliasadi/mvvm/data/model/MovieResponse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package com.aliasadi.mvvm.data.movie.source.remote.model;
1+
package com.aliasadi.mvvm.data.model;
22

3-
import com.aliasadi.mvvm.data.movie.Movie;
3+
import com.aliasadi.mvvm.data.model.Movie;
44
import com.google.gson.annotations.Expose;
55
import com.google.gson.annotations.SerializedName;
66

app/src/main/java/com/aliasadi/mvvm/data/movie/source/remote/services/MovieService.java

Lines changed: 0 additions & 32 deletions
This file was deleted.

app/src/main/java/com/aliasadi/mvvm/data/movie/source/local/MovieCacheDataSource.java renamed to app/src/main/java/com/aliasadi/mvvm/data/repository/movie/MovieCacheDataSource.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
package com.aliasadi.mvvm.data.movie.source.local;
1+
package com.aliasadi.mvvm.data.repository.movie;
22

33
import android.util.SparseArray;
44

5-
import com.aliasadi.mvvm.data.movie.Movie;
6-
import com.aliasadi.mvvm.data.movie.source.MovieDataSource;
5+
import com.aliasadi.mvvm.data.model.Movie;
76

87
import java.util.ArrayList;
98
import java.util.List;
109

1110
/**
1211
* Created by Ali Asadi on 30/01/2019.
1312
*/
14-
public class MovieCacheDataSource implements MovieDataSource {
13+
public class MovieCacheDataSource implements MovieDataSource.Local {
1514

1615
private static MovieCacheDataSource sInstance;
1716

@@ -25,7 +24,7 @@ public static MovieCacheDataSource getsInstance() {
2524
}
2625

2726
@Override
28-
public void getMovies(LoadMoviesCallback callback) {
27+
public void getMovies(MovieRepository.LoadMoviesCallback callback) {
2928

3029
if (cachedMovies.size() > 0) {
3130
List<Movie> movies = new ArrayList<>();
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.aliasadi.mvvm.data.repository.movie;
2+
3+
import com.aliasadi.mvvm.data.model.Movie;
4+
5+
import java.util.List;
6+
7+
/**
8+
* Created by Ali Asadi on 30/01/2019.
9+
*/
10+
public interface MovieDataSource {
11+
12+
interface Remote {
13+
void getMovies(MovieRepository.LoadMoviesCallback callback);
14+
}
15+
16+
interface Local extends Remote {
17+
void saveMovies(List<Movie> movies);
18+
}
19+
}

app/src/main/java/com/aliasadi/mvvm/data/movie/source/local/MovieLocalDataSource.java renamed to app/src/main/java/com/aliasadi/mvvm/data/repository/movie/MovieLocalDataSource.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
package com.aliasadi.mvvm.data.movie.source.local;
1+
package com.aliasadi.mvvm.data.repository.movie;
22

3-
import com.aliasadi.mvvm.data.movie.Movie;
4-
import com.aliasadi.mvvm.data.movie.source.MovieDataSource;
5-
import com.aliasadi.mvvm.data.movie.source.local.dao.MovieDao;
3+
import com.aliasadi.mvvm.data.db.MovieDao;
4+
import com.aliasadi.mvvm.data.model.Movie;
65
import com.aliasadi.mvvm.utils.DiskExecutor;
76

87
import java.util.List;
@@ -11,7 +10,7 @@
1110
/**
1211
* Created by Ali Asadi on 30/01/2019.
1312
*/
14-
public class MovieLocalDataSource implements MovieDataSource {
13+
public class MovieLocalDataSource implements MovieDataSource.Local {
1514

1615
private final Executor executor;
1716
private final MovieDao movieDao;
@@ -31,7 +30,7 @@ public static MovieLocalDataSource getInstance(MovieDao movieDao) {
3130
}
3231

3332
@Override
34-
public void getMovies(final LoadMoviesCallback callback) {
33+
public void getMovies(final MovieRepository.LoadMoviesCallback callback) {
3534
Runnable runnable = new Runnable() {
3635
@Override
3736
public void run() {

0 commit comments

Comments
 (0)