Masquerade: Helper should be able to be called by Substratum
diff --git a/app/build.gradle b/app/build.gradle
index fc67912..b9dd819 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -12,12 +12,12 @@
     applicationVariants.all { variant ->
         variant.outputs.each { output ->
             output.outputFile = new File(
-                    output.outputFile.parent, "substratumhelper_beta_testers" + versionCode + ".apk")
+                    output.outputFile.parent, "masquerade_beta_testers" + versionCode + ".apk")
         }
     }
 
     defaultConfig {
-        applicationId "projekt.substratum.helper"
+        applicationId "masquerade.substratum"
         minSdkVersion 23
         targetSdkVersion 24
         versionCode 3
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4bd7e9b..4023dcd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,5 +1,5 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="projekt.substratum.helper">
+          package="masquerade.substratum">
 
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
@@ -7,7 +7,7 @@
 
     <application
         android:allowBackup="true"
-        android:icon="@mipmap/substratum_helper"
+        android:icon="@mipmap/substratum_masquerade"
         android:label="@string/app_name"
         android:supportsRtl="true"
         android:theme="@style/AppTheme">
@@ -30,7 +30,8 @@
         </activity>
         <activity android:name=".activities.LoaderActivity">
             <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
+                <action android:name="masquerade.substratum.INITIALIZE"/>
+                <category android:name="android.intent.category.DEFAULT"/>
             </intent-filter>
         </activity>
     </application>
diff --git a/app/src/main/java/masquerade/substratum/activities/LoaderActivity.java b/app/src/main/java/masquerade/substratum/activities/LoaderActivity.java
new file mode 100644
index 0000000..226f523
--- /dev/null
+++ b/app/src/main/java/masquerade/substratum/activities/LoaderActivity.java
@@ -0,0 +1,21 @@
+package masquerade.substratum.activities;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.util.Log;
+
+import masquerade.substratum.util.Root;
+
+/**
+ * @author Nicholas Chum (nicholaschum)
+ */
+
+public class LoaderActivity extends Activity {
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Log.e("Masquerade", "Masquerade is now requesting superuser permissions!");
+        Root.requestRootAccess();
+        finish();
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/projekt/substratum/helper/activities/MainActivity.java b/app/src/main/java/masquerade/substratum/activities/MainActivity.java
similarity index 78%
rename from app/src/main/java/projekt/substratum/helper/activities/MainActivity.java
rename to app/src/main/java/masquerade/substratum/activities/MainActivity.java
index 13a50e7..c38f72b 100644
--- a/app/src/main/java/projekt/substratum/helper/activities/MainActivity.java
+++ b/app/src/main/java/masquerade/substratum/activities/MainActivity.java
@@ -1,8 +1,9 @@
-package projekt.substratum.helper.activities;
+package masquerade.substratum.activities;
 
 import android.app.Activity;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
+import android.util.Log;
 
 /**
  * @author Nicholas Chum (nicholaschum)
@@ -12,6 +13,7 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        Log.e("Masquerade", "Masquerade has been initialized for the first time!");
         PackageManager p = getPackageManager();
         p.setComponentEnabledSetting(
                 getComponentName(),
diff --git a/app/src/main/java/projekt/substratum/helper/services/BootDetector.java b/app/src/main/java/masquerade/substratum/services/BootDetector.java
similarity index 91%
rename from app/src/main/java/projekt/substratum/helper/services/BootDetector.java
rename to app/src/main/java/masquerade/substratum/services/BootDetector.java
index 6c0e78d..61e2702 100644
--- a/app/src/main/java/projekt/substratum/helper/services/BootDetector.java
+++ b/app/src/main/java/masquerade/substratum/services/BootDetector.java
@@ -1,4 +1,4 @@
-package projekt.substratum.helper.services;
+package masquerade.substratum.services;
 
 import android.content.BroadcastReceiver;
 import android.content.Context;
diff --git a/app/src/main/java/projekt/substratum/helper/services/Helper.java b/app/src/main/java/masquerade/substratum/services/Helper.java
similarity index 76%
rename from app/src/main/java/projekt/substratum/helper/services/Helper.java
rename to app/src/main/java/masquerade/substratum/services/Helper.java
index 0226b1d..e013e13 100644
--- a/app/src/main/java/projekt/substratum/helper/services/Helper.java
+++ b/app/src/main/java/masquerade/substratum/services/Helper.java
@@ -1,4 +1,4 @@
-package projekt.substratum.helper.services;
+package masquerade.substratum.services;
 
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -6,11 +6,12 @@
 import android.os.Environment;
 import android.util.Log;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
-import projekt.substratum.helper.util.ReadOverlaysFile;
-import projekt.substratum.helper.util.Root;
+import masquerade.substratum.util.ReadOverlaysFile;
+import masquerade.substratum.util.Root;
 
 /**
  * @author Nicholas Chum (nicholaschum)
@@ -22,7 +23,7 @@
 
     @Override
     public void onReceive(Context context, Intent intent) {
-        Log.d("SubstratumHelper",
+        Log.d("Masquerade",
                 "BroadcastReceiver has accepted Substratum's commands and is running now...");
         Root.requestRootAccess();
 
@@ -35,7 +36,7 @@
         }
 
         if (intent.getStringExtra("om-commands") != null) {
-            Log.d("SubstratumHelper", "Running command: \"" +
+            Log.d("Masquerade", "Running command: \"" +
                     intent.getStringExtra("om-commands") + "\"");
             Root.runCommand(intent.getStringExtra("om-commands"));
         }
@@ -57,6 +58,14 @@
 
             ArrayList<String> packages_to_uninstall =
                     new ArrayList<>(intent.getStringArrayListExtra(inheritor));
+            File current_overlays = new File(Environment
+                    .getExternalStorageDirectory().getAbsolutePath() +
+                    "/.substratum/current_overlays.xml");
+            if (current_overlays.exists()) {
+                Root.runCommand("rm " + Environment
+                        .getExternalStorageDirectory().getAbsolutePath() +
+                        "/.substratum/current_overlays.xml");
+            }
             Root.runCommand("cp /data/system/overlays" +
                     ".xml " + Environment.getExternalStorageDirectory().getAbsolutePath() +
                     "/.substratum/current_overlays.xml");
@@ -67,10 +76,10 @@
             for (int i = 0; i < packages_to_uninstall.size(); i++) {
                 String current = packages_to_uninstall.get(i);
 
-                Log.d("SubstratumHelper", "Intent received to purge referendum package file \"" +
+                Log.d("Masquerade", "Intent received to purge referendum package file \"" +
                         current + "\"");
                 if (checkIfPackageActivated(packages_to_uninstall.get(i))) {
-                    Log.d("SubstratumHelper", "Package file \"" + current +
+                    Log.d("Masquerade", "Package file \"" + current +
                             "\" requires an overlay disable prior to uninstall...");
                     if (final_commands_disable.length() == 0) {
                         final_commands_disable = "om disable " + current;
@@ -85,7 +94,7 @@
                                 " && pm uninstall " + current;
                     }
                 } else {
-                    Log.d("SubstratumHelper", "\"" + current +
+                    Log.d("Masquerade", "\"" + current +
                             "\" has been redirected to the package manager in " +
                             "preparations of removal...");
                     Root.runCommand("pm uninstall " + current);
@@ -93,20 +102,20 @@
             }
 
             if (final_commands_disable.length() > 0) {
-                Log.d("SubstratumHelper", "Disable commands: " + final_commands_disable);
+                Log.d("Masquerade", "Disable commands: " + final_commands_disable);
                 Root.runCommand(final_commands_disable);
             }
             if (final_commands_uninstall.length() > 0) {
-                Log.d("SubstratumHelper", "Uninstall commands: " + final_commands_uninstall);
+                Log.d("Masquerade", "Uninstall commands: " + final_commands_uninstall);
                 Root.runCommand(final_commands_uninstall);
             }
 
             if (!specific) {
                 // Clear the resource idmapping files generated by OMS
-                Log.d("SubstratumHelper", "Cleaning up resource-cache directory...");
+                Log.d("Masquerade", "Cleaning up resource-cache directory...");
                 Root.runCommand("rm /data/resource-cache/*");
                 // Now clear the persistent overlays database
-                Log.d("SubstratumHelper", "Finalizing clean up of persistent overlays database...");
+                Log.d("Masquerade", "Finalizing clean up of persistent overlays database...");
                 Root.runCommand("rm -rf /data/system/overlays.xml");
             }
         } catch (Exception e) {
diff --git a/app/src/main/java/projekt/substratum/helper/util/ReadOverlaysFile.java b/app/src/main/java/masquerade/substratum/util/ReadOverlaysFile.java
similarity index 83%
rename from app/src/main/java/projekt/substratum/helper/util/ReadOverlaysFile.java
rename to app/src/main/java/masquerade/substratum/util/ReadOverlaysFile.java
index 34bc9de..39a7178 100644
--- a/app/src/main/java/projekt/substratum/helper/util/ReadOverlaysFile.java
+++ b/app/src/main/java/masquerade/substratum/util/ReadOverlaysFile.java
@@ -1,6 +1,4 @@
-package projekt.substratum.helper.util;
-
-import android.util.Log;
+package masquerade.substratum.util;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -30,8 +28,7 @@
                 }
             }
         } catch (IOException ioe) {
-            ioe.printStackTrace();
-            Log.e("SubstratumLogger", "Unable to load XML file correctly.");
+            // Exception
         }
         return list;
     }
diff --git a/app/src/main/java/projekt/substratum/helper/util/Root.java b/app/src/main/java/masquerade/substratum/util/Root.java
similarity index 98%
rename from app/src/main/java/projekt/substratum/helper/util/Root.java
rename to app/src/main/java/masquerade/substratum/util/Root.java
index 7b68888..ccda162 100644
--- a/app/src/main/java/projekt/substratum/helper/util/Root.java
+++ b/app/src/main/java/masquerade/substratum/util/Root.java
@@ -1,4 +1,4 @@
-package projekt.substratum.helper.util;
+package masquerade.substratum.util;
 
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
diff --git a/app/src/main/java/projekt/substratum/helper/activities/LoaderActivity.java b/app/src/main/java/projekt/substratum/helper/activities/LoaderActivity.java
deleted file mode 100644
index bf61169..0000000
--- a/app/src/main/java/projekt/substratum/helper/activities/LoaderActivity.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package projekt.substratum.helper.activities;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-/**
- * @author Nicholas Chum (nicholaschum)
- */
-
-public class LoaderActivity extends Activity {
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        finish();
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/substratum_helper.png b/app/src/main/res/mipmap-hdpi/substratum_masquerade.png
similarity index 100%
rename from app/src/main/res/mipmap-hdpi/substratum_helper.png
rename to app/src/main/res/mipmap-hdpi/substratum_masquerade.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/substratum_helper.png b/app/src/main/res/mipmap-mdpi/substratum_masquerade.png
similarity index 100%
rename from app/src/main/res/mipmap-mdpi/substratum_helper.png
rename to app/src/main/res/mipmap-mdpi/substratum_masquerade.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/substratum_helper.png b/app/src/main/res/mipmap-xhdpi/substratum_masquerade.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/substratum_helper.png
rename to app/src/main/res/mipmap-xhdpi/substratum_masquerade.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/substratum_helper.png b/app/src/main/res/mipmap-xxhdpi/substratum_masquerade.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/substratum_helper.png
rename to app/src/main/res/mipmap-xxhdpi/substratum_masquerade.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/substratum_helper.png b/app/src/main/res/mipmap-xxxhdpi/substratum_masquerade.png
similarity index 100%
rename from app/src/main/res/mipmap-xxxhdpi/substratum_helper.png
rename to app/src/main/res/mipmap-xxxhdpi/substratum_masquerade.png
Binary files differ
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index daed497..7346179 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,3 @@
 <resources>
-    <string name="app_name">substratum helper</string>
+    <string name="app_name">substratum masquerade</string>
 </resources>