Compare commits
56 Commits
v2.17
...
v2.19-beta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8c26242af7 | ||
|
|
a75bd355cf | ||
|
|
ea19b936cb | ||
|
|
3dbd5cee3a | ||
|
|
07c312fa33 | ||
|
|
8d15dcb5c9 | ||
|
|
fd9d2bfccc | ||
|
|
3497270b26 | ||
|
|
1f505e1a28 | ||
|
|
96758aba7e | ||
|
|
b538244b6f | ||
|
|
04e7e54556 | ||
|
|
372002dfa5 | ||
|
|
401b21b715 | ||
|
|
e09d1fec5d | ||
|
|
2e8ab3bd43 | ||
|
|
c060038e50 | ||
|
|
d73f84dbb4 | ||
|
|
3e69119df2 | ||
|
|
a9e11e3734 | ||
|
|
ca742146d9 | ||
|
|
de47ab6ad3 | ||
|
|
9cff4a32b2 | ||
|
|
1744ef86bf | ||
|
|
46b3bafeb7 | ||
|
|
76b372f822 | ||
|
|
782485edd0 | ||
|
|
84f444ab55 | ||
|
|
83283d6bda | ||
|
|
4cd3769115 | ||
|
|
c44b4adf60 | ||
|
|
fa59f45184 | ||
|
|
79323dfe58 | ||
|
|
2bfb402c25 | ||
|
|
13e1866820 | ||
|
|
1462aaa30e | ||
|
|
5fbe50b2f9 | ||
|
|
d747596ce1 | ||
|
|
696fff3f5d | ||
|
|
87108d5640 | ||
|
|
8bc0b1cbaf | ||
|
|
b6110ad703 | ||
|
|
f48d2ef40d | ||
|
|
3e4bfe22d8 | ||
|
|
199e2cbaec | ||
|
|
24f9f961b9 | ||
|
|
e9b3f52f0e | ||
|
|
acf0649150 | ||
|
|
df2e35d683 | ||
|
|
19074465a0 | ||
|
|
7d8e143963 | ||
|
|
48c004794c | ||
|
|
b011b3e7a2 | ||
|
|
43daff617a | ||
|
|
ef6a1dc5a4 | ||
|
|
8c5b2d623b |
21
.gitignore
vendored
21
.gitignore
vendored
@@ -1,21 +1,8 @@
|
||||
################################################################################
|
||||
# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
|
||||
################################################################################
|
||||
*.pdb
|
||||
*.xml
|
||||
*.xsd
|
||||
bin/
|
||||
adb/
|
||||
rclone/
|
||||
thumbnails/
|
||||
notes/
|
||||
AndroidSideloader.csproj.user
|
||||
|
||||
.vs/
|
||||
/.vs/AndroidSideloader/v16/.suo
|
||||
/adb/adb.exe
|
||||
installedPackages.json
|
||||
AndroidSideloader.csproj.user
|
||||
AndroidSideloader.csproj.user
|
||||
AndroidSideloader.csproj.user
|
||||
/AndroidSideloader v2.1.exe
|
||||
/crashlog.txt
|
||||
/debuglog.txt
|
||||
bin/
|
||||
packages/
|
||||
12
ADB.cs
12
ADB.cs
@@ -71,7 +71,7 @@ namespace AndroidSideloader
|
||||
|
||||
if (error.Contains("ADB_VENDOR_KEYS") && !Properties.Settings.Default.adbdebugwarned)
|
||||
{
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show("Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.\nPlease note that even if you have done this\nbefore it will reset itself from time to time.\n\nPress CANCEL if you want to disable this prompt (FOR DEBUGGING ONLY, NOT RECOMMENDED).", "ADB Debugging not enabled.", MessageBoxButtons.OKCancel);
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.\nPlease note that even if you have done this\nbefore it will reset itself from time to time.\n\nPress CANCEL if you want to disable this prompt (FOR DEBUGGING ONLY, NOT RECOMMENDED).", "ADB Debugging not enabled.", MessageBoxButtons.OKCancel);
|
||||
if (dialogResult == DialogResult.Cancel)
|
||||
{
|
||||
Properties.Settings.Default.adbdebugwarned = true;
|
||||
@@ -84,7 +84,7 @@ namespace AndroidSideloader
|
||||
}
|
||||
if (error.Contains("not enough storage space"))
|
||||
{
|
||||
_ = FlexibleMessageBox.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.");
|
||||
_ = FlexibleMessageBox.Show(Program.form, "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("Filesystem") && !output.Contains("package:") && !output.Equals(null))
|
||||
{
|
||||
@@ -154,7 +154,7 @@ namespace AndroidSideloader
|
||||
|
||||
if (error.Contains("ADB_VENDOR_KEYS") && Properties.Settings.Default.adbdebugwarned)
|
||||
{
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show("Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.\nPlease note that even if you have done this\nbefore it will reset itself from time to time.\n\nPress CANCEL if you want to disable this prompt (FOR DEBUGGING ONLY, NOT RECOMMENDED).", "ADB Debugging not enabled.", MessageBoxButtons.OKCancel);
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.\nPlease note that even if you have done this\nbefore it will reset itself from time to time.\n\nPress CANCEL if you want to disable this prompt (FOR DEBUGGING ONLY, NOT RECOMMENDED).", "ADB Debugging not enabled.", MessageBoxButtons.OKCancel);
|
||||
if (dialogResult == DialogResult.Cancel)
|
||||
{
|
||||
Properties.Settings.Default.adbdebugwarned = true;
|
||||
@@ -217,7 +217,7 @@ namespace AndroidSideloader
|
||||
|
||||
if (error.Contains("ADB_VENDOR_KEYS") && Properties.Settings.Default.adbdebugwarned)
|
||||
{
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show("Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.\nPlease note that even if you have done this\nbefore it will reset itself from time to time.\n\nPress CANCEL if you want to disable this prompt (FOR DEBUGGING ONLY, NOT RECOMMENDED).", "ADB Debugging not enabled.", MessageBoxButtons.OKCancel);
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.\nPlease note that even if you have done this\nbefore it will reset itself from time to time.\n\nPress CANCEL if you want to disable this prompt (FOR DEBUGGING ONLY, NOT RECOMMENDED).", "ADB Debugging not enabled.", MessageBoxButtons.OKCancel);
|
||||
if (dialogResult == DialogResult.Cancel)
|
||||
{
|
||||
Properties.Settings.Default.adbdebugwarned = true;
|
||||
@@ -312,7 +312,7 @@ namespace AndroidSideloader
|
||||
_ = Logger.Log(out2);
|
||||
if (out2.Contains("offline") && !Properties.Settings.Default.nodevicemode)
|
||||
{
|
||||
DialogResult dialogResult2 = FlexibleMessageBox.Show("Device is offline. Press Yes to reconnect, or if you don't wish to connect and just want to download the game (requires unchecking \"Delete games after install\" from settings menu) then press No.", "Device offline.", MessageBoxButtons.YesNoCancel);
|
||||
DialogResult dialogResult2 = FlexibleMessageBox.Show(Program.form, "Device is offline. Press Yes to reconnect, or if you don't wish to connect and just want to download the game (requires unchecking \"Delete games after install\" from settings menu) then press No.", "Device offline.", MessageBoxButtons.YesNoCancel);
|
||||
if (dialogResult2 == DialogResult.Yes)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
@@ -325,7 +325,7 @@ namespace AndroidSideloader
|
||||
ADB.WakeDevice();
|
||||
if (!Properties.Settings.Default.AutoReinstall)
|
||||
{
|
||||
DialogResult dialogResult1 = FlexibleMessageBox.Show("In place upgrade has failed. Rookie can attempt to backup your save data and\nreinstall the game automatically, however " +
|
||||
DialogResult dialogResult1 = FlexibleMessageBox.Show(Program.form, "In place upgrade has failed. Rookie can attempt to backup your save data and\nreinstall the game automatically, however " +
|
||||
"some games do not store their saves\nin an accessible location(less than 5%). Continue with reinstall?", "In place upgrade failed.", MessageBoxButtons.OKCancel);
|
||||
if (dialogResult1 == DialogResult.Cancel)
|
||||
{
|
||||
|
||||
@@ -49,14 +49,14 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>icon.ico</ApplicationIcon>
|
||||
@@ -139,13 +139,24 @@
|
||||
<Reference Include="Costura, Version=4.1.0.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Costura.Fody.4.1.0\lib\net40\Costura.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.Core, Version=1.0.1072.54, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Microsoft.Web.WebView2.1.0.1072.54\lib\net45\Microsoft.Web.WebView2.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.WinForms, Version=1.0.1072.54, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Microsoft.Web.WebView2.1.0.1072.54\lib\net45\Microsoft.Web.WebView2.WinForms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.1072.54, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Microsoft.Web.WebView2.1.0.1072.54\lib\net45\Microsoft.Web.WebView2.Wpf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SergeUtils">
|
||||
<HintPath>.\SergeUtils.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System">
|
||||
<HintPath>..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.Management" />
|
||||
@@ -154,7 +165,9 @@
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Drawing">
|
||||
<HintPath>..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Drawing.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
@@ -336,6 +349,7 @@
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('packages\Fody.6.0.0\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Fody.6.0.0\build\Fody.targets'))" />
|
||||
<Error Condition="!Exists('packages\Costura.Fody.4.1.0\build\Costura.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Costura.Fody.4.1.0\build\Costura.Fody.props'))" />
|
||||
<Error Condition="!Exists('packages\Microsoft.Web.WebView2.1.0.1072.54\build\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Web.WebView2.1.0.1072.54\build\Microsoft.Web.WebView2.targets'))" />
|
||||
</Target>
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
@@ -345,4 +359,5 @@
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="packages\Microsoft.Web.WebView2.1.0.1072.54\build\Microsoft.Web.WebView2.targets" Condition="Exists('packages\Microsoft.Web.WebView2.1.0.1072.54\build\Microsoft.Web.WebView2.targets')" />
|
||||
</Project>
|
||||
70
App.config
70
App.config
@@ -36,14 +36,11 @@
|
||||
<value>Microsoft Sans Serif, 11.25pt</value>
|
||||
</setting>
|
||||
<setting name="BackPicturePath" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="SpoofGames" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="BandwidthLimit" serializeAs="String">
|
||||
<value/>
|
||||
</setting>
|
||||
<setting name="BigFontStyle" serializeAs="String">
|
||||
<value>Microsoft Sans Serif, 14pt</value>
|
||||
</setting>
|
||||
@@ -51,19 +48,19 @@
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="IPAddress" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="InstalledApps" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ADBPath" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="QUsett" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="QuChecked" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="QUhz" serializeAs="String">
|
||||
<value>0</value>
|
||||
@@ -81,28 +78,28 @@
|
||||
<value>Change Me</value>
|
||||
</setting>
|
||||
<setting name="QUString" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="MainDir" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="QUStringF" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="delsh" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="CurrPckg" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ADBFolder" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="WirelessADB" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="CurrentGamename" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="PackageNameToCB" serializeAs="String">
|
||||
<value>False</value>
|
||||
@@ -114,16 +111,16 @@
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="CurrentLogPath" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="CurrentLogName" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="CurrentCrashPath" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="CurrentCrashName" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="QUturnedon" serializeAs="String">
|
||||
<value>False</value>
|
||||
@@ -138,28 +135,28 @@
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="GamesList" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="UploadedGameList" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="GlobalUsername" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="lastTimeShared" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="AutoReinstall" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="NonAppPackages" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="LastLaunch" serializeAs="String">
|
||||
<value>04/20/1969 16:20:00</value>
|
||||
</setting>
|
||||
<setting name="SubmittedUpdates" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ListUpped" serializeAs="String">
|
||||
<value>False</value>
|
||||
@@ -174,22 +171,37 @@
|
||||
<value>White</value>
|
||||
</setting>
|
||||
<setting name="ComboBoxColor" serializeAs="String">
|
||||
<value>50, 50, 50</value>
|
||||
<value>25, 25, 25</value>
|
||||
</setting>
|
||||
<setting name="SubButtonColor" serializeAs="String">
|
||||
<value>40, 40, 40</value>
|
||||
<value>25, 25, 25</value>
|
||||
</setting>
|
||||
<setting name="TextBoxColor" serializeAs="String">
|
||||
<value>29, 29, 29</value>
|
||||
<value>25, 25, 25</value>
|
||||
</setting>
|
||||
<setting name="ButtonColor" serializeAs="String">
|
||||
<value>50, 50, 50</value>
|
||||
<value>Black</value>
|
||||
</setting>
|
||||
<setting name="BackColor" serializeAs="String">
|
||||
<value>50, 50, 50</value>
|
||||
<value>1, 1, 1</value>
|
||||
</setting>
|
||||
<setting name="AppPackages" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="TrailersOn" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="downloadDir" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="customDownloadDir" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="customBackupDir" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="backupDir" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
</AndroidSideloader.Properties.Settings>
|
||||
<AndroidADB.Sideloader.Properties.Settings>
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
RSL 2.16
|
||||
RSL 2.18
|
||||
|
||||
- Moving Rookie onto a different Directory than C: will not break Pull App To Desktop anymore
|
||||
- Rookie should now tell the user why it couldnt get the Rclone/ADB etc. Files
|
||||
- Dialogs will should now no longer hide behind Rookie.
|
||||
- ADB was updated to the latest version.
|
||||
|
||||
~ Chax & fenopy
|
||||
|
||||
RSL 2.17
|
||||
|
||||
- Various bugfixes
|
||||
|
||||
~SytheZN
|
||||
~fenopy
|
||||
|
||||
RSL 2.16
|
||||
|
||||
- Fix misleading error message when not enough disk space
|
||||
- Fix downloads silently failing in some cases
|
||||
|
||||
23
MainForm.Designer.cs
generated
23
MainForm.Designer.cs
generated
@@ -127,6 +127,7 @@ namespace AndroidSideloader
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.downloadInstallGameButton = new AndroidSideloader.RoundButton();
|
||||
this.MountButton = new AndroidSideloader.RoundButton();
|
||||
this.webView21 = new Microsoft.Web.WebView2.WinForms.WebView2();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ULGif)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.imgBattery)).BeginInit();
|
||||
@@ -138,6 +139,7 @@ namespace AndroidSideloader
|
||||
((System.ComponentModel.ISupportInitialize)(this.btnSearch)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).BeginInit();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.webView21)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// m_combo
|
||||
@@ -382,7 +384,7 @@ namespace AndroidSideloader
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(221, 721);
|
||||
this.panel1.Size = new System.Drawing.Size(221, 729);
|
||||
this.panel1.TabIndex = 73;
|
||||
//
|
||||
// verLabel
|
||||
@@ -1053,7 +1055,6 @@ namespace AndroidSideloader
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pictureBox1.TabIndex = 74;
|
||||
this.pictureBox1.TabStop = false;
|
||||
this.pictureBox1.Click += new System.EventHandler(this.updateAvailable_Click);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
@@ -1138,6 +1139,7 @@ namespace AndroidSideloader
|
||||
this.lblUpToDate.TabIndex = 90;
|
||||
this.lblUpToDate.Text = "𝖴𝖯 𝖳𝖮 𝖣𝖠𝖳𝖤";
|
||||
this.lblUpToDate.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
this.lblUpToDate.Click += new System.EventHandler(this.lblUpToDate_Click);
|
||||
//
|
||||
// lblMirror
|
||||
//
|
||||
@@ -1259,6 +1261,7 @@ namespace AndroidSideloader
|
||||
this.lblNeedsDonate.TabIndex = 90;
|
||||
this.lblNeedsDonate.Text = "𝖭𝖤𝖶𝖤𝖱 𝖳𝖧𝖠𝖭 𝖫𝖨𝖲𝖳";
|
||||
this.lblNeedsDonate.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
this.lblNeedsDonate.Click += new System.EventHandler(this.lblNeedsDonate_Click);
|
||||
//
|
||||
// btnSearch
|
||||
//
|
||||
@@ -1358,6 +1361,17 @@ namespace AndroidSideloader
|
||||
this.MountButton.Click += new System.EventHandler(this.MountButton_Click);
|
||||
this.MountButton.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
|
||||
//
|
||||
// webView21
|
||||
//
|
||||
this.webView21.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.webView21.CreationProperties = null;
|
||||
this.webView21.DefaultBackgroundColor = System.Drawing.Color.White;
|
||||
this.webView21.Location = new System.Drawing.Point(224, 475);
|
||||
this.webView21.Name = "webView21";
|
||||
this.webView21.Size = new System.Drawing.Size(374, 214);
|
||||
this.webView21.TabIndex = 97;
|
||||
this.webView21.ZoomFactor = 1D;
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AllowDrop = true;
|
||||
@@ -1365,7 +1379,8 @@ namespace AndroidSideloader
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
|
||||
this.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_cubes_1_1_1_0_0_0_1__000000_212121;
|
||||
this.ClientSize = new System.Drawing.Size(1032, 721);
|
||||
this.ClientSize = new System.Drawing.Size(1040, 729);
|
||||
this.Controls.Add(this.webView21);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Controls.Add(this.MountButton);
|
||||
this.Controls.Add(this.lblShortcutsF2);
|
||||
@@ -1424,6 +1439,7 @@ namespace AndroidSideloader
|
||||
((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).EndInit();
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.webView21)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@@ -1523,5 +1539,6 @@ namespace AndroidSideloader
|
||||
private ToolTip etaLabel_Tooltip;
|
||||
private ToolTip EnterInstallBox_Tooltip;
|
||||
private Panel panel2;
|
||||
private Microsoft.Web.WebView2.WinForms.WebView2 webView21;
|
||||
}
|
||||
}
|
||||
|
||||
1097
MainForm.cs
1097
MainForm.cs
File diff suppressed because it is too large
Load Diff
@@ -30,7 +30,11 @@ namespace AndroidSideloader
|
||||
{
|
||||
Exception e = (Exception)args.ExceptionObject;
|
||||
string date_time = DateTime.Now.ToString("dddd, MMMM dd @ hh:mmtt (UTC)");
|
||||
File.WriteAllText(Sideloader.CrashLogPath, $"Date/Time of crash: {date_time}\nMessage: {e.Message}\nData: {e.Data}\nSource: {e.Source}\nTargetSite: {e.TargetSite}");
|
||||
File.WriteAllText(Sideloader.CrashLogPath, $"Date/Time of crash: {date_time}\nMessage: {e.Message}\nData: {e.Data}\nSource: {e.Source}\nTargetSite: {e.TargetSite}\n\n\nDebuglog: \n\n\n");
|
||||
if (File.Exists(Properties.Settings.Default.CurrentLogPath))
|
||||
{
|
||||
File.AppendAllText(Sideloader.CrashLogPath, File.ReadAllText($"{Properties.Settings.Default.CurrentLogPath}"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
74
Properties/Settings.Designer.cs
generated
74
Properties/Settings.Designer.cs
generated
@@ -12,7 +12,7 @@ namespace AndroidSideloader.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
@@ -143,18 +143,6 @@ namespace AndroidSideloader.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string BandwidthLimit {
|
||||
get {
|
||||
return ((string)(this["BandwidthLimit"]));
|
||||
}
|
||||
set {
|
||||
this["BandwidthLimit"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Microsoft Sans Serif, 14pt")]
|
||||
@@ -741,5 +729,65 @@ namespace AndroidSideloader.Properties {
|
||||
this["AppPackages"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool TrailersOn {
|
||||
get {
|
||||
return ((bool)(this["TrailersOn"]));
|
||||
}
|
||||
set {
|
||||
this["TrailersOn"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string downloadDir {
|
||||
get {
|
||||
return ((string)(this["downloadDir"]));
|
||||
}
|
||||
set {
|
||||
this["downloadDir"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool customDownloadDir {
|
||||
get {
|
||||
return ((bool)(this["customDownloadDir"]));
|
||||
}
|
||||
set {
|
||||
this["customDownloadDir"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool customBackupDir {
|
||||
get {
|
||||
return ((bool)(this["customBackupDir"]));
|
||||
}
|
||||
set {
|
||||
this["customBackupDir"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string backupDir {
|
||||
get {
|
||||
return ((string)(this["backupDir"]));
|
||||
}
|
||||
set {
|
||||
this["backupDir"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,9 +32,6 @@
|
||||
<Setting Name="SpoofGames" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="BandwidthLimit" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="BigFontStyle" Type="System.Drawing.Font" Scope="User">
|
||||
<Value Profile="(Default)">Microsoft Sans Serif, 14pt</Value>
|
||||
</Setting>
|
||||
@@ -182,5 +179,20 @@
|
||||
<Setting Name="AppPackages" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="TrailersOn" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="downloadDir" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="customDownloadDir" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="customBackupDir" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="backupDir" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
34
RCLONE.cs
34
RCLONE.cs
@@ -12,7 +12,7 @@ namespace AndroidSideloader
|
||||
//Kill all rclone, using a static rclone variable doesn't work for some reason #tofix
|
||||
public static void killRclone()
|
||||
{
|
||||
foreach (Process process in Process.GetProcessesByName("rclone"))
|
||||
foreach (var process in Process.GetProcessesByName("rclone"))
|
||||
{
|
||||
process.Kill();
|
||||
}
|
||||
@@ -37,7 +37,7 @@ namespace AndroidSideloader
|
||||
private static readonly Process rclone = new Process();
|
||||
|
||||
//Run rclone command
|
||||
public static ProcessOutput runRcloneCommand_DownloadConfig(string command, string BandwidthLimit = "")
|
||||
public static ProcessOutput runRcloneCommand_DownloadConfig(string command)
|
||||
{
|
||||
if (!MainForm.HasInternet || MainForm.isOffline)
|
||||
{
|
||||
@@ -49,12 +49,6 @@ namespace AndroidSideloader
|
||||
rclone.StartInfo.StandardOutputEncoding = Encoding.UTF8;
|
||||
string originalCommand = command;
|
||||
|
||||
//set bandwidth limit
|
||||
if (BandwidthLimit.Length > 0)
|
||||
{
|
||||
command += $" --bwlimit={BandwidthLimit}";
|
||||
}
|
||||
|
||||
//set configpath if there is any
|
||||
if (downloadConfigPath.Length > 0)
|
||||
{
|
||||
@@ -105,7 +99,7 @@ namespace AndroidSideloader
|
||||
|
||||
if (error.Contains("There is not enough space"))
|
||||
{
|
||||
_ = FlexibleMessageBox.Show($"There isn't enough disk space to download this game.\r\nPlease ensure you have at least 200MB more the game size available in {Environment.CurrentDirectory} and try again.",
|
||||
_ = FlexibleMessageBox.Show(Program.form, $"There isn't enough disk space to download this game.\r\nPlease ensure you have at least 200MB more the game size available in {Environment.CurrentDirectory} and try again.",
|
||||
"NOT ENOUGH SPACE",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error);
|
||||
@@ -125,7 +119,7 @@ namespace AndroidSideloader
|
||||
{
|
||||
return new ProcessOutput("All mirrors are on quota or down...", "All mirrors are on quota or down...");
|
||||
}
|
||||
prcoutput = runRcloneCommand_DownloadConfig(originalCommand.Replace(oldRemote, MainForm.currentRemote), BandwidthLimit);
|
||||
prcoutput = runRcloneCommand_DownloadConfig(originalCommand.Replace(oldRemote, MainForm.currentRemote));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -148,9 +142,9 @@ namespace AndroidSideloader
|
||||
return prcoutput;
|
||||
}
|
||||
|
||||
public static ProcessOutput runRcloneCommand_UploadConfig(string command, string BandwidthLimit = "")
|
||||
public static ProcessOutput runRcloneCommand_UploadConfig(string command)
|
||||
{
|
||||
if (!MainForm.HasInternet || MainForm.isOffline)
|
||||
if (!MainForm.HasInternet)
|
||||
{
|
||||
return new ProcessOutput("", "No internet");
|
||||
}
|
||||
@@ -159,12 +153,6 @@ namespace AndroidSideloader
|
||||
//Rclone output is unicode, else it will show garbage instead of unicode characters
|
||||
rclone.StartInfo.StandardOutputEncoding = Encoding.UTF8;
|
||||
|
||||
//set bandwidth limit
|
||||
if (BandwidthLimit.Length > 0)
|
||||
{
|
||||
command += $" --bwlimit={BandwidthLimit}";
|
||||
}
|
||||
|
||||
//set configpath if there is any
|
||||
if (uploadConfigPath.Length > 0)
|
||||
{
|
||||
@@ -236,7 +224,7 @@ namespace AndroidSideloader
|
||||
return prcoutput;
|
||||
}
|
||||
|
||||
public static ProcessOutput runRcloneCommand_PublicConfig(string command, string BandwidthLimit = "")
|
||||
public static ProcessOutput runRcloneCommand_PublicConfig(string command)
|
||||
{
|
||||
if (!MainForm.HasInternet || MainForm.isOffline)
|
||||
{
|
||||
@@ -247,12 +235,6 @@ namespace AndroidSideloader
|
||||
//Rclone output is unicode, else it will show garbage instead of unicode characters
|
||||
rclone.StartInfo.StandardOutputEncoding = Encoding.UTF8;
|
||||
|
||||
//set bandwidth limit
|
||||
if (BandwidthLimit.Length > 0)
|
||||
{
|
||||
command += $" --bwlimit={BandwidthLimit}";
|
||||
}
|
||||
|
||||
string logcmd = Utilities.StringUtilities.RemoveEverythingBeforeFirst(command, "rclone.exe");
|
||||
if (logcmd.Contains($"\"{Properties.Settings.Default.CurrentLogPath}\""))
|
||||
{
|
||||
@@ -295,7 +277,7 @@ namespace AndroidSideloader
|
||||
|
||||
if (error.Contains("There is not enough space"))
|
||||
{
|
||||
_ = FlexibleMessageBox.Show($"There isn't enough disk space to download this game.\r\nPlease ensure you have at least 2x the game size available in {Environment.CurrentDirectory} and try again.",
|
||||
_ = FlexibleMessageBox.Show(Program.form, $"There isn't enough disk space to download this game.\r\nPlease ensure you have at least 2x the game size available in {Environment.CurrentDirectory} and try again.",
|
||||
"NOT ENOUGH SPACE",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error);
|
||||
|
||||
267
SettingsForm.Designer.cs
generated
267
SettingsForm.Designer.cs
generated
@@ -34,18 +34,20 @@ namespace AndroidSideloader
|
||||
this.deleteAfterInstallCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.updateConfigCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.userJsonOnGameInstall = new System.Windows.Forms.CheckBox();
|
||||
this.txtBandwidth = new System.Windows.Forms.TextBox();
|
||||
this.lblDownloadSpeedLimiter = new System.Windows.Forms.Label();
|
||||
this.crashlogID = new System.Windows.Forms.Label();
|
||||
this.nodevicemodeBox = new System.Windows.Forms.CheckBox();
|
||||
this.bmbfBox = new System.Windows.Forms.CheckBox();
|
||||
this.AutoReinstBox = new System.Windows.Forms.CheckBox();
|
||||
this.applyButton = new AndroidSideloader.RoundButton();
|
||||
this.resetSettingsButton = new AndroidSideloader.RoundButton();
|
||||
this.trailersOn = new System.Windows.Forms.CheckBox();
|
||||
this.downloadDirectorySetter = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.backupDirectorySetter = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.setBackupDirectory = new AndroidSideloader.RoundButton();
|
||||
this.setDownloadDirectory = new AndroidSideloader.RoundButton();
|
||||
this.btnOpenDebug = new AndroidSideloader.RoundButton();
|
||||
this.btnResetDebug = new AndroidSideloader.RoundButton();
|
||||
this.btnUploadDebug = new AndroidSideloader.RoundButton();
|
||||
this.btnOpenDebug = new AndroidSideloader.RoundButton();
|
||||
this.lblMibs = new System.Windows.Forms.Label();
|
||||
this.resetSettingsButton = new AndroidSideloader.RoundButton();
|
||||
this.applyButton = new AndroidSideloader.RoundButton();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// checkForUpdatesCheckBox
|
||||
@@ -54,7 +56,7 @@ namespace AndroidSideloader
|
||||
this.checkForUpdatesCheckBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.checkForUpdatesCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.checkForUpdatesCheckBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.checkForUpdatesCheckBox.Location = new System.Drawing.Point(12, 12);
|
||||
this.checkForUpdatesCheckBox.Location = new System.Drawing.Point(12, 67);
|
||||
this.checkForUpdatesCheckBox.Name = "checkForUpdatesCheckBox";
|
||||
this.checkForUpdatesCheckBox.Size = new System.Drawing.Size(148, 22);
|
||||
this.checkForUpdatesCheckBox.TabIndex = 0;
|
||||
@@ -68,7 +70,7 @@ namespace AndroidSideloader
|
||||
this.enableMessageBoxesCheckBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.enableMessageBoxesCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.enableMessageBoxesCheckBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.enableMessageBoxesCheckBox.Location = new System.Drawing.Point(12, 38);
|
||||
this.enableMessageBoxesCheckBox.Location = new System.Drawing.Point(11, 123);
|
||||
this.enableMessageBoxesCheckBox.Name = "enableMessageBoxesCheckBox";
|
||||
this.enableMessageBoxesCheckBox.Size = new System.Drawing.Size(309, 22);
|
||||
this.enableMessageBoxesCheckBox.TabIndex = 1;
|
||||
@@ -82,7 +84,7 @@ namespace AndroidSideloader
|
||||
this.deleteAfterInstallCheckBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.deleteAfterInstallCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.deleteAfterInstallCheckBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.deleteAfterInstallCheckBox.Location = new System.Drawing.Point(12, 64);
|
||||
this.deleteAfterInstallCheckBox.Location = new System.Drawing.Point(12, 40);
|
||||
this.deleteAfterInstallCheckBox.Name = "deleteAfterInstallCheckBox";
|
||||
this.deleteAfterInstallCheckBox.Size = new System.Drawing.Size(288, 22);
|
||||
this.deleteAfterInstallCheckBox.TabIndex = 3;
|
||||
@@ -96,7 +98,7 @@ namespace AndroidSideloader
|
||||
this.updateConfigCheckBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.updateConfigCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.updateConfigCheckBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.updateConfigCheckBox.Location = new System.Drawing.Point(12, 90);
|
||||
this.updateConfigCheckBox.Location = new System.Drawing.Point(11, 95);
|
||||
this.updateConfigCheckBox.Name = "updateConfigCheckBox";
|
||||
this.updateConfigCheckBox.Size = new System.Drawing.Size(208, 22);
|
||||
this.updateConfigCheckBox.TabIndex = 6;
|
||||
@@ -110,7 +112,7 @@ namespace AndroidSideloader
|
||||
this.userJsonOnGameInstall.BackColor = System.Drawing.Color.Transparent;
|
||||
this.userJsonOnGameInstall.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.userJsonOnGameInstall.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.userJsonOnGameInstall.Location = new System.Drawing.Point(12, 116);
|
||||
this.userJsonOnGameInstall.Location = new System.Drawing.Point(11, 151);
|
||||
this.userJsonOnGameInstall.Name = "userJsonOnGameInstall";
|
||||
this.userJsonOnGameInstall.Size = new System.Drawing.Size(243, 22);
|
||||
this.userJsonOnGameInstall.TabIndex = 9;
|
||||
@@ -118,31 +120,6 @@ namespace AndroidSideloader
|
||||
this.userJsonOnGameInstall.UseVisualStyleBackColor = false;
|
||||
this.userJsonOnGameInstall.CheckedChanged += new System.EventHandler(this.userJsonOnGameInstall_CheckedChanged);
|
||||
//
|
||||
// txtBandwidth
|
||||
//
|
||||
this.txtBandwidth.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
|
||||
this.txtBandwidth.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.txtBandwidth.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.txtBandwidth.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.txtBandwidth.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.txtBandwidth.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
|
||||
this.txtBandwidth.Location = new System.Drawing.Point(49, 254);
|
||||
this.txtBandwidth.Name = "txtBandwidth";
|
||||
this.txtBandwidth.Size = new System.Drawing.Size(103, 24);
|
||||
this.txtBandwidth.TabIndex = 11;
|
||||
//
|
||||
// lblDownloadSpeedLimiter
|
||||
//
|
||||
this.lblDownloadSpeedLimiter.AutoSize = true;
|
||||
this.lblDownloadSpeedLimiter.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblDownloadSpeedLimiter.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.lblDownloadSpeedLimiter.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.lblDownloadSpeedLimiter.Location = new System.Drawing.Point(87, 230);
|
||||
this.lblDownloadSpeedLimiter.Name = "lblDownloadSpeedLimiter";
|
||||
this.lblDownloadSpeedLimiter.Size = new System.Drawing.Size(169, 18);
|
||||
this.lblDownloadSpeedLimiter.TabIndex = 12;
|
||||
this.lblDownloadSpeedLimiter.Text = "Download Speed Limiter";
|
||||
//
|
||||
// crashlogID
|
||||
//
|
||||
this.crashlogID.AutoSize = true;
|
||||
@@ -158,7 +135,7 @@ namespace AndroidSideloader
|
||||
this.nodevicemodeBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.nodevicemodeBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.nodevicemodeBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.nodevicemodeBox.Location = new System.Drawing.Point(12, 168);
|
||||
this.nodevicemodeBox.Location = new System.Drawing.Point(12, 12);
|
||||
this.nodevicemodeBox.Name = "nodevicemodeBox";
|
||||
this.nodevicemodeBox.Size = new System.Drawing.Size(181, 22);
|
||||
this.nodevicemodeBox.TabIndex = 9;
|
||||
@@ -172,7 +149,7 @@ namespace AndroidSideloader
|
||||
this.bmbfBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.bmbfBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.bmbfBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.bmbfBox.Location = new System.Drawing.Point(12, 142);
|
||||
this.bmbfBox.Location = new System.Drawing.Point(11, 179);
|
||||
this.bmbfBox.Name = "bmbfBox";
|
||||
this.bmbfBox.Size = new System.Drawing.Size(281, 22);
|
||||
this.bmbfBox.TabIndex = 9;
|
||||
@@ -186,7 +163,7 @@ namespace AndroidSideloader
|
||||
this.AutoReinstBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.AutoReinstBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.AutoReinstBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.AutoReinstBox.Location = new System.Drawing.Point(12, 194);
|
||||
this.AutoReinstBox.Location = new System.Drawing.Point(11, 207);
|
||||
this.AutoReinstBox.Name = "AutoReinstBox";
|
||||
this.AutoReinstBox.Size = new System.Drawing.Size(280, 22);
|
||||
this.AutoReinstBox.TabIndex = 9;
|
||||
@@ -195,50 +172,90 @@ namespace AndroidSideloader
|
||||
this.AutoReinstBox.CheckedChanged += new System.EventHandler(this.AutoReinstBox_CheckedChanged);
|
||||
this.AutoReinstBox.Click += new System.EventHandler(this.AutoReinstBox_Click);
|
||||
//
|
||||
// applyButton
|
||||
// trailersOn
|
||||
//
|
||||
this.applyButton.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.applyButton.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.applyButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
|
||||
this.applyButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.applyButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.applyButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.applyButton.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.applyButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
|
||||
this.applyButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
|
||||
this.applyButton.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.applyButton.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.applyButton.Location = new System.Drawing.Point(29, 301);
|
||||
this.applyButton.Name = "applyButton";
|
||||
this.applyButton.Radius = 5;
|
||||
this.applyButton.Size = new System.Drawing.Size(133, 31);
|
||||
this.applyButton.Stroke = true;
|
||||
this.applyButton.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
|
||||
this.applyButton.TabIndex = 17;
|
||||
this.applyButton.Text = "Apply Settings";
|
||||
this.applyButton.Transparency = false;
|
||||
this.applyButton.Click += new System.EventHandler(this.applyButton_Click);
|
||||
this.trailersOn.AutoSize = true;
|
||||
this.trailersOn.BackColor = System.Drawing.Color.Transparent;
|
||||
this.trailersOn.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.trailersOn.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.trailersOn.Location = new System.Drawing.Point(11, 235);
|
||||
this.trailersOn.Name = "trailersOn";
|
||||
this.trailersOn.Size = new System.Drawing.Size(255, 22);
|
||||
this.trailersOn.TabIndex = 23;
|
||||
this.trailersOn.Text = "Use Trailers instead of Thumbnails";
|
||||
this.trailersOn.UseVisualStyleBackColor = false;
|
||||
this.trailersOn.CheckedChanged += new System.EventHandler(this.trailersOn_CheckedChanged);
|
||||
//
|
||||
// resetSettingsButton
|
||||
// downloadDirectorySetter
|
||||
//
|
||||
this.resetSettingsButton.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.resetSettingsButton.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.resetSettingsButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.resetSettingsButton.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.resetSettingsButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
|
||||
this.resetSettingsButton.ForeColor = System.Drawing.Color.White;
|
||||
this.resetSettingsButton.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.resetSettingsButton.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.resetSettingsButton.Location = new System.Drawing.Point(181, 301);
|
||||
this.resetSettingsButton.Name = "resetSettingsButton";
|
||||
this.resetSettingsButton.Radius = 5;
|
||||
this.resetSettingsButton.Size = new System.Drawing.Size(133, 31);
|
||||
this.resetSettingsButton.Stroke = true;
|
||||
this.resetSettingsButton.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
|
||||
this.resetSettingsButton.TabIndex = 18;
|
||||
this.resetSettingsButton.Text = "Reset Settings";
|
||||
this.resetSettingsButton.Transparency = false;
|
||||
this.resetSettingsButton.Click += new System.EventHandler(this.resetSettingsButton_Click);
|
||||
this.downloadDirectorySetter.RootFolder = System.Environment.SpecialFolder.MyComputer;
|
||||
//
|
||||
// backupDirectorySetter
|
||||
//
|
||||
this.backupDirectorySetter.RootFolder = System.Environment.SpecialFolder.MyComputer;
|
||||
//
|
||||
// setBackupDirectory
|
||||
//
|
||||
this.setBackupDirectory.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.setBackupDirectory.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.setBackupDirectory.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.setBackupDirectory.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.setBackupDirectory.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
|
||||
this.setBackupDirectory.ForeColor = System.Drawing.Color.White;
|
||||
this.setBackupDirectory.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.setBackupDirectory.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.setBackupDirectory.Location = new System.Drawing.Point(29, 463);
|
||||
this.setBackupDirectory.Name = "setBackupDirectory";
|
||||
this.setBackupDirectory.Radius = 5;
|
||||
this.setBackupDirectory.Size = new System.Drawing.Size(285, 31);
|
||||
this.setBackupDirectory.Stroke = true;
|
||||
this.setBackupDirectory.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
|
||||
this.setBackupDirectory.TabIndex = 24;
|
||||
this.setBackupDirectory.Text = "Set Backup Directory";
|
||||
this.setBackupDirectory.Transparency = false;
|
||||
this.setBackupDirectory.Click += new System.EventHandler(this.setBackupDirectory_Click);
|
||||
//
|
||||
// setDownloadDirectory
|
||||
//
|
||||
this.setDownloadDirectory.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.setDownloadDirectory.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.setDownloadDirectory.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.setDownloadDirectory.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.setDownloadDirectory.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
|
||||
this.setDownloadDirectory.ForeColor = System.Drawing.Color.White;
|
||||
this.setDownloadDirectory.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.setDownloadDirectory.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.setDownloadDirectory.Location = new System.Drawing.Point(29, 426);
|
||||
this.setDownloadDirectory.Name = "setDownloadDirectory";
|
||||
this.setDownloadDirectory.Radius = 5;
|
||||
this.setDownloadDirectory.Size = new System.Drawing.Size(285, 31);
|
||||
this.setDownloadDirectory.Stroke = true;
|
||||
this.setDownloadDirectory.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
|
||||
this.setDownloadDirectory.TabIndex = 23;
|
||||
this.setDownloadDirectory.Text = "Set Download Directory";
|
||||
this.setDownloadDirectory.Transparency = false;
|
||||
this.setDownloadDirectory.Click += new System.EventHandler(this.setDownloadDirectory_Click);
|
||||
//
|
||||
// btnOpenDebug
|
||||
//
|
||||
this.btnOpenDebug.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.btnOpenDebug.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.btnOpenDebug.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnOpenDebug.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btnOpenDebug.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
|
||||
this.btnOpenDebug.ForeColor = System.Drawing.Color.White;
|
||||
this.btnOpenDebug.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnOpenDebug.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnOpenDebug.Location = new System.Drawing.Point(28, 315);
|
||||
this.btnOpenDebug.Name = "btnOpenDebug";
|
||||
this.btnOpenDebug.Radius = 5;
|
||||
this.btnOpenDebug.Size = new System.Drawing.Size(285, 31);
|
||||
this.btnOpenDebug.Stroke = true;
|
||||
this.btnOpenDebug.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
|
||||
this.btnOpenDebug.TabIndex = 21;
|
||||
this.btnOpenDebug.Text = "Open Debug Log";
|
||||
this.btnOpenDebug.Transparency = false;
|
||||
this.btnOpenDebug.Click += new System.EventHandler(this.btnOpenDebug_Click);
|
||||
//
|
||||
// btnResetDebug
|
||||
//
|
||||
@@ -250,7 +267,7 @@ namespace AndroidSideloader
|
||||
this.btnResetDebug.ForeColor = System.Drawing.Color.White;
|
||||
this.btnResetDebug.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnResetDebug.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnResetDebug.Location = new System.Drawing.Point(29, 385);
|
||||
this.btnResetDebug.Location = new System.Drawing.Point(28, 352);
|
||||
this.btnResetDebug.Name = "btnResetDebug";
|
||||
this.btnResetDebug.Radius = 5;
|
||||
this.btnResetDebug.Size = new System.Drawing.Size(285, 31);
|
||||
@@ -271,7 +288,7 @@ namespace AndroidSideloader
|
||||
this.btnUploadDebug.ForeColor = System.Drawing.Color.White;
|
||||
this.btnUploadDebug.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnUploadDebug.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnUploadDebug.Location = new System.Drawing.Point(29, 422);
|
||||
this.btnUploadDebug.Location = new System.Drawing.Point(28, 389);
|
||||
this.btnUploadDebug.Name = "btnUploadDebug";
|
||||
this.btnUploadDebug.Radius = 5;
|
||||
this.btnUploadDebug.Size = new System.Drawing.Size(285, 31);
|
||||
@@ -282,38 +299,50 @@ namespace AndroidSideloader
|
||||
this.btnUploadDebug.Transparency = false;
|
||||
this.btnUploadDebug.Click += new System.EventHandler(this.btnUploadDebug_click);
|
||||
//
|
||||
// btnOpenDebug
|
||||
// resetSettingsButton
|
||||
//
|
||||
this.btnOpenDebug.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.btnOpenDebug.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.btnOpenDebug.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnOpenDebug.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btnOpenDebug.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
|
||||
this.btnOpenDebug.ForeColor = System.Drawing.Color.White;
|
||||
this.btnOpenDebug.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnOpenDebug.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnOpenDebug.Location = new System.Drawing.Point(29, 348);
|
||||
this.btnOpenDebug.Name = "btnOpenDebug";
|
||||
this.btnOpenDebug.Radius = 5;
|
||||
this.btnOpenDebug.Size = new System.Drawing.Size(285, 31);
|
||||
this.btnOpenDebug.Stroke = true;
|
||||
this.btnOpenDebug.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
|
||||
this.btnOpenDebug.TabIndex = 21;
|
||||
this.btnOpenDebug.Text = "Open Debug Log";
|
||||
this.btnOpenDebug.Transparency = false;
|
||||
this.btnOpenDebug.Click += new System.EventHandler(this.btnOpenDebug_Click);
|
||||
this.resetSettingsButton.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.resetSettingsButton.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.resetSettingsButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.resetSettingsButton.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.resetSettingsButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
|
||||
this.resetSettingsButton.ForeColor = System.Drawing.Color.White;
|
||||
this.resetSettingsButton.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.resetSettingsButton.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.resetSettingsButton.Location = new System.Drawing.Point(180, 278);
|
||||
this.resetSettingsButton.Name = "resetSettingsButton";
|
||||
this.resetSettingsButton.Radius = 5;
|
||||
this.resetSettingsButton.Size = new System.Drawing.Size(133, 31);
|
||||
this.resetSettingsButton.Stroke = true;
|
||||
this.resetSettingsButton.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
|
||||
this.resetSettingsButton.TabIndex = 18;
|
||||
this.resetSettingsButton.Text = "Reset Settings";
|
||||
this.resetSettingsButton.Transparency = false;
|
||||
this.resetSettingsButton.Click += new System.EventHandler(this.resetSettingsButton_Click);
|
||||
//
|
||||
// lblMibs
|
||||
// applyButton
|
||||
//
|
||||
this.lblMibs.AutoSize = true;
|
||||
this.lblMibs.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblMibs.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.lblMibs.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.lblMibs.Location = new System.Drawing.Point(159, 257);
|
||||
this.lblMibs.Name = "lblMibs";
|
||||
this.lblMibs.Size = new System.Drawing.Size(135, 18);
|
||||
this.lblMibs.TabIndex = 22;
|
||||
this.lblMibs.Text = "MiB/s (0 to disable)";
|
||||
this.applyButton.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.applyButton.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.applyButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
|
||||
this.applyButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.applyButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.applyButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.applyButton.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.applyButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
|
||||
this.applyButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
|
||||
this.applyButton.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.applyButton.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.applyButton.Location = new System.Drawing.Point(28, 278);
|
||||
this.applyButton.Name = "applyButton";
|
||||
this.applyButton.Radius = 5;
|
||||
this.applyButton.Size = new System.Drawing.Size(133, 31);
|
||||
this.applyButton.Stroke = true;
|
||||
this.applyButton.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
|
||||
this.applyButton.TabIndex = 17;
|
||||
this.applyButton.Text = "Apply Settings";
|
||||
this.applyButton.Transparency = false;
|
||||
this.applyButton.Click += new System.EventHandler(this.applyButton_Click);
|
||||
//
|
||||
// SettingsForm
|
||||
//
|
||||
@@ -321,16 +350,16 @@ namespace AndroidSideloader
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
|
||||
this.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_cubes_1_1_1_0_0_0_1__000000_212121;
|
||||
this.ClientSize = new System.Drawing.Size(342, 469);
|
||||
this.Controls.Add(this.lblMibs);
|
||||
this.ClientSize = new System.Drawing.Size(342, 519);
|
||||
this.Controls.Add(this.setBackupDirectory);
|
||||
this.Controls.Add(this.trailersOn);
|
||||
this.Controls.Add(this.setDownloadDirectory);
|
||||
this.Controls.Add(this.btnOpenDebug);
|
||||
this.Controls.Add(this.btnResetDebug);
|
||||
this.Controls.Add(this.btnUploadDebug);
|
||||
this.Controls.Add(this.resetSettingsButton);
|
||||
this.Controls.Add(this.applyButton);
|
||||
this.Controls.Add(this.crashlogID);
|
||||
this.Controls.Add(this.lblDownloadSpeedLimiter);
|
||||
this.Controls.Add(this.txtBandwidth);
|
||||
this.Controls.Add(this.bmbfBox);
|
||||
this.Controls.Add(this.AutoReinstBox);
|
||||
this.Controls.Add(this.nodevicemodeBox);
|
||||
@@ -362,8 +391,6 @@ namespace AndroidSideloader
|
||||
private System.Windows.Forms.CheckBox deleteAfterInstallCheckBox;
|
||||
private System.Windows.Forms.CheckBox updateConfigCheckBox;
|
||||
private System.Windows.Forms.CheckBox userJsonOnGameInstall;
|
||||
private System.Windows.Forms.TextBox txtBandwidth;
|
||||
private System.Windows.Forms.Label lblDownloadSpeedLimiter;
|
||||
private System.Windows.Forms.Label crashlogID;
|
||||
private System.Windows.Forms.CheckBox nodevicemodeBox;
|
||||
private System.Windows.Forms.CheckBox bmbfBox;
|
||||
@@ -373,6 +400,10 @@ namespace AndroidSideloader
|
||||
private RoundButton btnResetDebug;
|
||||
private RoundButton btnUploadDebug;
|
||||
private RoundButton btnOpenDebug;
|
||||
private System.Windows.Forms.Label lblMibs;
|
||||
private System.Windows.Forms.CheckBox trailersOn;
|
||||
private RoundButton setDownloadDirectory;
|
||||
private System.Windows.Forms.FolderBrowserDialog downloadDirectorySetter;
|
||||
private RoundButton setBackupDirectory;
|
||||
private System.Windows.Forms.FolderBrowserDialog backupDirectorySetter;
|
||||
}
|
||||
}
|
||||
@@ -31,12 +31,12 @@ namespace AndroidSideloader
|
||||
nodevicemodeBox.Checked = Properties.Settings.Default.nodevicemode;
|
||||
bmbfBox.Checked = Properties.Settings.Default.BMBFchecked;
|
||||
AutoReinstBox.Checked = Properties.Settings.Default.AutoReinstall;
|
||||
|
||||
if (Properties.Settings.Default.BandwidthLimit.Length > 1)
|
||||
trailersOn.Checked = Properties.Settings.Default.TrailersOn;
|
||||
if (nodevicemodeBox.Checked)
|
||||
{
|
||||
txtBandwidth.Text = Properties.Settings.Default.BandwidthLimit.Remove(Properties.Settings.Default.BandwidthLimit.Length - 1);
|
||||
deleteAfterInstallCheckBox.Checked = false;
|
||||
deleteAfterInstallCheckBox.Enabled = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void intToolTips()
|
||||
@@ -81,10 +81,8 @@ namespace AndroidSideloader
|
||||
//Apply settings
|
||||
private void applyButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.BandwidthLimit = txtBandwidth.Text.Length > 0 && txtBandwidth.Text != "0" ? $"{txtBandwidth.Text.Replace(" ", "")}M" : "";
|
||||
|
||||
Properties.Settings.Default.Save();
|
||||
_ = FlexibleMessageBox.Show("Settings applied!");
|
||||
_ = FlexibleMessageBox.Show(this, "Settings applied!");
|
||||
}
|
||||
|
||||
private void checkForUpdatesCheckBox_CheckedChanged(object sender, EventArgs e)
|
||||
@@ -100,6 +98,10 @@ namespace AndroidSideloader
|
||||
private void resetSettingsButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Reset();
|
||||
Properties.Settings.Default.customDownloadDir = false;
|
||||
Properties.Settings.Default.customBackupDir = false;
|
||||
MainForm.BackupFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), $"Rookie Backups");
|
||||
Properties.Settings.Default.downloadDir = Environment.CurrentDirectory.ToString();
|
||||
intSettings();
|
||||
}
|
||||
|
||||
@@ -151,6 +153,18 @@ namespace AndroidSideloader
|
||||
private void nodevicemodeBox_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.nodevicemode = nodevicemodeBox.Checked;
|
||||
if (!deleteAfterInstallCheckBox.Checked)
|
||||
{
|
||||
deleteAfterInstallCheckBox.Checked = true;
|
||||
Properties.Settings.Default.deleteAllAfterInstall = true;
|
||||
deleteAfterInstallCheckBox.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
deleteAfterInstallCheckBox.Checked = false;
|
||||
Properties.Settings.Default.deleteAllAfterInstall = false;
|
||||
deleteAfterInstallCheckBox.Enabled = false;
|
||||
}
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
@@ -166,11 +180,17 @@ namespace AndroidSideloader
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
private void trailersOn_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.TrailersOn = trailersOn.Checked;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
private void AutoReinstBox_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (AutoReinstBox.Checked)
|
||||
{
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show("WARNING: This box enables automatic reinstall when installs fail,\ndue to some games not allowing " +
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show(this, "WARNING: This box enables automatic reinstall when installs fail,\ndue to some games not allowing " +
|
||||
"access to their save data (less than 5%) this\noption can lead to losing your progress." +
|
||||
" However with this option\nchecked when installs fail you won't have to agree to a prompt to preform\nthe reinstall. " +
|
||||
"(ideal when installing from a queue).\n\nNOTE: If your usb/wireless adb connection is extremely slow this option can\ncause larger" +
|
||||
@@ -190,6 +210,27 @@ namespace AndroidSideloader
|
||||
_ = Process.Start($"{Environment.CurrentDirectory}\\debuglog.txt");
|
||||
}
|
||||
}
|
||||
|
||||
private void setDownloadDirectory_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (downloadDirectorySetter.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Properties.Settings.Default.customDownloadDir = true;
|
||||
Properties.Settings.Default.downloadDir = downloadDirectorySetter.SelectedPath;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
}
|
||||
|
||||
private void setBackupDirectory_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (backupDirectorySetter.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Properties.Settings.Default.customBackupDir = true;
|
||||
Properties.Settings.Default.backupDir = backupDirectorySetter.SelectedPath;
|
||||
MainForm.BackupFolder = Properties.Settings.Default.backupDir;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -117,4 +117,10 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="downloadDirectorySetter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="backupDirectorySetter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>186, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
713
Sideloader.cs
713
Sideloader.cs
@@ -1,341 +1,372 @@
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AndroidSideloader
|
||||
{
|
||||
internal class Sideloader
|
||||
{
|
||||
public static string TempFolder = Path.Combine(Environment.CurrentDirectory, "temp");
|
||||
public static string CrashLogPath = "crashlog.txt";
|
||||
|
||||
public static string SpooferWarning = @"Please make sure you have installed:
|
||||
- APKTool
|
||||
- Java JDK
|
||||
- aapt
|
||||
And all of them added to PATH, without ANY of them, the spoofer won't work!";
|
||||
|
||||
//push user.json to device (required for some devices like oculus quest)
|
||||
public static void PushUserJsons()
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
foreach (string userJson in UsernameForm.userJsons)
|
||||
{
|
||||
UsernameForm.createUserJsonByName(Utilities.GeneralUtilities.randomString(16), userJson);
|
||||
_ = ADB.RunAdbCommandToString("push \"" + Environment.CurrentDirectory + $"\\{userJson}\" " + " /sdcard/");
|
||||
File.Delete(userJson);
|
||||
}
|
||||
}
|
||||
|
||||
//List of all installed package names from connected device
|
||||
//public static List<string> InstalledPackageNames = new List<string>(); //Remove folder from device
|
||||
public static ProcessOutput RemoveFolder(string path)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
return ADB.RunAdbCommandToString($"shell rm -r {path}");
|
||||
}
|
||||
public static ProcessOutput RemoveFile(string path)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
return ADB.RunAdbCommandToString($"shell rm -f {path}");
|
||||
}
|
||||
|
||||
//For games that require manual install, like having another folder that isnt an obb
|
||||
public static ProcessOutput RunADBCommandsFromFile(string path)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
ProcessOutput output = new ProcessOutput();
|
||||
string[] commands = File.ReadAllLines(path);
|
||||
string currfolder = Path.GetDirectoryName(path);
|
||||
string[] zipz = Directory.GetFiles(currfolder, "*.7z", SearchOption.AllDirectories);
|
||||
foreach (string zip in zipz)
|
||||
{
|
||||
Utilities.Zip.ExtractFile($"{zip}", currfolder);
|
||||
}
|
||||
foreach (string cmd in commands)
|
||||
{
|
||||
if (cmd.StartsWith("adb"))
|
||||
{
|
||||
string replacement = "";
|
||||
string pattern = "adb";
|
||||
replacement = ADB.DeviceID.Length > 1
|
||||
? $"{Properties.Settings.Default.ADBPath} -s {ADB.DeviceID}"
|
||||
: $"{Properties.Settings.Default.ADBPath}";
|
||||
Regex rgx = new Regex(pattern);
|
||||
string result = rgx.Replace(cmd, replacement);
|
||||
Program.form.ChangeTitle($"Running {result}");
|
||||
_ = Logger.Log($"Logging command: {result} from file: {path}");
|
||||
output += ADB.RunAdbCommandToStringWOADB(result, path);
|
||||
if (output.Error.Contains("mkdir"))
|
||||
{
|
||||
output.Error = "";
|
||||
}
|
||||
|
||||
if (output.Output.Contains("reserved"))
|
||||
{
|
||||
output.Output = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
output.Output += "Custom install successful!";
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Recursive sideload any apk fileD
|
||||
public static ProcessOutput RecursiveOutput = new ProcessOutput();
|
||||
public static void RecursiveSideload(string FolderPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (string f in Directory.GetFiles(FolderPath))
|
||||
{
|
||||
if (Path.GetExtension(f) == ".apk")
|
||||
{
|
||||
RecursiveOutput += ADB.Sideload(f);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (string d in Directory.GetDirectories(FolderPath))
|
||||
{
|
||||
RecursiveSideload(d);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { _ = Logger.Log(ex.Message); }
|
||||
}
|
||||
|
||||
//Recursive copy any obb folder
|
||||
public static void RecursiveCopyOBB(string FolderPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (string f in Directory.GetFiles(FolderPath))
|
||||
{
|
||||
RecursiveOutput += ADB.CopyOBB(f);
|
||||
}
|
||||
|
||||
foreach (string d in Directory.GetDirectories(FolderPath))
|
||||
{
|
||||
RecursiveCopyOBB(d);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { _ = Logger.Log(ex.Message); }
|
||||
}
|
||||
public static string BackupFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), $"Rookie Backups");
|
||||
//uninstalls an app
|
||||
public static ProcessOutput UninstallGame(string packagename)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
Program.form.ChangeTitle("Attempting to backup any savedata to Documents\\Rookie Backups...");
|
||||
_ = new ProcessOutput("", "");
|
||||
string date_str = DateTime.Today.ToString("yyyy.MM.dd");
|
||||
string CurrBackups = Path.Combine(BackupFolder, date_str);
|
||||
if (!Directory.Exists(CurrBackups))
|
||||
{
|
||||
_ = Directory.CreateDirectory(CurrBackups);
|
||||
}
|
||||
|
||||
_ = ADB.RunAdbCommandToString($"pull \"/sdcard/Android/data/{packagename}\" \"{CurrBackups}\"");
|
||||
ProcessOutput output = ADB.UninstallPackage(packagename);
|
||||
Program.form.ChangeTitle("");
|
||||
_ = Sideloader.RemoveFolder("/sdcard/Android/obb/" + packagename);
|
||||
_ = Sideloader.RemoveFolder("/sdcard/Android/data/" + packagename);
|
||||
return output;
|
||||
}
|
||||
|
||||
public static ProcessOutput DeleteFile(string GameName)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
ProcessOutput output = new ProcessOutput("", "");
|
||||
|
||||
string packageName = Sideloader.gameNameToPackageName(GameName);
|
||||
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show($"Are you sure you want to uninstall custom QU settings for {packageName}? this CANNOT be undone!", "WARNING!", MessageBoxButtons.YesNo);
|
||||
if (dialogResult != DialogResult.Yes)
|
||||
{
|
||||
return output;
|
||||
}
|
||||
|
||||
output = Sideloader.RemoveFile($"/sdcard/Android/data/{packageName}/private/Config.Json");
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
//Extracts apk from device, saves it by package name to sideloader folder
|
||||
public static ProcessOutput getApk(string GameName)
|
||||
{
|
||||
|
||||
ADB.WakeDevice();
|
||||
_ = new ProcessOutput("", "");
|
||||
|
||||
string packageName = Sideloader.gameNameToPackageName(GameName);
|
||||
|
||||
ProcessOutput output = ADB.RunAdbCommandToString("shell pm path " + packageName);
|
||||
|
||||
string apkPath = output.Output; //Get apk
|
||||
|
||||
apkPath = apkPath.Remove(apkPath.Length - 1);
|
||||
apkPath = apkPath.Remove(0, 8); //remove package:
|
||||
apkPath = apkPath.Remove(apkPath.Length - 1);
|
||||
if (File.Exists($"{Properties.Settings.Default.ADBFolder}\\base.apk"))
|
||||
{
|
||||
File.Delete($"{Properties.Settings.Default.ADBFolder}\\base.apk");
|
||||
}
|
||||
|
||||
if (File.Exists($"{Properties.Settings.Default.MainDir}\\{packageName}\\{packageName}.apk"))
|
||||
{
|
||||
File.Delete($"{Properties.Settings.Default.MainDir}\\{packageName}\\{packageName}.apk");
|
||||
}
|
||||
|
||||
output += ADB.RunAdbCommandToString("pull " + apkPath); //pull apk
|
||||
|
||||
if (Directory.Exists($"{Properties.Settings.Default.MainDir}\\{packageName}"))
|
||||
{
|
||||
Directory.Delete($"{Properties.Settings.Default.MainDir}\\{packageName}", true);
|
||||
}
|
||||
|
||||
_ = Directory.CreateDirectory($"{Properties.Settings.Default.MainDir}\\{packageName}");
|
||||
|
||||
File.Move($"{Properties.Settings.Default.ADBFolder}\\base.apk", $"{Properties.Settings.Default.MainDir}\\{packageName}\\{packageName}.apk");
|
||||
return output;
|
||||
}
|
||||
|
||||
public static string gameNameToPackageName(string gameName)
|
||||
{
|
||||
foreach (string[] game in SideloaderRCLONE.games)
|
||||
{
|
||||
if (gameName.Equals(game[SideloaderRCLONE.GameNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.PackageNameIndex];
|
||||
}
|
||||
|
||||
if (gameName.Equals(game[SideloaderRCLONE.ReleaseNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.PackageNameIndex];
|
||||
}
|
||||
}
|
||||
return gameName;
|
||||
}
|
||||
|
||||
public static string PackageNametoGameName(string gameName)
|
||||
{
|
||||
foreach (string[] game in SideloaderRCLONE.games)
|
||||
{
|
||||
if (gameName.Equals(game[SideloaderRCLONE.PackageNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.ReleaseNameIndex];
|
||||
}
|
||||
}
|
||||
return gameName;
|
||||
}
|
||||
|
||||
public static string gameNameToSimpleName(string gameName)
|
||||
{
|
||||
foreach (string[] game in SideloaderRCLONE.games)
|
||||
{
|
||||
if (gameName.Equals(game[SideloaderRCLONE.GameNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.GameNameIndex];
|
||||
}
|
||||
|
||||
if (gameName.Equals(game[SideloaderRCLONE.ReleaseNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.GameNameIndex];
|
||||
}
|
||||
}
|
||||
return gameName;
|
||||
}
|
||||
|
||||
public static string PackageNameToSimpleName(string gameName)
|
||||
{
|
||||
foreach (string[] game in SideloaderRCLONE.games)
|
||||
{
|
||||
if (gameName.Contains(game[SideloaderRCLONE.PackageNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.GameNameIndex];
|
||||
}
|
||||
}
|
||||
return gameName;
|
||||
}
|
||||
|
||||
|
||||
//Downloads the required files
|
||||
public static void downloadFiles()
|
||||
{
|
||||
WebClient client = new WebClient();
|
||||
ServicePointManager.Expect100Continue = true;
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
try
|
||||
{
|
||||
if (!File.Exists("Sideloader Launcher.exe"))
|
||||
{
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/Sideloader%20Launcher.exe", "Sideloader Launcher.exe");
|
||||
}
|
||||
|
||||
if (!File.Exists("Rookie Offline.cmd"))
|
||||
{
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/Rookie%20Offline.cmd", "Rookie Offline.cmd");
|
||||
}
|
||||
|
||||
if (!File.Exists("C:\\RSL\\platform-tools\\aug2021.txt") || !File.Exists("C:\\RSL\\platform-tools\\adb.exe")) //if adb is not updated, download and auto extract
|
||||
{
|
||||
if (Directory.Exists($"C:\\RSL\\2.8.2"))
|
||||
{
|
||||
Directory.Delete("C:\\RSL\\2.8.2", true);
|
||||
}
|
||||
|
||||
if (Directory.Exists($"{Properties.Settings.Default.MainDir}\\adb"))
|
||||
{
|
||||
Directory.Delete($"{Properties.Settings.Default.MainDir}\\adb", true);
|
||||
}
|
||||
|
||||
if (!Directory.Exists("C:\\RSL\\platform-tools"))
|
||||
{
|
||||
_ = Directory.CreateDirectory("C:\\RSL\\platform-tools");
|
||||
}
|
||||
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/adb2.zip", "Ad.7z");
|
||||
Utilities.Zip.ExtractFile(Environment.CurrentDirectory + "\\Ad.7z", "C:\\RSL\\platform-tools");
|
||||
File.Delete("Ad.7z");
|
||||
}
|
||||
|
||||
if (!Directory.Exists(Environment.CurrentDirectory + "\\rclone"))
|
||||
{
|
||||
string url = Environment.Is64BitOperatingSystem
|
||||
? "https://downloads.rclone.org/v1.55.1/rclone-v1.55.1-windows-amd64.zip"
|
||||
: "https://downloads.rclone.org/v1.55.1/rclone-v1.55.1-windows-386.zip";
|
||||
//Since sideloader is build for x86, it should work on both x86 and x64 so we download the according rclone version
|
||||
|
||||
client.DownloadFile(url, "rclone.zip");
|
||||
|
||||
Utilities.Zip.ExtractFile(Environment.CurrentDirectory + "\\rclone.zip", Environment.CurrentDirectory);
|
||||
|
||||
File.Delete("rclone.zip");
|
||||
|
||||
string[] folders = Directory.GetDirectories(Environment.CurrentDirectory);
|
||||
foreach (string folder in folders)
|
||||
{
|
||||
if (folder.Contains("rclone"))
|
||||
{
|
||||
Directory.Move(folder, "rclone");
|
||||
break; //only 1 rclone folder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch
|
||||
{
|
||||
_ = FlexibleMessageBox.Show("Your internet is not working properly or rclone/github servers are down, some files may be missing (adb, rclone or launcher)");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AndroidSideloader
|
||||
{
|
||||
internal class Sideloader
|
||||
{
|
||||
public static string TempFolder = Path.Combine(Environment.CurrentDirectory, "temp");
|
||||
public static string CrashLogPath = "crashlog.txt";
|
||||
|
||||
public static string SpooferWarning = @"Please make sure you have installed:
|
||||
- APKTool
|
||||
- Java JDK
|
||||
- aapt
|
||||
And all of them added to PATH, without ANY of them, the spoofer won't work!";
|
||||
|
||||
//push user.json to device (required for some devices like oculus quest)
|
||||
public static void PushUserJsons()
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
foreach (string userJson in UsernameForm.userJsons)
|
||||
{
|
||||
UsernameForm.createUserJsonByName(Utilities.GeneralUtilities.randomString(16), userJson);
|
||||
_ = ADB.RunAdbCommandToString("push \"" + Environment.CurrentDirectory + $"\\{userJson}\" " + " /sdcard/");
|
||||
File.Delete(userJson);
|
||||
}
|
||||
}
|
||||
|
||||
//List of all installed package names from connected device
|
||||
//public static List<string> InstalledPackageNames = new List<string>(); //Remove folder from device
|
||||
public static ProcessOutput RemoveFolder(string path)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
return ADB.RunAdbCommandToString($"shell rm -r {path}");
|
||||
}
|
||||
public static ProcessOutput RemoveFile(string path)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
return ADB.RunAdbCommandToString($"shell rm -f {path}");
|
||||
}
|
||||
|
||||
//For games that require manual install, like having another folder that isnt an obb
|
||||
public static ProcessOutput RunADBCommandsFromFile(string path)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
ProcessOutput output = new ProcessOutput();
|
||||
string[] commands = File.ReadAllLines(path);
|
||||
string currfolder = Path.GetDirectoryName(path);
|
||||
string[] zipz = Directory.GetFiles(currfolder, "*.7z", SearchOption.AllDirectories);
|
||||
foreach (string zip in zipz)
|
||||
{
|
||||
Utilities.Zip.ExtractFile($"{zip}", currfolder);
|
||||
}
|
||||
foreach (string cmd in commands)
|
||||
{
|
||||
if (cmd.StartsWith("adb"))
|
||||
{
|
||||
string replacement = "";
|
||||
string pattern = "adb";
|
||||
replacement = ADB.DeviceID.Length > 1
|
||||
? $"{Properties.Settings.Default.ADBPath} -s {ADB.DeviceID}"
|
||||
: $"{Properties.Settings.Default.ADBPath}";
|
||||
Regex rgx = new Regex(pattern);
|
||||
string result = rgx.Replace(cmd, replacement);
|
||||
Program.form.ChangeTitle($"Running {result}");
|
||||
_ = Logger.Log($"Logging command: {result} from file: {path}");
|
||||
output += ADB.RunAdbCommandToStringWOADB(result, path);
|
||||
if (output.Error.Contains("mkdir"))
|
||||
{
|
||||
output.Error = "";
|
||||
}
|
||||
|
||||
if (output.Output.Contains("reserved"))
|
||||
{
|
||||
output.Output = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
output.Output += "Custom install successful!";
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Recursive sideload any apk fileD
|
||||
public static ProcessOutput RecursiveOutput = new ProcessOutput();
|
||||
public static void RecursiveSideload(string FolderPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (string f in Directory.GetFiles(FolderPath))
|
||||
{
|
||||
if (Path.GetExtension(f) == ".apk")
|
||||
{
|
||||
RecursiveOutput += ADB.Sideload(f);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (string d in Directory.GetDirectories(FolderPath))
|
||||
{
|
||||
RecursiveSideload(d);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { _ = Logger.Log(ex.Message); }
|
||||
}
|
||||
|
||||
//Recursive copy any obb folder
|
||||
public static void RecursiveCopyOBB(string FolderPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (string f in Directory.GetFiles(FolderPath))
|
||||
{
|
||||
RecursiveOutput += ADB.CopyOBB(f);
|
||||
}
|
||||
|
||||
foreach (string d in Directory.GetDirectories(FolderPath))
|
||||
{
|
||||
RecursiveCopyOBB(d);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { _ = Logger.Log(ex.Message); }
|
||||
}
|
||||
|
||||
//uninstalls an app
|
||||
public static ProcessOutput UninstallGame(string packagename)
|
||||
{
|
||||
ProcessOutput output = ADB.UninstallPackage(packagename);
|
||||
Program.form.ChangeTitle("");
|
||||
_ = Sideloader.RemoveFolder("/sdcard/Android/obb/" + packagename);
|
||||
_ = Sideloader.RemoveFolder("/sdcard/Android/data/" + packagename);
|
||||
return output;
|
||||
}
|
||||
|
||||
public static void BackupGame(string packagename)
|
||||
{
|
||||
if (!Properties.Settings.Default.customBackupDir)
|
||||
{
|
||||
MainForm.BackupFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), $"Rookie Backups");
|
||||
}
|
||||
else
|
||||
{
|
||||
MainForm.BackupFolder = Path.Combine((Properties.Settings.Default.backupDir), $"Rookie Backups");
|
||||
}
|
||||
ADB.WakeDevice();
|
||||
if (!Directory.Exists(MainForm.BackupFolder))
|
||||
{
|
||||
_ = Directory.CreateDirectory(MainForm.BackupFolder);
|
||||
}
|
||||
Program.form.ChangeTitle($"Attempting to backup any savedata to {MainForm.BackupFolder}\\Rookie Backups...");
|
||||
_ = new ProcessOutput("", "");
|
||||
string date_str = DateTime.Today.ToString("yyyy.MM.dd");
|
||||
string CurrBackups = Path.Combine(MainForm.BackupFolder, date_str);
|
||||
if (!Directory.Exists(CurrBackups))
|
||||
{
|
||||
_ = Directory.CreateDirectory(CurrBackups);
|
||||
}
|
||||
_ = ADB.RunAdbCommandToString($"pull \"/sdcard/Android/data/{packagename}\" \"{CurrBackups}\"");
|
||||
}
|
||||
|
||||
public static ProcessOutput DeleteFile(string GameName)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
ProcessOutput output = new ProcessOutput("", "");
|
||||
|
||||
string packageName = Sideloader.gameNameToPackageName(GameName);
|
||||
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, $"Are you sure you want to uninstall custom QU settings for {packageName}? this CANNOT be undone!", "WARNING!", MessageBoxButtons.YesNo);
|
||||
if (dialogResult != DialogResult.Yes)
|
||||
{
|
||||
return output;
|
||||
}
|
||||
|
||||
output = Sideloader.RemoveFile($"/sdcard/Android/data/{packageName}/private/Config.Json");
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
//Extracts apk from device, saves it by package name to sideloader folder
|
||||
public static ProcessOutput getApk(string GameName)
|
||||
{
|
||||
|
||||
ADB.WakeDevice();
|
||||
_ = new ProcessOutput("", "");
|
||||
|
||||
string packageName = Sideloader.gameNameToPackageName(GameName);
|
||||
|
||||
ProcessOutput output = ADB.RunAdbCommandToString("shell pm path " + packageName);
|
||||
|
||||
string apkPath = output.Output; //Get apk
|
||||
|
||||
apkPath = apkPath.Remove(apkPath.Length - 1);
|
||||
apkPath = apkPath.Remove(0, 8); //remove package:
|
||||
apkPath = apkPath.Remove(apkPath.Length - 1);
|
||||
if (File.Exists($"{Properties.Settings.Default.ADBFolder}\\base.apk"))
|
||||
{
|
||||
File.Delete($"{Properties.Settings.Default.ADBFolder}\\base.apk");
|
||||
}
|
||||
|
||||
if (File.Exists($"{Properties.Settings.Default.MainDir}\\{packageName}\\{packageName}.apk"))
|
||||
{
|
||||
File.Delete($"{Properties.Settings.Default.MainDir}\\{packageName}\\{packageName}.apk");
|
||||
}
|
||||
|
||||
output += ADB.RunAdbCommandToString("pull " + apkPath); //pull apk
|
||||
|
||||
if (Directory.Exists($"{Properties.Settings.Default.MainDir}\\{packageName}"))
|
||||
{
|
||||
Directory.Delete($"{Properties.Settings.Default.MainDir}\\{packageName}", true);
|
||||
}
|
||||
|
||||
_ = Directory.CreateDirectory($"{Properties.Settings.Default.MainDir}\\{packageName}");
|
||||
|
||||
File.Move($"{Properties.Settings.Default.ADBFolder}\\base.apk", $"{Properties.Settings.Default.MainDir}\\{packageName}\\{packageName}.apk");
|
||||
return output;
|
||||
}
|
||||
|
||||
public static string gameNameToPackageName(string gameName)
|
||||
{
|
||||
foreach (string[] game in SideloaderRCLONE.games)
|
||||
{
|
||||
if (gameName.Equals(game[SideloaderRCLONE.GameNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.PackageNameIndex];
|
||||
}
|
||||
|
||||
if (gameName.Equals(game[SideloaderRCLONE.ReleaseNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.PackageNameIndex];
|
||||
}
|
||||
}
|
||||
return gameName;
|
||||
}
|
||||
|
||||
public static string PackageNametoGameName(string gameName)
|
||||
{
|
||||
foreach (string[] game in SideloaderRCLONE.games)
|
||||
{
|
||||
if (gameName.Equals(game[SideloaderRCLONE.PackageNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.ReleaseNameIndex];
|
||||
}
|
||||
}
|
||||
return gameName;
|
||||
}
|
||||
|
||||
public static string gameNameToSimpleName(string gameName)
|
||||
{
|
||||
foreach (string[] game in SideloaderRCLONE.games)
|
||||
{
|
||||
if (gameName.Equals(game[SideloaderRCLONE.GameNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.GameNameIndex];
|
||||
}
|
||||
|
||||
if (gameName.Equals(game[SideloaderRCLONE.ReleaseNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.GameNameIndex];
|
||||
}
|
||||
}
|
||||
return gameName;
|
||||
}
|
||||
|
||||
public static string PackageNameToSimpleName(string gameName)
|
||||
{
|
||||
foreach (string[] game in SideloaderRCLONE.games)
|
||||
{
|
||||
if (gameName.Contains(game[SideloaderRCLONE.PackageNameIndex]))
|
||||
{
|
||||
return game[SideloaderRCLONE.GameNameIndex];
|
||||
}
|
||||
}
|
||||
return gameName;
|
||||
}
|
||||
|
||||
|
||||
//Downloads the required files
|
||||
public static void downloadFiles()
|
||||
{
|
||||
WebClient client = new WebClient();
|
||||
ServicePointManager.Expect100Continue = true;
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
var currentAccessedWebsite = "";
|
||||
try
|
||||
{
|
||||
if (!File.Exists("Sideloader Launcher.exe"))
|
||||
{
|
||||
currentAccessedWebsite = "github";
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/Sideloader%20Launcher.exe", "Sideloader Launcher.exe");
|
||||
}
|
||||
|
||||
if (!File.Exists("Rookie Offline.cmd"))
|
||||
{
|
||||
currentAccessedWebsite = "github";
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/Rookie%20Offline.cmd", "Rookie Offline.cmd");
|
||||
}
|
||||
|
||||
if (!File.Exists("C:\\RSL\\platform-tools\\aug2021.txt") || !File.Exists("C:\\RSL\\platform-tools\\adb.exe")) //if adb is not updated, download and auto extract
|
||||
{
|
||||
if (Directory.Exists($"C:\\RSL\\2.8.2"))
|
||||
{
|
||||
Directory.Delete("C:\\RSL\\2.8.2", true);
|
||||
}
|
||||
|
||||
if (Directory.Exists($"{Properties.Settings.Default.MainDir}\\adb"))
|
||||
{
|
||||
Directory.Delete($"{Properties.Settings.Default.MainDir}\\adb", true);
|
||||
}
|
||||
|
||||
if (!Directory.Exists("C:\\RSL\\platform-tools"))
|
||||
{
|
||||
_ = Directory.CreateDirectory("C:\\RSL\\platform-tools");
|
||||
}
|
||||
|
||||
currentAccessedWebsite = "github";
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/adb2.zip", "Ad.7z");
|
||||
Utilities.Zip.ExtractFile(Environment.CurrentDirectory + "\\Ad.7z", "C:\\RSL\\platform-tools");
|
||||
File.Delete("Ad.7z");
|
||||
}
|
||||
|
||||
if (!Directory.Exists(Environment.CurrentDirectory + "\\rclone"))
|
||||
{
|
||||
currentAccessedWebsite = "rclone";
|
||||
string url = Environment.Is64BitOperatingSystem
|
||||
? "https://downloads.rclone.org/v1.55.1/rclone-v1.55.1-windows-amd64.zip"
|
||||
: "https://downloads.rclone.org/v1.55.1/rclone-v1.55.1-windows-386.zip";
|
||||
//Since sideloader is build for x86, it should work on both x86 and x64 so we download the according rclone version
|
||||
|
||||
client.DownloadFile(url, "rclone.zip");
|
||||
|
||||
Utilities.Zip.ExtractFile(Environment.CurrentDirectory + "\\rclone.zip", Environment.CurrentDirectory);
|
||||
|
||||
File.Delete("rclone.zip");
|
||||
|
||||
string[] folders = Directory.GetDirectories(Environment.CurrentDirectory);
|
||||
foreach (string folder in folders)
|
||||
{
|
||||
if (folder.Contains("rclone"))
|
||||
{
|
||||
Directory.Move(folder, "rclone");
|
||||
break; //only 1 rclone folder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (currentAccessedWebsite == "github")
|
||||
{
|
||||
_ = FlexibleMessageBox.Show($"You are unable to access the raw.githubusercontent.com page with the Exception: {ex.Message}\nSome files may be missing (ADB, Offline Script, Launcher)");
|
||||
_ = FlexibleMessageBox.Show("These required files were unable to be downloaded\nRookie will now close, please use Offline Mode for manual sideloading if needed");
|
||||
Application.Exit();
|
||||
}
|
||||
if (currentAccessedWebsite == "rclone")
|
||||
{
|
||||
_ = FlexibleMessageBox.Show($"You are unable to access the rclone page with the Exception: {ex.Message}\nSome files may be missing (RCLONE)");
|
||||
_ = FlexibleMessageBox.Show("Rclone was unable to be downloaded\nRookie will now close, please use Offline Mode for manual sideloading if needed");
|
||||
Application.Exit();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -62,8 +62,8 @@ namespace AndroidSideloader
|
||||
progressBar1.Style = ProgressBarStyle.Continuous;
|
||||
|
||||
_ = output.Contains("is not recognized as an internal or external command")
|
||||
? FlexibleMessageBox.Show(Sideloader.SpooferWarning)
|
||||
: FlexibleMessageBox.Show($"App spoofed from {spoofer.originalPackageName} to {NewPackageName}");
|
||||
? FlexibleMessageBox.Show(Program.form, Sideloader.SpooferWarning)
|
||||
: FlexibleMessageBox.Show(Program.form, $"App spoofed from {spoofer.originalPackageName} to {NewPackageName}");
|
||||
}
|
||||
|
||||
private void SpoofForm_Load(object sender, EventArgs e)
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace AndroidSideloader
|
||||
private static string RawGitHubUrl;
|
||||
private static string GitHubUrl;
|
||||
|
||||
public static readonly string LocalVersion = "2.17";
|
||||
public static readonly string LocalVersion = "2.19";
|
||||
public static string currentVersion = string.Empty;
|
||||
public static string changelog = string.Empty;
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace AndroidSideloader.Utilities
|
||||
|
||||
if (error.Contains("There is not enough space on the disk"))
|
||||
{
|
||||
_ = FlexibleMessageBox.Show($"Not enough space to extract archive.\r\nCheck free space in {Environment.CurrentDirectory} and try again.",
|
||||
_ = FlexibleMessageBox.Show(Program.form, $"Not enough space to extract archive.\r\nCheck free space in {Environment.CurrentDirectory} and try again.",
|
||||
"NOT ENOUGH SPACE",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error);
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
RSL 2.17
|
||||
RSL 2.19
|
||||
|
||||
- Various bugfixes
|
||||
- Feature: Added streaming Game Trailers (enable in Settings)
|
||||
- Feature: Added custom Download Directories
|
||||
- Feature: Added custom Backup Directories
|
||||
- Feature: Added Game Filtering (click on the Colored-Labels in the Top-Right)
|
||||
- Feature: When uninstalling games, Rookie will now ask if you want to back up save data
|
||||
- Feature: "No Device Mode" now automatically disables "Delete after Download and Install"
|
||||
- Feature: Offline Mode now has the ability to donate new games/updates
|
||||
- Fix: OBBs will no longer be attempted to push in "No Device Mode"
|
||||
- Fix: Comparing OBB sizes will no longer error during "No Device Mode"
|
||||
- Fix: Comparing OBB Sizes will no longer state "Input string was not in a correct format", it will now properly tell the user what is wrong
|
||||
- Fix: The GitHub Error when starting up will now show the actual URL it tries to access
|
||||
- Fix: Added a check to make Rookie not attempt to get available space when no devices are connected
|
||||
- Removed Bandwidth Limit settings
|
||||
|
||||
~SytheZN
|
||||
~fenopy
|
||||
- Thank you to Chax for the new features!
|
||||
- Thank you to JP for the Trailers framework!
|
||||
~ fenopy
|
||||
@@ -2,5 +2,6 @@
|
||||
<packages>
|
||||
<package id="Costura.Fody" version="4.1.0" targetFramework="net452" />
|
||||
<package id="Fody" version="6.0.0" targetFramework="net452" developmentDependency="true" />
|
||||
<package id="Microsoft.Web.WebView2" version="1.0.1072.54" targetFramework="net452" />
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net452" />
|
||||
</packages>
|
||||
BIN
packages/Costura.Fody.4.1.0/.signature.p7s
vendored
BIN
packages/Costura.Fody.4.1.0/.signature.p7s
vendored
Binary file not shown.
BIN
packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg
vendored
BIN
packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg
vendored
Binary file not shown.
@@ -1,5 +0,0 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<WeaverFiles Include="$(MsBuildThisFileDirectory)..\weaver\$(MSBuildThisFileName).dll" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
BIN
packages/Costura.Fody.4.1.0/lib/net40/Costura.dll
vendored
BIN
packages/Costura.Fody.4.1.0/lib/net40/Costura.dll
vendored
Binary file not shown.
BIN
packages/Costura.Fody.4.1.0/weaver/Costura.Fody.dll
vendored
BIN
packages/Costura.Fody.4.1.0/weaver/Costura.Fody.dll
vendored
Binary file not shown.
@@ -1,85 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:all>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="IncludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged32Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged64Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="PreloadOrder" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The order of preloaded assemblies, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:attribute name="CreateTemporaryAssemblies" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeDebugSymbols" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Controls if .pdbs for reference assemblies are also embedded.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisableCompression" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisableCleanup" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LoadAtModuleInit" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IgnoreSatelliteAssemblies" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExcludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Unmanaged32Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Unmanaged64Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PreloadOrder" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The order of preloaded assemblies, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
BIN
packages/Fody.6.0.0/.signature.p7s
vendored
BIN
packages/Fody.6.0.0/.signature.p7s
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/Fody.6.0.0.nupkg
vendored
BIN
packages/Fody.6.0.0/Fody.6.0.0.nupkg
vendored
Binary file not shown.
110
packages/Fody.6.0.0/build/Fody.targets
vendored
110
packages/Fody.6.0.0/build/Fody.targets
vendored
@@ -1,110 +0,0 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<ProjectWeaverXml Condition="$(ProjectWeaverXml) == ''">$(ProjectDir)FodyWeavers.xml</ProjectWeaverXml>
|
||||
<FodyPath Condition="$(FodyPath) == ''">$(MSBuildThisFileDirectory)..\</FodyPath>
|
||||
<FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) == 'Core'">$(FodyPath)netstandardtask</FodyAssemblyDirectory>
|
||||
<FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) != 'Core'">$(FodyPath)netclassictask</FodyAssemblyDirectory>
|
||||
<FodyAssembly Condition="$(FodyAssembly) == ''">$(FodyAssemblyDirectory)\Fody.dll</FodyAssembly>
|
||||
<DefaultItemExcludes>$(DefaultItemExcludes);FodyWeavers.xsd</DefaultItemExcludes>
|
||||
<FodyGenerateXsd Condition="$(FodyGenerateXsd) == ''">true</FodyGenerateXsd>
|
||||
<MsBuildMajorVersion>15</MsBuildMajorVersion>
|
||||
<MsBuildMajorVersion Condition="'$(MSBuildVersion)' != ''">$([System.Version]::Parse($(MSBuildVersion)).Major)</MsBuildMajorVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="Exists($(ProjectWeaverXml))">
|
||||
<UpToDateCheckInput Include="$(ProjectWeaverXml)" />
|
||||
<CustomAdditionalCompileInputs Include="$(ProjectWeaverXml)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Support for NCrunch -->
|
||||
<ItemGroup Condition="'$(NCrunch)' == '1' and '$(TargetFramework)' == '' and '$(TargetFrameworks)' == ''">
|
||||
<None Include="$(FodyAssemblyDirectory)\*.*" />
|
||||
<None Include="@(WeaverFiles)" />
|
||||
</ItemGroup>
|
||||
|
||||
<UsingTask TaskName="Fody.WeavingTask" AssemblyFile="$(FodyAssembly)" />
|
||||
<UsingTask TaskName="Fody.UpdateReferenceCopyLocalTask" AssemblyFile="$(FodyAssembly)" />
|
||||
<UsingTask TaskName="Fody.VerifyTask" AssemblyFile="$(FodyAssembly)" />
|
||||
|
||||
<Target
|
||||
Name="FodyTarget"
|
||||
AfterTargets="AfterCompile"
|
||||
Condition="Exists(@(IntermediateAssembly)) And $(DesignTimeBuild) != true And $(DisableFody) != true"
|
||||
DependsOnTargets="$(FodyDependsOnTargets)"
|
||||
Inputs="@(IntermediateAssembly);$(ProjectWeaverXml)"
|
||||
Outputs="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache">
|
||||
|
||||
<Error Condition="($(MsBuildMajorVersion) < 16)"
|
||||
Text="Fody is only supported on MSBuild 16 and above. Current version: $(MsBuildMajorVersion)." />
|
||||
<Fody.WeavingTask
|
||||
AssemblyFile="@(IntermediateAssembly)"
|
||||
IntermediateDirectory="$(ProjectDir)$(IntermediateOutputPath)"
|
||||
KeyOriginatorFile="$(KeyOriginatorFile)"
|
||||
AssemblyOriginatorKeyFile="$(AssemblyOriginatorKeyFile)"
|
||||
ProjectDirectory="$(MSBuildProjectDirectory)"
|
||||
ProjectFile="$(MSBuildProjectFullPath)"
|
||||
SolutionDirectory="$(SolutionDir)"
|
||||
References="@(ReferencePath)"
|
||||
SignAssembly="$(SignAssembly)"
|
||||
ReferenceCopyLocalFiles="@(ReferenceCopyLocalPaths)"
|
||||
DefineConstants="$(DefineConstants)"
|
||||
DebugType="$(DebugType)"
|
||||
DocumentationFile="@(DocFileItem->'%(FullPath)')"
|
||||
WeaverFiles="@(WeaverFiles)"
|
||||
NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
|
||||
IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
|
||||
GenerateXsd="$(FodyGenerateXsd)"
|
||||
>
|
||||
|
||||
<Output
|
||||
TaskParameter="ExecutedWeavers"
|
||||
PropertyName="FodyExecutedWeavers" />
|
||||
|
||||
</Fody.WeavingTask>
|
||||
|
||||
<ItemGroup>
|
||||
<FileWrites Include="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache" />
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="FodyUpdateCopyLocalFilesTarget"
|
||||
AfterTargets="FodyTarget"
|
||||
>
|
||||
|
||||
<Fody.UpdateReferenceCopyLocalTask
|
||||
ReferenceCopyLocalFiles="@(ReferenceCopyLocalPaths)"
|
||||
IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
|
||||
>
|
||||
|
||||
<Output
|
||||
TaskParameter="UpdatedReferenceCopyLocalFiles"
|
||||
ItemName="FodyUpdatedReferenceCopyLocalPaths" />
|
||||
|
||||
</Fody.UpdateReferenceCopyLocalTask>
|
||||
|
||||
<ItemGroup>
|
||||
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" />
|
||||
<ReferenceCopyLocalPaths Include="@(FodyUpdatedReferenceCopyLocalPaths)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="FodyVerifyTarget"
|
||||
AfterTargets="AfterBuild"
|
||||
Condition="'$(NCrunch)' != '1' And $(FodyExecutedWeavers) != '' And $(DisableFody) != true"
|
||||
DependsOnTargets="$(FodyVerifyDependsOnTargets)">
|
||||
|
||||
<Fody.VerifyTask
|
||||
ProjectDirectory="$(MSBuildProjectDirectory)"
|
||||
TargetPath="$(TargetPath)"
|
||||
SolutionDirectory="$(SolutionDir)"
|
||||
DefineConstants="$(DefineConstants)"
|
||||
NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
|
||||
/>
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
BIN
packages/Fody.6.0.0/netclassictask/Fody.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/Fody.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/FodyCommon.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/FodyCommon.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/FodyHelpers.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/FodyHelpers.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/FodyIsolated.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/FodyIsolated.dll
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Fody.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/Fody.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/FodyCommon.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/FodyCommon.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/FodyHelpers.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/FodyHelpers.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/FodyIsolated.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/FodyIsolated.dll
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.dll
vendored
Binary file not shown.
BIN
packages/Newtonsoft.Json.12.0.3/.signature.p7s
vendored
BIN
packages/Newtonsoft.Json.12.0.3/.signature.p7s
vendored
Binary file not shown.
20
packages/Newtonsoft.Json.12.0.3/LICENSE.md
vendored
20
packages/Newtonsoft.Json.12.0.3/LICENSE.md
vendored
@@ -1,20 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2007 James Newton-King
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packages/Newtonsoft.Json.12.0.3/packageIcon.png
vendored
BIN
packages/Newtonsoft.Json.12.0.3/packageIcon.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 8.7 KiB |
Reference in New Issue
Block a user