Compare commits

...

5 Commits

Author SHA1 Message Date
Harry Fn Potter
119a95406e -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

RSL 2.1.5

+ Added Releasename to installing messages and download size message.
= Mulitple bugfixes.

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDums0ACgkQx/Rql1Vo
czc+PRAAmKSXHjNqO6JXpUKIQczrs3q15yZztgmOQMULNUImis3+/ykOxsMJit1A
W6ORtj3i2VH0TDBx/hhRghMPo+dNilyKnCWm928mXc3taMOEOKu+Dz8WfhnuNp0A
ENmV5fKfuChqrn/6jkUY8UG12NM0eu3A+7fH6LvRADxRxESVH81JUtcf4bSAlier
JuL/q67nv8mThFS3tRtjjvmu0nQMCUcvagfwRNFOUW0aob7NBAp6wxTsbxZo0yEq
oVOxyTAOR84IGHpWeDKDyMw+AySMnHQXl9Ty385zg4eHZr/l1uQcK61uNfiqVCK+
Pag6I1+vLs/3Z3v6qD84iUnis/RV2lqiZcenNeTHQgBKzSsxegB5t0WaID7qlnec
655QnEUbLbIxENS7HodMR1+CzWKgmmYpIH9jV+vH0+mTaKnAYmW56q/ae8OmjXqw
6NXSfog3Dv7U8Imq21Q8glxt/CXh1fY0I8JLxpMjbwEDm56fvvzdRAeE3TeXJR0y
CD9HbH/G8oH/OhLaj1UR5y9FR3PLIBhHmnl9VHtxcvv/nrHMQHbM9bAjPUpNdnSg
30yZxPw/eqv8KLhGxxc+cBnXv3p5bNf2j27gY1Q8XbgcL8PAM6NlVBN/9oaDQ5cL
r5Cc4d5r9F+Q+QrhpZlw3jshHdoVKqgc4ut6xBAWulztNWNvLok=
=tySN
-----END PGP SIGNATURE-----
2021-07-14 04:24:54 -04:00
Harry Fn Potter
2bd4bda513 2.1.5 many bugfixes added gamename to installation messaging. 2021-07-14 04:23:44 -04:00
Harry Fn Potter
4126c82f4d updater fix 2021-07-12 06:29:13 -04:00
Harry Fn Potter
d35fed0217 2.1.4
2.1.3.2 wouldnt work with updater.
2021-07-12 06:21:07 -04:00
Harry Fn Potter
111d3a7176 -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

RSL 2.1.3.2

+ Added checkbox to enable Enter to Download+Install.
= Fixed crash that occurred when user held down up arrow or down arrow on gamelist.
= Fixed all issues with Install.txt path.
= Clicking out of search box now closes it.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDsFZ8ACgkQx/Rql1Vo
czcwJg/+PFiXfh6PPZNIRf2Zeht7WN8oxuUFV907KnD5+gKD0rzNd1NzgrcPOgAh
/oJakvY6ryLyaopJFZ8bm7++tQ3w6mbnzPaGweNoOF7/oLDb9NKVlK5/VjA3JPPN
QtOebRgBsigoRGGTq0s7ZRZV99vtSm2R1+1z9qlEu5Fm2hEiIggLvSBdGWDhbGnZ
jnvAZixeYgR+R6x4MZTsDao+qIYMio7heiVdN03gQ4hAaPbZ/I6s3cS+K33k02Nz
IEATqkwoLOevmN/D773A0cMzh/ZQWs557E3aKtwB+EHo/0ucCk0WaMSt4WdH8Qqe
WWF6+UT8FEEN2M76SQrg80xBj3QxzfIi92c231rVvtHMiVn5qUhTrDYb2wqx7J99
cJeMgANBmWSBZRBNW7jwhAxUVXE9vE8eqBza9MarXbJaLtq3Mf0ECLWvFPllA8dU
lnBcdSuTESvZkBAokkCwEJOb7sootBpEz5BZtE268mZEfsHUGWo3/VZDrJ7lLXJW
mEE2aCcHpNWysa9CsSee/QWNgLH2v+9PM3r/1SJyQ23C2hwyQI+F2lkch8Ar5Qfn
YxMWnhAcYXTRtcxY0s7xuhpUr/TGc6m9QY6NeVYMvb3g1gbmGOyyN/MELNOkEF/l
FXnrY4AfaNTs6EL6/id/viGcHc1MnnjgzlTNg5rgoxtFrHdVwP4=
=o0TQ
-----END PGP SIGNATURE-----
2021-07-12 06:17:21 -04:00
14 changed files with 822 additions and 491 deletions

31
ADB.cs
View File

@@ -23,8 +23,11 @@ namespace AndroidSideloader
Properties.Settings.Default.Save();
if (DeviceID.Length > 1)
command = $" -s {DeviceID} {command}";
Logger.Log($"Running command {command}");
{
command = $" -s {DeviceID} {command}";
}
if (!command.Contains("dumpsys") && !command.Contains("shell pm list packages") && !command.Contains("KEYCODE_WAKEUP"))
Logger.Log($"Running command {command}");
adb.StartInfo.FileName = adbFilePath;
adb.StartInfo.Arguments = command;
adb.StartInfo.RedirectStandardError = true;
@@ -66,11 +69,12 @@ namespace AndroidSideloader
{
MessageBox.Show("There is not enough room on your device to install this package. Please clear AT LEAST 2x the amount of the app you are trying to install.");
}
if (!output.Contains("version") && !output.Contains("KEYCODE_WAKEUP") && !output.Contains("KEYCODE_WAKEUP") && !output.Contains("Filesystem") && !output.Contains("package:"))
Logger.Log(output);
Logger.Log(error);
return new ProcessOutput(output, error);
}
public static ProcessOutput RunAdbCommandToStringWOADB(string result, string file)
public static ProcessOutput RunAdbCommandToStringWOADB(string result, string path)
{
string command = result;
Properties.Settings.Default.ADBFolder = adbFolderPath;
@@ -87,7 +91,7 @@ namespace AndroidSideloader
adb.StartInfo.RedirectStandardOutput = true;
adb.StartInfo.CreateNoWindow = true;
adb.StartInfo.UseShellExecute = false;
adb.StartInfo.WorkingDirectory = Path.GetDirectoryName(file);
adb.StartInfo.WorkingDirectory = Path.GetDirectoryName(path);
adb.Start();
adb.StandardInput.WriteLine(command);
adb.StandardInput.Flush();
@@ -122,7 +126,7 @@ namespace AndroidSideloader
Logger.Log(error);
return new ProcessOutput(output, error);
}
public static ProcessOutput RunCommandToString(string result, string path = "", string file = "")
public static ProcessOutput RunCommandToString(string result, string path)
{
string command = result;
Properties.Settings.Default.ADBFolder = adbFolderPath;
@@ -230,8 +234,7 @@ namespace AndroidSideloader
public static void WakeDevice()
{
RunAdbCommandToString("shell input keyevent KEYCODE_WAKEUP");
string devicesout = RunAdbCommandToString("devices").Output;
string devicesout = RunAdbCommandToString("shell input keyevent KEYCODE_WAKEUP").Output;
if (!devicesout.Contains("found"))
{
if (Properties.Settings.Default.IPAddress.Contains("connect"))
@@ -240,7 +243,7 @@ namespace AndroidSideloader
RunAdbCommandToString(Properties.Settings.Default.IPAddress);
string response = RunAdbCommandToString(Properties.Settings.Default.IPAddress).Output;
if (response.Contains("cannot"))
if (response.Contains("cannot") || String.IsNullOrEmpty(response))
{
DialogResult dialogResult = MessageBox.Show("Either your Quest is idle or you have rebooted the device.\nRSL's wireless ADB will persist on PC reboot but not on Quest reboot.\n\nNOTE: If you haven't rebooted your Quest it may be idle.\n\nTo prevent this press the HOLD button 2x prior to launching RSL. Or\nkeep your Quest plugged into power to keep it permanently \"awake\".\n\nHave you assigned your Quest a static IP in your router configuration?\n\nIf you no longer want to use Wireless ADB or your device was idle please hit CANCEL.", "DEVICE REBOOTED\\IDLE?", MessageBoxButtons.YesNoCancel);
if (dialogResult == DialogResult.Cancel)
@@ -328,7 +331,7 @@ namespace AndroidSideloader
WakeDevice();
ProcessOutput ret = new ProcessOutput();
Program.form.ChangeTitle($"Sideloading {path}");
Program.form.ChangeTitle($"Sideloading {Path.GetFileName(path)}");
ret += RunAdbCommandToString($"install -g -r \"{path}\"");
string out2 = ret.Output + ret.Error;
if (out2.Contains("failed"))
@@ -374,7 +377,8 @@ namespace AndroidSideloader
}
ret += RunAdbCommandToString($"install -g -r \"{path}\"");
}
if (File.Exists($"{Properties.Settings.Default.MainDir}\\Config.Json"))
string gamenameforQU = Sideloader.PackageNametoGameName(packagename);
if (File.Exists($"{Properties.Settings.Default.MainDir}\\Config.Json") && gamenameforQU.Contains("-QU") || path.Contains("-QU"))
{
string gameName = packagename;
packagename = Sideloader.gameNameToPackageName(gameName);
@@ -406,15 +410,18 @@ namespace AndroidSideloader
ret += ADB.RunAdbCommandToString($"push \"{Properties.Settings.Default.MainDir}\\config.json\" /sdcard/android/data/{packagename}/private/config.json");
}
Program.form.ChangeTitle("Sideload done");
Program.form.ChangeTitle("");
return ret;
}
public static ProcessOutput CopyOBB(string path)
{
WakeDevice();
if (SideloaderUtilities.CheckFolderIsObb(path))
if (Path.GetDirectoryName(path).Contains(".") && !Path.GetDirectoryName(path).Contains("_data") || path.Contains("."))
{
Program.form.ChangeTitle($"Copying obb ({Path.GetFileName(path)}) to device...");
return RunAdbCommandToString($"push \"{path}\" /sdcard/Android/obb");
}
return new ProcessOutput();
}
}

View File

@@ -51,7 +51,7 @@
<value>White</value>
</setting>
<setting name="FontStyle" serializeAs="String">
<value>Microsoft Sans Serif, 9.5pt</value>
<value>Microsoft Sans Serif, 10pt, style=Bold</value>
</setting>
<setting name="BackPicturePath" serializeAs="String">
<value />
@@ -125,6 +125,12 @@
<setting name="PackageNameToCB" serializeAs="String">
<value>False</value>
</setting>
<setting name="EnterKeyInstall" serializeAs="String">
<value>False</value>
</setting>
<setting name="DownUpHeld" serializeAs="String">
<value>False</value>
</setting>
</AndroidSideloader.Properties.Settings>
<AndroidADB.Sideloader.Properties.Settings>
<setting name="checkForUpdates" serializeAs="String">

401
MainForm.Designer.cs generated
View File

