Merge branch 'fp2-1910' into 'master'
FPII-1910: Fairphone Updater should check for updates on both mobile data and Wi-Fi
Check for updates on mobile data.
See merge request !17
diff --git a/res/drawable-xxhdpi/ic_import_export_fpblue_24dp.png b/res/drawable-xxhdpi/ic_import_export_fpblue_24dp.png
new file mode 100644
index 0000000..7f34bae
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_import_export_fpblue_24dp.png
Binary files differ
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index d3f4d54..72c102f 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -77,5 +77,6 @@
<string name="got_it">Ich verstehe</string>
<string name="connect_to_wifi">Stell eine Verbindung zum WLAN her</string>
<string name="charge_battery">Bitte lade die Batterie mindestens 80% auf</string>
+ <string name="connect_to_internet">Stelle sicher, dass eine Internetverbindung besteht</string>
</resources>
\ No newline at end of file
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index f5f897f..6da783f 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -77,5 +77,6 @@
<string name="got_it">Lo entiendo</string>
<string name="connect_to_wifi">Conéctate a la red Wi-Fi</string>
<string name="charge_battery">Asegúrate de que tu batería está cargada al menos un 80%</string>
+ <string name="connect_to_internet">Asegúrate de que tienes conexión a internet</string>
</resources>
\ No newline at end of file
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index f0f8777..6e73124 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -77,5 +77,7 @@
<string name="got_it">OK</string>
<string name="connect_to_wifi">Merci de vous connecter à un réseau Wi-Fi</string>
<string name="charge_battery">Chargez votre batterie à au moins 80%</string>
+ <string name="config_zip" translatable="false"></string>
+ <string name="connect_to_internet">Assurez-vous d\'être connecté à internet</string>
</resources>
\ No newline at end of file
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 07c3abe..1078619 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -77,5 +77,6 @@
<string name="got_it">Ik snap het</string>
<string name="connect_to_wifi">Maak verbinding met een Wi-Fi netwerk</string>
<string name="charge_battery">Zorg er voor dat je batterij minstens 80% opgeladen is</string>
+ <string name="connect_to_internet">Zorg ervoor dat je bent verbonden met het internet</string>
</resources>
\ No newline at end of file
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 4a033bb..6cf3f91 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -77,5 +77,6 @@
<string name="got_it">Entendi</string>
<string name="connect_to_wifi">Por favor ligue-se a uma rede Wi-Fi</string>
<string name="charge_battery">Por favor carregue a bateria até pelo menos 80%</string>
+ <string name="connect_to_internet">Certifique-se que está ligado à internet</string>
</resources>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d5cfabd..47877ab 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -79,4 +79,6 @@
<string name="charge_battery">Please charge your battery to at least 80%</string>
<string name="got_it">Got it</string>
<string name="beta_mode">beta mode</string>
+ <string name="connect_to_internet">Make sure you\'re connected to the internet</string>
+
</resources>
\ No newline at end of file
diff --git a/src/com/fairphone/updater/FairphoneUpdater.java b/src/com/fairphone/updater/FairphoneUpdater.java
index d9605ea..d932d79 100644
--- a/src/com/fairphone/updater/FairphoneUpdater.java
+++ b/src/com/fairphone/updater/FairphoneUpdater.java
@@ -73,7 +73,7 @@
private static final String TAG_FIRST_FRAGMENT = "FIRST_FRAGMENT";
private String mZipPath;
- private AlertDialog wifiOffDialog;
+ private AlertDialog internetOffDialog;
public static enum UpdaterState
@@ -831,9 +831,9 @@
@Override
protected void onPause() {
super.onPause();
- if(wifiOffDialog != null) {
- wifiOffDialog.cancel();
- wifiOffDialog = null;
+ if(internetOffDialog != null) {
+ internetOffDialog.cancel();
+ internetOffDialog = null;
}
}
@@ -866,29 +866,29 @@
changeFragment(getFragmentFromState());
- // Show wifi disable dialog if in a blank state and no wifi is available
- if ( wifiOffDialog == null &&
- mCurrentState == UpdaterState.NORMAL &&
- !Utils.isWiFiEnabled(this) &&
- UpdaterData.getInstance().isAppStoreListEmpty() &&
+ // Show internet disable dialog if in a blank state and no internet is available
+ if( internetOffDialog == null &&
+ mCurrentState == UpdaterState.NORMAL &&
+ !Utils.isInternetEnabled(this) &&
+ UpdaterData.getInstance().isAppStoreListEmpty() &&
!UpdaterData.getInstance().isAOSPVersionListNotEmpty() &&
- !UpdaterData.getInstance().isFairphoneVersionListNotEmpty() )
- {
- Resources resources = getResources();
+ !UpdaterData.getInstance().isFairphoneVersionListNotEmpty())
+ {
+ Resources resources = getResources();
- AlertDialog.Builder wifiOffDialogBuilder = new AlertDialog.Builder(this);
+ AlertDialog.Builder internetOffDialogBuilder = new AlertDialog.Builder(this);
- wifiOffDialogBuilder.setTitle(resources.getString(R.string.connect_to_wifi));
- wifiOffDialogBuilder.setIcon(resources.getDrawable(R.drawable.ic_signal_wifi_4_bar_fpblue_24dp));
+ internetOffDialogBuilder.setTitle(R.string.connect_to_internet);
+ internetOffDialogBuilder.setIcon(resources.getDrawable(R.drawable.ic_import_export_fpblue_24dp));
- wifiOffDialogBuilder.setPositiveButton(resources.getString(R.string.got_it), new DialogInterface.OnClickListener() {
+ internetOffDialogBuilder.setPositiveButton(resources.getString(R.string.got_it), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// do nothing, since the state is still the same
}
});
- wifiOffDialog = wifiOffDialogBuilder.create();
- wifiOffDialog.show();
- }
+ internetOffDialog = internetOffDialogBuilder.create();
+ internetOffDialog.show();
+ }
}
public Fragment startGappsInstall()
diff --git a/src/com/fairphone/updater/UpdaterService.java b/src/com/fairphone/updater/UpdaterService.java
index f10a964..3c88232 100644
--- a/src/com/fairphone/updater/UpdaterService.java
+++ b/src/com/fairphone/updater/UpdaterService.java
@@ -107,7 +107,7 @@
setupConnectivityMonitoring();
- if (Utils.isWiFiEnabled(getApplicationContext()))
+ if(Utils.isInternetEnabled(getApplicationContext()))
{
downloadConfigFile(intent != null && intent.getBooleanExtra(EXTRA_FORCE_CONFIG_FILE_DOWNLOAD, false));
}
@@ -246,6 +246,9 @@
if (request != null && mDownloadManager != null)
{
+ // Allow download over mobile data and Wi-Fi
+ request.setAllowedNetworkTypes(Request.NETWORK_MOBILE|Request.NETWORK_WIFI);
+
//Guarantee that only we have only one download
long oldDownloadId = mSharedPreferences.getLong(PREFERENCE_LAST_CONFIG_DOWNLOAD_ID, 0);
if(oldDownloadId != 0){
@@ -403,7 +406,7 @@
if (networkStateReceiver == null) {
// Check current connectivity status
- mInternetConnectionAvailable = Utils.isWiFiEnabled(getApplicationContext());
+ mInternetConnectionAvailable = Utils.isInternetEnabled(getApplicationContext());
// Setup monitoring for future connectivity status changes
networkStateReceiver = new BroadcastReceiver()
@@ -429,7 +432,7 @@
else
{
int conn_type = intent.getIntExtra(ConnectivityManager.EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_DUMMY);
- if( conn_type == ConnectivityManager.TYPE_WIFI ) {
+ if( conn_type == ConnectivityManager.TYPE_WIFI || conn_type == ConnectivityManager.TYPE_MOBILE) {
Log.i(TAG, "Network connectivity potentially available.");
if (!mInternetConnectionAvailable) {
downloadConfigFile(false);
diff --git a/src/com/fairphone/updater/tools/Utils.java b/src/com/fairphone/updater/tools/Utils.java
index 706f315..c8b3930 100644
--- a/src/com/fairphone/updater/tools/Utils.java
+++ b/src/com/fairphone/updater/tools/Utils.java
@@ -27,6 +27,7 @@
import android.content.res.Resources;
import android.database.Cursor;
import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
import android.net.Uri;
import android.os.BatteryManager;
import android.os.Build;
@@ -649,6 +650,13 @@
return filePath;
}
+ public static boolean isInternetEnabled(Context context) {
+ ConnectivityManager manager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
+ NetworkInfo activeNetwork = manager.getActiveNetworkInfo();
+ boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
+ return isConnected;
+ }
+
public static boolean isWiFiEnabled(Context context)
{