Merge branch 'UPD-23' into 'master'

UPD-23: Update the icon

See merge request !35
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 86ec7eb..593f8c6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,7 @@
     <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
                      tools:ignore="ProtectedPermissions"/>
     <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED" />
+    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
 
     <application
         android:allowBackup="true"
diff --git a/app/src/main/java/com/fairphone/updater/UpdaterService.java b/app/src/main/java/com/fairphone/updater/UpdaterService.java
index 67eb847..a2e85da 100644
--- a/app/src/main/java/com/fairphone/updater/UpdaterService.java
+++ b/app/src/main/java/com/fairphone/updater/UpdaterService.java
@@ -380,7 +380,7 @@
         try
         {
             request = new Request(Uri.parse(url));
-	        final File externalStoragePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder));
+            final File externalStoragePublicDirectory = new File(Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder));
 	        final boolean notMkDirs = !externalStoragePublicDirectory.mkdirs();
 	        if(notMkDirs && !externalStoragePublicDirectory.exists()) {
 		        throw new Exception("Couldn't create updater dir structures.");
diff --git a/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java b/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java
index 2761fe8..71a6f06 100644
--- a/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java
+++ b/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java
@@ -273,7 +273,7 @@
         try
         {
             request = new Request(Uri.parse(url));
-	        final File externalStoragePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder));
+            final File externalStoragePublicDirectory = new File(Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder));
 	        final boolean notMkDirs = !externalStoragePublicDirectory.mkdirs();
 	        if(notMkDirs && !externalStoragePublicDirectory.exists()) {
 		        throw new Exception("Couldn't create updater dir structures.");
diff --git a/app/src/main/java/com/fairphone/updater/gappsinstaller/GappsInstallerHelper.java b/app/src/main/java/com/fairphone/updater/gappsinstaller/GappsInstallerHelper.java
index 49cba1f..2053dd3 100644
--- a/app/src/main/java/com/fairphone/updater/gappsinstaller/GappsInstallerHelper.java
+++ b/app/src/main/java/com/fairphone/updater/gappsinstaller/GappsInstallerHelper.java
@@ -23,8 +23,6 @@
 import com.fairphone.updater.tools.Utils;
 import com.fairphone.updater.widgets.gapps.GoogleAppsInstallerWidget;
 
-import java.io.File;
-
 public class GappsInstallerHelper
 {
     public static final String PREFS_GOOGLE_APPS_INSTALLER_DATA = "FAIRPHONE_GOOGLE_APPS_INSTALLER_DATA";
@@ -37,7 +35,7 @@
 
     public static boolean areGappsInstalled()
     {
-        return Utils.fileExists("/system/app/OneTimeInitializer.apk");
+        return Utils.fileExists("/system/app/OneTimeInitializer.apk") || Utils.fileExists("/system/priv-app/GoogleOneTimeInitializer.apk");
     }
 
     public static void checkGappsAreInstalled(Context context)