FPII-2568:Include HIC-29, HIC-30, HIC-31 and HIC-35

	# This is a combination of 4 commits.
	# The first commit's message is:
	HIC-29: Handle failing Boarddate readings gracefully

	Change-Id: Icffc1e3d86d8964d50365192d3a1fd4bbe62dde6

	# This is the 2nd commit message:

	HIC-30: Fix multi-user behavior

	Disable wizard and do not generate reports for secondary users.

	Change-Id: I9c850a601853d73fac4777b961270b878f85edc3

	# This is the 3rd commit message:

	HIC-35: Update spanish translation for Logfile setting

	Translated using Weblate (Spanish)

	Currently translated at 100.0% (24 of 24 strings)

	Change-Id: I804e5ecd2837fdfcd28ccde5dddad0ef9e1936be

	# This is the 4th commit message:

	HIC-31: Update the launcher icon

	Change-Id: I5e2a937da60f965e69673d4a4dbd9b38305c8452

Change-Id: I0809fc894c8c6e331d54b2983010be57222a9210
diff --git a/src/main/java/com/fairphone/hiccup/app/BoardDate.java b/src/main/java/com/fairphone/hiccup/app/BoardDate.java
index b00c1ee..5a51bdb 100644
--- a/src/main/java/com/fairphone/hiccup/app/BoardDate.java
+++ b/src/main/java/com/fairphone/hiccup/app/BoardDate.java
@@ -1,4 +1,4 @@
-package com.fairphone.hiccup.app;
+    package com.fairphone.hiccup.app;
 
 import android.util.Log;
 
@@ -48,13 +48,15 @@
     }
 
     private static Date readBoardDate() {
-        long startTime;
+        long startTime = 0;
+        try {
+            byte[] boardFile = getBoardDateFileInByteArray();
 
-        byte[] boardFile = getBoardDateFileInByteArray();
-
-        String strDate = bytesToHex(boardFile);
-        startTime = getTimeInMilliseconds(strDate);
-
+            String strDate = bytesToHex(boardFile);
+            startTime = getTimeInMilliseconds(strDate);
+        } catch (Exception e) {
+            Log.e(TAG,"Unknown error while reading board date; using default", e);
+        }
         return new Date(startTime);
     }
 
diff --git a/src/main/java/com/fairphone/hiccup/app/HiccupReceiver.java b/src/main/java/com/fairphone/hiccup/app/HiccupReceiver.java
index 08b97e6..996c874 100644
--- a/src/main/java/com/fairphone/hiccup/app/HiccupReceiver.java
+++ b/src/main/java/com/fairphone/hiccup/app/HiccupReceiver.java
@@ -27,6 +27,10 @@
     @Override
     public void onReceive(Context context, Intent intent) {
 
+        if(!HiccupUtil.isOwner(context)) {
+            return;
+        }
+
         if (intent.getAction().equals("android.net.conn.CONNECTIVITY_CHANGE")) {
             Intent pushIntent = new Intent(context, HiccupService.class);
             pushIntent.setAction(HiccupService.ACTION_CHECK_UPLOAD);
diff --git a/src/main/java/com/fairphone/hiccup/app/HiccupUserConsentWizardActivity.java b/src/main/java/com/fairphone/hiccup/app/HiccupUserConsentWizardActivity.java
index baf70ad..0c87300 100644
--- a/src/main/java/com/fairphone/hiccup/app/HiccupUserConsentWizardActivity.java
+++ b/src/main/java/com/fairphone/hiccup/app/HiccupUserConsentWizardActivity.java
@@ -22,9 +22,6 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
-import android.os.Process;
-import android.os.UserHandle;
-import android.os.UserManager;
 import android.text.Html;
 import android.view.KeyEvent;
 import android.view.View;
@@ -33,8 +30,6 @@
 import android.widget.CompoundButton;
 import android.widget.TextView;
 
-import com.fairphone.hiccup.app.R;
-
 public class HiccupUserConsentWizardActivity extends Activity implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
 
     private Button mButtonNext;
@@ -67,25 +62,13 @@
         HiccupUtil.LOG("Enabled setup wizard.\n");
     }
 
-    boolean isOwner()
-    {
-        UserHandle userHandle = Process.myUserHandle();
-        UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
-        if(null != userManager)
-        {
-            long userSerialNumber = userManager.getSerialNumberForUser(userHandle);
-            return 0 == userSerialNumber;
-        }
-        else
-            return false;
-    }
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        final boolean isOwner = isOwner();
+        final boolean isOwner = HiccupUtil.isOwner(this);
 
         if (!isOwner) {
+            HiccupUserConsentWizardActivity.disable(this);
             finish();
         }
 
diff --git a/src/main/java/com/fairphone/hiccup/app/HiccupUtil.java b/src/main/java/com/fairphone/hiccup/app/HiccupUtil.java
index b33bce6..8b8549a 100644
--- a/src/main/java/com/fairphone/hiccup/app/HiccupUtil.java
+++ b/src/main/java/com/fairphone/hiccup/app/HiccupUtil.java
@@ -19,6 +19,8 @@
 import android.content.Context;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
+import android.os.UserHandle;
+import android.os.UserManager;
 import android.util.Log;
 
 import com.fairphone.hiccup.HiccupdService;
@@ -27,6 +29,7 @@
 import java.io.FileReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.lang.Process;
 import java.util.Date;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -153,4 +156,16 @@
     }
 
 
