diff --git a/ATA-GUI/ATA-GUI.csproj b/ATA-GUI/ATA-GUI.csproj index 80b435d..0aa356f 100644 --- a/ATA-GUI/ATA-GUI.csproj +++ b/ATA-GUI/ATA-GUI.csproj @@ -10,9 +10,9 @@ © 2021-2024 Massimiliano Sartore - 3.7.5.0 - 3.7.5.0 - 3.7.5.0 + 3.8.0.0 + 3.8.0.0 + 3.8.0.0 publish\ diff --git a/ATA-GUI/Classes/ATA.cs b/ATA-GUI/Classes/ATA.cs index 2507b09..291cff6 100644 --- a/ATA-GUI/Classes/ATA.cs +++ b/ATA-GUI/Classes/ATA.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.IO; using System.Net.Http; using System.Threading.Tasks; using System.Windows.Forms; @@ -10,17 +11,20 @@ namespace ATA_GUI.Classes { internal class ATA { - public static readonly string CURRENTVERSION = "v3.7.5"; + public static readonly string CURRENTVERSION = "v3.8.0"; public static readonly string IPFileName = "IPList.txt"; public HashSet IPList { get; } = new HashSet(); public List Devices { get; } = new List(); public string FILEADB { get; } + public string FILEFastboot { get; } public bool TextboxClear { get; set; } public bool IsConnected { get; set; } public bool IsMaximize { get; set; } public Tab CurrentTab { get; private set; } public static DeviceData CurrentDeviceSelected { get; set; } + public static string FASTBOOTPath { get; set; } + public static string ADBPath { get; set; } public Size windowSize; public List selectedRows { get; set; } @@ -28,6 +32,7 @@ internal class ATA public ATA() { FILEADB = "adb.exe"; + FILEFastboot = "fastboot.exe"; IsConnected = true; IsMaximize = false; CurrentTab = Tab.SYSTEM; @@ -64,6 +69,29 @@ public void setCurrentTab(string currentTab) _ => Tab.UNKNOWN, }; } + + public static string FindExecutable(string executable) + { + string customPath = Directory.GetCurrentDirectory(); + List paths = new List { customPath }; + + var envPaths = Environment.GetEnvironmentVariable("Path"); + if (envPaths != null) + { + paths.AddRange(envPaths.Split(Path.PathSeparator)); + } + + foreach (var path in paths) + { + string fullPath = Path.Combine(path, executable); + if (File.Exists(fullPath)) + { + return fullPath; + } + } + + return null; + } } internal enum Tab diff --git a/ATA-GUI/Forms/AboutForm.cs b/ATA-GUI/Forms/AboutForm.cs index 0c83ccd..ab85aad 100644 --- a/ATA-GUI/Forms/AboutForm.cs +++ b/ATA-GUI/Forms/AboutForm.cs @@ -14,27 +14,27 @@ public AboutForm() private void pictureRepo_Click(object sender, EventArgs e) { - ConsoleProcess.openLink("https://github.com/MassimilianoSartore/ATA-GUI"); + ConsoleProcess.OpenLink("https://github.com/MassimilianoSartore/ATA-GUI"); } private void labelLicense_Click(object sender, EventArgs e) { - ConsoleProcess.openLink("https://raw.githubusercontent.com/MassimilianoSartore/ATA-GUI/main/LICENSE"); + ConsoleProcess.OpenLink("https://raw.githubusercontent.com/MassimilianoSartore/ATA-GUI/main/LICENSE"); } private void linkLabelDNZ_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - ConsoleProcess.openLink("https://github.com/haf/DotNetZip.Semverd"); + ConsoleProcess.OpenLink("https://github.com/haf/DotNetZip.Semverd"); } private void linkLabelSDK_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - ConsoleProcess.openLink("https://developer.android.com/studio/releases/platform-tools"); + ConsoleProcess.OpenLink("https://developer.android.com/studio/releases/platform-tools"); } private void linkLabelRepo_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - ConsoleProcess.openLink("https://github.com/MassimilianoSartore/ATA-GUI"); + ConsoleProcess.OpenLink("https://github.com/MassimilianoSartore/ATA-GUI"); } private void buttonClose_Click(object sender, EventArgs e) @@ -44,17 +44,17 @@ private void buttonClose_Click(object sender, EventArgs e) private void linkLabelNewtonsoft_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - ConsoleProcess.openLink("https://www.newtonsoft.com/json"); + ConsoleProcess.OpenLink("https://www.newtonsoft.com/json"); } private void linkLabelScrcpy_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - ConsoleProcess.openLink("https://github.com/Genymobile/scrcpy"); + ConsoleProcess.OpenLink("https://github.com/Genymobile/scrcpy"); } private void linkLabelIcons_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - ConsoleProcess.openLink("https://icons8.com"); + ConsoleProcess.OpenLink("https://icons8.com"); } private void About_Load(object sender, EventArgs e) @@ -64,12 +64,12 @@ private void About_Load(object sender, EventArgs e) private void linkLabelGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - ConsoleProcess.openLink("https://github.com/msartore"); + ConsoleProcess.OpenLink("https://github.com/msartore"); } private void linkLabelWebsite_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - ConsoleProcess.openLink("https://msartore.dev"); + ConsoleProcess.OpenLink("https://msartore.dev"); } } } diff --git a/ATA-GUI/Forms/BloatwareRemoverForm.cs b/ATA-GUI/Forms/BloatwareRemoverForm.cs index e9dc861..071c16e 100644 --- a/ATA-GUI/Forms/BloatwareRemoverForm.cs +++ b/ATA-GUI/Forms/BloatwareRemoverForm.cs @@ -95,7 +95,7 @@ private void buttonAction_Click(object sender, EventArgs e) if (nonSystemApp.Any(it => it.Equals(app)) || comboBoxActionMode.SelectedIndex == 1) { - if (ConsoleProcess.adbFastbootCommandR(MainForm.commandAssemblerF("shell pm uninstall -k --user " + ATA.CurrentDeviceSelected.User + " " + item), 0).Contains("Success")) + if (ConsoleProcess.AdbFastbootCommandR(MainForm.commandAssemblerF("shell pm uninstall -k --user " + ATA.CurrentDeviceSelected.User + " " + item), 0).Contains("Success")) { listSuccess.Add(app); } @@ -106,7 +106,7 @@ private void buttonAction_Click(object sender, EventArgs e) } else { - if (ConsoleProcess.adbFastbootCommandR(MainForm.commandAssemblerF("shell pm disable-user --user " + ATA.CurrentDeviceSelected.User + " " + item), 0).Contains(item + " new state: disabled-user")) + if (ConsoleProcess.AdbFastbootCommandR(MainForm.commandAssemblerF("shell pm disable-user --user " + ATA.CurrentDeviceSelected.User + " " + item), 0).Contains(item + " new state: disabled-user")) { listSuccess.Add(app); } diff --git a/ATA-GUI/Forms/BootloaderMenuForm.cs b/ATA-GUI/Forms/BootloaderMenuForm.cs index 3742eb9..33f3878 100644 --- a/ATA-GUI/Forms/BootloaderMenuForm.cs +++ b/ATA-GUI/Forms/BootloaderMenuForm.cs @@ -13,42 +13,42 @@ public BootloaderMenuForm() private void buttonUB2014_Click(object sender, EventArgs e) { - richTextBoxLog.Text += ConsoleProcess.adbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-info"), MainForm.commandAssemblerF("oem unlock"), MainForm.commandAssemblerF("getvar unlocked") }, 1) + "\n"; + richTextBoxLog.Text += ConsoleProcess.AdbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-info"), MainForm.commandAssemblerF("oem unlock"), MainForm.commandAssemblerF("getvar unlocked") }, 1) + "\n"; } private void buttonLB2014_Click(object sender, EventArgs e) { - richTextBoxLog.Text += ConsoleProcess.adbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-info"), MainForm.commandAssemblerF("oem lock"), MainForm.commandAssemblerF("getvar unlocked") }, 1) + "\n"; + richTextBoxLog.Text += ConsoleProcess.AdbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-info"), MainForm.commandAssemblerF("oem lock"), MainForm.commandAssemblerF("getvar unlocked") }, 1) + "\n"; } private void buttonUB2015_Click(object sender, EventArgs e) { - richTextBoxLog.Text += ConsoleProcess.adbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-info"), MainForm.commandAssemblerF("flashing unlock"), MainForm.commandAssemblerF("getvar unlocked") }, 1) + "\n"; + richTextBoxLog.Text += ConsoleProcess.AdbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-info"), MainForm.commandAssemblerF("flashing unlock"), MainForm.commandAssemblerF("getvar unlocked") }, 1) + "\n"; } private void buttonLB2015_Click(object sender, EventArgs e) { - richTextBoxLog.Text += ConsoleProcess.adbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-info"), MainForm.commandAssemblerF("flashing lock"), MainForm.commandAssemblerF("getvar unlocked") }, 1) + "\n"; + richTextBoxLog.Text += ConsoleProcess.AdbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-info"), MainForm.commandAssemblerF("flashing lock"), MainForm.commandAssemblerF("getvar unlocked") }, 1) + "\n"; } private void buttonVivoUnlock_Click(object sender, EventArgs e) { - richTextBoxLog.Text += ConsoleProcess.adbFastbootCommandR(new[] { MainForm.commandAssemblerF("bbk unlock_vivo") }, 1) + "\n"; + richTextBoxLog.Text += ConsoleProcess.AdbFastbootCommandR(new[] { MainForm.commandAssemblerF("bbk unlock_vivo") }, 1) + "\n"; } private void buttonVivoLock_Click(object sender, EventArgs e) { - richTextBoxLog.Text += ConsoleProcess.adbFastbootCommandR(new[] { MainForm.commandAssemblerF("bbk lock_vivo") }, 1) + "\n"; + richTextBoxLog.Text += ConsoleProcess.AdbFastbootCommandR(new[] { MainForm.commandAssemblerF("bbk lock_vivo") }, 1) + "\n"; } private void buttonDI_Click(object sender, EventArgs e) { - richTextBoxLog.Text += ConsoleProcess.adbFastbootCommandR(new[] { MainForm.commandAssemblerF("getvar all") }, 1) + "\n"; + richTextBoxLog.Text += ConsoleProcess.AdbFastbootCommandR(new[] { MainForm.commandAssemblerF("getvar all") }, 1) + "\n"; } private void buttonDID_Click(object sender, EventArgs e) { - richTextBoxLog.Text += ConsoleProcess.adbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-id") }, 1) + "\n"; + richTextBoxLog.Text += ConsoleProcess.AdbFastbootCommandR(new[] { MainForm.commandAssemblerF("oem device-id") }, 1) + "\n"; } } } diff --git a/ATA-GUI/Forms/DefaultAppForm.cs b/ATA-GUI/Forms/DefaultAppForm.cs index 505ab49..8a53a48 100644 --- a/ATA-GUI/Forms/DefaultAppForm.cs +++ b/ATA-GUI/Forms/DefaultAppForm.cs @@ -1,6 +1,5 @@ using System; using System.Windows.Forms; -using ATA_GUI.Classes; using ATA_GUI.Utils; namespace ATA_GUI @@ -28,9 +27,7 @@ private void buttonClose_Click(object sender, EventArgs e) private void buttonSetDefault_Click(object sender, EventArgs e) { - Clipboard.SetText("-s " + ATA.CurrentDeviceSelected.ID + " shell cmd role add-role-holder android.app.role." + comboBoxType.Text + " " + apk); - - _ = ConsoleProcess.systemCommand("adb -s " + ATA.CurrentDeviceSelected.ID + " shell cmd role add-role-holder android.app.role." + comboBoxType.Text + " " + apk); + _ = ConsoleProcess.AdbProcess(MainForm.commandAssemblerF("shell cmd role add-role-holder android.app.role." + comboBoxType.Text + " " + apk)); MainForm.MessageShowBox("Command injected", 2); } diff --git a/ATA-GUI/Forms/DeviceLogsForm.cs b/ATA-GUI/Forms/DeviceLogsForm.cs index af9f21e..9ec7146 100644 --- a/ATA-GUI/Forms/DeviceLogsForm.cs +++ b/ATA-GUI/Forms/DeviceLogsForm.cs @@ -148,7 +148,7 @@ private void buttonLogcatClear_Click(object sender, EventArgs e) { checkAndStop(); buttonLogcat.Text = "Start"; - _ = ConsoleProcess.adbFastbootCommandR("-s " + ATA.CurrentDeviceSelected.ID + " logcat -c", 0); + _ = ConsoleProcess.AdbFastbootCommandR("-s " + ATA.CurrentDeviceSelected.ID + " logcat -c", 0); } private void richTextBoxLog_LinkClicked(object sender, LinkClickedEventArgs e) diff --git a/ATA-GUI/Forms/FeedbackForm.cs b/ATA-GUI/Forms/FeedbackForm.cs index 335003b..8ed39bd 100644 --- a/ATA-GUI/Forms/FeedbackForm.cs +++ b/ATA-GUI/Forms/FeedbackForm.cs @@ -46,27 +46,27 @@ public static bool changeFeedbackFile(bool popUp) private void buttonSendFeedback_Click(object sender, EventArgs e) { - ConsoleProcess.openLink("https://github.com/MassimilianoSartore/ATA-GUI/issues/new/choose"); + ConsoleProcess.OpenLink("https://github.com/MassimilianoSartore/ATA-GUI/issues/new/choose"); } private void buttonShareTwitter_Click(object sender, EventArgs e) { - ConsoleProcess.openLink("https://twitter.com/intent/tweet?text=Check+out+this+cool+Android™+tool+that+I+found!+https://github.com/MassimilianoSartore/ATA-GUI"); + ConsoleProcess.OpenLink("https://twitter.com/intent/tweet?text=Check+out+this+cool+Android™+tool+that+I+found!+https://github.com/MassimilianoSartore/ATA-GUI"); } private void buttonSGF_Click(object sender, EventArgs e) { - ConsoleProcess.openLink("https://github.com/MassimilianoSartore/ATA-GUI/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=%5BFEATURE%5D"); + ConsoleProcess.OpenLink("https://github.com/MassimilianoSartore/ATA-GUI/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=%5BFEATURE%5D"); } private void buttonSGI_Click(object sender, EventArgs e) { - ConsoleProcess.openLink("https://github.com/MassimilianoSartore/ATA-GUI/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D"); + ConsoleProcess.OpenLink("https://github.com/MassimilianoSartore/ATA-GUI/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D"); } private void buttonDonate_Click(object sender, EventArgs e) { - ConsoleProcess.openLink("https://msartore.dev/donation/"); + ConsoleProcess.OpenLink("https://msartore.dev/donation/"); } } } diff --git a/ATA-GUI/Forms/LoadingForm.cs b/ATA-GUI/Forms/LoadingForm.cs index 05c2fd6..73f0796 100644 --- a/ATA-GUI/Forms/LoadingForm.cs +++ b/ATA-GUI/Forms/LoadingForm.cs @@ -90,7 +90,7 @@ private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) { labelFileName.Text = x; Refresh(); - string result = ConsoleProcess.adbProcess(command + x).ToLowerInvariant(); + string result = ConsoleProcess.AdbProcess(command + x).ToLowerInvariant(); if (result.Contains("not found") || result.Contains("fail") || result.Trim().Length == 0 || result.Contains("doesn't exist")) { failedApps.Add(x); @@ -100,7 +100,7 @@ private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) break; case OperationType.Transfer: - _ = ConsoleProcess.adbProcess("-s " + deviceSerial + " shell mkdir sdcard/ATA"); + _ = ConsoleProcess.AdbProcess("-s " + deviceSerial + " shell mkdir sdcard/ATA"); array.ForEach(file => { @@ -108,7 +108,7 @@ private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) { labelFileName.Text = file[(file.LastIndexOf('\\') + 1)..]; Refresh(); - if (ConsoleProcess.adbProcess("-s " + deviceSerial + " push " + file + " sdcard/ATA ") == null) + if (ConsoleProcess.AdbProcess("-s " + deviceSerial + " push " + file + " sdcard/ATA ") == null) { failedApps.Add(file); } @@ -121,17 +121,17 @@ private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) if (!Directory.Exists("APKS")) { - _ = ConsoleProcess.systemCommand("mkdir APKS"); + _ = ConsoleProcess.SystemCommand("mkdir APKS"); } array.ForEach(x => { labelFileName.Text = x; Refresh(); - string[] pathList = ConsoleProcess.adbProcess("-s " + deviceSerial + " shell pm path " + x).Split('\n').Where(it => it.Contains("package")).ToArray(); + string[] pathList = ConsoleProcess.AdbProcess("-s " + deviceSerial + " shell pm path " + x).Split('\n').Where(it => it.Contains("package")).ToArray(); foreach (string path in pathList) { - string result = ConsoleProcess.adbProcess(("-s " + deviceSerial + " pull " + path.Replace("package:", "").Trim() + " " + Application.StartupPath + "APKS\\" + x + "_" + path[(path.LastIndexOf('/') + 1)..]).Trim()); + string result = ConsoleProcess.AdbProcess(("-s " + deviceSerial + " pull " + path.Replace("package:", "").Trim() + " " + Application.StartupPath + "APKS\\" + x + "_" + path[(path.LastIndexOf('/') + 1)..]).Trim()); if (!result.Contains("file pulled")) { failedApps.Add(result); diff --git a/ATA-GUI/Forms/MainForm.Designer.cs b/ATA-GUI/Forms/MainForm.Designer.cs index 792ccb8..72fa495 100644 --- a/ATA-GUI/Forms/MainForm.Designer.cs +++ b/ATA-GUI/Forms/MainForm.Designer.cs @@ -816,7 +816,7 @@ private void InitializeComponent() // toolStripButtonSearch // toolStripButtonSearch.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - toolStripButtonSearch.Image = Properties.Resources.icons8_search_in_browser_48; + toolStripButtonSearch.Image = Properties.Resources.icons8_search_48; toolStripButtonSearch.ImageTransparentColor = System.Drawing.Color.Magenta; toolStripButtonSearch.Name = "toolStripButtonSearch"; toolStripButtonSearch.Size = new System.Drawing.Size(23, 22); diff --git a/ATA-GUI/Forms/MainForm.cs b/ATA-GUI/Forms/MainForm.cs index c029525..9fb9309 100644 --- a/ATA-GUI/Forms/MainForm.cs +++ b/ATA-GUI/Forms/MainForm.cs @@ -64,7 +64,7 @@ private void panelTopBar_MouseMove(object sender, MouseEventArgs e) private async void buttonSyncApp_Click(object sender, EventArgs e) { - if (await checkAdbFastboot(false)) + if (await AdbFastbootExist(false)) { switch (ata.CurrentTab) { @@ -72,7 +72,7 @@ private async void buttonSyncApp_Click(object sender, EventArgs e) SyncDevice(); break; case Tab.FASTBOOT: - richTextBoxFastbootInfo.Text = DeviceData.ExtractBootloaderInfo(ConsoleProcess.fastbootProcess(commandAssemblerF("getvar all"))); + richTextBoxFastbootInfo.Text = DeviceData.ExtractBootloaderInfo(ConsoleProcess.FastbootProcess(commandAssemblerF("getvar all"))); panelFastboot.Enabled = true; LogWriteLine("info extracted", LogType.OK); break; @@ -195,7 +195,7 @@ private async void updateCheckAsync() { if (MessageBox.Show("New version found: " + latestRelease + "\nCurrent Version: " + ATA.CURRENTVERSION + "\n\nDo you want to update it?", "Update found!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { - ConsoleProcess.openLink((string)jsonReal[0]["html_url"]); + ConsoleProcess.OpenLink((string)jsonReal[0]["html_url"]); jsonReal[0]["assets"][0].TryGetValue("browser_download_url", out JToken urlDownload); UpdateForm update = new(urlDownload.ToString()); _ = update.ShowDialog(); @@ -239,8 +239,8 @@ private void ExtractDeviceData() try { - string sdk = ConsoleProcess.adbProcess(commandAssemblerF("shell getprop ro.build.version.sdk")); - string version = ConsoleProcess.adbProcess(commandAssemblerF("shell getprop ro.build.version.release")); + string sdk = ConsoleProcess.AdbProcess(commandAssemblerF("shell getprop ro.build.version.sdk")); + string version = ConsoleProcess.AdbProcess(commandAssemblerF("shell getprop ro.build.version.release")); if (sdk.Length > 0) { @@ -251,7 +251,7 @@ private void ExtractDeviceData() string[] arrayDeviceInfoCommands = { "-s "+ ATA.CurrentDeviceSelected.ID +" shell getprop ro.build.version.release", "-s "+ ATA.CurrentDeviceSelected.ID +" shell getprop ro.build.user", "-s "+ ATA.CurrentDeviceSelected.ID +" shell getprop ro.product.cpu.abilist", "-s "+ ATA.CurrentDeviceSelected.ID +" shell getprop ro.product.manufacturer" , "-s "+ ATA.CurrentDeviceSelected.ID +" shell getprop ro.product.model", "-s "+ ATA.CurrentDeviceSelected.ID +" shell getprop ro.product.board", "-s "+ ATA.CurrentDeviceSelected.ID +" shell getprop ro.product.device"}; - string[] arrayDeviceInfo = ConsoleProcess.adbFastbootCommandR(arrayDeviceInfoCommands, 0); + string[] arrayDeviceInfo = ConsoleProcess.AdbFastbootCommandR(arrayDeviceInfoCommands, 0); if (arrayDeviceInfo.Length > 6) { @@ -259,7 +259,7 @@ private void ExtractDeviceData() try { - localIp = ConsoleProcess.systemCommand("adb.exe -s " + ATA.CurrentDeviceSelected.ID + " shell ip route").Split(' ').Where(it => Regex.Match(it, "(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}").Success).Last(); + localIp = ConsoleProcess.AdbProcess(commandAssemblerF("shell ip route")).Split(' ').Where(it => Regex.Match(it, "(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}").Success).Last(); } catch { @@ -318,14 +318,14 @@ private void ExtractDeviceData() if (ATA.CurrentDeviceSelected.Version > 0) { - string[] usersList = ConsoleProcess.adbProcess(commandAssemblerF("shell pm list users")).Split("\n"); + string[] usersList = ConsoleProcess.AdbProcess(commandAssemblerF("shell pm list users")).Split("\n"); string userTmp = usersList.Where(it => it.Contains("running")).FirstOrDefault(); userTmp ??= usersList[1]; int gPIndex = userTmp.IndexOf('{') + 1; labelUser.Text = ATA.CurrentDeviceSelected.User = userTmp[gPIndex..userTmp.IndexOf(':')].Trim(); } - groupBoxFreeRotation.Enabled = int.TryParse(ConsoleProcess.adbProcess(commandAssemblerF("shell cmd display get - displays")), out int maxDisplay); + groupBoxFreeRotation.Enabled = int.TryParse(ConsoleProcess.AdbProcess(commandAssemblerF("shell cmd display get - displays")), out int maxDisplay); for (int i = maxDisplay; i > -1; i--) { @@ -334,7 +334,7 @@ private void ExtractDeviceData() loadApps(AppMode.NONSYSTEM); - ATA.CurrentDeviceSelected.IsRotationFreeEnabled = ConsoleProcess.adbProcess("-s " + ATA.CurrentDeviceSelected.ID + " shell wm get-ignore-orientation-request").Contains("true"); + ATA.CurrentDeviceSelected.IsRotationFreeEnabled = ConsoleProcess.AdbProcess("-s " + ATA.CurrentDeviceSelected.ID + " shell wm get-ignore-orientation-request").Contains("true"); buttonSetRotation.Text = ATA.CurrentDeviceSelected.IsRotationFreeEnabled ? "Unset" : "Set"; LogWriteLine("device info extracted", LogType.OK); @@ -397,13 +397,13 @@ private void loadApps(AppMode appMode) ATA.CurrentDeviceSelected.AppsString.Clear(); ATA.CurrentDeviceSelected.AppMode = appMode; - ATA.CurrentDeviceSelected.isATABridgeInstalled = ConsoleProcess.adbProcess(commandAssemblerF("shell pm list packages dev.msartore.atabridge")).Trim().Length != 0; + ATA.CurrentDeviceSelected.isATABridgeInstalled = ConsoleProcess.AdbProcess(commandAssemblerF("shell pm list packages dev.msartore.atabridge")).Trim().Length != 0; if (ATA.CurrentDeviceSelected.isATABridgeInstalled) { - string isAppPermissionGranted = ConsoleProcess.adbProcess(commandAssemblerF("shell dumpsys package dev.msartore.atabridge")); - ConsoleProcess.adbProcess(commandAssemblerF("shell am start -a dev.msartore.ACTION_SHARE_APP_LIST -c android.intent.category.DEFAULT -n dev.msartore.atabridge/dev.msartore.atabridge.MainActivity")); - ConsoleProcess.adbProcess(commandAssemblerF("pull sdcard/Android/data/dev.msartore.atabridge/cache/installed_apps.json")); + string isAppPermissionGranted = ConsoleProcess.AdbProcess(commandAssemblerF("shell dumpsys package dev.msartore.atabridge")); + ConsoleProcess.AdbProcess(commandAssemblerF("shell am start -a dev.msartore.ACTION_SHARE_APP_LIST -c android.intent.category.DEFAULT -n dev.msartore.atabridge/dev.msartore.atabridge.MainActivity")); + ConsoleProcess.AdbProcess(commandAssemblerF("pull sdcard/Android/data/dev.msartore.atabridge/cache/installed_apps.json")); if (File.Exists(filePath)) { @@ -427,13 +427,13 @@ private void loadApps(AppMode appMode) command = commandAssemblerF("shell pm list packages -d --user " + ATA.CurrentDeviceSelected.User); break; case AppMode.UNINSTALLED: - string allAppString = ConsoleProcess.adbProcess(commandAssemblerF("shell pm list packages --user ") + ATA.CurrentDeviceSelected.User); + string allAppString = ConsoleProcess.AdbProcess(commandAssemblerF("shell pm list packages --user ") + ATA.CurrentDeviceSelected.User); if (allAppString != null) { command = commandAssemblerF("shell pm list packages -u --user " + ATA.CurrentDeviceSelected.User); - string customAppString = ConsoleProcess.adbProcess(command); + string customAppString = ConsoleProcess.AdbProcess(command); if (customAppString != null) { @@ -453,7 +453,7 @@ private void loadApps(AppMode appMode) if (ATA.CurrentDeviceSelected.AppMode != AppMode.UNINSTALLED) { - appStringList = ConsoleProcess.adbProcess(command); + appStringList = ConsoleProcess.AdbProcess(command); } if (appStringList != null || customApps.Count > 0) @@ -542,7 +542,7 @@ private void buttonRR_Click(object sender, EventArgs e) { if (ATA.CurrentDeviceSelected.Connection == DeviceConnection.CABLE || MessageBox.Show("Adb is not able to check if the device rebooted via wireless mode, do you want to continue?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { - _ = ConsoleProcess.systemCommand(commandAssembler(true, "reboot recovery")); + _ = ConsoleProcess.AdbProcess(commandAssemblerF("reboot recovery")); LogWriteLine("rebooted", LogType.OK); Thread.Sleep(1000); reloadList(); @@ -553,7 +553,7 @@ private void buttonRF_Click(object sender, EventArgs e) { if (ATA.CurrentDeviceSelected.Connection == DeviceConnection.CABLE || MessageBox.Show("Adb is not able to check if the device rebooted via wireless mode, do you want to continue?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { - _ = ConsoleProcess.systemCommand(commandAssembler(true, "reboot-bootloader")); + _ = ConsoleProcess.AdbProcess(commandAssemblerF("reboot-bootloader")); LogWriteLine("rebooted", LogType.OK); Thread.Sleep(1000); reloadList(); @@ -598,6 +598,9 @@ private void MainForm_Load(object sender, EventArgs e) dataGridViewPackages.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridViewPackages.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + ATA.ADBPath = ATA.FindExecutable(ata.FILEADB); + ATA.FASTBOOTPath = ATA.FindExecutable(ata.FILEFastboot); + if (File.Exists(ATA.IPFileName)) { foreach (string ip in File.ReadAllLines(ATA.IPFileName)) @@ -633,11 +636,11 @@ private async Task deviceListExtractor(bool isAdb) { List devicesRaw; - if (await checkAdbFastboot(isAdb)) + if (await AdbFastbootExist(isAdb)) { LogWriteLine("searching for devices...", LogType.INFO); - string dev = ConsoleProcess.adbFastbootCommandR("devices", isAdb ? 0 : 1); + string dev = ConsoleProcess.AdbFastbootCommandR("devices", isAdb ? 0 : 1); if (dev != null) { @@ -654,7 +657,7 @@ private async Task deviceListExtractor(bool isAdb) if (isAdb) { - name = ConsoleProcess.adbProcess("-s " + Regex.Replace(id, @"\s", "") + " shell getprop ro.product.model"); + name = ConsoleProcess.AdbProcess("-s " + Regex.Replace(id, @"\s", "") + " shell getprop ro.product.model"); if (Regex.Match(id, "(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}").Success || id.Contains("tcp")) { @@ -769,7 +772,7 @@ private void MainForm_Shown(object sender, EventArgs e) _ = waitingForm.ShowDialog(); } - private async void DataLoadingUI() + private void DataLoadingUI() { ata.IsConnected = pingCheck(); @@ -787,7 +790,7 @@ private async void DataLoadingUI() LogWriteLine("starting adb...", LogType.INFO); - _ = await DevicesListUpdate(); + _ = DevicesListUpdate(); SyncDevice(); @@ -860,7 +863,7 @@ private void appFunc(string command1, string command2, int type) foreach (DataGridViewRow current in ata.selectedRows) { string log; - if ((log = ConsoleProcess.adbProcess(" -s " + ATA.CurrentDeviceSelected.ID + " " + command1 + "--user " + ATA.CurrentDeviceSelected.User + " " + current.Cells[1].Value + command2)) != null) + if ((log = ConsoleProcess.AdbProcess(" -s " + ATA.CurrentDeviceSelected.ID + " " + command1 + "--user " + ATA.CurrentDeviceSelected.User + " " + current.Cells[1].Value + command2)) != null) { if (type == 1) { @@ -904,7 +907,7 @@ private void backgroundWorkerZip_DoWork(object sender, System.ComponentModel.DoW { string fileName = textBoxDirFile.Text[(textBoxDirFile.Text.LastIndexOf('\\') + 1)..]; LogWriteLine("flashing " + fileName + "...", LogType.OK); - string log = ConsoleProcess.adbProcess(commandAssemblerF(string.Format("sideload \"{0}\"", textBoxDirFile.Text))); + string log = ConsoleProcess.AdbProcess(commandAssemblerF(string.Format("sideload \"{0}\"", textBoxDirFile.Text))); if (log.ToLower().Contains("error") || log.ToLower().Contains("failed") || log.Trim() == "") { LogWriteLine(fileName + " failed to flash, try restarting the sideload process or unplugging and replugging the device to resolve the issue.", LogType.ERROR); @@ -941,7 +944,7 @@ private void backgroundWorkerFlashImg_DoWork(object sender, System.ComponentMode LogWriteLine("flashing " + textBoxDirImg.Text, LogType.INFO); }); - if ((log = ConsoleProcess.adbFastbootCommandR(commandAssemblerF(command + textBoxDirImg.Text), 1)) != null) + if ((log = ConsoleProcess.AdbFastbootCommandR(commandAssemblerF(command + textBoxDirImg.Text), 1)) != null) { LogWriteLine(log, LogType.INFO); } @@ -951,22 +954,25 @@ private void backgroundWorkerFlashImg_DoWork(object sender, System.ComponentMode } } - private async Task checkAdbFastboot(bool isAdb) + private async Task AdbFastbootExist(bool isAdb) { - string exeTmp = isAdb ? "adb.exe" : "fastboot.exe"; - bool exist = File.Exists(exeTmp) && File.Exists("AdbWinUsbApi.dll") && File.Exists("AdbWinApi.dll") && File.Exists("etc1tool.exe"); - - if (!exist) + if (isAdb ? ATA.ADBPath != null : ATA.FASTBOOTPath != null) { - LogWriteLine("platform tools not found", LogType.ERROR); + return true; } + else + { + await ADBDownload(false); + ATA.ADBPath = ATA.FindExecutable(ata.FILEADB); + ATA.FASTBOOTPath = ATA.FindExecutable(ata.FILEFastboot); - return exist || await ADBDownload(false); + return ATA.FASTBOOTPath != null && ATA.ADBPath != null; + } } private void buttonRebootToSystem_Click(object sender, EventArgs e) { - LogWriteLine(ConsoleProcess.adbFastbootCommandR(commandAssemblerF("reboot"), 1), LogType.INFO); + LogWriteLine(ConsoleProcess.AdbFastbootCommandR(commandAssemblerF("reboot"), 1), LogType.INFO); Thread.Sleep(1000); reloadList(); } @@ -977,21 +983,21 @@ private void buttonHardReset_Click(object sender, EventArgs e) if (dialogResult == DialogResult.Yes) { LogWriteLine("erasing process started...", LogType.INFO); - LogWriteLine(ConsoleProcess.adbFastbootCommandR(commandAssemblerF("erase userdata"), 1), LogType.INFO); - LogWriteLine(ConsoleProcess.adbFastbootCommandR(commandAssemblerF("erase cache"), 1), LogType.INFO); + LogWriteLine(ConsoleProcess.AdbFastbootCommandR(commandAssemblerF("erase userdata"), 1), LogType.INFO); + LogWriteLine(ConsoleProcess.AdbFastbootCommandR(commandAssemblerF("erase cache"), 1), LogType.INFO); } } private void rebootSmartphone() { LogWriteLine("rebooting smartphone...", LogType.INFO); - _ = ConsoleProcess.systemCommand("adb -s " + ATA.CurrentDeviceSelected.ID + " reboot"); + _ = ConsoleProcess.AdbProcess(commandAssemblerF("reboot")); LogWriteLine("smartphone rebooted", LogType.OK); } private void buttonRebootRecovery_Click(object sender, EventArgs e) { - LogWriteLine(ConsoleProcess.adbFastbootCommandR(commandAssemblerF("reboot recovery"), 1), LogType.INFO); + LogWriteLine(ConsoleProcess.AdbFastbootCommandR(commandAssemblerF("reboot recovery"), 1), LogType.INFO); Thread.Sleep(1000); reloadList(); } @@ -1183,14 +1189,14 @@ private void buttonReloadDevicesList_Click(object sender, EventArgs e) reloadList(); } - private async void reloadList() + private void reloadList() { Invoke(delegate { comboBoxDevices.Items.Clear(); }); ata.Devices.Clear(); - _ = await DevicesListUpdate(); + _ = DevicesListUpdate(); } private void tabControl1_Selected(object sender, TabControlEventArgs e) @@ -1263,9 +1269,9 @@ public async Task ADBDownload(bool isUpdate) } LogWriteLine("sdk platform tool extraced!", LogType.OK); LogWriteLine("getting things ready...", LogType.INFO); - _ = ConsoleProcess.systemCommand("taskkill /f /im adb.exe"); - _ = ConsoleProcess.systemCommand("taskkill /f /im fastboot.exe"); - _ = ConsoleProcess.systemCommand("move /Y platform-tools\\* \"%cd%\""); + _ = ConsoleProcess.SystemCommand("taskkill /f /im " + ata.FILEADB); + _ = ConsoleProcess.SystemCommand("taskkill /f /im " + ata.FILEFastboot); + _ = ConsoleProcess.SystemCommand("move /Y platform-tools\\* \"%cd%\""); Directory.Delete("platform-tools", true); File.Delete("sdkplatformtool.zip"); @@ -1289,7 +1295,7 @@ public async Task ADBDownload(bool isUpdate) disableSystem(true); break; case DialogResult.OK: - ConsoleProcess.openLink("https://developer.android.com/license"); + ConsoleProcess.OpenLink("https://developer.android.com/license"); disableSystem(true); break; default: @@ -1348,14 +1354,14 @@ private void uninstalledAppToolStripMenuItem_Click(object sender, EventArgs e) private void pictureBoxLogo_Click(object sender, EventArgs e) { - ConsoleProcess.openLink("https://github.com/MassimilianoSartore/ATA-GUI"); + ConsoleProcess.OpenLink("https://github.com/MassimilianoSartore/ATA-GUI"); } private void buttonMobileScreenShare_Click(object sender, EventArgs e) { if (File.Exists("scrcpy.exe")) { - ConsoleProcess.scrcpyProcess("-s " + ATA.CurrentDeviceSelected.ID); + ConsoleProcess.ScrcpyProcess("-s " + ATA.CurrentDeviceSelected.ID); } else { @@ -1431,7 +1437,7 @@ private async void backgroundWorkerExeDownloader_DoWork(object sender, System.Co case DialogResult.No: break; case DialogResult.OK: - ConsoleProcess.openLink("https://raw.githubusercontent.com/Genymobile/scrcpy/master/LICENSE"); + ConsoleProcess.OpenLink("https://raw.githubusercontent.com/Genymobile/scrcpy/master/LICENSE"); break; default: break; @@ -1466,7 +1472,7 @@ private void labelHelp_Click(object sender, EventArgs e) private void videoTutorialToolStripMenuItem_Click(object sender, EventArgs e) { - ConsoleProcess.openLink("https://github.com/MassimilianoSartore/ATA-GUI/wiki#coming-soon"); + ConsoleProcess.OpenLink("https://github.com/MassimilianoSartore/ATA-GUI/wiki#coming-soon"); } private void pictureBoxMinimize_Click(object sender, EventArgs e) @@ -1486,7 +1492,7 @@ private void closeATA() DialogResult dialogResult = MessageBox.Show("Do you want to kill ADB?", "Kill ADB", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dialogResult == DialogResult.Yes) { - _ = ConsoleProcess.adbProcess("kill-server"); + _ = ConsoleProcess.AdbProcess("kill-server"); } } @@ -1559,7 +1565,7 @@ private void duckduckgoToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in ata.selectedRows) { - ConsoleProcess.openLink("https://duckduckgo.com/?q=" + row.Cells[1].Value.ToString()); + ConsoleProcess.OpenLink("https://duckduckgo.com/?q=" + row.Cells[1].Value.ToString()); } } @@ -1567,7 +1573,7 @@ private void googleToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in ata.selectedRows) { - ConsoleProcess.openLink("https://www.google.com/search?q=" + row.Cells[1].Value.ToString()); + ConsoleProcess.OpenLink("https://www.google.com/search?q=" + row.Cells[1].Value.ToString()); } } @@ -1575,7 +1581,7 @@ private void playMarketToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in ata.selectedRows) { - ConsoleProcess.openLink("https://play.google.com/store/apps/details?id=" + row.Cells[1].Value.ToString()); + ConsoleProcess.OpenLink("https://play.google.com/store/apps/details?id=" + row.Cells[1].Value.ToString()); } } @@ -1583,7 +1589,7 @@ private void APKMirrorToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in ata.selectedRows) { - ConsoleProcess.openLink("https://www.apkmirror.com/?post_type=app_release&searchtype=apk&s=" + row.Cells[1].Value.ToString()); + ConsoleProcess.OpenLink("https://www.apkmirror.com/?post_type=app_release&searchtype=apk&s=" + row.Cells[1].Value.ToString()); } } @@ -1591,7 +1597,7 @@ private void fDroidToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in ata.selectedRows) { - ConsoleProcess.openLink("https://f-droid.org/en/packages/" + row.Cells[1].Value.ToString()); + ConsoleProcess.OpenLink("https://f-droid.org/en/packages/" + row.Cells[1].Value.ToString()); } } @@ -1608,8 +1614,8 @@ private void disabledAppToolStripMenuItem_Click(object sender, EventArgs e) private void toolStripMenuItemADBKill_Click(object sender, EventArgs e) { - _ = ConsoleProcess.systemCommand("taskkill /f /im " + ata.FILEADB); - MessageShowBox("Adb.exe killed!", 2); + _ = ConsoleProcess.SystemCommand("taskkill /f /im " + ata.FILEADB); + MessageShowBox(ata.FILEADB + " killed!", 2); } private void labelTools_MouseEnter(object sender, EventArgs e) @@ -1664,12 +1670,12 @@ private void backgroundWorkerADBConnect_DoWork(object sender, System.ComponentMo { if (ATA.CurrentDeviceSelected.ID.Length > 0) { - _ = ConsoleProcess.adbProcess(" -s " + ATA.CurrentDeviceSelected.ID + " tcpip " + port); + _ = ConsoleProcess.AdbProcess(" -s " + ATA.CurrentDeviceSelected.ID + " tcpip " + port); } } } - result = ConsoleProcess.adbProcess("connect " + ip + ":" + port); + result = ConsoleProcess.AdbProcess("connect " + ip + ":" + port); if (!result.Contains("cannot connect")) { @@ -1719,7 +1725,7 @@ private void backgroundWorkerADBDisconnect_DoWork(object sender, System.Componen if (ip.Length > 1) { - bool result = ConsoleProcess.systemCommand("adb disconnect " + ip).Contains("disconnected"); + bool result = ConsoleProcess.SystemCommand("adb disconnect " + ip).Contains("disconnected"); if (result) { @@ -1842,7 +1848,7 @@ private void toolStripButtonExtract_Click(object sender, EventArgs e) private void buttonTurnOffAdb_Click(object sender, EventArgs e) { - _ = ConsoleProcess.adbProcess("-s " + ATA.CurrentDeviceSelected.ID + " shell settings put global adb_enabled 0"); + _ = ConsoleProcess.AdbProcess("-s " + ATA.CurrentDeviceSelected.ID + " shell settings put global adb_enabled 0"); LogWriteLine("the command has been ejected", LogType.INFO); SyncDevice(); } @@ -1870,8 +1876,8 @@ private void buttonSetRotation_Click(object sender, EventArgs e) commandRun += (!ATA.CurrentDeviceSelected.IsRotationFreeEnabled).ToString().ToLowerInvariant(); - _ = ConsoleProcess.adbProcess("-s " + ATA.CurrentDeviceSelected.ID + commandRun); - ATA.CurrentDeviceSelected.IsRotationFreeEnabled = ConsoleProcess.adbProcess("-s " + ATA.CurrentDeviceSelected.ID + " shell wm get-ignore-orientation-request").Contains("true"); + _ = ConsoleProcess.AdbProcess("-s " + ATA.CurrentDeviceSelected.ID + commandRun); + ATA.CurrentDeviceSelected.IsRotationFreeEnabled = ConsoleProcess.AdbProcess("-s " + ATA.CurrentDeviceSelected.ID + " shell wm get-ignore-orientation-request").Contains("true"); LogWriteLine("free rotation " + buttonSetRotation.Text.ToLowerInvariant() + "ed", LogType.INFO); buttonSetRotation.Text = ATA.CurrentDeviceSelected.IsRotationFreeEnabled ? "Unset" : "Set"; } @@ -1884,13 +1890,13 @@ private void buttonCommandInject_Click(object sender, EventArgs e) } else { - LogWriteLine(ConsoleProcess.adbFastbootCommandR(richTextBoxTerminal.Text.Trim(), radioButtonADB.Checked ? 0 : 1), LogType.INFO); + LogWriteLine(ConsoleProcess.AdbFastbootCommandR(richTextBoxTerminal.Text.Trim(), radioButtonADB.Checked ? 0 : 1), LogType.INFO); } } private void buttonInjectText_Click(object sender, EventArgs e) { - _ = ConsoleProcess.adbProcess("-s " + ATA.CurrentDeviceSelected.ID + " shell input text \"" + richTextBoxSend.Text + "\""); + _ = ConsoleProcess.AdbProcess("-s " + ATA.CurrentDeviceSelected.ID + " shell input text \"" + richTextBoxSend.Text + "\""); if (richTextBoxSend.Text.Length == 0) { MessageShowBox("You have to enter a text to inject!", 1); @@ -2003,7 +2009,7 @@ private void backgroundWorkerFileTransfer_DoWork(object sender, System.Component private void buttonrr__Click(object sender, EventArgs e) { - _ = ConsoleProcess.systemCommand(commandAssembler(true, "reboot recovery")); + _ = ConsoleProcess.AdbProcess(commandAssemblerF("reboot recovery")); LogWriteLine("rebooted", LogType.OK); reloadList(); } @@ -2017,7 +2023,7 @@ private void buttonrs__Click(object sender, EventArgs e) private void buttonrf__Click(object sender, EventArgs e) { - _ = ConsoleProcess.systemCommand(commandAssembler(true, "reboot-bootloader")); + _ = ConsoleProcess.AdbProcess(commandAssemblerF("reboot-bootloader")); LogWriteLine("rebooted", LogType.INFO); reloadList(); } @@ -2030,7 +2036,7 @@ private void buttonCamera_Click(object sender, EventArgs e) { if (File.Exists("scrcpy.exe")) { - string[] result = ConsoleProcess.scrcpyVersion("--version").Split(' '); + string[] result = ConsoleProcess.ScrcpyVersion("--version").Split(' '); foreach (string item in result) { if (item.Contains(".")) @@ -2065,7 +2071,7 @@ private void buttonCamera_Click(object sender, EventArgs e) } } } - _ = ConsoleProcess.systemCommandAsync(string.Format("scrcpy -s {0} --video-source=camera --camera-size=1920x1080 --camera-facing={1}", ATA.CurrentDeviceSelected.ID, comboBoxCameraModes.Text)); + _ = ConsoleProcess.SystemCommandAsync(string.Format("scrcpy -s {0} --video-source=camera --camera-size=1920x1080 --camera-facing={1}", ATA.CurrentDeviceSelected.ID, comboBoxCameraModes.Text)); } else { @@ -2090,8 +2096,8 @@ private void buttonBloatwareRemover_Click(object sender, EventArgs e) try { - string system = ConsoleProcess.adbProcess(commandAssemblerF("shell pm list packages -s --user " + ATA.CurrentDeviceSelected.User)); - string nonSystem = ConsoleProcess.adbProcess(commandAssemblerF("shell pm list packages -3 --user " + ATA.CurrentDeviceSelected.User)); ; + string system = ConsoleProcess.AdbProcess(commandAssemblerF("shell pm list packages -s --user " + ATA.CurrentDeviceSelected.User)); + string nonSystem = ConsoleProcess.AdbProcess(commandAssemblerF("shell pm list packages -3 --user " + ATA.CurrentDeviceSelected.User)); ; foreach (string line in system.Split("\n")) { @@ -2144,7 +2150,7 @@ private void buttonWd_md_Click(object sender, EventArgs e) if (dialogResult == DialogResult.Yes) { LogWriteLine("erasing process started...", LogType.INFO); - if ((log = ConsoleProcess.adbFastbootCommandR(commandAssemblerF("-w"), 1)) != null) + if ((log = ConsoleProcess.AdbFastbootCommandR(commandAssemblerF("-w"), 1)) != null) { LogWriteLine(log, LogType.INFO); } @@ -2192,7 +2198,7 @@ private void buttonImgExtraction_Click(object sender, EventArgs e) LogWriteLine("Generating image...", LogType.INFO); - string creationResult = ConsoleProcess.adbProcess(commandAssemblerF(String.Format("shell dd if=/dev/block/bootdevice/by-name/{0} of=/sdcard/{0}.img", comboBoxImgExtraction.Text))); + string creationResult = ConsoleProcess.AdbProcess(commandAssemblerF(String.Format("shell dd if=/dev/block/bootdevice/by-name/{0} of=/sdcard/{0}.img", comboBoxImgExtraction.Text))); if (!creationResult.Contains("No such file or directory") && creationResult.Contains("copied")) { @@ -2203,11 +2209,11 @@ private void buttonImgExtraction_Click(object sender, EventArgs e) LogWriteLine("image generated, pulling it from the device...", LogType.INFO); - string pullResult = ConsoleProcess.adbProcess(String.Format("pull /sdcard/{0}.img IMG/{0}.img", comboBoxImgExtraction.Text)); + string pullResult = ConsoleProcess.AdbProcess(String.Format("pull /sdcard/{0}.img IMG/{0}.img", comboBoxImgExtraction.Text)); if (pullResult.Contains("file pulled")) { - ConsoleProcess.adbProcess(String.Format("shell rm /sdcard/{0}.img", comboBoxImgExtraction.Text)); + ConsoleProcess.AdbProcess(String.Format("shell rm /sdcard/{0}.img", comboBoxImgExtraction.Text)); opResult = true; LogWriteLine("image pulled successfully!", LogType.OK); } diff --git a/ATA-GUI/Forms/ScrollableMessageBoxForm.cs b/ATA-GUI/Forms/ScrollableMessageBoxForm.cs index 0a61413..70fdc89 100644 --- a/ATA-GUI/Forms/ScrollableMessageBoxForm.cs +++ b/ATA-GUI/Forms/ScrollableMessageBoxForm.cs @@ -22,7 +22,7 @@ public static void show(string text, string title) private void richTextBox_LinkClicked(object sender, LinkClickedEventArgs e) { - ConsoleProcess.openLink(e.LinkText); + ConsoleProcess.OpenLink(e.LinkText); } } } diff --git a/ATA-GUI/Forms/SettingsForm.Designer.cs b/ATA-GUI/Forms/SettingsForm.Designer.cs index 0dc8745..666d036 100644 --- a/ATA-GUI/Forms/SettingsForm.Designer.cs +++ b/ATA-GUI/Forms/SettingsForm.Designer.cs @@ -88,7 +88,7 @@ private void InitializeComponent() buttonCredits.TabIndex = 33; buttonCredits.Text = "About"; buttonCredits.UseVisualStyleBackColor = false; - buttonCredits.Click += buttonCredits_Click; + buttonCredits.Click += ButtonCredits_Click; // // buttonCheckLastVersion // @@ -102,7 +102,7 @@ private void InitializeComponent() buttonCheckLastVersion.TabIndex = 34; buttonCheckLastVersion.Text = "Check Last Version"; buttonCheckLastVersion.UseVisualStyleBackColor = false; - buttonCheckLastVersion.Click += buttonCheckLastVersion_ClickAsync; + buttonCheckLastVersion.Click += ButtonCheckLastVersion_ClickAsync; // // linkLabelChangelog // @@ -114,7 +114,7 @@ private void InitializeComponent() linkLabelChangelog.TabIndex = 40; linkLabelChangelog.TabStop = true; linkLabelChangelog.Text = "Changelog"; - linkLabelChangelog.LinkClicked += linkLabelChangelog_LinkClicked; + linkLabelChangelog.LinkClicked += LinkLabelChangelog_LinkClicked; // // labelLog // @@ -146,7 +146,7 @@ private void InitializeComponent() checkBoxInitPopUp.TabIndex = 41; checkBoxInitPopUp.Text = "Disable feedback pop up"; checkBoxInitPopUp.UseVisualStyleBackColor = true; - checkBoxInitPopUp.CheckedChanged += checkBoxInitPopUp_CheckedChanged; + checkBoxInitPopUp.CheckedChanged += CheckBoxInitPopUp_CheckedChanged; // // buttonUpdateLocalSDK // @@ -160,7 +160,7 @@ private void InitializeComponent() buttonUpdateLocalSDK.TabIndex = 42; buttonUpdateLocalSDK.Text = "Update local SDK Platform Tools"; buttonUpdateLocalSDK.UseVisualStyleBackColor = false; - buttonUpdateLocalSDK.Click += buttonUpdateLocalSDK_Click; + buttonUpdateLocalSDK.Click += ButtonUpdateLocalSDK_Click; // // buttonDeleteIPHistory // @@ -174,7 +174,7 @@ private void InitializeComponent() buttonDeleteIPHistory.TabIndex = 43; buttonDeleteIPHistory.Text = "Delete IP History"; buttonDeleteIPHistory.UseVisualStyleBackColor = false; - buttonDeleteIPHistory.Click += buttonDeleteIPHistory_Click; + buttonDeleteIPHistory.Click += ButtonDeleteIPHistory_Click; // // buttonATABridgeDownload // diff --git a/ATA-GUI/Forms/SettingsForm.cs b/ATA-GUI/Forms/SettingsForm.cs index 75a4ac5..01e216e 100644 --- a/ATA-GUI/Forms/SettingsForm.cs +++ b/ATA-GUI/Forms/SettingsForm.cs @@ -19,7 +19,7 @@ public SettingsForm() InitializeComponent(); } - private async void buttonCheckLastVersion_ClickAsync(object sender, EventArgs e) + private async void ButtonCheckLastVersion_ClickAsync(object sender, EventArgs e) { if (!runningCheck) { @@ -40,7 +40,7 @@ private async void buttonCheckLastVersion_ClickAsync(object sender, EventArgs e) { if (MessageBox.Show("New version found: " + latestRelease + "\nCurrent Version: " + CURRENTVERSION + "\n\nDo you want to update it?", "Update found!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { - ConsoleProcess.openLink((string)jsonReal[0]["html_url"]); + ConsoleProcess.OpenLink((string)jsonReal[0]["html_url"]); jsonReal[0]["assets"][0].TryGetValue("browser_download_url", out JToken urlDownload); UpdateForm update = new(urlDownload.ToString()); _ = update.ShowDialog(); @@ -89,13 +89,14 @@ private async void buttonCheckLastVersion_ClickAsync(object sender, EventArgs e) } } - private void buttonCredits_Click(object sender, EventArgs e) + private void ButtonCredits_Click(object sender, EventArgs e) { _ = new AboutForm().ShowDialog(); } private void Settings_Load(object sender, EventArgs e) { + buttonUpdateLocalSDK.Enabled = ATA.ADBPath.Contains(Directory.GetCurrentDirectory()); labelCurrentRelease.Text = CURRENTVERSION; linkLabelChangelog.Visible = false; @@ -106,12 +107,12 @@ private void Settings_Load(object sender, EventArgs e) starting = false; } - private void linkLabelChangelog_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + private void LinkLabelChangelog_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { ScrollableMessageBoxForm.show(changelog, "Changelog"); } - private void checkBoxInitPopUp_CheckedChanged(object sender, EventArgs e) + private void CheckBoxInitPopUp_CheckedChanged(object sender, EventArgs e) { if (starting) { @@ -125,13 +126,13 @@ private void checkBoxInitPopUp_CheckedChanged(object sender, EventArgs e) _ = FeedbackForm.changeFeedbackFile(true); } - private void buttonUpdateLocalSDK_Click(object sender, EventArgs e) + private void ButtonUpdateLocalSDK_Click(object sender, EventArgs e) { DialogResult = DialogResult.Yes; Close(); } - private void buttonDeleteIPHistory_Click(object sender, EventArgs e) + private void ButtonDeleteIPHistory_Click(object sender, EventArgs e) { if (File.Exists(ATA.IPFileName)) { diff --git a/ATA-GUI/Forms/TaskManager.cs b/ATA-GUI/Forms/TaskManager.cs index 1989275..9bb98ee 100644 --- a/ATA-GUI/Forms/TaskManager.cs +++ b/ATA-GUI/Forms/TaskManager.cs @@ -53,7 +53,7 @@ private void loadTasks() { textBoxTaskName.Text = ""; dataGridViewTasks.Rows.Clear(); - string[] tasks = ConsoleProcess.adbProcess(MainForm.commandAssemblerF("shell ps")).Split('\n'); + string[] tasks = ConsoleProcess.AdbProcess(MainForm.commandAssemblerF("shell ps")).Split('\n'); for (int i = 1; i < tasks.Length; i++) { @@ -99,7 +99,7 @@ private void toolStripButtonKillProcess_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in dataGridViewTasks.SelectedRows) { - _ = ConsoleProcess.adbFastbootCommandR(MainForm.commandAssemblerF(" shell am force-stop " + row.Cells[8].Value).Replace("\r", ""), 0); + _ = ConsoleProcess.AdbFastbootCommandR(MainForm.commandAssemblerF(" shell am force-stop " + row.Cells[8].Value).Replace("\r", ""), 0); } loadTasks(); diff --git a/ATA-GUI/Forms/UpdateForm.cs b/ATA-GUI/Forms/UpdateForm.cs index 334f6a9..95b9896 100644 --- a/ATA-GUI/Forms/UpdateForm.cs +++ b/ATA-GUI/Forms/UpdateForm.cs @@ -36,7 +36,7 @@ public async Task UpdateAsync() sw.WriteLine("@echo off\nTITLE ATA-GUI Updater\ntaskkill /f /im \"ATA-GUI.exe\"\ndel \"ATA-GUI.exe\"\ndel ATAUpdate.zip\ncd ATAUpdate\nmove /y * \"" + Path.GetDirectoryName(Application.ExecutablePath) + "\"\ncd ..\nrmdir ATAUpdate\nstart \"\" \"ATA-GUI.exe\"\nexit"); } labelLog.Text = "Downloading update..."; - _ = ConsoleProcess.systemCommandAsync("rmdir /s /q ATAUpdate"); + _ = ConsoleProcess.SystemCommandAsync("rmdir /s /q ATAUpdate"); Refresh(); if (!File.Exists(ataUFileName)) { @@ -62,7 +62,7 @@ public async Task UpdateAsync() Refresh(); using (ZipFile zip = ZipFile.Read(ataZipFileName)) { - _ = ConsoleProcess.systemCommand("mkdir ATAUpdate"); + _ = ConsoleProcess.SystemCommand("mkdir ATAUpdate"); zip.ExtractAll(Path.GetDirectoryName(Application.ExecutablePath) + "\\ATAUpdate"); } reportProgress(); @@ -70,7 +70,7 @@ public async Task UpdateAsync() Refresh(); labelLog.Text = "Closing App..."; Refresh(); - _ = ConsoleProcess.systemCommandAsync("start " + ataUFileName); + _ = ConsoleProcess.SystemCommandAsync("start " + ataUFileName); Application.Exit(); } catch (Exception ex) diff --git a/ATA-GUI/Forms/WirelessPairingForm.cs b/ATA-GUI/Forms/WirelessPairingForm.cs index 8ad2cf2..fd1f682 100644 --- a/ATA-GUI/Forms/WirelessPairingForm.cs +++ b/ATA-GUI/Forms/WirelessPairingForm.cs @@ -43,7 +43,7 @@ private void buttonPair_Click(object sender, EventArgs e) return; } - output = ConsoleProcess.adbProcess(string.Format("pair {0}:{1} {2}", IP, PORT, code)); + output = ConsoleProcess.AdbProcess(string.Format("pair {0}:{1} {2}", IP, PORT, code)); DialogResult = output.Contains("Successfully paired") ? DialogResult.OK : DialogResult.No; diff --git a/ATA-GUI/Resources/bloatwareList.xml b/ATA-GUI/Resources/bloatwareList.xml index a371b24..08c6bdf 100644 --- a/ATA-GUI/Resources/bloatwareList.xml +++ b/ATA-GUI/Resources/bloatwareList.xml @@ -175,6 +175,7 @@ com.motorola.attvowifi com.wavemarket.waplauncher com.samsung.attvvm + com.samsung.attribution com.sec.android.app.ewidgetatt com.synchronoss.dcs.att.r2g fr.bouyguestelecom.ecm.android @@ -617,7 +618,6 @@ com.sec.hearingadjust com.sec.vsim.ericssonnsds.webapp com.sec.svoice.lang.en_GB - com.samsung.android.sm_cn com.android.bluetoothmidiservice com.android.egg com.android.galaxy4 @@ -773,7 +773,6 @@ com.samsung.android.cmfa.framework com.sec.android.smartfpsadjuster com.sec.location.nfwlocationprivacy - com.samsung.sait.sohservice com.samsung.android.hdmapp com.samsung.android.mcfds com.samsung.android.rajaampat @@ -2776,11 +2775,11 @@ com.unionpay.tsmservice com.samsung.android.chnfileshare.kit com.sec.clocationservice + com.samsung.android.dbsc com.samsung.android.deviceidservice com.samsung.chn.apps.devicemanagement com.samsung.android.dkey com.baidu.location.fused - com.samsung.android.globalpostprocmgr com.samsung.hongbaoassistant com.sec.android.iaft com.samsung.android.app.kfa @@ -2800,6 +2799,7 @@ com.samsung.android.tencentwifisecurity com.samsung.android.sm.devicesecurity.tcm com.samsung.android.softsim + com.samsung.sait.sohservice com.samsung.android.sskds com.samsung.android.tncpage com.samsung.android.vdc @@ -2811,6 +2811,20 @@ com.transsion.aivoiceassistant com.transsion.aisettings com.miui.phone.carriers.overlay + com.tracfone.preload.accountservices + org.chromium.webview_shell + com.microsoft.deviceintegrationservice + com.microsoftsdk.crossdeviceservicebroker + com.aura.jet.att + com.aura.oobe.att + com.samsung.android.inputshare + com.itc.autotest + com.transsnet.moreplus + com.transsion.nephilim + com.transsion.phoenix + com.mediatek.ppl + com.infinix.xshare + com.android.opasuwintegrationsample com.sonyericsson.android.addoncamera.artfilter @@ -3079,7 +3093,6 @@ com.google.android.overlay.gmsconfig.gsa com.google.mainline.telemetry vendor.qti.iwlan - com.samsung.android.incall.contentprovider com.samsung.android.service.tagservice com.samsung.android.app.telephonyui com.samsung.android.appseparation @@ -3087,8 +3100,6 @@ com.samsung.android.dialer com.samsung.android.motionphoto.viewer com.samsung.android.scs - com.samsung.android.singletake.service - com.samsung.ims.smk com.softwinner.service com.tcl.faceunlock com.tct.soundrecorder @@ -3351,7 +3362,6 @@ com.google.android.apps.pdfviewer com.google.android.apps.wellbeing com.google.android.backuptransport - com.google.android.configupdater com.google.android.deskclock com.google.android.gallery3d com.google.android.googlequicksearchbox @@ -3429,6 +3439,7 @@ com.oplus.sos com.oppo.sos com.coloros.activation + com.oplus.pantanal.ums com.oplus.atlas com.oplus.stdid com.oneplus.dialer @@ -3537,6 +3548,7 @@ com.fido.fido2client com.oplus.apprecover com.coloros.musiclink + com.oplus.nas com.oplus.virtualcomm com.oplus.screenrecorder com.oplus.subsys @@ -3608,16 +3620,29 @@ com.android.se.overlay.target com.android.camera.overlay com.heytap.headset + com.samsung.android.incall.contentprovider com.sec.android.dexsystemui com.samsung.android.kmxservice com.samsung.android.knox.mpos + com.samsung.android.singletake.service com.samsung.android.providers.trash + com.samsung.ims.smk vendor.qti.data.txpwradmin com.samsung.android.vdcservice com.samsung.android.wifi.ai com.sec.android.app.qsfastpairoverlay com.samsung.android.A10s.d01.wallpapermulti com.xiaomi.mbnloader + com.sonymobile.telephony.extension + com.samsung.android.app.notes.addons + com.samsung.android.app.interpreter + com.samsung.android.audiomirroring + com.hilauncherconfig + com.theme.icondefaultshape + com.android.bluetooth.auto_generated_rro_product__ + com.google.android.overlay.modules.packageinstaller + com.transsion.bluetooth + com.android.settings.resoverlay com.sonyericsson.mtp @@ -3630,7 +3655,6 @@ com.sonymobile.themes.xperialoops2 com.sonyericsson.android.conversations com.vzw.apnlib - com.samsung.attribution com.sec.omadm com.sec.omadmspr.syncmlphoneif com.huawei.android.hwouc @@ -3650,6 +3674,7 @@ com.sec.ims com.wssyncmldm com.samsung.android.MtpApplication + com.samsung.android.sm_cn com.android.htmlviewer com.android.simappdialog com.android.backupconfirm @@ -3812,17 +3837,13 @@ com.samsung.android.localeoverlaymanager com.samsung.android.providers.contacts com.samsung.android.providers.media - com.samsung.android.secsoundpicker com.samsung.android.setting.multisound com.samsung.android.sume.nn.service com.samsung.android.wifi.softapwpathree.resources com.samsung.gamedriver.ex2100 - com.samsung.internal.systemui.navbar.gestural_no_hint com.samsung.internal.systemui.navbar.gestural_no_hint_extra_wide_back com.samsung.internal.systemui.navbar.gestural_no_hint_narrow_back com.samsung.internal.systemui.navbar.gestural_no_hint_wide_back - com.samsung.internal.systemui.navbar.sec_gestural - com.samsung.internal.systemui.navbar.sec_gestural_no_hint com.samsung.pregpudriver.ex2100 com.sec.android.systemupdate com.sec.unifiedwfc @@ -4109,7 +4130,6 @@ com.tct.systemservice com.transsion.faceid com.transsion.os.typeface - com.transsion.hilauncher com.transsion.ossettingsext com.transsion.systemupdate com.transsion.thunderback @@ -4168,6 +4188,7 @@ com.miui.systemui.overlay.devices.android com.xiaomi.discover com.xiaomi.powerchecker + com.google.android.configupdater com.google.android.apps.nexuslauncher com.google.android.gms com.google.android.gsf @@ -4267,7 +4288,6 @@ com.mi.android.globallauncher com.miui.core.internal.editor.services com.miui.core.internal.services - com.android.wifi.mainline.resources.overlay com.android.wifi.system.mainline.resources.overlay com.android.wifi.system.resources.overlay com.android.overlay.systemui @@ -4319,7 +4339,6 @@ com.android.overlay.dynamiciconconfig com.android.overlay.launcher3 com.android.overlay.settings - com.android.settings.os.overlay com.android.systemui.os.overlay com.infinix com.sprd.omacp @@ -4335,8 +4354,15 @@ com.vivo.game com.vivo.imanager com.xiaomi.ugd + com.samsung.android.globalpostprocmgr + com.samsung.internal.systemui.navbar.gestural_no_hint + com.samsung.internal.systemui.navbar.sec_gestural_no_hint + com.samsung.internal.systemui.navbar.sec_gestural com.samsung.android.packageinstaller com.samsung.android.timezone.updater + com.samsung.android.secsoundpicker com.sec.android.app.camerasaver + com.android.settings.os.overlay + com.android.soundpicker.auto_generated_rro_product__ diff --git a/ATA-GUI/Utils/APK.cs b/ATA-GUI/Utils/APK.cs index 4357e7c..bc2eea2 100644 --- a/ATA-GUI/Utils/APK.cs +++ b/ATA-GUI/Utils/APK.cs @@ -19,7 +19,7 @@ public static void installApk(string[] apksPath, string user, Action log if (File.Exists(fileLoc)) { log.Invoke(fileLoc[(fileLoc.LastIndexOf('\\') + 1)..]); - r.Add(ConsoleProcess.adbFastbootCommandR("-s " + ATA.CurrentDeviceSelected.ID + " install -r --user " + user + " \"" + fileLoc + "\"", 0).Contains("Success")); + r.Add(ConsoleProcess.AdbFastbootCommandR("-s " + ATA.CurrentDeviceSelected.ID + " install -r --user " + user + " \"" + fileLoc + "\"", 0).Contains("Success")); } } } diff --git a/ATA-GUI/Utils/ConsoleProcess.cs b/ATA-GUI/Utils/ConsoleProcess.cs index 7933488..780801f 100644 --- a/ATA-GUI/Utils/ConsoleProcess.cs +++ b/ATA-GUI/Utils/ConsoleProcess.cs @@ -3,39 +3,40 @@ using System.Diagnostics; using System.Threading.Tasks; using System.Windows.Forms; +using ATA_GUI.Classes; namespace ATA_GUI.Utils { internal class ConsoleProcess { - public static string fastbootProcess(string command) + public static string FastbootProcess(string command) { - return adbFastbootCommandR(command, 1); + return AdbFastbootCommandR(command, 1); } - public static string adbProcess(string command) + public static string AdbProcess(string command) { - return adbFastbootCommandR(command, 0); + return AdbFastbootCommandR(command, 0); } - public static string adbFastbootCommandR(string command, int type) + public static string AdbFastbootCommandR(string command, int type) { - string[] r = adbFastbootCommandR(new[] { command }, type); + string[] r = AdbFastbootCommandR(new[] { command }, type); return r.Length > 0 ? r[0] : string.Empty; } - public static string[] adbFastbootCommandR(string[] args, int type) + public static string[] AdbFastbootCommandR(string[] args, int type) { List ret = new List(); Cursor.Current = Cursors.WaitCursor; - string executable = type switch + string executable = type == 0 ? ATA.ADBPath : ATA.FASTBOOTPath; + + if (executable == null) { - 0 => "adb.exe", - 1 => "fastboot.exe", - _ => throw new ArgumentOutOfRangeException(nameof(type), "Invalid type specified.") - }; + return Array.Empty(); + } ProcessStartInfo startInfo = new() { @@ -75,20 +76,20 @@ public static string[] adbFastbootCommandR(string[] args, int type) return ret.ToArray(); } - public static string scrcpyVersion(string arguments) + public static string ScrcpyVersion(string arguments) { - return systemProcess("", "scrcpy.exe", arguments); + return SystemProcess("", "scrcpy.exe", arguments); } - public static void scrcpyProcess(string arguments) + public static void ScrcpyProcess(string arguments) { _ = Task.Run(() => { - return systemProcess("", "scrcpy.exe", arguments); + return SystemProcess("", "scrcpy.exe", arguments); }); } - public static string systemProcess(string command, string exe, string arguments) + public static string SystemProcess(string command, string exe, string arguments) { Process cmd = new(); cmd.StartInfo.FileName = exe; @@ -107,21 +108,21 @@ public static string systemProcess(string command, string exe, string arguments) return result; } - public static void openLink(string link) + public static void OpenLink(string link) { _ = Process.Start(new ProcessStartInfo(link) { UseShellExecute = true }); } - public static string systemCommand(string command) + public static string SystemCommand(string command) { - return systemProcess(command, "cmd.exe", ""); + return SystemProcess(command, "cmd.exe", ""); } - public static Task systemCommandAsync(string command) + public static Task SystemCommandAsync(string command) { return Task.Run(() => { - return systemCommand(command); + return SystemCommand(command); }); } }