@@ -0,0 +1,2078 @@
+/*%0A * Copyright (c) 2015 David Schulte%0A *%0A * Permission is hereby granted, free of charge, to any person obtaining a copy%0A * of this software and associated documentation files (the %22Software%22), to deal%0A * in the Software without restriction, including without limitation the rights%0A * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell%0A * copies of the Software, and to permit persons to whom the Software is%0A * furnished to do so, subject to the following conditions:%0A *%0A * The above copyright notice and this permission notice shall be included in%0A * all copies or substantial portions of the Software.%0A *%0A * THE SOFTWARE IS PROVIDED %22AS IS%22, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR%0A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,%0A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE%0A * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER%0A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,%0A * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN%0A * THE SOFTWARE.%0A */%0A%0Apackage de.arcus.framework.superuser;%0A%0A/**%0A * Tools for the superuser%0A */%0Apublic class SuperUserTools %7B%0A    /**%0A     * Copy a file with root permissions%0A     * @param src Source file%0A     * @param dest Destination file%0A     * @return Returns whether the command was successful%0A     */%0A    public static boolean copyFile(String src, String dest) %7B%0A        SuperUserCommand superUserCommand = new SuperUserCommand(new String%5B%5D %7B%0A                %22rm -f '%22 + dest + %22'%22, // Remove destination file%0A                %22cat '%22 + src + %22' %3E%3E '%22 + dest + %22'%22, // Using cat to copy file instead of cp, because you can use it without busybox%0A                %22chmod 0777 '%22 + dest + %22'%22 // Change the access mode to all users (chown sdcard_r will fail on some devices)%0A        %7D);%0A        // Execute the command%0A        superUserCommand.execute();%0A%0A        // Superuser permissions and command are successful%0A        return superUserCommand.commandWasSuccessful();%0A    %7D%0A%7D%0A

Add SuperUserTools