com.topjohnwu.superuser.ShellUtils Java Examples
The following examples show how to use
com.topjohnwu.superuser.ShellUtils.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: RootUtils.java From SmartFlasher with GNU General Public License v3.0 | 6 votes |
@NonNull public static String runAndGetError(String command) { StringBuilder sb = new StringBuilder(); List<String> outputs = new ArrayList<>(); List<String> stderr = new ArrayList<>(); try { Shell.su(command).to(outputs, stderr).exec(); outputs.addAll(stderr); if (ShellUtils.isValidOutput(outputs)) { for (String output : outputs) { sb.append(output).append("\n"); } } return removeSuffix(sb.toString()).trim(); } catch (Exception e) { return ""; } }
Example #2
Source File: ShellImpl.java From libsu with Apache License 2.0 | 6 votes |
@Override public synchronized void execTask(@NonNull Task task) throws IOException { if (status < 0) throw new ShellTerminatedException(); ShellUtils.cleanInputStream(STDOUT); ShellUtils.cleanInputStream(STDERR); try { STDIN.write('\n'); STDIN.flush(); } catch (IOException e) { // Shell is dead release(); throw new ShellTerminatedException(); } task.run(STDIN, STDOUT, STDERR); }
Example #3
Source File: RootUtils.java From SmartPack-Kernel-Manager with GNU General Public License v3.0 | 6 votes |
@NonNull public static String runAndGetError(String command) { StringBuilder sb = new StringBuilder(); List<String> outputs = new ArrayList<>(); List<String> stderr = new ArrayList<>(); try { Shell.su(command).to(outputs, stderr).exec(); outputs.addAll(stderr); if (ShellUtils.isValidOutput(outputs)) { for (String output : outputs) { sb.append(output).append("\n"); } } return Utils.removeSuffix(sb.toString(), "\n").trim(); } catch (Exception e) { return ""; } }
Example #4
Source File: RootUtils.java From SmartFlasher with GNU General Public License v3.0 | 5 votes |
@NonNull public static String runAndGetOutput(String command) { StringBuilder sb = new StringBuilder(); try { List<String> outputs = Shell.su(command).exec().getOut(); if (ShellUtils.isValidOutput(outputs)) { for (String output : outputs) { sb.append(output).append("\n"); } } return removeSuffix(sb.toString()).trim(); } catch (Exception e) { return ""; } }
Example #5
Source File: InputHandler.java From libsu with Apache License 2.0 | 5 votes |
static InputHandler newInstance(InputStream is) { return in -> { InternalUtils.log(TAG, "<InputStream>"); ShellUtils.noFlushPump(is, in); is.close(); // Make sure it ends properly in.write('\n'); }; }
Example #6
Source File: UiThreadHandler.java From libsu with Apache License 2.0 | 5 votes |
public static void run(Runnable r) { if (ShellUtils.onMainThread()) { r.run(); } else { handler.post(r); } }
Example #7
Source File: UiThreadHandler.java From libsu with Apache License 2.0 | 5 votes |
public static void runWithLock(Object lock, Runnable r) { if (ShellUtils.onMainThread()) { synchronized (lock) { r.run(); } } else { handler.post(() -> { synchronized (lock) { r.run(); } }); } }
Example #8
Source File: UiThreadHandler.java From libsu with Apache License 2.0 | 5 votes |
public static void runAndWait(Runnable r) { if (ShellUtils.onMainThread()) { r.run(); } else { WaitRunnable wr = new WaitRunnable(r); handler.post(wr); wr.waitUntilDone(); } }
Example #9
Source File: ShellBlockIO.java From libsu with Apache License 2.0 | 5 votes |
ShellBlockIO(SuFile file, String mode) throws FileNotFoundException { super(file, mode); if (Env.blockdev()) { try { blockSize = Long.parseLong(ShellUtils.fastCmd( "blockdev --getsize64 '" + file.getAbsolutePath() + "'")); } catch (NumberFormatException e) { blockSize = Long.MAX_VALUE; } } else { // No blockdev available, no choice but to assume no boundary blockSize = Long.MAX_VALUE; } WRITE_CONV = ""; }
Example #10
Source File: ShellIO.java From libsu with Apache License 2.0 | 5 votes |
@Override public int read(byte[] b, int off, int len) throws IOException { if (off < 0 || len < 0 || off + len > b.length) throw new IndexOutOfBoundsException(); if (len == 0) return 0; if (eof) return -1; // Try to use as large block as possible long gcd = ShellUtils.gcd(fileOff, len); if (gcd >= 512) { // Aligned, directly process it len = read(b, off, len, fileOff, gcd); } else { /* Unaligned reading is too slow, try reading with 512-byte aligned * and copy those in interest (still faster than unaligned reading) */ long start = fileOff / 512 * 512; long end = (fileOff + len + 511) / 512 * 512; byte[] buf = new byte[(int) (end - start)]; len = Math.min(read(buf, 0, buf.length, start, 512), len); if (len > 0) System.arraycopy(buf, (int) (fileOff - start), b, off, len); } if (len > 0) fileOff += len; return len; }
Example #11
Source File: RootUtils.java From SmartPack-Kernel-Manager with GNU General Public License v3.0 | 5 votes |
@NonNull public static String runAndGetOutput(String command) { StringBuilder sb = new StringBuilder(); try { List<String> outputs = Shell.su(command).exec().getOut(); if (ShellUtils.isValidOutput(outputs)) { for (String output : outputs) { sb.append(output).append("\n"); } } return Utils.removeSuffix(sb.toString(), "\n").trim(); } catch (Exception e) { return ""; } }
Example #12
Source File: Env.java From libsu with Apache License 2.0 | 4 votes |
public static boolean blockdev() { Shell shell = checkShell(); if (blockdev == null) blockdev = ShellUtils.fastCmdResult(shell, "command -v blockdev"); return blockdev; }
Example #13
Source File: Env.java From libsu with Apache License 2.0 | 4 votes |
public static boolean stat() { Shell shell = checkShell(); if (stat == null) stat = ShellUtils.fastCmdResult(shell, "command -v stat"); return stat; }
Example #14
Source File: Env.java From libsu with Apache License 2.0 | 4 votes |
public static boolean wc() { Shell shell = checkShell(); if (wc == null) wc = ShellUtils.fastCmdResult(shell, "command -v wc"); return wc; }
Example #15
Source File: SuFile.java From libsu with Apache License 2.0 | 4 votes |
private String cmd(String c) { return ShellUtils.fastCmd(setCmd(c)); }
Example #16
Source File: SuFile.java From libsu with Apache License 2.0 | 4 votes |
private boolean cmdBool(String c) { return ShellUtils.fastCmdResult(setCmd(c)); }