// Path: app/src/main/java/com/xurxodev/moviesandroidkata/domain/entity/Movie.java
// public class Movie {
//     private String image;
//     private String title;
//     private String overview;
// 
//     public Movie(String image, String title, String overview) {
//         this.image = image;
//         this.title = title;
//         this.overview = overview;
//     }
// 
//     public String getImage() {
//         return image;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public String getOverview() {
//         return overview;
//     }
// }
// 
// Path: app/src/main/java/com/xurxodev/moviesandroidkata/domain/boundary/Repository/MovieRepository.java
// public interface MovieRepository {
//     List<Movie> getMovies();
// 
//     Movie getMovieByTitle(String movieTitle);
// }


import static android.R.attr.name;
import android.app.Application;
import android.content.Context;
import com.google.gson.Gson;
import com.xurxodev.moviesandroidkata.R;
import com.xurxodev.moviesandroidkata.domain.entity.Movie;
import com.xurxodev.moviesandroidkata.domain.boundary.repository.MovieRepository;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.List;
import javax.inject.Inject;
package com.xurxodev.moviesandroidkata.data;






public class DiskMovieRepository implements MovieRepository {

    private Context applicationContext;
    private Gson gson;

    @Inject
    public DiskMovieRepository(Application applicationContext, Gson gson){
       this.applicationContext = applicationContext;
       this.gson = gson;
    }

    @Override
    public List<Movie> getMovies() {
        Movie[] movies = extractMovies();

        simulateDelay();

        return Arrays.asList(movies);
    }

// Path: app/src/main/java/com/xurxodev/moviesandroidkata/domain/entity/Movie.java
// public class Movie {
//     private String image;
//     private String title;
//     private String overview;
// 
//     public Movie(String image, String title, String overview) {
//         this.image = image;
//         this.title = title;
//         this.overview = overview;
//     }
// 
//     public String getImage() {
//         return image;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public String getOverview() {
//         return overview;
//     }
// }
// 
// Path: app/src/main/java/com/xurxodev/moviesandroidkata/domain/boundary/Repository/MovieRepository.java
// public interface MovieRepository {
//     List<Movie> getMovies();
// 
//     Movie getMovieByTitle(String movieTitle);
// }


// Path: app/src/main/java/com/xurxodev/moviesandroidkata/data/DiskMovieRepository.java
import static android.R.attr.name;
import android.app.Application;
import android.content.Context;
import com.google.gson.Gson;
import com.xurxodev.moviesandroidkata.R;
import com.xurxodev.moviesandroidkata.domain.entity.Movie;
import com.xurxodev.moviesandroidkata.domain.boundary.repository.MovieRepository;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.List;
import javax.inject.Inject;

package com.xurxodev.moviesandroidkata.data;






public class DiskMovieRepository implements MovieRepository {

    private Context applicationContext;
    private Gson gson;

    @Inject
    public DiskMovieRepository(Application applicationContext, Gson gson){
       this.applicationContext = applicationContext;
       this.gson = gson;
    }

    @Override
    public List<Movie> getMovies() {
        Movie[] movies = extractMovies();

        simulateDelay();

        return Arrays.asList(movies);
    }

    @Override