diff --git a/app/build.gradle b/app/build.gradle
index adad8ee586ff288ba09fdb7b775e5670d5b3f0c0..44f482f50ae2887ac9fba69e6f2a7f2c8668ff57 100755
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -7,7 +7,7 @@ android {
         applicationId "ohi.andre.consolelauncher"
         minSdkVersion 8
         targetSdkVersion 25
-        versionCode 81
+        versionCode 82
         versionName "4.11"
     }
 
diff --git a/app/src/main/java/ohi/andre/consolelauncher/LauncherActivity.java b/app/src/main/java/ohi/andre/consolelauncher/LauncherActivity.java
index 64cdc52da9febd51b7c93418bda8a120318e1c45..e7b83b99c3e8be042c10b3a09cfcd438dc8d0190 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/LauncherActivity.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/LauncherActivity.java
@@ -249,12 +249,17 @@ public class LauncherActivity extends Activity implements Reloadable {
 
     @Override
     public void reload() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
-            reloadOver11();
-        } else {
-            finish();
-            startActivity(starterIntent);
-        }
+        runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+                    reloadOver11();
+                } else {
+                    finish();
+                    startActivity(starterIntent);
+                }
+            }
+        });
     }
 
     @TargetApi(Build.VERSION_CODES.HONEYCOMB)
diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java
index a88cdf2312b5316a06e526d33b8030acfa4d7268..dcf1d532881d9cca4e1093acc5470899ae0e0dc2 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java
@@ -265,7 +265,18 @@ public class AppsManager {
     }
 
     public String[] getSuggestedApps() {
-        return appsHolder.getSuggestedApps();
+//        workaround
+        String[] temp = appsHolder.getSuggestedApps();
+        if(temp == null || temp.length == 0) {
+            return null;
+        }
+
+        String[] apps = new String[temp.length];
+        for(int countOnTemp = temp.length - 1, countOnApps = 0; countOnTemp >= 0 && countOnApps < apps.length; countOnApps++, countOnTemp--) {
+            apps[countOnApps] = temp[countOnTemp];
+        }
+
+        return apps;
     }
 
     public String printApps(int type) {
diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/MusicManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/MusicManager.java
index df211de26929d536182885fbd2686528e48352a7..91d92b217461335642e4254660f6ad40ec8507de 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/managers/MusicManager.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/managers/MusicManager.java
@@ -57,7 +57,7 @@ public class MusicManager implements OnCompletionListener {
             files = Tuils.getSongsInFolder(new File(preferencesManager.getValue(PreferencesManager.SONGSFOLDER)));
         }
 
-        if(randomActive) {
+        if(randomActive && files != null) {
             Collections.shuffle(files);
         }
     }
diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/PreferencesManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/PreferencesManager.java
index fc433cbbd9e7dbc80065f540df364fe2512d1196..8edda30a0bb570af6f68799eadf8723be7a149be 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/managers/PreferencesManager.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/managers/PreferencesManager.java
@@ -180,7 +180,7 @@ public class PreferencesManager {
         }
 
         try {
-            stream.write(Tuils.toPlanString(newValues, "\n").getBytes());
+            stream.write(Tuils.toPlanString(newValues, Tuils.NEWLINE).getBytes());
             stream.flush();
             stream.close();
 
diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java
index c3923edef208a9706fb630d30bc4517cad6a4572..4cbb9771fd56548bad3902b65d988e06ab1d20c9 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java
@@ -192,6 +192,10 @@ public class Tuils {
     }
 
     public static String toPlanString(String[] strings, String separator) {
+        if(strings == null) {
+            return Tuils.EMPTYSTRING;
+        }
+
         String output = "";
         for (int count = 0; count < strings.length; count++) {
             output = output.concat(strings[count]);
@@ -202,12 +206,18 @@ public class Tuils {
     }
 
     public static String toPlanString(String[] strings) {
-        return Tuils.toPlanString(strings, Tuils.NEWLINE);
+        if (strings != null) {
+            return Tuils.toPlanString(strings, Tuils.NEWLINE);
+        }
+        return Tuils.EMPTYSTRING;
     }
 
     public static String toPlanString(List<String> strings, String separator) {
-        String[] object = new String[strings.size()];
-        return Tuils.toPlanString(strings.toArray(object), separator);
+        if(strings != null) {
+            String[] object = new String[strings.size()];
+            return Tuils.toPlanString(strings.toArray(object), separator);
+        }
+        return Tuils.EMPTYSTRING;
     }
 
     public static String filesToPlanString(List<File> files, String separator) {
@@ -227,6 +237,10 @@ public class Tuils {
     }
 
     public static String toPlanString(Object[] objs, String separator) {
+        if(objs == null) {
+            return Tuils.EMPTYSTRING;
+        }
+
         StringBuilder output = new StringBuilder();
         for(int count = 0; count < objs.length; count++) {
             output.append(objs[count]);
@@ -237,36 +251,39 @@ public class Tuils {
         return output.toString();
     }
 
-    public static CharSequence toPlanSequence(List<CharSequence> sequences, CharSequence separator) {
-        return toPlanSequence(sequences.toArray(new CharSequence[sequences.size()]), separator);
-    }
-
-    public static CharSequence toPlanSequence(CharSequence[] sequences, CharSequence separator) {
-        if (sequences.length == 0)
-            return null;
-
-        CharSequence sequence = null;
-        int count;
-        for (count = 0; (sequence = sequences[count]) == null; count++) {
-        }
-
-        CharSequence output = sequences[count];
-        do {
-            count++;
-            CharSequence current = sequences[count];
-            if (current == null)
-                continue;
-
-            output = TextUtils.concat(output, current);
-            if (count < sequences.length - 1 && !current.toString().contains(separator))
-                output = TextUtils.concat(output, separator);
-        } while (count + 1 < sequences.length);
-        return output;
-    }
-
-    public static CharSequence toPlanSequence(CharSequence[] sequences) {
-        return TextUtils.concat(sequences);
-    }
+//    public static CharSequence toPlanSequence(List<CharSequence> sequences, CharSequence separator) {
+//        if(sequences != null) {
+//            return toPlanSequence(sequences.toArray(new CharSequence[sequences.size()]), separator);
+//        }
+//        return null;
+//    }
+//
+//    public static CharSequence toPlanSequence(CharSequence[] sequences, CharSequence separator) {
+//        if(sequences == null) {
+//            return null;
+//        }
+//
+//        if (sequences.length == 0)
+//            return null;
+//
+//        CharSequence sequence = null;
+//        int count;
+//        for (count = 0; (sequence = sequences[count]) == null; count++) {
+//        }
+//
+//        CharSequence output = sequences[count];
+//        do {
+//            count++;
+//            CharSequence current = sequences[count];
+//            if (current == null)
+//                continue;
+//
+//            output = TextUtils.concat(output, current);
+//            if (count < sequences.length - 1 && !current.toString().contains(separator))
+//                output = TextUtils.concat(output, separator);
+//        } while (count + 1 < sequences.length);
+//        return output;
+//    }
 
     public static String removeUnncesarySpaces(String string) {
         while (string.contains(DOUBLE_SPACE)) {