@@ -42,7 +42,6 @@
this.downloadInstallGameButton = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.downloadingLabel = new System.Windows.Forms.Label();
this.StorageLabel = new System.Windows.Forms.Label();
this.aboutBtn = new System.Windows.Forms.Button();
this.settingsButton = new System.Windows.Forms.Button();
this.otherContainer = new System.Windows.Forms.Panel();
@@ -86,6 +85,7 @@
this.label6 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.EnterInstallBox = new System.Windows.Forms.CheckBox();
this.panel1.SuspendLayout();
this.otherContainer.SuspendLayout();
this.backupContainer.SuspendLayout();
@@ -99,8 +99,7 @@
//
// m_combo
//
this.m_combo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.m_combo.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.m_combo.BackColor = global::AndroidSideloader.Properties.Settings.Default.ComboBoxColor;
this.m_combo.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ComboBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.m_combo.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
@@ -108,9 +107,10 @@
this.m_combo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.m_combo.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.m_combo.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.m_combo.Location = new System.Drawing.Point(227, 8);
this.m_combo.Location = new System.Drawing.Point(303, 10);
this.m_combo.Margin = new System.Windows.Forms.Padding(4);
this.m_combo.Name = "m_combo";
this.m_combo.Size = new System.Drawing.Size(353, 24);
this.m_combo.Size = new System.Drawing.Size(469, 28);
this.m_combo.TabIndex = 0;
this.m_combo.Text = "Select an app to uninstall...";
//
@@ -125,10 +125,11 @@
this.startsideloadbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.startsideloadbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.startsideloadbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.startsideloadbutton.Location = new System.Drawing.Point(0, 140);
this.startsideloadbutton.Location = new System.Drawing.Point(0, 170);
this.startsideloadbutton.Margin = new System.Windows.Forms.Padding(4);
this.startsideloadbutton.Name = "startsideloadbutton";
this.startsideloadbutton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.startsideloadbutton.Size = new System.Drawing.Size(218, 28);
this.startsideloadbutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.startsideloadbutton.Size = new System.Drawing.Size(291, 34);
this.startsideloadbutton.TabIndex = 5;
this.startsideloadbutton.Text = "Sideload APK";
this.startsideloadbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -148,8 +149,9 @@
this.devicesbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.devicesbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.devicesbutton.Location = new System.Drawing.Point(0, 0);
this.devicesbutton.Margin = new System.Windows.Forms.Padding(4);
this.devicesbutton.Name = "devicesbutton";
this.devicesbutton.Size = new System.Drawing.Size(218, 28);
this.devicesbutton.Size = new System.Drawing.Size(291, 34);
this.devicesbutton.TabIndex = 0;
this.devicesbutton.Text = "RECONNECT DEVICE";
this.devicesbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -168,9 +170,10 @@
this.obbcopybutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.obbcopybutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.obbcopybutton.Location = new System.Drawing.Point(0, 0);
this.obbcopybutton.Margin = new System.Windows.Forms.Padding(4);
this.obbcopybutton.Name = "obbcopybutton";
this.obbcopybutton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.obbcopybutton.Size = new System.Drawing.Size(218, 28);
this.obbcopybutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.obbcopybutton.Size = new System.Drawing.Size(291, 34);
this.obbcopybutton.TabIndex = 0;
this.obbcopybutton.Text = "Copy OBB";
this.obbcopybutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -188,10 +191,11 @@
this.backupbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.backupbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.backupbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.backupbutton.Location = new System.Drawing.Point(0, 28);
this.backupbutton.Location = new System.Drawing.Point(0, 34);
this.backupbutton.Margin = new System.Windows.Forms.Padding(4);
this.backupbutton.Name = "backupbutton";
this.backupbutton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.backupbutton.Size = new System.Drawing.Size(218, 28);
this.backupbutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.backupbutton.Size = new System.Drawing.Size(291, 34);
this.backupbutton.TabIndex = 1;
this.backupbutton.Text = "Backup Gamedata";
this.backupbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -210,9 +214,10 @@
this.restorebutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.restorebutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.restorebutton.Location = new System.Drawing.Point(0, 0);
this.restorebutton.Margin = new System.Windows.Forms.Padding(4);
this.restorebutton.Name = "restorebutton";
this.restorebutton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.restorebutton.Size = new System.Drawing.Size(218, 28);
this.restorebutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.restorebutton.Size = new System.Drawing.Size(291, 34);
this.restorebutton.TabIndex = 0;
this.restorebutton.Text = "Restore Gamedata";
this.restorebutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -230,10 +235,11 @@
this.getApkButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.getApkButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.getApkButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.getApkButton.Location = new System.Drawing.Point(0, 56);
this.getApkButton.Location = new System.Drawing.Point(0, 68);
this.getApkButton.Margin = new System.Windows.Forms.Padding(4);
this.getApkButton.Name = "getApkButton";
this.getApkButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.getApkButton.Size = new System.Drawing.Size(218, 28);
this.getApkButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.getApkButton.Size = new System.Drawing.Size(291, 34);
this.getApkButton.TabIndex = 2;
this.getApkButton.Text = "Extract Apk from device";
this.getApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -251,10 +257,11 @@
this.uninstallAppButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.uninstallAppButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.uninstallAppButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.uninstallAppButton.Location = new System.Drawing.Point(0, 84);
this.uninstallAppButton.Location = new System.Drawing.Point(0, 102);
this.uninstallAppButton.Margin = new System.Windows.Forms.Padding(4);
this.uninstallAppButton.Name = "uninstallAppButton";
this.uninstallAppButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.uninstallAppButton.Size = new System.Drawing.Size(218, 28);
this.uninstallAppButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.uninstallAppButton.Size = new System.Drawing.Size(291, 34);
this.uninstallAppButton.TabIndex = 3;
this.uninstallAppButton.Text = "Uninstall Selected App";
this.uninstallAppButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -272,10 +279,11 @@
this.sideloadFolderButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.sideloadFolderButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.sideloadFolderButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.sideloadFolderButton.Location = new System.Drawing.Point(0, 112);
this.sideloadFolderButton.Location = new System.Drawing.Point(0, 136);
this.sideloadFolderButton.Margin = new System.Windows.Forms.Padding(4);
this.sideloadFolderButton.Name = "sideloadFolderButton";
this.sideloadFolderButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.sideloadFolderButton.Size = new System.Drawing.Size(218, 28);
this.sideloadFolderButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.sideloadFolderButton.Size = new System.Drawing.Size(291, 34);
this.sideloadFolderButton.TabIndex = 4;
this.sideloadFolderButton.Text = "Sideload Folder (recursive)";
this.sideloadFolderButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -288,9 +296,10 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.progressBar.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.progressBar.ForeColor = System.Drawing.Color.Purple;
this.progressBar.Location = new System.Drawing.Point(228, 500);
this.progressBar.Location = new System.Drawing.Point(304, 543);
this.progressBar.Margin = new System.Windows.Forms.Padding(4);
this.progressBar.Name = "progressBar";
this.progressBar.Size = new System.Drawing.Size(367, 25);
this.progressBar.Size = new System.Drawing.Size(489, 31);
this.progressBar.TabIndex = 7;
//
// copyBulkObbButton
@@ -304,10 +313,11 @@
this.copyBulkObbButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.copyBulkObbButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.copyBulkObbButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.copyBulkObbButton.Location = new System.Drawing.Point(0, 28);
this.copyBulkObbButton.Location = new System.Drawing.Point(0, 34);
this.copyBulkObbButton.Margin = new System.Windows.Forms.Padding(4);
this.copyBulkObbButton.Name = "copyBulkObbButton";
this.copyBulkObbButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.copyBulkObbButton.Size = new System.Drawing.Size(218, 28);
this.copyBulkObbButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.copyBulkObbButton.Size = new System.Drawing.Size(291, 34);
this.copyBulkObbButton.TabIndex = 1;
this.copyBulkObbButton.Text = "Recursive Copy OBB";
this.copyBulkObbButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -325,21 +335,20 @@
this.downloadInstallGameButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.downloadInstallGameButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.downloadInstallGameButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.downloadInstallGameButton.Location = new System.Drawing.Point(601, 504);
this.downloadInstallGameButton.Location = new System.Drawing.Point(801, 540);
this.downloadInstallGameButton.Margin = new System.Windows.Forms.Padding(4);
this.downloadInstallGameButton.Name = "downloadInstallGameButton";
this.downloadInstallGameButton.Size = new System.Drawing.Size(371, 30);
this.downloadInstallGameButton.Size = new System.Drawing.Size(495, 37);
this.downloadInstallGameButton.TabIndex = 8;
this.downloadInstallGameButton.Text = "Download and Install Game/Add to Queue";
this.downloadInstallGameButton.UseVisualStyleBackColor = false;
this.downloadInstallGameButton.Click += new System.EventHandler(this.downloadInstallGameButton_Click);
this.downloadInstallGameButton.Enter += new System.EventHandler(this.downloadInstallGameButton_Click);
//
// panel1
//
this.panel1.AutoScroll = true;
this.panel1.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.panel1.Controls.Add(this.downloadingLabel);
this.panel1.Controls.Add(this.StorageLabel);
this.panel1.Controls.Add(this.aboutBtn);
this.panel1.Controls.Add(this.settingsButton);
this.panel1.Controls.Add(this.otherContainer);
@@ -355,9 +364,9 @@
this.panel1.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(2);
this.panel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(218, 775);
this.panel1.Size = new System.Drawing.Size(291, 887);
this.panel1.TabIndex = 73;
//
// downloadingLabel
@@ -366,23 +375,11 @@
this.downloadingLabel.BackColor = System.Drawing.SystemColors.WindowText;
this.downloadingLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
this.downloadingLabel.ForeColor = System.Drawing.SystemColors.Control;
this.downloadingLabel.Location = new System.Drawing.Point(12, 714);
this.downloadingLabel.Location = new System.Drawing.Point(-4, 847);
this.downloadingLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.downloadingLabel.Name = "downloadingLabel";
this.downloadingLabel.Size = new System.Drawing.Size(98, 18);
this.downloadingLabel.Size = new System.Drawing.Size(0, 24);
this.downloadingLabel.TabIndex = 83;
this.downloadingLabel.Text = "Downloading:";
//
// StorageLabel
//
this.StorageLabel.AutoSize = true;
this.StorageLabel.BackColor = System.Drawing.SystemColors.WindowText;
this.StorageLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
this.StorageLabel.ForeColor = System.Drawing.SystemColors.Control;
this.StorageLabel.Location = new System.Drawing.Point(12, 636);
this.StorageLabel.Name = "StorageLabel";
this.StorageLabel.Size = new System.Drawing.Size(111, 18);
this.StorageLabel.TabIndex = 83;
this.StorageLabel.Text = "Device storage:";
//
// aboutBtn
//
@@ -396,9 +393,10 @@
this.aboutBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.aboutBtn.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.aboutBtn.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.aboutBtn.Location = new System.Drawing.Point(0, 596);
this.aboutBtn.Location = new System.Drawing.Point(0, 732);
this.aboutBtn.Margin = new System.Windows.Forms.Padding(4);
this.aboutBtn.Name = "aboutBtn";
this.aboutBtn.Size = new System.Drawing.Size(218, 28);
this.aboutBtn.Size = new System.Drawing.Size(291, 34);
this.aboutBtn.TabIndex = 5;
this.aboutBtn.Text = "ABOUT";
this.aboutBtn.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -417,9 +415,10 @@
this.settingsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.settingsButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.settingsButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.settingsButton.Location = new System.Drawing.Point(0, 568);
this.settingsButton.Location = new System.Drawing.Point(0, 698);
this.settingsButton.Margin = new System.Windows.Forms.Padding(4);
this.settingsButton.Name = "settingsButton";
this.settingsButton.Size = new System.Drawing.Size(218, 28);
this.settingsButton.Size = new System.Drawing.Size(291, 34);
this.settingsButton.TabIndex = 4;
this.settingsButton.Text = "SETTINGS";
this.settingsButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -437,10 +436,10 @@
this.otherContainer.Controls.Add(this.ADBWirelessEnable);
this.otherContainer.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.otherContainer.Dock = System.Windows.Forms.DockStyle.Top;
this.otherContainer.Location = new System.Drawing.Point(0, 401);
this.otherContainer.Margin = new System.Windows.Forms.Padding(2);
this.otherContainer.Location = new System.Drawing.Point(0, 492);
this.otherContainer.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.otherContainer.Name = "otherContainer";
this.otherContainer.Size = new System.Drawing.Size(218, 167);
this.otherContainer.Size = new System.Drawing.Size(291, 206);
this.otherContainer.TabIndex = 80;
//
// InstallQUset
@@ -454,10 +453,11 @@
this.InstallQUset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.InstallQUset.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.InstallQUset.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.InstallQUset.Location = new System.Drawing.Point(0, 140);
this.InstallQUset.Location = new System.Drawing.Point(0, 170);
this.InstallQUset.Margin = new System.Windows.Forms.Padding(4);
this.InstallQUset.Name = "InstallQUset";
this.InstallQUset.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.InstallQUset.Size = new System.Drawing.Size(218, 28);
this.InstallQUset.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.InstallQUset.Size = new System.Drawing.Size(291, 34);
this.InstallQUset.TabIndex = 5;
this.InstallQUset.Text = "Install QU Setting";
this.InstallQUset.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -475,10 +475,11 @@
this.removeQUSetting.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.removeQUSetting.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.removeQUSetting.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.removeQUSetting.Location = new System.Drawing.Point(0, 112);
this.removeQUSetting.Location = new System.Drawing.Point(0, 136);
this.removeQUSetting.Margin = new System.Windows.Forms.Padding(4);
this.removeQUSetting.Name = "removeQUSetting";
this.removeQUSetting.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.removeQUSetting.Size = new System.Drawing.Size(218, 28);
this.removeQUSetting.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.removeQUSetting.Size = new System.Drawing.Size(291, 34);
this.removeQUSetting.TabIndex = 4;
this.removeQUSetting.Text = "Remove QU Setting";
this.removeQUSetting.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -496,10 +497,11 @@
this.ThemeChangerButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.ThemeChangerButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.ThemeChangerButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.ThemeChangerButton.Location = new System.Drawing.Point(0, 84);
this.ThemeChangerButton.Location = new System.Drawing.Point(0, 102);
this.ThemeChangerButton.Margin = new System.Windows.Forms.Padding(4);
this.ThemeChangerButton.Name = "ThemeChangerButton";
this.ThemeChangerButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.ThemeChangerButton.Size = new System.Drawing.Size(218, 28);
this.ThemeChangerButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.ThemeChangerButton.Size = new System.Drawing.Size(291, 34);
this.ThemeChangerButton.TabIndex = 3;
this.ThemeChangerButton.Text = "Theme Changer";
this.ThemeChangerButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -517,10 +519,11 @@
this.QuestOptionsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.QuestOptionsButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.QuestOptionsButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.QuestOptionsButton.Location = new System.Drawing.Point(0, 56);
this.QuestOptionsButton.Location = new System.Drawing.Point(0, 68);
this.QuestOptionsButton.Margin = new System.Windows.Forms.Padding(4);
this.QuestOptionsButton.Name = "QuestOptionsButton";
this.QuestOptionsButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.QuestOptionsButton.Size = new System.Drawing.Size(218, 28);
this.QuestOptionsButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.QuestOptionsButton.Size = new System.Drawing.Size(291, 34);
this.QuestOptionsButton.TabIndex = 2;
this.QuestOptionsButton.Text = "Quest Options";
this.QuestOptionsButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -538,10 +541,11 @@
this.ADBWirelessDisable.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.ADBWirelessDisable.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.ADBWirelessDisable.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.ADBWirelessDisable.Location = new System.Drawing.Point(0, 28);
this.ADBWirelessDisable.Location = new System.Drawing.Point(0, 34);
this.ADBWirelessDisable.Margin = new System.Windows.Forms.Padding(4);
this.ADBWirelessDisable.Name = "ADBWirelessDisable";
this.ADBWirelessDisable.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.ADBWirelessDisable.Size = new System.Drawing.Size(218, 28);
this.ADBWirelessDisable.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.ADBWirelessDisable.Size = new System.Drawing.Size(291, 34);
this.ADBWirelessDisable.TabIndex = 1;
this.ADBWirelessDisable.Text = "Disable WIreless ADB";
this.ADBWirelessDisable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -560,9 +564,10 @@
this.ADBWirelessEnable.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.ADBWirelessEnable.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.ADBWirelessEnable.Location = new System.Drawing.Point(0, 0);
this.ADBWirelessEnable.Margin = new System.Windows.Forms.Padding(4);
this.ADBWirelessEnable.Name = "ADBWirelessEnable";
this.ADBWirelessEnable.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.ADBWirelessEnable.Size = new System.Drawing.Size(218, 28);
this.ADBWirelessEnable.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.ADBWirelessEnable.Size = new System.Drawing.Size(291, 34);
this.ADBWirelessEnable.TabIndex = 0;
this.ADBWirelessEnable.Text = "Enable Wireless ADB";
this.ADBWirelessEnable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -581,11 +586,11 @@
this.otherDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.otherDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.otherDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.otherDrop.Location = new System.Drawing.Point(0, 373);
this.otherDrop.Margin = new System.Windows.Forms.Padding(2);
this.otherDrop.Location = new System.Drawing.Point(0, 458);
this.otherDrop.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.otherDrop.Name = "otherDrop";
this.otherDrop.Padding = new System.Windows.Forms.Padding(7, 0, 0, 0);
this.otherDrop.Size = new System.Drawing.Size(218, 28);
this.otherDrop.Padding = new System.Windows.Forms.Padding(9, 0, 0, 0);
this.otherDrop.Size = new System.Drawing.Size(291, 34);
this.otherDrop.TabIndex = 3;
this.otherDrop.Text = "> OTHER";
this.otherDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -599,10 +604,10 @@
this.backupContainer.Controls.Add(this.restorebutton);
this.backupContainer.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.backupContainer.Dock = System.Windows.Forms.DockStyle.Top;
this.backupContainer.Location = new System.Drawing.Point(0, 313);
this.backupContainer.Margin = new System.Windows.Forms.Padding(2);
this.backupContainer.Location = new System.Drawing.Point(0, 384);
this.backupContainer.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.backupContainer.Name = "backupContainer";
this.backupContainer.Size = new System.Drawing.Size(218, 60);
this.backupContainer.Size = new System.Drawing.Size(291, 74);
this.backupContainer.TabIndex = 76;
//
// backupDrop
@@ -617,11 +622,11 @@
this.backupDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.backupDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.backupDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.backupDrop.Location = new System.Drawing.Point(0, 285);
this.backupDrop.Margin = new System.Windows.Forms.Padding(2);
this.backupDrop.Location = new System.Drawing.Point(0, 350);
this.backupDrop.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.backupDrop.Name = "backupDrop";
this.backupDrop.Padding = new System.Windows.Forms.Padding(7, 0, 0, 0);
this.backupDrop.Size = new System.Drawing.Size(218, 28);
this.backupDrop.Padding = new System.Windows.Forms.Padding(9, 0, 0, 0);
this.backupDrop.Size = new System.Drawing.Size(291, 34);
this.backupDrop.TabIndex = 2;
this.backupDrop.Text = "> BACKUP";
this.backupDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -641,10 +646,10 @@
this.sideloadContainer.Controls.Add(this.obbcopybutton);
this.sideloadContainer.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.sideloadContainer.Dock = System.Windows.Forms.DockStyle.Top;
this.sideloadContainer.Location = new System.Drawing.Point(0, 56);
this.sideloadContainer.Margin = new System.Windows.Forms.Padding(2);
this.sideloadContainer.Location = new System.Drawing.Point(0, 68);
this.sideloadContainer.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.sideloadContainer.Name = "sideloadContainer";
this.sideloadContainer.Size = new System.Drawing.Size(218, 229);
this.sideloadContainer.Size = new System.Drawing.Size(291, 282);
this.sideloadContainer.TabIndex = 74;
//
// UpdateGamesButton
@@ -658,10 +663,11 @@
this.UpdateGamesButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.UpdateGamesButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.UpdateGamesButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.UpdateGamesButton.Location = new System.Drawing.Point(0, 196);
this.UpdateGamesButton.Location = new System.Drawing.Point(0, 238);
this.UpdateGamesButton.Margin = new System.Windows.Forms.Padding(4);
this.UpdateGamesButton.Name = "UpdateGamesButton";
this.UpdateGamesButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.UpdateGamesButton.Size = new System.Drawing.Size(218, 28);
this.UpdateGamesButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.UpdateGamesButton.Size = new System.Drawing.Size(291, 34);
this.UpdateGamesButton.TabIndex = 7;
this.UpdateGamesButton.Text = "Refresh Update List";
this.UpdateGamesButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -679,10 +685,11 @@
this.listApkButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.listApkButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.listApkButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.listApkButton.Location = new System.Drawing.Point(0, 168);
this.listApkButton.Location = new System.Drawing.Point(0, 204);
this.listApkButton.Margin = new System.Windows.Forms.Padding(4);
this.listApkButton.Name = "listApkButton";
this.listApkButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.listApkButton.Size = new System.Drawing.Size(218, 28);
this.listApkButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.listApkButton.Size = new System.Drawing.Size(291, 34);
this.listApkButton.TabIndex = 6;
this.listApkButton.Text = "Refresh All";
this.listApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -701,11 +708,11 @@
this.sideloadDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.sideloadDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.sideloadDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.sideloadDrop.Location = new System.Drawing.Point(0, 28);
this.sideloadDrop.Margin = new System.Windows.Forms.Padding(2);
this.sideloadDrop.Location = new System.Drawing.Point(0, 34);
this.sideloadDrop.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.sideloadDrop.Name = "sideloadDrop";
this.sideloadDrop.Padding = new System.Windows.Forms.Padding(7, 0, 0, 0);
this.sideloadDrop.Size = new System.Drawing.Size(218, 28);
this.sideloadDrop.Padding = new System.Windows.Forms.Padding(9, 0, 0, 0);
this.sideloadDrop.Size = new System.Drawing.Size(291, 34);
this.sideloadDrop.TabIndex = 1;
this.sideloadDrop.Text = "> SIDELOAD";
this.sideloadDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -719,10 +726,9 @@
this.diskLabel.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.diskLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.diskLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.diskLabel.Location = new System.Drawing.Point(13, 654);
this.diskLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.diskLabel.Location = new System.Drawing.Point(4, 767);
this.diskLabel.Name = "diskLabel";
this.diskLabel.Size = new System.Drawing.Size(72, 16);
this.diskLabel.Size = new System.Drawing.Size(99, 20);
this.diskLabel.TabIndex = 7;
this.diskLabel.Text = "Disk Label";
//
@@ -733,10 +739,9 @@
this.speedLabel.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.speedLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.speedLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.speedLabel.Location = new System.Drawing.Point(12, 733);
this.speedLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.speedLabel.Location = new System.Drawing.Point(0, 838);
this.speedLabel.Name = "speedLabel";
this.speedLabel.Size = new System.Drawing.Size(135, 16);
this.speedLabel.Size = new System.Drawing.Size(189, 20);
this.speedLabel.TabIndex = 76;
this.speedLabel.Text = "DLS: Speed in MBPS";
//
@@ -747,10 +752,9 @@
this.etaLabel.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.etaLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.etaLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.etaLabel.Location = new System.Drawing.Point(12, 751);
this.etaLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.etaLabel.Location = new System.Drawing.Point(0, 859);
this.etaLabel.Name = "etaLabel";
this.etaLabel.Size = new System.Drawing.Size(131, 16);
this.etaLabel.Size = new System.Drawing.Size(189, 20);
this.etaLabel.TabIndex = 75;
this.etaLabel.Text = "ETA: HH:MM:SS Left";
//
@@ -763,9 +767,10 @@
this.freeDisclaimer.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.freeDisclaimer.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.freeDisclaimer.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.freeDisclaimer.Location = new System.Drawing.Point(287, 624);
this.freeDisclaimer.Location = new System.Drawing.Point(369, 682);
this.freeDisclaimer.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.freeDisclaimer.Name = "freeDisclaimer";
this.freeDisclaimer.Size = new System.Drawing.Size(246, 40);
this.freeDisclaimer.Size = new System.Drawing.Size(294, 50);
this.freeDisclaimer.TabIndex = 79;
this.freeDisclaimer.Text = "This app is FREE!! \r\nClick here to go to the github.";
this.freeDisclaimer.TextAlign = System.Drawing.ContentAlignment.TopCenter;
@@ -783,18 +788,17 @@
this.gamesQueListBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.gamesQueListBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.gamesQueListBox.FormattingEnabled = true;
this.gamesQueListBox.ItemHeight = 16;
this.gamesQueListBox.Location = new System.Drawing.Point(601, 530);
this.gamesQueListBox.Margin = new System.Windows.Forms.Padding(2);
this.gamesQueListBox.ItemHeight = 20;
this.gamesQueListBox.Location = new System.Drawing.Point(801, 585);
this.gamesQueListBox.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.gamesQueListBox.Name = "gamesQueListBox";
this.gamesQueListBox.Size = new System.Drawing.Size(372, 114);
this.gamesQueListBox.Size = new System.Drawing.Size(495, 162);
this.gamesQueListBox.TabIndex = 9;
this.gamesQueListBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.gamesQueListBox_MouseClick);
//
// devicesComboBox
//
this.devicesComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.devicesComboBox.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.devicesComboBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.ComboBoxColor;
this.devicesComboBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ComboBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.devicesComboBox.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
@@ -803,17 +807,17 @@
this.devicesComboBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.devicesComboBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.devicesComboBox.FormattingEnabled = true;
this.devicesComboBox.Location = new System.Drawing.Point(227, 39);
this.devicesComboBox.Margin = new System.Windows.Forms.Padding(2);
this.devicesComboBox.Location = new System.Drawing.Point(303, 48);
this.devicesComboBox.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.devicesComboBox.Name = "devicesComboBox";
this.devicesComboBox.Size = new System.Drawing.Size(161, 24);
this.devicesComboBox.Size = new System.Drawing.Size(213, 28);
this.devicesComboBox.TabIndex = 1;
this.devicesComboBox.Text = "Select your device";
this.devicesComboBox.SelectedIndexChanged += new System.EventHandler(this.devicesComboBox_SelectedIndexChanged);
//
// remotesList
//
this.remotesList.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.remotesList.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.remotesList.BackColor = global::AndroidSideloader.Properties.Settings.Default.ComboBoxColor;
this.remotesList.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ComboBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.remotesList.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
@@ -822,10 +826,10 @@
this.remotesList.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.remotesList.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.remotesList.FormattingEnabled = true;
this.remotesList.Location = new System.Drawing.Point(527, 39);
this.remotesList.Margin = new System.Windows.Forms.Padding(2);
this.remotesList.Location = new System.Drawing.Point(703, 48);
this.remotesList.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.remotesList.Name = "remotesList";
this.remotesList.Size = new System.Drawing.Size(53, 24);
this.remotesList.Size = new System.Drawing.Size(69, 28);
this.remotesList.TabIndex = 3;
this.remotesList.SelectedIndexChanged += new System.EventHandler(this.remotesList_SelectedIndexChanged);
//
@@ -839,9 +843,10 @@
this.gamesListView.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.gamesListView.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.gamesListView.HideSelection = false;
this.gamesListView.Location = new System.Drawing.Point(234, 71);
this.gamesListView.Location = new System.Drawing.Point(303, 85);
this.gamesListView.Margin = new System.Windows.Forms.Padding(4);
this.gamesListView.Name = "gamesListView";
this.gamesListView.Size = new System.Drawing.Size(745, 423);
this.gamesListView.Size = new System.Drawing.Size(992, 450);
this.gamesListView.TabIndex = 6;
this.gamesListView.UseCompatibleStateImageBehavior = false;
this.gamesListView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView1_ColumnClick);
@@ -851,7 +856,9 @@
//
// searchTextBox
//
this.searchTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.searchTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.searchTextBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.searchTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.searchTextBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
@@ -859,9 +866,10 @@
this.searchTextBox.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.searchTextBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.searchTextBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.searchTextBox.Location = new System.Drawing.Point(481, 274);
this.searchTextBox.Location = new System.Drawing.Point(631, 308);
this.searchTextBox.Margin = new System.Windows.Forms.Padding(4);
this.searchTextBox.Name = "searchTextBox";
this.searchTextBox.Size = new System.Drawing.Size(231, 22);
this.searchTextBox.Size = new System.Drawing.Size(307, 26);
this.searchTextBox.TabIndex = 5;
this.searchTextBox.Text = "Search";
this.searchTextBox.Visible = false;
@@ -877,15 +885,16 @@
this.gamesQueueLabel.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.gamesQueueLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.gamesQueueLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.gamesQueueLabel.Location = new System.Drawing.Point(597, 628);
this.gamesQueueLabel.Location = new System.Drawing.Point(796, 726);
this.gamesQueueLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.gamesQueueLabel.Name = "gamesQueueLabel";
this.gamesQueueLabel.Size = new System.Drawing.Size(95, 16);
this.gamesQueueLabel.Size = new System.Drawing.Size(128, 20);
this.gamesQueueLabel.TabIndex = 86;
this.gamesQueueLabel.Text = "Games Queue";
//
// MountButton
//
this.MountButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.MountButton.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.MountButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.MountButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.MountButton.Cursor = System.Windows.Forms.Cursors.Default;
@@ -895,9 +904,10 @@
this.MountButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.MountButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.MountButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.MountButton.Location = new System.Drawing.Point(393, 39);
this.MountButton.Location = new System.Drawing.Point(524, 48);
this.MountButton.Margin = new System.Windows.Forms.Padding(4);
this.MountButton.Name = "MountButton";
this.MountButton.Size = new System.Drawing.Size(66, 26);
this.MountButton.Size = new System.Drawing.Size(88, 32);
this.MountButton.TabIndex = 2;
this.MountButton.Text = "Mount";
this.MountButton.UseVisualStyleBackColor = false;
@@ -911,9 +921,10 @@
this.ProgressText.BackColor = System.Drawing.Color.Transparent;
this.ProgressText.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ProgressText.ForeColor = System.Drawing.Color.White;
this.ProgressText.Location = new System.Drawing.Point(225, 751);
this.ProgressText.Location = new System.Drawing.Point(300, 852);
this.ProgressText.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.ProgressText.Name = "ProgressText";
this.ProgressText.Size = new System.Drawing.Size(0, 18);
this.ProgressText.Size = new System.Drawing.Size(0, 24);
this.ProgressText.TabIndex = 88;
//
// notesRichTextBox
@@ -926,12 +937,13 @@
this.notesRichTextBox.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.notesRichTextBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.notesRichTextBox.HideSelection = false;
this.notesRichTextBox.Location = new System.Drawing.Point(601, 647);
this.notesRichTextBox.Location = new System.Drawing.Point(801, 751);
this.notesRichTextBox.Margin = new System.Windows.Forms.Padding(4);
this.notesRichTextBox.Name = "notesRichTextBox";
this.notesRichTextBox.ReadOnly = true;
this.notesRichTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
this.notesRichTextBox.ShowSelectionMargin = true;
this.notesRichTextBox.Size = new System.Drawing.Size(371, 96);
this.notesRichTextBox.Size = new System.Drawing.Size(493, 96);
this.notesRichTextBox.TabIndex = 10;
this.notesRichTextBox.Text = "";
//
@@ -942,9 +954,10 @@
this.DragDropLbl.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.DragDropLbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.DragDropLbl.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.DragDropLbl.Location = new System.Drawing.Point(224, 606);
this.DragDropLbl.Location = new System.Drawing.Point(806, 627);
this.DragDropLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.DragDropLbl.Name = "DragDropLbl";
this.DragDropLbl.Size = new System.Drawing.Size(320, 55);
this.DragDropLbl.Size = new System.Drawing.Size(394, 69);
this.DragDropLbl.TabIndex = 25;
this.DragDropLbl.Text = "DragDropLBL";
this.DragDropLbl.Visible = false;
@@ -957,9 +970,10 @@
this.label1.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label1.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.label1.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label1.Location = new System.Drawing.Point(598, 730);
this.label1.Location = new System.Drawing.Point(797, 833);
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(81, 16);
this.label1.Size = new System.Drawing.Size(115, 20);
this.label1.TabIndex = 86;
this.label1.Text = "Install Notes";
//
@@ -973,43 +987,54 @@
this.pictureBox1.ErrorImage = null;
this.pictureBox1.ImageLocation = global::AndroidSideloader.Properties.Settings.Default.BackPicturePath;
this.pictureBox1.InitialImage = null;
this.pictureBox1.Location = new System.Drawing.Point(217, -2);
this.pictureBox1.Location = new System.Drawing.Point(289, -2);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(4);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(764, 772);
this.pictureBox1.Size = new System.Drawing.Size(1019, 884);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 74;
this.pictureBox1.TabStop = false;
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
//
// label2
//
this.label2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.label2.Location = new System.Drawing.Point(460, 223);
this.label2.Location = new System.Drawing.Point(605, 239);
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(271, 110);
this.label2.Size = new System.Drawing.Size(361, 148);
this.label2.TabIndex = 89;
this.label2.Visible = false;
//
// label3
//
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label3.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label3.Location = new System.Drawing.Point(494, 231);
this.label3.Location = new System.Drawing.Point(673, 252);
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(204, 34);
this.label3.Size = new System.Drawing.Size(196, 60);
this.label3.TabIndex = 90;
this.label3.Text = "Start typing to search.\r\nEsc = Close, Enter = Install\r\n";
this.label3.Text = "Start typing to search.\r\nPress ESC to close.\r\n\r\n";
this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.label3.Visible = false;
//
// label4
//
this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label4.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label4.Location = new System.Drawing.Point(531, 303);
this.label4.Location = new System.Drawing.Point(696, 350);
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(132, 17);
this.label4.Size = new System.Drawing.Size(156, 20);
this.label4.TabIndex = 90;
this.label4.Text = "Shorcut: CTRL+F";
this.label4.TextAlign = System.Drawing.ContentAlignment.TopCenter;
@@ -1017,31 +1042,37 @@
//
// label5
//
this.label5.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label5.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label5.Location = new System.Drawing.Point(616, 15);
this.label5.Location = new System.Drawing.Point(923, 14);
this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(117, 17);
this.label5.Size = new System.Drawing.Size(114, 20);
this.label5.TabIndex = 90;
this.label5.Text = "Search app list";
this.label5.Text = "Search apps";
this.label5.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// pictureBox3
//
this.pictureBox3.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pictureBox3.Image = global::AndroidSideloader.Properties.Resources.orangekey;
this.pictureBox3.Location = new System.Drawing.Point(767, 10);
this.pictureBox3.Location = new System.Drawing.Point(1071, 12);
this.pictureBox3.Margin = new System.Windows.Forms.Padding(4);
this.pictureBox3.Name = "pictureBox3";
this.pictureBox3.Size = new System.Drawing.Size(21, 20);
this.pictureBox3.Size = new System.Drawing.Size(28, 25);
this.pictureBox3.TabIndex = 92;
this.pictureBox3.TabStop = false;
//
// pictureBox2
//
this.pictureBox2.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pictureBox2.Image = global::AndroidSideloader.Properties.Resources.SearchGlass;
this.pictureBox2.Location = new System.Drawing.Point(666, 41);
this.pictureBox2.Location = new System.Drawing.Point(975, 46);
this.pictureBox2.Margin = new System.Windows.Forms.Padding(4);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(28, 24);
this.pictureBox2.Size = new System.Drawing.Size(37, 30);
this.pictureBox2.TabIndex = 91;
this.pictureBox2.TabStop = false;
this.pictureBox2.Click += new System.EventHandler(this.pictureBox2_Click);
@@ -1050,64 +1081,92 @@
//
this.gamesPictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.gamesPictureBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.gamesPictureBox.Location = new System.Drawing.Point(228, 529);
this.gamesPictureBox.Location = new System.Drawing.Point(303, 581);
this.gamesPictureBox.Margin = new System.Windows.Forms.Padding(4);
this.gamesPictureBox.Name = "gamesPictureBox";
this.gamesPictureBox.Size = new System.Drawing.Size(367, 214);
this.gamesPictureBox.Size = new System.Drawing.Size(489, 263);
this.gamesPictureBox.TabIndex = 84;
this.gamesPictureBox.TabStop = false;
//
// pictureBox4
//
this.pictureBox4.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pictureBox4.Image = global::AndroidSideloader.Properties.Resources.greenkey;
this.pictureBox4.Location = new System.Drawing.Point(767, 39);
this.pictureBox4.Location = new System.Drawing.Point(1071, 48);
this.pictureBox4.Margin = new System.Windows.Forms.Padding(4);
this.pictureBox4.Name = "pictureBox4";
this.pictureBox4.Size = new System.Drawing.Size(21, 20);
this.pictureBox4.Size = new System.Drawing.Size(28, 25);
this.pictureBox4.TabIndex = 92;
this.pictureBox4.TabStop = false;
//
// label6
//
this.label6.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label6.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label6.Location = new System.Drawing.Point(792, 12);
this.label6.Location = new System.Drawing.Point(1104, 15);
this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(145, 17);
this.label6.Size = new System.Drawing.Size(167, 20);
this.label6.TabIndex = 90;
this.label6.Text = "= Update Available";
this.label6.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label7
//
this.label7.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label7.AutoSize = true;
this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label7.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label7.Location = new System.Drawing.Point(792, 41);
this.label7.Location = new System.Drawing.Point(1104, 50);
this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(98, 17);
this.label7.Size = new System.Drawing.Size(113, 20);
this.label7.TabIndex = 90;
this.label7.Text = "= Up to date";
this.label7.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label8
//
this.label8.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label8.AutoSize = true;
this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label8.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label8.Location = new System.Drawing.Point(459, 42);
this.label8.Location = new System.Drawing.Point(612, 52);
this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(65, 17);
this.label8.Size = new System.Drawing.Size(76, 20);
this.label8.TabIndex = 90;
this.label8.Text = "Mirror #";
this.label8.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// EnterInstallBox
//
this.EnterInstallBox.AutoSize = true;
this.EnterInstallBox.CheckAlign = System.Drawing.ContentAlignment.BottomCenter;
this.EnterInstallBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.EnterInstallBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.EnterInstallBox.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.EnterInstallBox.Location = new System.Drawing.Point(791, 9);
this.EnterInstallBox.Margin = new System.Windows.Forms.Padding(4);
this.EnterInstallBox.Name = "EnterInstallBox";
this.EnterInstallBox.Size = new System.Drawing.Size(107, 61);
this.EnterInstallBox.TabIndex = 93;
this.EnterInstallBox.Text = " Install w/ \r\n Enter Key";
this.EnterInstallBox.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.EnterInstallBox.UseVisualStyleBackColor = true;
this.EnterInstallBox.CheckedChanged += new System.EventHandler(this.EnterInstallBox_CheckedChanged);
//
// MainForm
//
this.AllowDrop = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(980, 775);
this.ClientSize = new System.Drawing.Size(1307, 887);
this.Controls.Add(this.EnterInstallBox);
this.Controls.Add(this.ProgressText);
this.Controls.Add(this.pictureBox4);
this.Controls.Add(this.pictureBox3);
this.Controls.Add(this.pictureBox2);
@@ -1132,11 +1191,11 @@
this.Controls.Add(this.progressBar);
this.Controls.Add(this.m_combo);
this.Controls.Add(this.notesRichTextBox);
this.Controls.Add(this.ProgressText);
this.Controls.Add(this.label2);
this.Controls.Add(this.gamesListView);
this.Controls.Add(this.pictureBox1);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.Margin = new System.Windows.Forms.Padding(4);
this.MaximizeBox = false;
this.Name = "MainForm";
this.ShowIcon = false;
@@ -1203,7 +1262,6 @@
private System.Windows.Forms.Button UpdateGamesButton;
private System.Windows.Forms.Label gamesQueueLabel;
private System.Windows.Forms.Button MountButton;
private System.Windows.Forms.Label StorageLabel;
private System.Windows.Forms.Label ProgressText;
private System.Windows.Forms.Label downloadingLabel;
private System.Windows.Forms.RichTextBox notesRichTextBox;
@@ -1222,6 +1280,7 @@
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.CheckBox EnterInstallBox;
}
}

