From e28a04542f15d0bc3d26c46dc04594c32895ff09 Mon Sep 17 00:00:00 2001 From: Julian Harty Date: Thu, 17 Aug 2017 10:02:17 -0400 Subject: [PATCH] Added two build variants to help us control the scope of our testing of network operations. This is the initial skeleton that proves the approach can work. Future work will enable us to control whether to fully mock network operatins, have a local download server, or use the public kiwix download server. --- app/build.gradle | 15 ++++++++++++++- .../kiwixmobile/di/modules/NetworkModule.java | 2 +- .../library_view/LibraryPresenter.java | 2 ++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7d2a5f349..62c0c7003 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -162,14 +162,26 @@ android { } buildTypes { + // Main build type for debugging debug { + buildConfigField "String", "KIWIX_DOWNLOAD_URL", "\"http://download.kiwix.org/\"" // True breaks local variables being shown in breakpoints testCoverageEnabled false // Needed for instrumentation tests on Pre 5.0 multiDexKeepProguard file('multidex-instrumentation-config.pro') } + mock_network { + initWith(buildTypes.debug) + // TODO add DI for the mock network + } + + local_download_server { + initWith(buildTypes.debug) + buildConfigField "String", "KIWIX_DOWNLOAD_URL", "\"http://192.168.1.55/\"" + } + // Used to assess code coverage coverage { initWith debug @@ -178,8 +190,9 @@ android { // Release Type release { - + buildConfigField "String", "KIWIX_DOWNLOAD_URL", "\"http://download.kiwix.org/\"" } + } productFlavors { diff --git a/app/src/main/java/org/kiwix/kiwixmobile/di/modules/NetworkModule.java b/app/src/main/java/org/kiwix/kiwixmobile/di/modules/NetworkModule.java index 1d4321254..d1c39b357 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/di/modules/NetworkModule.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/di/modules/NetworkModule.java @@ -15,7 +15,7 @@ import okhttp3.OkHttpClient; @Module public class NetworkModule { - public static String KIWIX_DOWNLOAD_URL = "http://download.kiwix.org/"; + public static String KIWIX_DOWNLOAD_URL = BuildConfig.KIWIX_DOWNLOAD_URL; //"http://download.kiwix.org/"; private final static String useragent = "kiwix-android-version:" + BuildConfig.VERSION_CODE; @Provides @Singleton OkHttpClient provideOkHttpClient() { diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/library_view/LibraryPresenter.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/library_view/LibraryPresenter.java index da199a010..e636f461d 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/library_view/LibraryPresenter.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/library_view/LibraryPresenter.java @@ -1,6 +1,7 @@ package org.kiwix.kiwixmobile.zim_manager.library_view; import android.content.Context; +import android.util.Log; import org.kiwix.kiwixmobile.base.BasePresenter; import org.kiwix.kiwixmobile.database.BookDao; @@ -33,6 +34,7 @@ public class LibraryPresenter extends BasePresenter { .subscribe(library -> { getMvpView().showBooks(library.getBooks()); }, error -> { + Log.w("kiwixLibrary", error.getLocalizedMessage()); getMvpView().displayNoNetworkConnection(); }); }