+    public static boolean isOwner(Context ctx)
+    {
+        UserHandle userHandle = android.os.Process.myUserHandle();
+        UserManager userManager = (UserManager) ctx.getSystemService(Context.USER_SERVICE);
+        if(null != userManager)
+        {
+            long userSerialNumber = userManager.getSerialNumberForUser(userHandle);
+            return 0 == userSerialNumber;
+        }
+        else
+            return false;
+    }
 }
diff --git a/src/main/res/mipmap-hdpi/ic_launcher.png b/src/main/res/mipmap-hdpi/ic_launcher.png
index 2deb45b..963a4ac 100644
--- a/src/main/res/mipmap-hdpi/ic_launcher.png
+++ b/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/src/main/res/mipmap-mdpi/ic_launcher.png b/src/main/res/mipmap-mdpi/ic_launcher.png
index a7b46ce..5b63cc1 100644
--- a/src/main/res/mipmap-mdpi/ic_launcher.png
+++ b/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/src/main/res/mipmap-xhdpi/ic_launcher.png b/src/main/res/mipmap-xhdpi/ic_launcher.png
index 78fa167..dd263c9 100644
--- a/src/main/res/mipmap-xhdpi/ic_launcher.png
+++ b/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/src/main/res/mipmap-xxhdpi/ic_launcher.png b/src/main/res/mipmap-xxhdpi/ic_launcher.png
index f338587..360587e 100644
--- a/src/main/res/mipmap-xxhdpi/ic_launcher.png
+++ b/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 9e182b2..55a31cc 100644
--- a/src/main/res/mipmap-xxxhdpi/ic_launcher.png
+++ b/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml
index c7ecb24..01dbbad 100644
--- a/src/main/res/values-es/strings.xml
+++ b/src/main/res/values-es/strings.xml
@@ -13,7 +13,7 @@
     <string name="pref_title_uuid">UUID del dispositivo</string>
     <string name="pref_cat_title_information">Información sobre Hiccup</string>
     <string name="pref_title_enable_reporting">Enviar información sobre estabilidad</string>
-    <string name="pref_desc_include_log_files">Incluyendo archivos de log que nos permite diagnosticar mejor los problemas. El ajuste predeterminado enviará kernel logs, que no incluyen datos personales.</string>
+    <string name="pref_desc_include_log_files">Incluir archivos de registro nos permite diagnosticar los problemas. La configuración de fabrica permite enviar registros del Kernel, que no incluye ningún tipo de información personal.</string>
     <string name="upload_error_notification_title">Fairphone Hiccup</string>
     <string name="upload_crashreport_notification_title">Fairphone Hiccup</string>
     <string name="next">OK</string>