View File

@@ -27,6 +27,8 @@ namespace AndroidSideloader
public static bool debugMode = true;
public bool DeviceConnected = false;
#else
public bool keyheld;
public bool keyheld2;
public static bool debugMode = false;
public bool DeviceConnected = false;
#endif
@@ -37,10 +39,19 @@ namespace AndroidSideloader
{
InitializeComponent();
System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
t.Interval = 840000; // 14 mins between wakeup commands
t.Tick += new EventHandler(timer_Tick);
t.Start();
t.Start();
System.Windows.Forms.Timer t2 = new System.Windows.Forms.Timer();
t2.Interval = 30; // 30ms
t2.Tick += new EventHandler(timer_Tick2);
t2.Start();
System.Windows.Forms.Timer t3 = new System.Windows.Forms.Timer();
t3.Interval = 350; // 1 second before clipboard copy is allowed
t3.Tick += new EventHandler(timer_Tick3);
t3.Start();
lvwColumnSorter = new ListViewColumnSorter();
this.gamesListView.ListViewItemSorter = lvwColumnSorter;
if (searchTextBox.Visible)
@@ -48,6 +59,7 @@ namespace AndroidSideloader
}
private string oldTitle = "";
@@ -62,6 +74,7 @@ namespace AndroidSideloader
Properties.Settings.Default.MainDir = Environment.CurrentDirectory;
Properties.Settings.Default.Save();
if (!File.Exists(adbFile))
{
Directory.CreateDirectory(adbDir);
@@ -145,6 +158,7 @@ namespace AndroidSideloader
private async void Form1_Shown(object sender, EventArgs e)
{
EnterInstallBox.Checked = Properties.Settings.Default.EnterKeyInstall;
new Thread(() =>
{
Thread.Sleep(10000);
@@ -228,10 +242,19 @@ namespace AndroidSideloader
void timer_Tick(object sender, EventArgs e)
{
ADB.RunAdbCommandToString("shell input keyevent KEYCODE_WAKEUP");
}
void timer_Tick2(object sender, EventArgs e)
{
keyheld = false;
}
void timer_Tick3(object sender, EventArgs e)
{
keyheld2 = false;
}
public async void ChangeTitle(string txt, bool reset = true)
{
this.Invoke(() => { oldTitle = txt; this.Text = "Rookie's Sideloader | " + txt; });
@@ -391,6 +414,7 @@ namespace AndroidSideloader
Thread t1 = new Thread(() =>
{
output += ADB.CopyOBB(dialog.FileName);
Program.form.ChangeTitle("");
});
t1.IsBackground = true;
t1.Start();
@@ -577,7 +601,6 @@ namespace AndroidSideloader
public void listappsbtn()
{
ADB.WakeDevice();
m_combo.Invoke(() => { m_combo.Items.Clear(); });
var line = listapps().Split('\n');
@@ -757,10 +780,11 @@ namespace AndroidSideloader
string directory = Path.GetDirectoryName(data);
//if is directory
string dir = Path.GetDirectoryName(data);
string file = $"{dir}\\Install.txt";
string path = $"{dir}\\Install.txt";
if (Directory.Exists(data))
{
output += ADB.CopyOBB(data);
Program.form.ChangeTitle("");
string extension = Path.GetExtension(data);
if (extension == ".apk")
{
@@ -774,12 +798,12 @@ namespace AndroidSideloader
return;
else
ChangeTitle("Sideloading custom install.txt automatically.");
output += Sideloader.RunADBCommandsFromFile(file);
output += Sideloader.RunADBCommandsFromFile(path);
if (output.Error.Contains("mkdir"))
output.Error = "";
if (output.Error.Contains("reserved"))
output.Output = "";
ChangeTitle("Done.");
ChangeTitle("");
}
}
string[] files = Directory.GetFiles(data);
@@ -794,7 +818,9 @@ namespace AndroidSideloader
string[] folders = Directory.GetDirectories(data);
foreach (string folder in folders)
{
output += ADB.CopyOBB(folder);
Program.form.ChangeTitle("");
Properties.Settings.Default.CurrPckg = dir;
Properties.Settings.Default.Save();
}
@@ -808,20 +834,23 @@ namespace AndroidSideloader
{
if (File.Exists($"{dir}\\Install.txt"))
{
file = data;
DialogResult dialogResult = MessageBox.Show("Special instructions have been found with this file, would you like to run them automatically?", "Special Instructions found!", MessageBoxButtons.OKCancel);
if (dialogResult == DialogResult.Cancel)
return;
else
{
ChangeTitle("Sideloading custom install.txt automatically.");
output += Sideloader.RunADBCommandsFromFile(file);
ChangeTitle("Done.");
output += Sideloader.RunADBCommandsFromFile(path);
ChangeTitle("");
}
}
else
{
ChangeTitle($"Installing {Path.GetFileName(data)}...");
output += ADB.Sideload(data);
ChangeTitle("");
}
}
else if (extension == ".obb")
@@ -833,17 +862,17 @@ namespace AndroidSideloader
foldername = Environment.CurrentDirectory + "\\" + foldername;
Directory.CreateDirectory(foldername);
File.Copy(data, foldername + "\\" + filename);
output += ADB.CopyOBB(foldername);
Properties.Settings.Default.CurrPckg = foldername;
Properties.Settings.Default.Save();
path = foldername;
output += ADB.CopyOBB(path);
Directory.Delete(foldername, true);
ChangeTitle("");
}
if (extension == ".txt")
else if (extension == ".txt")
{
ChangeTitle("Sideloading custom install.txt automatically.");
output += Sideloader.RunADBCommandsFromFile(file);
ChangeTitle("Done.");
output += Sideloader.RunADBCommandsFromFile(path);
ChangeTitle("");
}
}
}
@@ -1130,281 +1159,285 @@ without him none of this would be possible
private async void downloadInstallGameButton_Click(object sender, EventArgs e)
{
ChangeTitle("Checking filesize...");
long selectedGamesSize = 0;
int count = 0;
string[] GameSizeGame = new string[1];
if (gamesToAddList.Count > 0)
{
count = gamesToAddList.Count;
GameSizeGame = new string[count];
for (int i = 0; i < count; i++)
GameSizeGame[i] = gamesToAddList[i];
}
else if (gamesListView.SelectedItems.Count > 0)
{
count = gamesListView.SelectedItems.Count;
GameSizeGame = new string[count];
for (int i = 0; i < count; i++)
GameSizeGame[i] = gamesListView.SelectedItems[i].SubItems[SideloaderRCLONE.ReleaseNameIndex].Text;
}
else return;
bool HadError = false;
Thread gameSizeThread = new Thread(() =>
{
for (int i = 0; i < count; i++)
{
selectedGamesSize += SideloaderRCLONE.GetFolderSize(GameSizeGame[i], currentRemote);
if (selectedGamesSize == 0)
{
FlexibleMessageBox.Show($"Couldnt find release {GameSizeGame[i]} on rclone, please deselect and try again or switch mirrors");
HadError = true;
return;
}
}
});
gameSizeThread.Start();
while (gameSizeThread.IsAlive)
await Task.Delay(100);
if (HadError)
return;
DialogResult dialogResult = FlexibleMessageBox.Show($"Are you sure you want to download the selected game(s)? The size is {String.Format("{0:0.00}", (double)selectedGamesSize)} MB", "Are you sure?", MessageBoxButtons.YesNo);
if (dialogResult != DialogResult.Yes)
{
ChangeTitle("");
return;
}
//Add games to the queue
if (gamesToAddList.Count > 0)
gamesQueueList.AddRange(gamesToAddList);
else
{
for (int i = 0; i < gamesListView.SelectedItems.Count; i++)
gamesQueueList.Add(gamesListView.SelectedItems[i].SubItems[SideloaderRCLONE.ReleaseNameIndex].Text);
}
gamesToAddList.Clear();
gamesQueListBox.DataSource = null;
gamesQueListBox.DataSource = gamesQueueList;
if (gamesAreDownloading)
return;
gamesAreDownloading = true;
if (updatedConfig == false && Properties.Settings.Default.autoUpdateConfig == true) //check for config only once per program open and if setting enabled
{
updatedConfig = true;
ChangeTitle("Checking if config is updated and updating config");
progressBar.Style = ProgressBarStyle.Marquee;
await Task.Run(() => SideloaderRCLONE.updateConfig(currentRemote));
progressBar.Style = ProgressBarStyle.Continuous;
}
//Do user json on firsttime
if (Properties.Settings.Default.userJsonOnGameInstall)
{
Thread userJsonThread = new Thread(() => { ChangeTitle("Pushing user.json"); Sideloader.PushUserJsons(); });
userJsonThread.IsBackground = true;
userJsonThread.Start();
}
ProcessOutput output = new ProcessOutput("", "");
string gameName = "";
while (gamesQueueList.Count > 0)
{
gameName = gamesQueueList.ToArray()[0];
string packagename = Sideloader.gameNameToPackageName(gameName);
string dir = Path.GetDirectoryName(gameName);
string gameDirectory = Environment.CurrentDirectory + "\\" + gameName;
string path = gameDirectory;
Directory.CreateDirectory(gameDirectory);
ProcessOutput gameDownloadOutput = new ProcessOutput("", "");
Thread t1 = new Thread(() =>
string namebox = gamesListView.SelectedItems[0].ToString();
string nameboxtranslated = Sideloader.gameNameToSimpleName(namebox);
ChangeTitle($"Checking filesize of {nameboxtranslated}...");
long selectedGamesSize = 0;
int count = 0;
string[] GameSizeGame = new string[1];
if (gamesToAddList.Count > 0)
{
gameDownloadOutput = RCLONE.runRcloneCommand($"copy \"{currentRemote}:{SideloaderRCLONE.RcloneGamesFolder}/{gameName}\" \"{Environment.CurrentDirectory}\\{gameName}\" --progress --drive-acknowledge-abuse --rc", Properties.Settings.Default.BandwithLimit);
count = gamesToAddList.Count;
GameSizeGame = new string[count];
for (int i = 0; i < count; i++)
GameSizeGame[i] = gamesToAddList[i];
}
else if (gamesListView.SelectedItems.Count > 0)
{
count = gamesListView.SelectedItems.Count;
GameSizeGame = new string[count];
for (int i = 0; i < count; i++)
GameSizeGame[i] = gamesListView.SelectedItems[i].SubItems[SideloaderRCLONE.ReleaseNameIndex].Text;
}
else return;
bool HadError = false;
Thread gameSizeThread = new Thread(() =>
{
for (int i = 0; i < count; i++)
{
selectedGamesSize += SideloaderRCLONE.GetFolderSize(GameSizeGame[i], currentRemote);
if (selectedGamesSize == 0)
{
FlexibleMessageBox.Show($"Couldnt find release {GameSizeGame[i]} on rclone, please deselect and try again or switch mirrors");
HadError = true;
return;
}
}
});
t1.IsBackground = true;
t1.Start();
gameSizeThread.Start();
ChangeTitle("Downloading game " + gameName, false);
while (gameSizeThread.IsAlive)
await Task.Delay(100);
int i = 0;
//Download
while (t1.IsAlive)
if (HadError)
return;
progressBar.Value = 0;
progressBar.Style = ProgressBarStyle.Continuous;
DialogResult dialogResult = FlexibleMessageBox.Show($"Are you sure you want to download {nameboxtranslated}? The size is {String.Format("{0:0.00}", (double)selectedGamesSize)} MB", "Are you sure?", MessageBoxButtons.YesNo);
if (dialogResult != DialogResult.Yes)
{
try
{
HttpResponseMessage response = await client.PostAsync("http://127.0.0.1:5572/core/stats", null);
string foo = await response.Content.ReadAsStringAsync();
Debug.WriteLine("RESP CONTENT " + foo);
dynamic results = JsonConvert.DeserializeObject<dynamic>(foo);
float downloadSpeed = results.speed.ToObject<float>();
long allSize = 0;
long downloaded = 0;
dynamic check = results.transferring;
if (results["transferring"] != null)
{
foreach (var obj in results.transferring)
{
allSize += obj["size"].ToObject<long>();
downloaded += obj["bytes"].ToObject<long>();
}
allSize /= 1000000;
downloaded /= 1000000;
Debug.WriteLine("Allsize: " + allSize + "\nDownloaded: " + downloaded + "\nValue: " + (((double)downloaded / (double)allSize) * 100));
try { progressBar.Value = Convert.ToInt32((((double)downloaded / (double)allSize) * 100)); } catch { }
i++;
downloadSpeed /= 1000000;
if (i == 4)
{
i = 0;
float seconds = (allSize - downloaded) / downloadSpeed;
TimeSpan time = TimeSpan.FromSeconds(seconds);
etaLabel.Text = "ETA: " + time.ToString(@"hh\:mm\:ss") + " left";
}
speedLabel.Text = "DLS: " + String.Format("{0:0.00}", downloadSpeed) + " mbps";
}
}
catch { }
await Task.Delay(1000);
ChangeTitle("");
return;
}
//Quota Errors
bool quotaError = false;
if (gameDownloadOutput.Error.Length > 0)
//Add games to the queue
if (gamesToAddList.Count > 0)
gamesQueueList.AddRange(gamesToAddList);
else
{
string err = gameDownloadOutput.Error.ToLower();
if (err.Contains("quota") && err.Contains("exceeded"))
{
FlexibleMessageBox.Show("The download Quota has been reached for this mirror, trying to switch mirrors...");
quotaError = true;
SwitchMirrors();
gamesQueueList.RemoveAt(0);
gamesQueListBox.DataSource = null;
gamesQueListBox.DataSource = gamesQueueList;
}
else if (!gameDownloadOutput.Error.Contains("localhost")) FlexibleMessageBox.Show($"Rclone error: {gameDownloadOutput.Error}");
for (int i = 0; i < gamesListView.SelectedItems.Count; i++)
gamesQueueList.Add(gamesListView.SelectedItems[i].SubItems[SideloaderRCLONE.ReleaseNameIndex].Text);
}
if (quotaError == false)
gamesToAddList.Clear();
gamesQueListBox.DataSource = null;
gamesQueListBox.DataSource = gamesQueueList;
if (gamesAreDownloading)
return;
gamesAreDownloading = true;
if (updatedConfig == false && Properties.Settings.Default.autoUpdateConfig == true) //check for config only once per program open and if setting enabled
{
ADB.WakeDevice();
ADB.DeviceID = GetDeviceID();
quotaTries = 0;
progressBar.Value = 0;
updatedConfig = true;
ChangeTitle("Checking if config is updated and updating config");
progressBar.Style = ProgressBarStyle.Marquee;
ChangeTitle("Installing game apk " + gameName, false);
etaLabel.Text = "ETA: Wait for install...";
speedLabel.Text = "DLS: Done downloading";
await Task.Run(() => SideloaderRCLONE.updateConfig(currentRemote));
progressBar.Style = ProgressBarStyle.Continuous;
}
string[] files = Directory.GetFiles(Environment.CurrentDirectory + "\\" + gameName);
//Do user json on firsttime
if (Properties.Settings.Default.userJsonOnGameInstall)
{
Thread userJsonThread = new Thread(() => { ChangeTitle("Pushing user.json"); Sideloader.PushUserJsons(); });
userJsonThread.IsBackground = true;
userJsonThread.Start();
Debug.WriteLine("Game Folder is: " + Environment.CurrentDirectory + "\\" + gameName);
Debug.WriteLine("FILES IN GAME FOLDER: ");
foreach (string file in files)
}
ProcessOutput output = new ProcessOutput("", "");
string gameName = "";
while (gamesQueueList.Count > 0)
{
gameName = gamesQueueList.ToArray()[0];
string packagename = Sideloader.gameNameToPackageName(gameName);
string dir = Path.GetDirectoryName(gameName);
string gameDirectory = Environment.CurrentDirectory + "\\" + gameName;
string path = gameDirectory;
Directory.CreateDirectory(gameDirectory);
ProcessOutput gameDownloadOutput = new ProcessOutput("", "");
Thread t1 = new Thread(() =>
{
Debug.WriteLine(file);
string extension = Path.GetExtension(file);
if (extension == ".apk")
{
Thread apkThread = new Thread(() =>
{
ADB.WakeDevice();
output += ADB.Sideload(file, packagename);
});
gameDownloadOutput = RCLONE.runRcloneCommand($"copy \"{currentRemote}:{SideloaderRCLONE.RcloneGamesFolder}/{gameName}\" \"{Environment.CurrentDirectory}\\{gameName}\" --progress --drive-acknowledge-abuse --rc", Properties.Settings.Default.BandwithLimit);
});
t1.IsBackground = true;
t1.Start();
apkThread.Start();
while (apkThread.IsAlive)
await Task.Delay(100);
}
if (extension == ".txt")
ChangeTitle("Downloading game " + gameName, false);
int i = 0;
//Download
while (t1.IsAlive)
{
try
{
string fullname = Path.GetFileName(file);
if (fullname.Equals("install.txt") || fullname.Equals("Install.txt"))
HttpResponseMessage response = await client.PostAsync("http://127.0.0.1:5572/core/stats", null);
string foo = await response.Content.ReadAsStringAsync();
Debug.WriteLine("RESP CONTENT " + foo);
dynamic results = JsonConvert.DeserializeObject<dynamic>(foo);
float downloadSpeed = results.speed.ToObject<float>();
long allSize = 0;
long downloaded = 0;
dynamic check = results.transferring;
if (results["transferring"] != null)
{
Thread installtxtThread = new Thread(() =>
foreach (var obj in results.transferring)
{
ADB.WakeDevice();
output += Sideloader.RunADBCommandsFromFile(file);
ChangeTitle("Sideloading custom install.txt automatically.");
allSize += obj["size"].ToObject<long>();
downloaded += obj["bytes"].ToObject<long>();
}
allSize /= 1000000;
downloaded /= 1000000;
Debug.WriteLine("Allsize: " + allSize + "\nDownloaded: " + downloaded + "\nValue: " + (((double)downloaded / (double)allSize) * 100));
try { progressBar.Value = Convert.ToInt32((((double)downloaded / (double)allSize) * 100)); } catch { }
i++;
downloadSpeed /= 1000000;
if (i == 4)
{
i = 0;
float seconds = (allSize - downloaded) / downloadSpeed;
TimeSpan time = TimeSpan.FromSeconds(seconds);
etaLabel.Text = "ETA: " + time.ToString(@"hh\:mm\:ss") + " left";
}
speedLabel.Text = "DLS: " + String.Format("{0:0.00}", downloadSpeed) + " MB/s";
}
}
catch { }
await Task.Delay(1000);
}
//Quota Errors
bool quotaError = false;
if (gameDownloadOutput.Error.Length > 0)
{
string err = gameDownloadOutput.Error.ToLower();
if (err.Contains("quota") && err.Contains("exceeded"))
{
FlexibleMessageBox.Show("The download Quota has been reached for this mirror, trying to switch mirrors...");
quotaError = true;
SwitchMirrors();
gamesQueueList.RemoveAt(0);
gamesQueListBox.DataSource = null;
gamesQueListBox.DataSource = gamesQueueList;
}
else if (!gameDownloadOutput.Error.Contains("localhost")) FlexibleMessageBox.Show($"Rclone error: {gameDownloadOutput.Error}");
}
if (quotaError == false)
{
ADB.WakeDevice();
ADB.DeviceID = GetDeviceID();
quotaTries = 0;
progressBar.Value = 0;
progressBar.Style = ProgressBarStyle.Marquee;
ChangeTitle("Installing game apk " + gameName, false);
etaLabel.Text = "ETA: Wait for install...";
speedLabel.Text = "DLS: Done downloading";
string[] files = Directory.GetFiles(Environment.CurrentDirectory + "\\" + gameName);
Debug.WriteLine("Game Folder is: " + Environment.CurrentDirectory + "\\" + gameName);
Debug.WriteLine("FILES IN GAME FOLDER: ");
foreach (string file in files)
{
Debug.WriteLine(file);
string extension = Path.GetExtension(file);
if (extension == ".apk")
{
Thread apkThread = new Thread(() =>
{
output += ADB.Sideload(file, packagename);
});
installtxtThread.Start();
while (installtxtThread.IsAlive)
apkThread.Start();
while (apkThread.IsAlive)
await Task.Delay(100);
}
if (extension == ".txt")
{
string fullname = Path.GetFileName(file);
if (fullname.Equals("install.txt") || fullname.Equals("Install.txt"))
{
Thread installtxtThread = new Thread(() =>
{
output += Sideloader.RunADBCommandsFromFile(file);
ChangeTitle("Sideloading custom install.txt automatically.");
});
installtxtThread.Start();
while (installtxtThread.IsAlive)
await Task.Delay(100);
}
}
}
Debug.WriteLine(wrDelimiter);
string[] folders = Directory.GetDirectories(Environment.CurrentDirectory + "\\" + gameName);
foreach (string folder in folders)
{
ChangeTitle("Installing game obb " + gameName, false);
string[] obbs = Directory.GetFiles(folder);
foreach (string currObb in obbs)
{
Thread obbThread = new Thread(() =>
{
output += ADB.CopyOBB(folder);
Program.form.ChangeTitle("");
});
obbThread.IsBackground = true;
obbThread.Start();
while (obbThread.IsAlive)
await Task.Delay(100);
}
}
}
Debug.WriteLine(wrDelimiter);
ADB.WakeDevice();
string[] folders = Directory.GetDirectories(Environment.CurrentDirectory + "\\" + gameName);
foreach (string folder in folders)
{
ChangeTitle("Installing game obb " + gameName, false);
string[] obbs = Directory.GetFiles(folder);
foreach (string currObb in obbs)
if (Properties.Settings.Default.deleteAllAfterInstall)
{
Thread obbThread = new Thread(() =>
{
output += ADB.CopyOBB(folder);
});
obbThread.IsBackground = true;
obbThread.Start();
while (obbThread.IsAlive)
await Task.Delay(100);
ChangeTitle("Deleting game files", false);
try { Directory.Delete(Environment.CurrentDirectory + "\\" + gameName, true); } catch (Exception ex) { MessageBox.Show($"Error deleting game files: {ex.Message}"); }
}
}
if (Properties.Settings.Default.deleteAllAfterInstall)
{
ChangeTitle("Deleting game files", false);
try { Directory.Delete(Environment.CurrentDirectory + "\\" + gameName, true); } catch (Exception ex) { MessageBox.Show($"Error deleting game files: {ex.Message}"); }
//Remove current game
gamesQueueList.RemoveAt(0);
gamesQueListBox.DataSource = null;
gamesQueListBox.DataSource = gamesQueueList;
ChangeTitlebarToDevice();
showAvailableSpace();
}
//Remove current game
gamesQueueList.RemoveAt(0);
gamesQueListBox.DataSource = null;
gamesQueListBox.DataSource = gamesQueueList;
ChangeTitlebarToDevice();
showAvailableSpace();
}
progressBar.Style = ProgressBarStyle.Continuous;
etaLabel.Text = "ETA: Finished Queue";
speedLabel.Text = "DLS: Finished Queue";
ProgressText.Text = "";
await CheckForDevice();
ChangeTitlebarToDevice();
gamesAreDownloading = false;
ShowPrcOutput(output);
listappsbtn();
initListView();
}
progressBar.Style = ProgressBarStyle.Continuous;
etaLabel.Text = "ETA: Finished Queue";
speedLabel.Text = "DLS: Finished Queue";
ProgressText.Text = "";
await CheckForDevice();
ChangeTitlebarToDevice();
gamesAreDownloading = false;
ShowPrcOutput(output);
listappsbtn();
initListView();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
@@ -1572,8 +1605,11 @@ without him none of this would be possible
Properties.Settings.Default.PackageNameToCB = false;
Properties.Settings.Default.Save();
}
}
return base.ProcessCmdKey(ref msg, keyData);
}
private void searchTextBox_TextChanged(object sender, EventArgs e)
{
@@ -1595,40 +1631,43 @@ without him none of this would be possible
else
foundItem.Selected = true;
if (searchTextBox.Text.Length == 0)
gamesListView.SelectedItems.Clear();
searchTextBox.Focus();
this.searchTextBox.KeyPress += new
System.Windows.Forms.KeyPressEventHandler(CheckEnter);
}
else
gamesListView.SelectedItems.Clear();
}
}
public void gamesListView_SelectedIndexChanged(object sender, EventArgs e)
{
if (gamesListView.SelectedItems.Count < 1)
return;
string CurrentPackageName = gamesListView.SelectedItems[gamesListView.SelectedItems.Count - 1].SubItems[SideloaderRCLONE.PackageNameIndex].Text;
string CurrentReleaseName = gamesListView.SelectedItems[gamesListView.SelectedItems.Count - 1].SubItems[SideloaderRCLONE.ReleaseNameIndex].Text;
if(Properties.Settings.Default.PackageNameToCB)
Clipboard.SetText(CurrentPackageName);
string ImagePath = $"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.jpg";
string NotePath = $"{SideloaderRCLONE.NotesFolder}\\{CurrentReleaseName}.txt";
if (gamesPictureBox.BackgroundImage != null)
gamesPictureBox.BackgroundImage.Dispose();
if (File.Exists(ImagePath))
gamesPictureBox.BackgroundImage = Image.FromFile(ImagePath);
if (!keyheld2)
{
if (Properties.Settings.Default.PackageNameToCB)
Clipboard.SetText(CurrentPackageName);
keyheld2 = true;
}
if (!keyheld)
{
string ImagePath = $"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.jpg";
if (gamesPictureBox.BackgroundImage != null)
gamesPictureBox.BackgroundImage.Dispose();
if (File.Exists(ImagePath) && !keyheld)
{
gamesPictureBox.BackgroundImage = Image.FromFile(ImagePath);
}
keyheld = true;
}
else
gamesPictureBox.BackgroundImage = new Bitmap(360, 203);
gamesPictureBox.BackgroundImage = new Bitmap(367, 214);
string NotePath = $"{SideloaderRCLONE.NotesFolder}\\{CurrentReleaseName}.txt";
if (File.Exists(NotePath))
notesRichTextBox.Text = File.ReadAllText(NotePath);
else
@@ -1767,11 +1806,19 @@ without him none of this would be possible
label4.Visible = true;
searchTextBox.Focus();
}
private void EnterInstallBox1_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.EnterKeyInstall = EnterInstallBox.Checked;
}
private void searchTextBox_Leave(object sender, EventArgs e)
{
if (searchTextBox.Visible)
searchTextBox.Focus();
{
searchTextBox.Visible = false;
label2.Visible = false;
label3.Visible = false;
label4.Visible = false;
}
else
gamesListView.Focus();
}
@@ -1780,20 +1827,36 @@ without him none of this would be possible
{
if (e.KeyChar == (char)Keys.Enter)
{
if (gamesListView.SelectedItems.Count > 0)
downloadInstallGameButton_Click(sender, e);
}
if (Properties.Settings.Default.EnterKeyInstall)
{
if (gamesListView.SelectedItems.Count > 0)
downloadInstallGameButton_Click(sender, e);
}
}
}
private void searchTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
if (gamesListView.SelectedItems.Count > 0)
downloadInstallGameButton_Click(sender, e);
}
if (Properties.Settings.Default.EnterKeyInstall)
{
if (gamesListView.SelectedItems.Count > 0)
downloadInstallGameButton_Click(sender, e);
}
}
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void EnterInstallBox_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.EnterKeyInstall = EnterInstallBox.Checked;
Properties.Settings.Default.Save();
}
}
}
public static class ControlExtensions
@@ -1810,3 +1873,4 @@ without him none of this would be possible
}
}
}
}

View File

@@ -181,7 +181,7 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Microsoft Sans Serif, 9.5pt")]
[global::System.Configuration.DefaultSettingValueAttribute("Microsoft Sans Serif, 10pt, style=Bold")]
public global::System.Drawing.Font FontStyle {
get {
return ((global::System.Drawing.Font)(this["FontStyle"]));
@@ -478,5 +478,29 @@ namespace AndroidSideloader.Properties {
this["PackageNameToCB"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool EnterKeyInstall {
get {
return ((bool)(this["EnterKeyInstall"]));
}
set {
this["EnterKeyInstall"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool DownUpHeld {
get {
return ((bool)(this["DownUpHeld"]));
}
set {
this["DownUpHeld"] = value;
}
}
}
}

View File

@@ -42,7 +42,7 @@
<Value Profile="(Default)">White</Value>
</Setting>
<Setting Name="FontStyle" Type="System.Drawing.Font" Scope="User">
<Value Profile="(Default)">Microsoft Sans Serif, 9.5pt</Value>
<Value Profile="(Default)">Microsoft Sans Serif, 10pt, style=Bold</Value>
</Setting>
<Setting Name="BackPicturePath" Type="System.String" Scope="User">
<Value Profile="(Default)" />
@@ -116,5 +116,11 @@
<Setting Name="PackageNameToCB" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="EnterKeyInstall" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="DownUpHeld" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -103,7 +103,7 @@ namespace AndroidSideloader
prcoutput.Output = output;
prcoutput.Error = error;
}
if (!output.Contains("Game Name;Release Name;"))
if (!output.Contains("Game Name;Release Name;") && !output.Contains("package:"))
Logger.Log($"Rclone error: {error}\nRclone Output: {output}");
if (error.Contains("There is not enough space"))
MessageBox.Show("There isn't enough space on your PC to properly install this game. Please have at least 2x the size of the game you are trying to download/install available on the drive where Rookie is installed.", "NOT ENOUGH SPACE");

View File

@@ -38,6 +38,8 @@
this.BandwithTextbox = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.BandwithComboBox = new System.Windows.Forms.ComboBox();
this.DebugLogCopy = new System.Windows.Forms.Button();
this.CrashLogCopy = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// checkForUpdatesCheckBox
@@ -62,7 +64,7 @@
this.applyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.applyButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.applyButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.applyButton.Location = new System.Drawing.Point(12, 185);
this.applyButton.Location = new System.Drawing.Point(12, 178);
this.applyButton.Name = "applyButton";
this.applyButton.Size = new System.Drawing.Size(101, 31);
this.applyButton.TabIndex = 5;
@@ -92,7 +94,7 @@
this.resetSettingsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.resetSettingsButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.resetSettingsButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.resetSettingsButton.Location = new System.Drawing.Point(119, 185);
this.resetSettingsButton.Location = new System.Drawing.Point(119, 178);
this.resetSettingsButton.Name = "resetSettingsButton";
this.resetSettingsButton.Size = new System.Drawing.Size(101, 31);
this.resetSettingsButton.TabIndex = 4;
@@ -147,9 +149,9 @@
this.BandwithTextbox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.BandwithTextbox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.BandwithTextbox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.BandwithTextbox.Location = new System.Drawing.Point(12, 155);
this.BandwithTextbox.Location = new System.Drawing.Point(12, 148);
this.BandwithTextbox.Name = "BandwithTextbox";
this.BandwithTextbox.Size = new System.Drawing.Size(177, 21);
this.BandwithTextbox.Size = new System.Drawing.Size(177, 22);
this.BandwithTextbox.TabIndex = 11;
//
// label1
@@ -157,7 +159,7 @@
this.label1.AutoSize = true;
this.label1.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label1.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.label1.Location = new System.Drawing.Point(10, 134);
this.label1.Location = new System.Drawing.Point(10, 127);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(224, 16);
this.label1.TabIndex = 12;
@@ -178,17 +180,51 @@
"K",
"M",
"G"});
this.BandwithComboBox.Location = new System.Drawing.Point(195, 153);
this.BandwithComboBox.Location = new System.Drawing.Point(195, 146);
this.BandwithComboBox.Name = "BandwithComboBox";
this.BandwithComboBox.Size = new System.Drawing.Size(55, 23);
this.BandwithComboBox.Size = new System.Drawing.Size(55, 24);
this.BandwithComboBox.TabIndex = 13;
//
// DebugLogCopy
//
this.DebugLogCopy.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.DebugLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.DebugLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.DebugLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.DebugLogCopy.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.DebugLogCopy.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.DebugLogCopy.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.DebugLogCopy.Location = new System.Drawing.Point(12, 215);
this.DebugLogCopy.Name = "DebugLogCopy";
this.DebugLogCopy.Size = new System.Drawing.Size(285, 31);
this.DebugLogCopy.TabIndex = 5;
this.DebugLogCopy.Text = "Copy DebugLog to Desktop";
this.DebugLogCopy.UseVisualStyleBackColor = false;
this.DebugLogCopy.Click += new System.EventHandler(this.DebugLogCopy_click);
//
// CrashLogCopy
//
this.CrashLogCopy.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.CrashLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.CrashLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.CrashLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.CrashLogCopy.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.CrashLogCopy.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.CrashLogCopy.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.CrashLogCopy.Location = new System.Drawing.Point(12, 252);
this.CrashLogCopy.Name = "CrashLogCopy";
this.CrashLogCopy.Size = new System.Drawing.Size(285, 31);
this.CrashLogCopy.TabIndex = 5;
this.CrashLogCopy.Text = "Copy CrashLog to Desktop";
this.CrashLogCopy.UseVisualStyleBackColor = false;
this.CrashLogCopy.Click += new System.EventHandler(this.CrashLogCopy_click);
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(315, 237);
this.ClientSize = new System.Drawing.Size(313, 291);
this.Controls.Add(this.BandwithComboBox);
this.Controls.Add(this.label1);
this.Controls.Add(this.BandwithTextbox);
@@ -196,13 +232,14 @@
this.Controls.Add(this.updateConfigCheckBox);
this.Controls.Add(this.deleteAfterInstallCheckBox);
this.Controls.Add(this.enableMessageBoxesCheckBox);
this.Controls.Add(this.CrashLogCopy);
this.Controls.Add(this.DebugLogCopy);
this.Controls.Add(this.applyButton);
this.Controls.Add(this.checkForUpdatesCheckBox);
this.Controls.Add(this.resetSettingsButton);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.ForeColor = System.Drawing.Color.White;
this.MaximumSize = new System.Drawing.Size(331, 276);
this.MinimumSize = new System.Drawing.Size(331, 276);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Name = "SettingsForm";
this.ShowIcon = false;
this.Text = "Settings";
@@ -224,5 +261,7 @@
private System.Windows.Forms.TextBox BandwithTextbox;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox BandwithComboBox;
private System.Windows.Forms.Button DebugLogCopy;
private System.Windows.Forms.Button CrashLogCopy;
}
}

View File

@@ -1,5 +1,6 @@
using JR.Utils.GUI.Forms;
using System;
using System.IO;
using System.Windows.Forms;
namespace AndroidSideloader
@@ -46,6 +47,41 @@ namespace AndroidSideloader
deleteAfterInstallToolTip.SetToolTip(this.deleteAfterInstallCheckBox, "If this is checked, the software will delete all game files after downloading and installing a game from a remote server");
}
private void DebugLogCopy_click(object sender, EventArgs e)
{
if (File.Exists($"{Properties.Settings.Default.MainDir}\\debuglog.txt"))
{
if (File.Exists($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\debuglog.txt"))
File.Delete($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\debuglog.txt");
System.IO.File.Copy($"{Properties.Settings.Default.MainDir}\\debuglog.txt", $"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\debuglog.txt", true);
MessageBox.Show("debuglog.txt copied to your desktop!");
}
}
private void CrashLogCopy_click(object sender, EventArgs e)
{
if (File.Exists($"{Properties.Settings.Default.MainDir}\\crashlog.txt"))
{
if (File.Exists($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\crashlog.txt"))
File.Delete($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\crashlog.txt");
System.IO.File.Copy($"{Properties.Settings.Default.MainDir}\\crashlog.txt", $"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\crashlog.txt", true);
MessageBox.Show("crashlog.txt copied to your desktop!");
}
else
MessageBox.Show("No crashlog found!");
}
//Apply settings
private void applyButton_Click(object sender, EventArgs e)
{
@@ -96,5 +132,6 @@ namespace AndroidSideloader
{
Properties.Settings.Default.userJsonOnGameInstall = userJsonOnGameInstall.Checked;
}
}
}

View File

@@ -186,9 +186,10 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
output += ADB.RunAdbCommandToString("pull " + apkPath); //pull apk
if (File.Exists(Properties.Settings.Default.ADBFolder + "\\" + packageName + ".apk"))
File.Delete(Properties.Settings.Default.ADBFolder + "\\" + packageName + ".apk");
if (File.Exists(Properties.Settings.Default.MainDir + "\\" + packageName + ".apk"))
File.Delete(Properties.Settings.Default.MainDir + "\\" + packageName + ".apk");
MessageBox.Show("APK is named" + packageName + ".apk. Opening containing folder now.");
File.Move(Properties.Settings.Default.ADBFolder + "\\base.apk", Environment.CurrentDirectory + "\\" + packageName + ".apk");
return output;
@@ -198,14 +199,36 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
{
foreach (string[] game in SideloaderRCLONE.games)
{
if (gameName.Equals(game[SideloaderRCLONE.GameNameIndex]))
if (gameName.Contains(game[SideloaderRCLONE.GameNameIndex]))
return game[SideloaderRCLONE.PackageNameIndex];
if (gameName.Equals(game[SideloaderRCLONE.ReleaseNameIndex]))
if (gameName.Contains(game[SideloaderRCLONE.ReleaseNameIndex]))
return game[SideloaderRCLONE.PackageNameIndex];
}
return gameName;
}
public static string PackageNametoGameName(string gameName)
{
foreach (string[] game in SideloaderRCLONE.games)
{
if (gameName.Contains(game[SideloaderRCLONE.PackageNameIndex]))
return game[SideloaderRCLONE.ReleaseNameIndex];
}
return gameName;
}
public static string gameNameToSimpleName(string gameName)
{
foreach (string[] game in SideloaderRCLONE.games)
{
if (gameName.Contains(game[SideloaderRCLONE.GameNameIndex]))
return game[SideloaderRCLONE.GameNameIndex];
if (gameName.Contains(game[SideloaderRCLONE.ReleaseNameIndex]))
return game[SideloaderRCLONE.GameNameIndex];
}
return gameName;
}
//Downloads the required files
public static void downloadFiles()
{

View File

@@ -9,7 +9,7 @@ namespace AndroidSideloader
string[] files = Directory.GetFiles(path);
foreach (string file in files)
if (file.EndsWith(".obb"))
if (file.EndsWith(".obb") || Path.GetDirectoryName(file).Contains(".") && !Path.GetDirectoryName(file).Contains("_data"))
return true;
return false;
}

View File

@@ -16,10 +16,12 @@ namespace AndroidSideloader
public static string Repostory { get; set; }
private static string RawGitHubUrl;
private static string GitHubUrl;
static readonly public string LocalVersion = "2.1.3.1";
static readonly public string LocalVersion = "2.1.5";
public static string currentVersion = string.Empty;
public static string changelog = string.Empty;
//Check if there is a new version of the sideloader
private static bool IsUpdateAvailable()
{
HttpClient client = new HttpClient();
@@ -32,6 +34,8 @@ namespace AndroidSideloader
catch { return false; }
return LocalVersion != currentVersion;
}
//Call this to ask the user if they want to update
public static void Update()
{
RawGitHubUrl = $"https://raw.githubusercontent.com/nerdunit/androidsideloader";
@@ -40,11 +44,14 @@ namespace AndroidSideloader
doUpdate();
}
//If the user wants to update
private static void doUpdate()
{
DialogResult dialogResult = FlexibleMessageBox.Show($"There is a new update you have version {LocalVersion}, do you want to update?\nCHANGELOG\n{changelog}", $"Version {currentVersion} is available", MessageBoxButtons.YesNo);
if (dialogResult != DialogResult.Yes)
return;
//Download new sideloader with version appended to file name so there is no chance of overwriting the current exe
try
{
var fileClient = new WebClient();
@@ -56,6 +63,7 @@ namespace AndroidSideloader
Logger.Log($"Starting {AppName} v{currentVersion}.exe");
Process.Start($"{AppName} v{currentVersion}.exe");
//Delete current version
AndroidSideloader.Utilities.GeneralUtilities.Melt();
}
catch { }

View File

@@ -1,3 +1,61 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.1.5
+ Added Releasename to installing messages and download size message.
= Mulitple bugfixes.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDums0ACgkQx/Rql1Vo
czc+PRAAmKSXHjNqO6JXpUKIQczrs3q15yZztgmOQMULNUImis3+/ykOxsMJit1A
W6ORtj3i2VH0TDBx/hhRghMPo+dNilyKnCWm928mXc3taMOEOKu+Dz8WfhnuNp0A
ENmV5fKfuChqrn/6jkUY8UG12NM0eu3A+7fH6LvRADxRxESVH81JUtcf4bSAlier
JuL/q67nv8mThFS3tRtjjvmu0nQMCUcvagfwRNFOUW0aob7NBAp6wxTsbxZo0yEq
oVOxyTAOR84IGHpWeDKDyMw+AySMnHQXl9Ty385zg4eHZr/l1uQcK61uNfiqVCK+
Pag6I1+vLs/3Z3v6qD84iUnis/RV2lqiZcenNeTHQgBKzSsxegB5t0WaID7qlnec
655QnEUbLbIxENS7HodMR1+CzWKgmmYpIH9jV+vH0+mTaKnAYmW56q/ae8OmjXqw
6NXSfog3Dv7U8Imq21Q8glxt/CXh1fY0I8JLxpMjbwEDm56fvvzdRAeE3TeXJR0y
CD9HbH/G8oH/OhLaj1UR5y9FR3PLIBhHmnl9VHtxcvv/nrHMQHbM9bAjPUpNdnSg
30yZxPw/eqv8KLhGxxc+cBnXv3p5bNf2j27gY1Q8XbgcL8PAM6NlVBN/9oaDQ5cL
r5Cc4d5r9F+Q+QrhpZlw3jshHdoVKqgc4ut6xBAWulztNWNvLok=
=tySN
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.1.3.2
+ Added checkbox to enable Enter to Download+Install.
= Fixed crash that occurred when user held down up arrow or down arrow on gamelist.
= Fixed all issues with Install.txt path.
= Clicking out of search box now closes it.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDsFZ8ACgkQx/Rql1Vo
czcwJg/+PFiXfh6PPZNIRf2Zeht7WN8oxuUFV907KnD5+gKD0rzNd1NzgrcPOgAh
/oJakvY6ryLyaopJFZ8bm7++tQ3w6mbnzPaGweNoOF7/oLDb9NKVlK5/VjA3JPPN
QtOebRgBsigoRGGTq0s7ZRZV99vtSm2R1+1z9qlEu5Fm2hEiIggLvSBdGWDhbGnZ
jnvAZixeYgR+R6x4MZTsDao+qIYMio7heiVdN03gQ4hAaPbZ/I6s3cS+K33k02Nz
IEATqkwoLOevmN/D773A0cMzh/ZQWs557E3aKtwB+EHo/0ucCk0WaMSt4WdH8Qqe
WWF6+UT8FEEN2M76SQrg80xBj3QxzfIi92c231rVvtHMiVn5qUhTrDYb2wqx7J99
cJeMgANBmWSBZRBNW7jwhAxUVXE9vE8eqBza9MarXbJaLtq3Mf0ECLWvFPllA8dU
lnBcdSuTESvZkBAokkCwEJOb7sootBpEz5BZtE268mZEfsHUGWo3/VZDrJ7lLXJW
mEE2aCcHpNWysa9CsSee/QWNgLH2v+9PM3r/1SJyQ23C2hwyQI+F2lkch8Ar5Qfn
YxMWnhAcYXTRtcxY0s7xuhpUr/TGc6m9QY6NeVYMvb3g1gbmGOyyN/MELNOkEF/l
FXnrY4AfaNTs6EL6/id/viGcHc1MnnjgzlTNg5rgoxtFrHdVwP4=
=o0TQ
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

View File

@@ -1 +1 @@
2.1.3.1
2.1.5