Compare commits

...

13 Commits

Author SHA1 Message Date
nerdunit
66c4ad7377 Update version 2020-07-14 13:36:26 -07:00
nerdunit
897ea3b1df 1.2 2020-07-14 13:34:43 -07:00
nerdunit
53f7855009 Update version 2020-07-14 03:26:21 -07:00
nerdunit
722dfefeb7 Update version 2020-07-14 03:26:11 -07:00
nerdunit
b86e21080b Delete Changelog.txt 2020-07-14 03:19:54 -07:00
nerdunit
8621fa7008 Update README.md 2020-07-14 03:05:09 -07:00
nerdunit
f60ff2ef96 Update README.md 2020-07-14 03:04:25 -07:00
nerdunit
a86dba2e52 1.1 2020-07-14 03:02:30 -07:00
nerdunit
bd0ec85135 Update version 2020-07-14 03:01:14 -07:00
nerdunit
2723dac64f Delete Tor.7z 2020-07-14 02:56:15 -07:00
nerdunit
df32d593f2 Update Changelog.txt 2020-07-13 01:13:38 -07:00
nerdunit
050697c2b3 Add files via upload 2020-07-12 10:40:19 -07:00
nerdunit
72efbc12ac Update version 2020-07-12 10:37:58 -07:00
26 changed files with 2082 additions and 451 deletions

View File

@@ -64,6 +64,37 @@
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'x86|AnyCPU'">
<OutputPath>bin\x86\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'x86|x64'">
<OutputPath>bin\x64\x86\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'x86|x86'">
<OutputPath>bin\x86\x86\</OutputPath>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<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>
@@ -108,17 +139,30 @@
<Compile Include="SettingsForm.Designer.cs">
<DependentUpon>SettingsForm.cs</DependentUpon>
</Compile>
<Compile Include="usernameForm.cs">
<Compile Include="ThemeForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="usernameForm.Designer.cs">
<DependentUpon>usernameForm.cs</DependentUpon>
<Compile Include="ThemeForm.Designer.cs">
<DependentUpon>ThemeForm.cs</DependentUpon>
</Compile>
<Compile Include="TroubleshootForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="TroubleshootForm.Designer.cs">
<DependentUpon>TroubleshootForm.cs</DependentUpon>
</Compile>
<Compile Include="UsernameForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UsernameForm.Designer.cs">
<DependentUpon>UsernameForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SelectFolder.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
@@ -133,8 +177,14 @@
<EmbeddedResource Include="SettingsForm.resx">
<DependentUpon>SettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="usernameForm.resx">
<DependentUpon>usernameForm.cs</DependentUpon>
<EmbeddedResource Include="ThemeForm.resx">
<DependentUpon>ThemeForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TroubleshootForm.resx">
<DependentUpon>TroubleshootForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UsernameForm.resx">
<DependentUpon>UsernameForm.cs</DependentUpon>
</EmbeddedResource>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
@@ -151,6 +201,7 @@
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="changelog.txt" />
<Content Include="icon.ico" />
<Content Include="MetroFramework.txt" />
</ItemGroup>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@@ -9,18 +9,33 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
x86|Any CPU = x86|Any CPU
x86|x64 = x86|x64
x86|x86 = x86|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Debug|x64.ActiveCfg = Debug|x64
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Debug|x64.Build.0 = Debug|x64
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Debug|x86.ActiveCfg = Debug|x86
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Debug|x86.Build.0 = Debug|x86
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Release|Any CPU.Build.0 = Release|Any CPU
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Release|x64.ActiveCfg = Release|x64
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Release|x64.Build.0 = Release|x64
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Release|x86.ActiveCfg = Release|x86
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.Release|x86.Build.0 = Release|x86
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.x86|Any CPU.ActiveCfg = x86|Any CPU
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.x86|Any CPU.Build.0 = x86|Any CPU
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.x86|x64.ActiveCfg = x86|x64
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.x86|x64.Build.0 = x86|x64
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.x86|x86.ActiveCfg = x86|x86
{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}.x86|x86.Build.0 = x86|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -22,8 +22,36 @@
<setting name="firstRun" serializeAs="String">
<value>True</value>
</setting>
<setting name="useTor" serializeAs="String">
<value>False</value>
<setting name="deleteAllAfterInstall" serializeAs="String">
<value>True</value>
</setting>
<setting name="BackColor" serializeAs="String">
<value>45, 45, 45</value>
</setting>
<setting name="PanelColor" serializeAs="String">
<value>ActiveCaptionText</value>
</setting>
<setting name="ButtonColor" serializeAs="String">
<value>ActiveCaptionText</value>
</setting>
<setting name="SubButtonColor" serializeAs="String">
<value>64, 64, 64</value>
</setting>
<setting name="TextBoxColor" serializeAs="String">
<value>45, 45, 45</value>
</setting>
<setting name="ComboBoxColor" serializeAs="String">
<value>45, 45, 45</value>
</setting>
<setting name="FontColor" serializeAs="String">
<value>White</value>
</setting>
<setting name="FontStyle" serializeAs="String">
<value>Microsoft Sans Serif, 11.25pt</value>
</setting>
<setting name="BackPicturePath" serializeAs="String">
<value>
</value>
</setting>
</AndroidSideloader.Properties.Settings>
</userSettings>

View File

@@ -1,79 +0,0 @@
0.12
+ Added settings form
+ Added progress bar (again)
+ Added a new user.json
= Fixed crash on some systems (PerformanceCounter)
= Fixed crash because of file name inconsistency
- Removed performance counters because they made the software not work for some people
0.11
+ Changed normal message boxes to flexible ones
+ Added changelog to update message
= Improved update message
- Removed progressbar
0.10
+ Added few tooltips
+ Sideload folder now works for all apks (recursive search)
= Obb copy and Sideload progress bar problems should be fixed
= Fixed user.json not working if the any of folder had spaces
= Switched back to Message Boxes
0.9
+ Added the buggy progress bar back, uses different "logic"
+ Added an icon (Increased the exe size by like 300% just with that)
+ Added sideload folder button
+ Added Creat user.json button and form
+ Changed Message Boxes to notifications
0.8.5
+ Added auto update download
= Fixed a bug where if you didn't have the adb folder it would crash
0.8
+ Every command now shows progress on title bar
+ Automatically run Adb Devices and List Apps on form startup
+ You can now search the App List Combo Box
= Cleaned some code
0.7
= Fixed UI Freezes
+ Added Uninstall APK Button
+ Added Launch package Button
- Removed loading bar
0.6
+ Added List Apk Perms button
+ Added Change Permissions button
+ Added dinamically added checkbox for permisssions
= The software now downloads adb from master instead of v0.3 release
0.5
- Removed Flash Firmware
= Redesigned UI
= Reworked RunAdbCommand function (now it will be possible to do stuff I wasnt able to do before)
= Replaced Ui Buttons, still needs work
+ Added List apk button
+ Added List apk combo box
+ Added get apk function
= Cleaned a bit of code
0.4
+ Added auto download of adb archive
+ Added auto extraction of adb archive
0.3
+ Added new form, you can run custom adb commands now
+ Added recover and backup app data
- Removed Select APK and Select OBB Buttons
- Removed tooltips from removed buttons
+ Sideload APK and Copy Obb buttons now also make you select the file/folder
+ Improved firmware button
0.2
+ Added Flash Firmware button
+ Added few tooltips
+ Renamed buttons
0.1
+ Initial Release

413
Form1.Designer.cs generated
View File

@@ -43,12 +43,14 @@
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.copyBulkObbButton = new System.Windows.Forms.Button();
this.DragDropLbl = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.downloadInstallGameButton = new System.Windows.Forms.Button();
this.gamesComboBox = new SergeUtils.EasyCompletionComboBox();
this.panel1 = new System.Windows.Forms.Panel();
this.donateButton = new System.Windows.Forms.Button();
this.themesbutton = new System.Windows.Forms.Button();
this.aboutBtn = new System.Windows.Forms.Button();
this.settingsButton = new System.Windows.Forms.Button();
this.troubleshootButton = new System.Windows.Forms.Button();
this.checkHashButton = new System.Windows.Forms.Button();
this.userjsonButton = new System.Windows.Forms.Button();
this.backupContainer = new System.Windows.Forms.Panel();
@@ -56,259 +58,304 @@
this.sideloadContainer = new System.Windows.Forms.Panel();
this.listApkButton = new System.Windows.Forms.Button();
this.sideloadDrop = new System.Windows.Forms.Button();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.panel1.SuspendLayout();
this.backupContainer.SuspendLayout();
this.sideloadContainer.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// m_combo
//
this.m_combo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.m_combo.BackColor = global::AndroidSideloader.Properties.Settings.Default.ComboBoxColor;
this.m_combo.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ComboBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.m_combo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.m_combo.Font = new System.Drawing.Font("Arial", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.m_combo.ForeColor = System.Drawing.Color.White;
this.m_combo.Location = new System.Drawing.Point(284, 13);
this.m_combo.Location = new System.Drawing.Point(284, 14);
this.m_combo.Margin = new System.Windows.Forms.Padding(4);
this.m_combo.Name = "m_combo";
this.m_combo.Size = new System.Drawing.Size(568, 24);
this.m_combo.TabIndex = 16;
this.m_combo.TabIndex = 19;
this.m_combo.Text = "Select an app from here...";
//
// startsideloadbutton
//
this.startsideloadbutton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.startsideloadbutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.startsideloadbutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.startsideloadbutton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.startsideloadbutton.Dock = System.Windows.Forms.DockStyle.Top;
this.startsideloadbutton.FlatAppearance.BorderSize = 0;
this.startsideloadbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.startsideloadbutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.startsideloadbutton.ForeColor = System.Drawing.Color.White;
this.startsideloadbutton.Location = new System.Drawing.Point(0, 175);
this.startsideloadbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.startsideloadbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.startsideloadbutton.Location = new System.Drawing.Point(0, 170);
this.startsideloadbutton.Margin = new System.Windows.Forms.Padding(4);
this.startsideloadbutton.Name = "startsideloadbutton";
this.startsideloadbutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.startsideloadbutton.Size = new System.Drawing.Size(267, 35);
this.startsideloadbutton.TabIndex = 4;
this.startsideloadbutton.Size = new System.Drawing.Size(267, 34);
this.startsideloadbutton.TabIndex = 7;
this.startsideloadbutton.Text = "Sideload APK";
this.startsideloadbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.startsideloadbutton.UseVisualStyleBackColor = true;
this.startsideloadbutton.UseVisualStyleBackColor = false;
this.startsideloadbutton.Click += new System.EventHandler(this.startsideloadbutton_Click);
//
// devicesbutton
//
this.devicesbutton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.devicesbutton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.devicesbutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.devicesbutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.devicesbutton.Dock = System.Windows.Forms.DockStyle.Top;
this.devicesbutton.FlatAppearance.BorderSize = 0;
this.devicesbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.devicesbutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.devicesbutton.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.devicesbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.devicesbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.devicesbutton.Location = new System.Drawing.Point(0, 0);
this.devicesbutton.Margin = new System.Windows.Forms.Padding(4);
this.devicesbutton.Name = "devicesbutton";
this.devicesbutton.Size = new System.Drawing.Size(267, 35);
this.devicesbutton.TabIndex = 1;
this.devicesbutton.Size = new System.Drawing.Size(267, 34);
this.devicesbutton.TabIndex = 0;
this.devicesbutton.Text = "ADB DEVICES";
this.devicesbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.devicesbutton.UseVisualStyleBackColor = true;
this.devicesbutton.UseVisualStyleBackColor = false;
this.devicesbutton.Click += new System.EventHandler(this.devicesbutton_Click);
//
// obbcopybutton
//
this.obbcopybutton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.obbcopybutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.obbcopybutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.obbcopybutton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.obbcopybutton.Dock = System.Windows.Forms.DockStyle.Top;
this.obbcopybutton.FlatAppearance.BorderSize = 0;
this.obbcopybutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.obbcopybutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.obbcopybutton.ForeColor = System.Drawing.Color.White;
this.obbcopybutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.obbcopybutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.obbcopybutton.Location = new System.Drawing.Point(0, 0);
this.obbcopybutton.Margin = new System.Windows.Forms.Padding(4);
this.obbcopybutton.Name = "obbcopybutton";
this.obbcopybutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.obbcopybutton.Size = new System.Drawing.Size(267, 35);
this.obbcopybutton.TabIndex = 5;
this.obbcopybutton.Size = new System.Drawing.Size(267, 34);
this.obbcopybutton.TabIndex = 2;
this.obbcopybutton.Text = "Copy Obb";
this.obbcopybutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.obbcopybutton.UseVisualStyleBackColor = true;
this.obbcopybutton.UseVisualStyleBackColor = false;
this.obbcopybutton.Click += new System.EventHandler(this.obbcopybutton_Click);
//
// backupbutton
//
this.backupbutton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.backupbutton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.backupbutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.backupbutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.backupbutton.Dock = System.Windows.Forms.DockStyle.Top;
this.backupbutton.FlatAppearance.BorderSize = 0;
this.backupbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.backupbutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.backupbutton.ForeColor = System.Drawing.Color.White;
this.backupbutton.Location = new System.Drawing.Point(0, 35);
this.backupbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.backupbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.backupbutton.Location = new System.Drawing.Point(0, 34);
this.backupbutton.Margin = new System.Windows.Forms.Padding(4);
this.backupbutton.Name = "backupbutton";
this.backupbutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.backupbutton.Size = new System.Drawing.Size(267, 35);
this.backupbutton.TabIndex = 9;
this.backupbutton.Size = new System.Drawing.Size(267, 34);
this.backupbutton.TabIndex = 11;
this.backupbutton.Text = "Backup Gamedata";
this.backupbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.backupbutton.UseVisualStyleBackColor = true;
this.backupbutton.UseVisualStyleBackColor = false;
this.backupbutton.Click += new System.EventHandler(this.backupbutton_Click);
//
// restorebutton
//
this.restorebutton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.restorebutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.restorebutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.restorebutton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.restorebutton.Dock = System.Windows.Forms.DockStyle.Top;
this.restorebutton.FlatAppearance.BorderSize = 0;
this.restorebutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.restorebutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.restorebutton.ForeColor = System.Drawing.Color.White;
this.restorebutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.restorebutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.restorebutton.Location = new System.Drawing.Point(0, 0);
this.restorebutton.Margin = new System.Windows.Forms.Padding(4);
this.restorebutton.Name = "restorebutton";
this.restorebutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.restorebutton.Size = new System.Drawing.Size(267, 35);
this.restorebutton.Size = new System.Drawing.Size(267, 34);
this.restorebutton.TabIndex = 10;
this.restorebutton.Text = "Restore Gamedata";
this.restorebutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.restorebutton.UseVisualStyleBackColor = true;
this.restorebutton.UseVisualStyleBackColor = false;
this.restorebutton.Click += new System.EventHandler(this.restorebutton_Click);
//
// getApkButton
//
this.getApkButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.getApkButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.getApkButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.getApkButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.getApkButton.Dock = System.Windows.Forms.DockStyle.Top;
this.getApkButton.FlatAppearance.BorderSize = 0;
this.getApkButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.getApkButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.getApkButton.ForeColor = System.Drawing.Color.White;
this.getApkButton.Location = new System.Drawing.Point(0, 70);
this.getApkButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.getApkButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.getApkButton.Location = new System.Drawing.Point(0, 68);
this.getApkButton.Margin = new System.Windows.Forms.Padding(4);
this.getApkButton.Name = "getApkButton";
this.getApkButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.getApkButton.Size = new System.Drawing.Size(267, 35);
this.getApkButton.TabIndex = 13;
this.getApkButton.Size = new System.Drawing.Size(267, 34);
this.getApkButton.TabIndex = 4;
this.getApkButton.Text = "Get Apk";
this.getApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.getApkButton.UseVisualStyleBackColor = true;
this.getApkButton.UseVisualStyleBackColor = false;
this.getApkButton.Click += new System.EventHandler(this.getApkButton_Click);
//
// launchPackageTextBox
//
this.launchPackageTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.launchPackageTextBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.launchPackageTextBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.launchPackageTextBox.ForeColor = System.Drawing.Color.White;
this.launchPackageTextBox.Location = new System.Drawing.Point(597, 113);
this.launchPackageTextBox.Location = new System.Drawing.Point(597, 148);
this.launchPackageTextBox.Margin = new System.Windows.Forms.Padding(4);
this.launchPackageTextBox.Name = "launchPackageTextBox";
this.launchPackageTextBox.Size = new System.Drawing.Size(255, 22);
this.launchPackageTextBox.TabIndex = 68;
this.launchPackageTextBox.TabIndex = 23;
this.launchPackageTextBox.Text = "de.eye_interactive.atvl.settings";
//
// launchApkButton
//
this.launchApkButton.Location = new System.Drawing.Point(597, 140);
this.launchApkButton.Location = new System.Drawing.Point(597, 175);
this.launchApkButton.Margin = new System.Windows.Forms.Padding(4);
this.launchApkButton.Name = "launchApkButton";
this.launchApkButton.Size = new System.Drawing.Size(255, 25);
this.launchApkButton.TabIndex = 69;
this.launchApkButton.TabIndex = 24;
this.launchApkButton.Text = "Launch Apk By Package Name";
this.launchApkButton.UseVisualStyleBackColor = true;
this.launchApkButton.Click += new System.EventHandler(this.launchApkButton_Click);
//
// uninstallAppButton
//
this.uninstallAppButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.uninstallAppButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.uninstallAppButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.uninstallAppButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.uninstallAppButton.Dock = System.Windows.Forms.DockStyle.Top;
this.uninstallAppButton.FlatAppearance.BorderSize = 0;
this.uninstallAppButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.uninstallAppButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.uninstallAppButton.ForeColor = System.Drawing.Color.White;
this.uninstallAppButton.Location = new System.Drawing.Point(0, 105);
this.uninstallAppButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.uninstallAppButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.uninstallAppButton.Location = new System.Drawing.Point(0, 102);
this.uninstallAppButton.Margin = new System.Windows.Forms.Padding(4);
this.uninstallAppButton.Name = "uninstallAppButton";
this.uninstallAppButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.uninstallAppButton.Size = new System.Drawing.Size(267, 35);
this.uninstallAppButton.TabIndex = 14;
this.uninstallAppButton.Size = new System.Drawing.Size(267, 34);
this.uninstallAppButton.TabIndex = 5;
this.uninstallAppButton.Text = "Uninstall App";
this.uninstallAppButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.uninstallAppButton.UseVisualStyleBackColor = true;
this.uninstallAppButton.UseVisualStyleBackColor = false;
this.uninstallAppButton.Click += new System.EventHandler(this.uninstallAppButton_Click);
//
// sideloadFolderButton
//
this.sideloadFolderButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.sideloadFolderButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.sideloadFolderButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.sideloadFolderButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.sideloadFolderButton.Dock = System.Windows.Forms.DockStyle.Top;
this.sideloadFolderButton.FlatAppearance.BorderSize = 0;
this.sideloadFolderButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.sideloadFolderButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.sideloadFolderButton.ForeColor = System.Drawing.Color.White;
this.sideloadFolderButton.Location = new System.Drawing.Point(0, 140);
this.sideloadFolderButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.sideloadFolderButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.sideloadFolderButton.Location = new System.Drawing.Point(0, 136);
this.sideloadFolderButton.Margin = new System.Windows.Forms.Padding(4);
this.sideloadFolderButton.Name = "sideloadFolderButton";
this.sideloadFolderButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.sideloadFolderButton.Size = new System.Drawing.Size(267, 35);
this.sideloadFolderButton.TabIndex = 7;
this.sideloadFolderButton.Size = new System.Drawing.Size(267, 34);
this.sideloadFolderButton.TabIndex = 6;
this.sideloadFolderButton.Text = "Sideload Folder";
this.sideloadFolderButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.sideloadFolderButton.UseVisualStyleBackColor = true;
this.sideloadFolderButton.UseVisualStyleBackColor = false;
this.sideloadFolderButton.Click += new System.EventHandler(this.sideloadFolderButton_Click);
//
// progressBar1
//
this.progressBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.progressBar1.ForeColor = System.Drawing.Color.Purple;
this.progressBar1.Location = new System.Drawing.Point(286, 45);
this.progressBar1.Location = new System.Drawing.Point(284, 46);
this.progressBar1.Margin = new System.Windows.Forms.Padding(4);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(565, 25);
this.progressBar1.TabIndex = 23;
this.progressBar1.Size = new System.Drawing.Size(568, 25);
this.progressBar1.TabIndex = 20;
//
// copyBulkObbButton
//
this.copyBulkObbButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.copyBulkObbButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.copyBulkObbButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.copyBulkObbButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.copyBulkObbButton.Dock = System.Windows.Forms.DockStyle.Top;
this.copyBulkObbButton.FlatAppearance.BorderSize = 0;
this.copyBulkObbButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.copyBulkObbButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.copyBulkObbButton.ForeColor = System.Drawing.Color.White;
this.copyBulkObbButton.Location = new System.Drawing.Point(0, 35);
this.copyBulkObbButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.copyBulkObbButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.copyBulkObbButton.Location = new System.Drawing.Point(0, 34);
this.copyBulkObbButton.Margin = new System.Windows.Forms.Padding(4);
this.copyBulkObbButton.Name = "copyBulkObbButton";
this.copyBulkObbButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.copyBulkObbButton.Size = new System.Drawing.Size(267, 35);
this.copyBulkObbButton.TabIndex = 8;
this.copyBulkObbButton.Size = new System.Drawing.Size(267, 34);
this.copyBulkObbButton.TabIndex = 3;
this.copyBulkObbButton.Text = "Copy Bulk Obb";
this.copyBulkObbButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.copyBulkObbButton.UseVisualStyleBackColor = true;
this.copyBulkObbButton.UseVisualStyleBackColor = false;
this.copyBulkObbButton.Click += new System.EventHandler(this.copyBulkObbButton_Click);
//
// DragDropLbl
//
this.DragDropLbl.AutoSize = true;
this.DragDropLbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.DragDropLbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.DragDropLbl.ForeColor = System.Drawing.Color.White;
this.DragDropLbl.Location = new System.Drawing.Point(275, 486);
this.DragDropLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.DragDropLbl.Name = "DragDropLbl";
this.DragDropLbl.Size = new System.Drawing.Size(526, 91);
this.DragDropLbl.TabIndex = 27;
this.DragDropLbl.Size = new System.Drawing.Size(394, 69);
this.DragDropLbl.TabIndex = 25;
this.DragDropLbl.Text = "DragDropLBL";
this.DragDropLbl.Visible = false;
//
// button1
// downloadInstallGameButton
//
this.button1.Location = new System.Drawing.Point(284, 113);
this.button1.Margin = new System.Windows.Forms.Padding(4);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(256, 28);
this.button1.TabIndex = 71;
this.button1.Text = "Download Game";
this.button1.UseVisualStyleBackColor = true;
this.button1.Visible = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
this.downloadInstallGameButton.Location = new System.Drawing.Point(284, 113);
this.downloadInstallGameButton.Margin = new System.Windows.Forms.Padding(4);
this.downloadInstallGameButton.Name = "downloadInstallGameButton";
this.downloadInstallGameButton.Size = new System.Drawing.Size(568, 28);
this.downloadInstallGameButton.TabIndex = 22;
this.downloadInstallGameButton.Text = "Download and Install Game";
this.downloadInstallGameButton.UseVisualStyleBackColor = true;
this.downloadInstallGameButton.Click += new System.EventHandler(this.downloadInstallGameButton_Click);
//
// gamesComboBox
//
this.gamesComboBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.gamesComboBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.ComboBoxColor;
this.gamesComboBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ComboBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.gamesComboBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.gamesComboBox.Font = new System.Drawing.Font("Arial", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.gamesComboBox.ForeColor = System.Drawing.Color.White;
this.gamesComboBox.Location = new System.Drawing.Point(284, 81);
this.gamesComboBox.Margin = new System.Windows.Forms.Padding(4);
this.gamesComboBox.Name = "gamesComboBox";
this.gamesComboBox.Size = new System.Drawing.Size(568, 24);
this.gamesComboBox.TabIndex = 72;
this.gamesComboBox.Visible = false;
this.gamesComboBox.TabIndex = 21;
this.gamesComboBox.Text = "Select a game from here...";
//
// panel1
//
this.panel1.AutoScroll = true;
this.panel1.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.panel1.BackColor = global::AndroidSideloader.Properties.Settings.Default.PanelColor;
this.panel1.Controls.Add(this.donateButton);
this.panel1.Controls.Add(this.themesbutton);
this.panel1.Controls.Add(this.aboutBtn);
this.panel1.Controls.Add(this.settingsButton);
this.panel1.Controls.Add(this.troubleshootButton);
this.panel1.Controls.Add(this.checkHashButton);
this.panel1.Controls.Add(this.userjsonButton);
this.panel1.Controls.Add(this.backupContainer);
@@ -316,6 +363,7 @@
this.panel1.Controls.Add(this.sideloadContainer);
this.panel1.Controls.Add(this.sideloadDrop);
this.panel1.Controls.Add(this.devicesbutton);
this.panel1.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "PanelColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
@@ -330,82 +378,140 @@
this.donateButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.donateButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.donateButton.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.donateButton.Location = new System.Drawing.Point(0, 573);
this.donateButton.Location = new System.Drawing.Point(0, 635);
this.donateButton.Margin = new System.Windows.Forms.Padding(4);
this.donateButton.Name = "donateButton";
this.donateButton.Size = new System.Drawing.Size(267, 58);
this.donateButton.TabIndex = 85;
this.donateButton.TabIndex = 18;
this.donateButton.Text = "DONATE";
this.donateButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.donateButton.UseVisualStyleBackColor = true;
this.donateButton.Click += new System.EventHandler(this.donateButton_Click);
//
// themesbutton
//
this.themesbutton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.themesbutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.themesbutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.themesbutton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.themesbutton.Dock = System.Windows.Forms.DockStyle.Top;
this.themesbutton.FlatAppearance.BorderSize = 0;
this.themesbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.themesbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.themesbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.themesbutton.Location = new System.Drawing.Point(0, 601);
this.themesbutton.Margin = new System.Windows.Forms.Padding(4);
this.themesbutton.Name = "themesbutton";
this.themesbutton.Size = new System.Drawing.Size(267, 34);
this.themesbutton.TabIndex = 17;
this.themesbutton.Text = "THEMES";
this.themesbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.themesbutton.UseVisualStyleBackColor = false;
this.themesbutton.Click += new System.EventHandler(this.themesbutton_Click);
//
// aboutBtn
//
this.aboutBtn.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.aboutBtn.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.aboutBtn.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.aboutBtn.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.aboutBtn.Dock = System.Windows.Forms.DockStyle.Top;
this.aboutBtn.FlatAppearance.BorderSize = 0;
this.aboutBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.aboutBtn.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.aboutBtn.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.aboutBtn.Location = new System.Drawing.Point(0, 538);
this.aboutBtn.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.aboutBtn.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.aboutBtn.Location = new System.Drawing.Point(0, 567);
this.aboutBtn.Margin = new System.Windows.Forms.Padding(4);
this.aboutBtn.Name = "aboutBtn";
this.aboutBtn.Size = new System.Drawing.Size(267, 35);
this.aboutBtn.TabIndex = 84;
this.aboutBtn.Size = new System.Drawing.Size(267, 34);
this.aboutBtn.TabIndex = 16;
this.aboutBtn.Text = "ABOUT";
this.aboutBtn.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.aboutBtn.UseVisualStyleBackColor = true;
this.aboutBtn.UseVisualStyleBackColor = false;
this.aboutBtn.Click += new System.EventHandler(this.aboutBtn_Click);
//
// settingsButton
//
this.settingsButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.settingsButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.settingsButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.settingsButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.settingsButton.Dock = System.Windows.Forms.DockStyle.Top;
this.settingsButton.FlatAppearance.BorderSize = 0;
this.settingsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.settingsButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.settingsButton.ForeColor = System.Drawing.SystemColors.MenuBar;
this.settingsButton.Location = new System.Drawing.Point(0, 503);
this.settingsButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.settingsButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.settingsButton.Location = new System.Drawing.Point(0, 533);
this.settingsButton.Margin = new System.Windows.Forms.Padding(4);
this.settingsButton.Name = "settingsButton";
this.settingsButton.Size = new System.Drawing.Size(267, 35);
this.settingsButton.TabIndex = 83;
this.settingsButton.Size = new System.Drawing.Size(267, 34);
this.settingsButton.TabIndex = 15;
this.settingsButton.Text = "SETTINGS";
this.settingsButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.settingsButton.UseVisualStyleBackColor = true;
this.settingsButton.UseVisualStyleBackColor = false;
this.settingsButton.Click += new System.EventHandler(this.settingsButton_Click);
//
// troubleshootButton
//
this.troubleshootButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.troubleshootButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.troubleshootButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.troubleshootButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.troubleshootButton.Dock = System.Windows.Forms.DockStyle.Top;
this.troubleshootButton.FlatAppearance.BorderSize = 0;
this.troubleshootButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.troubleshootButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.troubleshootButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.troubleshootButton.Location = new System.Drawing.Point(0, 499);
this.troubleshootButton.Margin = new System.Windows.Forms.Padding(4);
this.troubleshootButton.Name = "troubleshootButton";
this.troubleshootButton.Size = new System.Drawing.Size(267, 34);
this.troubleshootButton.TabIndex = 14;
this.troubleshootButton.Text = "TROUBLESHOOT";
this.troubleshootButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.troubleshootButton.UseVisualStyleBackColor = false;
this.troubleshootButton.Click += new System.EventHandler(this.troubleshootButton_Click);
//
// checkHashButton
//
this.checkHashButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.checkHashButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.checkHashButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.checkHashButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.checkHashButton.Dock = System.Windows.Forms.DockStyle.Top;
this.checkHashButton.FlatAppearance.BorderSize = 0;
this.checkHashButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.checkHashButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.checkHashButton.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.checkHashButton.Location = new System.Drawing.Point(0, 468);
this.checkHashButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.checkHashButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.checkHashButton.Location = new System.Drawing.Point(0, 465);
this.checkHashButton.Margin = new System.Windows.Forms.Padding(4);
this.checkHashButton.Name = "checkHashButton";
this.checkHashButton.Size = new System.Drawing.Size(267, 35);
this.checkHashButton.TabIndex = 80;
this.checkHashButton.Size = new System.Drawing.Size(267, 34);
this.checkHashButton.TabIndex = 13;
this.checkHashButton.Text = "VIEW HASH";
this.checkHashButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.checkHashButton.UseVisualStyleBackColor = true;
this.checkHashButton.UseVisualStyleBackColor = false;
this.checkHashButton.Click += new System.EventHandler(this.checkHashButton_Click);
//
// userjsonButton
//
this.userjsonButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.userjsonButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.userjsonButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.userjsonButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.userjsonButton.Dock = System.Windows.Forms.DockStyle.Top;
this.userjsonButton.FlatAppearance.BorderSize = 0;
this.userjsonButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.userjsonButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.userjsonButton.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.userjsonButton.Location = new System.Drawing.Point(0, 433);
this.userjsonButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.userjsonButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.userjsonButton.Location = new System.Drawing.Point(0, 431);
this.userjsonButton.Margin = new System.Windows.Forms.Padding(4);
this.userjsonButton.Name = "userjsonButton";
this.userjsonButton.Size = new System.Drawing.Size(267, 35);
this.userjsonButton.TabIndex = 81;
this.userjsonButton.Size = new System.Drawing.Size(267, 34);
this.userjsonButton.TabIndex = 12;
this.userjsonButton.Text = "USER.JSON";
this.userjsonButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.userjsonButton.UseVisualStyleBackColor = true;
this.userjsonButton.UseVisualStyleBackColor = false;
this.userjsonButton.Click += new System.EventHandler(this.userjsonButton_Click);
//
// backupContainer
@@ -414,28 +520,32 @@
this.backupContainer.Controls.Add(this.backupbutton);
this.backupContainer.Controls.Add(this.restorebutton);
this.backupContainer.Dock = System.Windows.Forms.DockStyle.Top;
this.backupContainer.Location = new System.Drawing.Point(0, 356);
this.backupContainer.Location = new System.Drawing.Point(0, 353);
this.backupContainer.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.backupContainer.Name = "backupContainer";
this.backupContainer.Size = new System.Drawing.Size(267, 77);
this.backupContainer.Size = new System.Drawing.Size(267, 78);
this.backupContainer.TabIndex = 76;
//
// backupDrop
//
this.backupDrop.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.backupDrop.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.backupDrop.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.backupDrop.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.backupDrop.Dock = System.Windows.Forms.DockStyle.Top;
this.backupDrop.FlatAppearance.BorderSize = 0;
this.backupDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.backupDrop.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.backupDrop.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.backupDrop.Location = new System.Drawing.Point(0, 321);
this.backupDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.backupDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.backupDrop.Location = new System.Drawing.Point(0, 319);
this.backupDrop.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.backupDrop.Name = "backupDrop";
this.backupDrop.Padding = new System.Windows.Forms.Padding(9, 0, 0, 0);
this.backupDrop.Size = new System.Drawing.Size(267, 35);
this.backupDrop.TabIndex = 75;
this.backupDrop.Size = new System.Drawing.Size(267, 34);
this.backupDrop.TabIndex = 9;
this.backupDrop.Text = "BACKUP";
this.backupDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.backupDrop.UseVisualStyleBackColor = true;
this.backupDrop.UseVisualStyleBackColor = false;
this.backupDrop.Click += new System.EventHandler(this.backupDrop_Click);
//
// sideloadContainer
@@ -449,7 +559,7 @@
this.sideloadContainer.Controls.Add(this.copyBulkObbButton);
this.sideloadContainer.Controls.Add(this.obbcopybutton);
this.sideloadContainer.Dock = System.Windows.Forms.DockStyle.Top;
this.sideloadContainer.Location = new System.Drawing.Point(0, 70);
this.sideloadContainer.Location = new System.Drawing.Point(0, 68);
this.sideloadContainer.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.sideloadContainer.Name = "sideloadContainer";
this.sideloadContainer.Size = new System.Drawing.Size(267, 251);
@@ -457,60 +567,85 @@
//
// listApkButton
//
this.listApkButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.listApkButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.listApkButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.listApkButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.listApkButton.Dock = System.Windows.Forms.DockStyle.Top;
this.listApkButton.FlatAppearance.BorderSize = 0;
this.listApkButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.listApkButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.listApkButton.ForeColor = System.Drawing.Color.White;
this.listApkButton.Location = new System.Drawing.Point(0, 210);
this.listApkButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.listApkButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.listApkButton.Location = new System.Drawing.Point(0, 204);
this.listApkButton.Margin = new System.Windows.Forms.Padding(4);
this.listApkButton.Name = "listApkButton";
this.listApkButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.listApkButton.Size = new System.Drawing.Size(267, 35);
this.listApkButton.TabIndex = 15;
this.listApkButton.Text = "Refresh Apk List";
this.listApkButton.Size = new System.Drawing.Size(267, 34);
this.listApkButton.TabIndex = 8;
this.listApkButton.Text = "Refresh Apk, Games";
this.listApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.listApkButton.UseVisualStyleBackColor = true;
this.listApkButton.UseVisualStyleBackColor = false;
this.listApkButton.Click += new System.EventHandler(this.listApkButton_Click);
//
// sideloadDrop
//
this.sideloadDrop.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.sideloadDrop.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.sideloadDrop.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.sideloadDrop.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.sideloadDrop.Dock = System.Windows.Forms.DockStyle.Top;
this.sideloadDrop.FlatAppearance.BorderSize = 0;
this.sideloadDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.sideloadDrop.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.sideloadDrop.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.sideloadDrop.Location = new System.Drawing.Point(0, 35);
this.sideloadDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.sideloadDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.sideloadDrop.Location = new System.Drawing.Point(0, 34);
this.sideloadDrop.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.sideloadDrop.Name = "sideloadDrop";
this.sideloadDrop.Padding = new System.Windows.Forms.Padding(9, 0, 0, 0);
this.sideloadDrop.Size = new System.Drawing.Size(267, 35);
this.sideloadDrop.TabIndex = 2;
this.sideloadDrop.Size = new System.Drawing.Size(267, 34);
this.sideloadDrop.TabIndex = 1;
this.sideloadDrop.Text = "SIDELOAD";
this.sideloadDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.sideloadDrop.UseVisualStyleBackColor = true;
this.sideloadDrop.UseVisualStyleBackColor = false;
this.sideloadDrop.Click += new System.EventHandler(this.sideloadContainer_Click);
//
// pictureBox1
//
this.pictureBox1.BackColor = System.Drawing.Color.Transparent;
this.pictureBox1.DataBindings.Add(new System.Windows.Forms.Binding("ImageLocation", global::AndroidSideloader.Properties.Settings.Default, "BackPicturePath", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.pictureBox1.ErrorImage = null;
this.pictureBox1.ImageLocation = global::AndroidSideloader.Properties.Settings.Default.BackPicturePath;
this.pictureBox1.InitialImage = null;
this.pictureBox1.Location = new System.Drawing.Point(263, 0);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(4);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(604, 788);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 74;
this.pictureBox1.TabStop = false;
//
// Form1
//
this.AllowDrop = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.ClientSize = new System.Drawing.Size(862, 786);
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(861, 786);
this.Controls.Add(this.panel1);
this.Controls.Add(this.gamesComboBox);
this.Controls.Add(this.button1);
this.Controls.Add(this.downloadInstallGameButton);
this.Controls.Add(this.DragDropLbl);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.launchApkButton);
this.Controls.Add(this.launchPackageTextBox);
this.Controls.Add(this.m_combo);
this.Controls.Add(this.pictureBox1);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.HelpButton = true;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(4);
this.MaximumSize = new System.Drawing.Size(880, 1216);
this.MinimumSize = new System.Drawing.Size(880, 539);
this.MaximumSize = new System.Drawing.Size(879, 1214);
this.MinimumSize = new System.Drawing.Size(879, 537);
this.Name = "Form1";
this.Text = "Rookie SideLoader";
this.Load += new System.EventHandler(this.Form1_Load);
@@ -521,6 +656,7 @@
this.panel1.ResumeLayout(false);
this.backupContainer.ResumeLayout(false);
this.sideloadContainer.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -541,19 +677,22 @@
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Button copyBulkObbButton;
private System.Windows.Forms.Label DragDropLbl;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button downloadInstallGameButton;
private SergeUtils.EasyCompletionComboBox gamesComboBox;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button donateButton;
private System.Windows.Forms.Button aboutBtn;
private System.Windows.Forms.Button settingsButton;
private System.Windows.Forms.Button checkHashButton;
private System.Windows.Forms.Button userjsonButton;
private System.Windows.Forms.Panel backupContainer;
private System.Windows.Forms.Button backupDrop;
private System.Windows.Forms.Panel sideloadContainer;
private System.Windows.Forms.Button sideloadDrop;
private System.Windows.Forms.Button listApkButton;
private System.Windows.Forms.Button checkHashButton;
private System.Windows.Forms.Button troubleshootButton;
private System.Windows.Forms.Button aboutBtn;
private System.Windows.Forms.Button settingsButton;
private System.Windows.Forms.Button themesbutton;
private System.Windows.Forms.Button donateButton;
private System.Windows.Forms.PictureBox pictureBox1;
}
}

603
Form1.cs
View File

@@ -3,19 +3,17 @@ using System.Diagnostics;
using System.Windows.Forms;
using System.IO;
using System.Threading;
using System.Windows;
using System.ComponentModel;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
using System.Timers;
using System.Security.Cryptography;
using System.Windows.Threading;
using System.Net;
using System.Runtime.InteropServices;
using SergeUtils;
using System.Drawing.Text;
using JR.Utils.GUI.Forms;
using System.Drawing;
/* <a target="_blank" href="https://icons8.com/icons/set/van">Van icon</a> icon by <a target="_blank" href="https://icons8.com">Icons8</a>
@@ -71,11 +69,11 @@ namespace AndroidSideloader
private void hideSubMenu()
{
if(sideloadContainer.Visible == true)
if (sideloadContainer.Visible == true)
{
sideloadContainer.Visible = false;
}
if(backupContainer.Visible == true)
if (backupContainer.Visible == true)
{
backupContainer.Visible = false;
}
@@ -85,7 +83,6 @@ namespace AndroidSideloader
{
if (subMenu.Visible == false)
{
hideSubMenu();
subMenu.Visible = true;
}
else
@@ -94,21 +91,30 @@ namespace AndroidSideloader
}
}
public void changeStyle(int style)
{
if (progressBar1.InvokeRequired)
if (style==1)
{
if (style == 1)
if (progressBar1.InvokeRequired)
{
progressBar1.Invoke(new Action(() => progressBar1.Style = ProgressBarStyle.Marquee));
else if (style == 0)
progressBar1.Invoke(new Action(() => progressBar1.Style = ProgressBarStyle.Continuous));
}
else
{
progressBar1.Style = ProgressBarStyle.Marquee;
}
}
else if (style == 1)
progressBar1.Style = ProgressBarStyle.Marquee;
else
progressBar1.Style = ProgressBarStyle.Continuous;
{
if (progressBar1.InvokeRequired)
{
progressBar1.Invoke(new Action(() => progressBar1.Style = ProgressBarStyle.Continuous));
}
else
{
progressBar1.Style = ProgressBarStyle.Continuous;
}
}
}
@@ -118,7 +124,7 @@ namespace AndroidSideloader
changeStyle(1);
oldTitle = this.Text;
changeTitle("Rookie's Sideloader | Running command " + command);
Process cmd = new Process();
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\adb\\adb.exe";
cmd.StartInfo.Arguments = command;
@@ -133,7 +139,7 @@ namespace AndroidSideloader
cmd.StandardInput.Close();
allText = cmd.StandardOutput.ReadToEnd();
cmd.WaitForExit();
StreamWriter sw = File.AppendText(debugPath);
sw.Write("Action name = " + command + '\n');
sw.Write(allText);
@@ -150,7 +156,7 @@ namespace AndroidSideloader
{
Thread t1 = new Thread(() =>
{
runAdbCommand("install -d -r " + '"' + path + '"');
runAdbCommand("install -g -d -r " + '"' + path + '"');
});
t1.IsBackground = true;
t1.Start();
@@ -202,14 +208,14 @@ namespace AndroidSideloader
{
changeStyle(1);
oldTitle = this.Text;
changeTitle("Rookie Sideloader | Extracting archive " + sourceArchive);
changeTitle("Rookie's Sideloader | Extracting archive " + sourceArchive);
string zPath = "7z.exe"; //add to proj and set CopyToOuputDir
ProcessStartInfo pro = new ProcessStartInfo();
pro.WindowStyle = ProcessWindowStyle.Hidden;
pro.FileName = zPath;
pro.Arguments = string.Format("x \"{0}\" -y -o\"{1}\"", sourceArchive, destination);
Process x = Process.Start(pro);
x.WaitForExit();
ProcessStartInfo pro = new ProcessStartInfo();
pro.WindowStyle = ProcessWindowStyle.Hidden;
pro.FileName = zPath;
pro.Arguments = string.Format("x \"{0}\" -y -o\"{1}\"", sourceArchive, destination);
Process x = Process.Start(pro);
x.WaitForExit();
changeStyle(0);
changeTitle(oldTitle);
}
@@ -247,74 +253,97 @@ namespace AndroidSideloader
private void changeTitlebarToDevice()
{
if (line[1].Length > 1)
this.Text = "Rookie Sideloader | Device Connected with ID | " + line[1].Replace("device", "");
this.Text = "Rookie's Sideloader | Device Connected with ID | " + line[1].Replace("device", "");
else
this.Text = "Rookie Sideloader | No Device Connected";
this.Text = "Rookie's Sideloader | No Device Connected";
}
void downloadFiles()
{
using (var client = new WebClient())
{
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
if (!File.Exists(Environment.CurrentDirectory + "\\7z.exe"))
{
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/7z.exe", "7z.exe");
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/7z.dll", "7z.dll");
}
if (!Directory.Exists(adbPath)) //if there is no adb folder, download and extract
{
try
{
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/adb.7z", "adb.7z");
ExtractFile(Environment.CurrentDirectory + "\\adb.7z", Environment.CurrentDirectory);
File.Delete("adb.7z");
}
catch (Exception ex)
{
FlexibleMessageBox.Show("Cannot download adb because you are not connected to the internet! You can manually download the zip here https://github.com/nerdunit/androidsideloader/raw/master/adb.7z after downloading move it to " + Environment.CurrentDirectory + " and unarchive it");
StreamWriter sw = File.AppendText(debugPath);
sw.Write("\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
sw.Write(ex.ToString() + "\n");
sw.Flush();
sw.Close();
Environment.Exit(600);
}
}
if (!Directory.Exists(Environment.CurrentDirectory + "\\rclone"))
{
string url;
if (Environment.Is64BitOperatingSystem)
url = "https://downloads.rclone.org/v1.52.2/rclone-v1.52.2-windows-amd64.zip";
else
url = "https://downloads.rclone.org/v1.52.2/rclone-v1.52.2-windows-386.zip";
client.DownloadFile(url, "rclone.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;
}
}
}
}
}
//A lot of stuff to do when the form loads, centers the program,
private void Form1_Load(object sender, EventArgs e)
{
this.CenterToScreen();
if (File.Exists(debugPath))
File.Delete(debugPath); //clear debug.log each start
if (File.Exists(Environment.CurrentDirectory + "\\7z.exe") == false)
{
using (var client = new WebClient())
{
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/7z.exe", "7z.exe");
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/7z.dll", "7z.dll");
}
}
if (Directory.Exists(adbPath)==false) //if there is no adb folder, download and extract
{
FlexibleMessageBox.Show("Please wait for the software to download and install the adb");
try
{
using (var client = new WebClient())
{
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/7z.exe", "7z.exe");
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/7z.dll", "7z.dll");
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/adb.7z", "adb.7z");
}
ExtractFile(Environment.CurrentDirectory + "\\adb.7z", Environment.CurrentDirectory);
File.Delete("adb.7z");
}
catch (Exception ex)
{
FlexibleMessageBox.Show("Cannot download adb because you are not connected to the internet! You can manually download the zip here https://github.com/nerdunit/androidsideloader/raw/master/adb.7z after downloading move it to " + Environment.CurrentDirectory + " and unarchive it");
StreamWriter sw = File.AppendText(debugPath);
sw.Write("\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
sw.Write(ex.ToString() + "\n");
sw.Flush();
sw.Close();
Environment.Exit(600);
}
}
if (debugMode==false)
if (Properties.Settings.Default.checkForUpdates==true)
try { downloadFiles(); } catch { notify("You must have internet access for initial downloads, you can try:\n1. Disabling the firewall and antivirus\n2. Delete every file from the sideloader besides the .exe\n3. Try a vpn\n"); }
if (debugMode == false)
if (Properties.Settings.Default.checkForUpdates == true)
checkForUpdate();
if (debugMode == true)
{
button1.Visible = true;
gamesComboBox.Visible = true;
}
runAdbCommand("devices"); //check if there is any device connected
changeTitlebarToDevice();
if (line[1].Length > 1) //check for device connected
if (Properties.Settings.Default.firstRun == true)
{
MessageBox.Show("YOU CAN NOW DRAG AND DROP TO INSTALL APK'S AND OBB FOLDERS!");
UsernameForm.createUserJson(randomString(16));
UsernameForm.pushUserJson();
UsernameForm.deleteUserJson();
Properties.Settings.Default.firstRun = false;
Properties.Settings.Default.Save();
}
@@ -323,7 +352,7 @@ namespace AndroidSideloader
listappsBtn();
}
string localVersion;
void intToolTips()
{
ToolTip ListDevicesToolTip = new ToolTip();
@@ -344,13 +373,12 @@ namespace AndroidSideloader
uninstallAppToolTip.SetToolTip(this.uninstallAppButton, "Uninstalls selected app");
ToolTip userjsonToolTip = new ToolTip();
userjsonToolTip.SetToolTip(this.userjsonButton, "After you enter your username it will create an user.json file needed for some games");
}
void checkForUpdate()
{
try
try
{
string localVersion = "0.15HF1";
localVersion = "1.2";
HttpClient client = new HttpClient();
string currentVersion = client.GetStringAsync("https://raw.githubusercontent.com/nerdunit/androidsideloader/master/version").Result;
currentVersion = currentVersion.Remove(currentVersion.Length - 1);
@@ -384,7 +412,7 @@ namespace AndroidSideloader
Environment.Exit(0);
}
}
catch
catch
{
}
@@ -444,7 +472,7 @@ namespace AndroidSideloader
}
else return;
}
await Task.Run(() => restore());
await Task.Run(() => restore());
notify(allText);
}
@@ -460,18 +488,54 @@ namespace AndroidSideloader
t1.Join();
}
public string[] getGames()
{
string command = "cat \"VRP:Quest Games/APK_packagenames.txt\" --config .\\a";
Process cmd = new Process();
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\rclone\\rclone.exe";
cmd.StartInfo.Arguments = command;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.WorkingDirectory = Environment.CurrentDirectory + "\\rclone";
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
var games = cmd.StandardOutput.ReadToEnd().Split('\n');
cmd.WaitForExit();
return games;
}
private async void listappsBtn()
{
var games = getGames();
allText = "";
m_combo.Items.Clear();
await Task.Run(() => listapps());
foreach (string obj in line)
{
if (obj.Length>9)
m_combo.Items.Add(obj.Remove(0, 8));
if (obj.Length > 9)
{
string packageName = obj.Remove(0, 8);
packageName = packageName.Remove(packageName.Length - 1);
foreach (string game in games)
{
if (packageName.Length > 0 && game.Contains(packageName))
{
var foo = game.Split(';');
packageName = foo[0];
}
}
m_combo.Items.Add(packageName);
}
}
m_combo.MatchingMethod = StringMatchingMethod.NoWildcards;
}
@@ -500,15 +564,28 @@ namespace AndroidSideloader
private async void getApkButton_Click(object sender, EventArgs e)
{
if (m_combo.Items.Count == 0 || m_combo.SelectedItem.ToString().Length == 0)
if (m_combo.SelectedIndex == -1)
{
notify("Please select an app first");
return;
}
string package = m_combo.SelectedItem.ToString().Remove(m_combo.SelectedItem.ToString().Length - 1);
string[] games = getGames();
await Task.Run(() => getapk(package));
string packageName = m_combo.SelectedItem.ToString();
foreach (string game in games)
{
if (packageName.Length > 0 && game.Contains(packageName))
{
var foo = game.Split(';');
packageName = foo[2];
}
}
await Task.Run(() => getapk(packageName));
allText = allText.Remove(allText.Length - 1);
//MessageBox.Show(allText);
@@ -522,11 +599,11 @@ namespace AndroidSideloader
while (currApkPath.Contains("/"))
currApkPath = currApkPath.Substring(currApkPath.IndexOf("/") + 1);
if (File.Exists(Environment.CurrentDirectory + "\\" + package + ".apk"))
File.Delete(Environment.CurrentDirectory + "\\" + package + ".apk");
if (File.Exists(Environment.CurrentDirectory + "\\" + packageName + ".apk"))
File.Delete(Environment.CurrentDirectory + "\\" + packageName + ".apk");
File.Move(Environment.CurrentDirectory + "\\adb\\" + currApkPath, Environment.CurrentDirectory + "\\" + package + ".apk");
File.Move(Environment.CurrentDirectory + "\\adb\\" + currApkPath, Environment.CurrentDirectory + "\\" + packageName + ".apk");
notify(allText);
}
@@ -541,24 +618,63 @@ namespace AndroidSideloader
t1.Start();
}
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
async Task<string> getpackagename()
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
{
string[] games = getGames();
string packageName = m_combo.SelectedItem.ToString();
foreach (string game in games)
{
if (packageName.Length > 0 && game.Contains(packageName))
{
packageName = game;
break;
}
}
return packageName;
}
private async void uninstallAppButton_Click(object sender, EventArgs e)
{
if (m_combo.Items.Count == 0 || m_combo.SelectedItem.ToString().Length == 0)
if (m_combo.SelectedIndex == -1)
{
MessageBox.Show("Please select an app first");
return;
}
allText = "";
string package = m_combo.SelectedItem.ToString().Remove(m_combo.SelectedItem.ToString().Length - 1);
string packageName = await getpackagename();
DialogResult dialogResult = MessageBox.Show("Are you sure you want to uninstall " + package + " this CANNOT be undone!", "WARNING!", MessageBoxButtons.YesNo);
packageName = packageName.Split(';')[2];
DialogResult dialogResult = MessageBox.Show("Are you sure you want to uninstall " + packageName + " this CANNOT be undone!", "WARNING!", MessageBoxButtons.YesNo);
if (dialogResult != DialogResult.Yes)
return;
await Task.Run(() => uninstallPackage(package));
await Task.Run(() => uninstallPackage(packageName));
notify(allText);
var uninstallText = allText;
await Task.Run(() => removeFolder("/sdcard/Android/obb/" + packageName));
await Task.Run(() => removeFolder("/sdcard/Android/obb/" + packageName + "/"));
notify(uninstallText);
}
void removeFolder(string path)
{
Thread t1 = new Thread(() =>
{
runAdbCommand("shell rm -r " + path);
});
t1.IsBackground = true;
t1.Start();
t1.Join();
}
private void uninstallPackage(string package)
@@ -662,9 +778,13 @@ namespace AndroidSideloader
{
using (FileStream stream = File.OpenRead(file))
{
SHA256Managed sha = new SHA256Managed();
byte[] checksum = sha.ComputeHash(stream);
result = BitConverter.ToString(checksum).Replace("-", String.Empty);
using (var md5 = MD5.Create())
{
using (var hashStream = File.OpenRead(file))
{
result = BitConverter.ToString(md5.ComputeHash(hashStream)).Replace("-", "").ToLowerInvariant();
}
}
}
}
@@ -674,7 +794,6 @@ namespace AndroidSideloader
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string file in files)
{
Console.WriteLine(file);
string extension = Path.GetExtension(file);
if (extension == ".apk")
{
@@ -710,90 +829,49 @@ namespace AndroidSideloader
private void Form1_Shown(object sender, EventArgs e)
{
Timer99.Start();
initGames();
}
private void downloadOverTor(string url, string path)
void initGames()
{
WebProxy oWebProxy = new WebProxy(IPAddress.Loopback.ToString(), 4711);
WebClient oWebClient = new WebClient();
oWebClient.Proxy = oWebProxy;
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
oWebClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
oWebClient.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
oWebClient.DownloadFileAsync(new Uri(url), path);
}
bool isInDownload = false;
private async void button1_Click(object sender, EventArgs e)
{
string gameName = "game.zip"; //get selected game name instead
string url = "";
string path = Environment.CurrentDirectory + "\\game.zip";
string gamePath = Environment.CurrentDirectory + "\\" + gameName;
gamesComboBox.Invoke(() => { gamesComboBox.Items.Clear(); });
isInDownload = true;
changeStyle(1);
if (Properties.Settings.Default.useTor == true)
string command = "lsf --config .\\a --dirs-only \"VRP:Quest Games\" --drive-acknowledge-abuse";
Process cmd = new Process();
cmd.StartInfo.StandardOutputEncoding = Encoding.UTF8;
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\rclone\\rclone.exe";
cmd.StartInfo.Arguments = command;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.WorkingDirectory = Environment.CurrentDirectory + "\\rclone";
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
//cmd.StandardInput.WriteLine("chcp 65001");
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
var games = cmd.StandardOutput.ReadToEnd().Split('\n');
cmd.WaitForExit();
Console.WriteLine("Loaded following games: ");
foreach (string game in games)
{
if (Directory.Exists(Environment.CurrentDirectory + "\\Tor") == false)
Console.WriteLine(game);
if (!game.StartsWith("."))
{
DialogResult dialogResult = FlexibleMessageBox.Show(new Form { TopMost = true }, "You have download over tor enabled in settings, do you want to download tor?", "Download", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.No)
return;
using (var client = new WebClient())
{
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/Tor.7z", "Tor.7z");
}
ExtractFile(Environment.CurrentDirectory + "\\Tor.7z", Environment.CurrentDirectory);
File.Delete(Environment.CurrentDirectory + "\\Tor.7z");
string currGame = game;
if (currGame.Length > 0)
currGame = currGame.Remove(currGame.Length - 1);
gamesComboBox.Invoke(() => { gamesComboBox.Items.Add(currGame); });
}
string filename = Path.Combine(Environment.CurrentDirectory + "\\Tor", "tor.exe");
var proc = System.Diagnostics.Process.Start(filename, "--HTTPTunnelPort 4711");
downloadOverTor(url, path);
}
else
startDownload(url, path);
while (isInDownload == true)
{
await Task.Delay(25);
}
changeStyle(0);
//Extract the game
await Task.Run(() => ExtractFile(gamePath, Environment.CurrentDirectory));
recursiveSideload(gamePath); //in case there are multiple apk's
string[] filesindirectory = Directory.GetDirectories(gamePath + "\\obb"); //in case there are multiple obb's
foreach (string dir in filesindirectory)
await Task.Run(() => obbcopy(dir));
notify("Game installed");
Console.WriteLine(wrDelimiter);
}
private void startDownload(string url, string path)
{
WebClient client = new WebClient();
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
client.DownloadFileAsync(new Uri(url), path);
}
void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
changeTitle("Rookie's Sideloader | Downloaded " + e.BytesReceived + " of " + e.TotalBytesToReceive);
}
void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
changeStyle(0);
isInDownload = false;
}
string wrDelimiter = "-------";
private void sideloadContainer_Click(object sender, EventArgs e)
{
showSubMenu(sideloadContainer);
@@ -812,15 +890,24 @@ namespace AndroidSideloader
private void aboutBtn_Click(object sender, EventArgs e)
{
string about = @" - The icon of the app contains an icon made by icon8.com
- Software orignally coded by rookie.lol#7897
- Thanks to badcoder5000#4598 for redesigning the UI
string about = $@"Finally {localVersion}
- Software orignally coded by rookie.lol
- Thanks to pmow for all of his work, including rclone, wonka and other projects
- Thanks to flow for being friendly and helping every one
- Thanks to succ for creating and maintaining the server
- Thanks to badcoder5000 for redesigning the UI
- Thanks to gotard for the theme changer
- Thanks to 7zip team for 7zip :)
- Thanks to rclone team for rclone :D
- Thanks to https://stackoverflow.com/users/57611/erike for the folder browser dialog code
- Thanks to Serge Weinstock for developing SergeUtils, which is used to search the combo box
- Thanks to Mike Gold https://www.c-sharpcorner.com/members/mike-gold2 for the scrollable message box";
- Thanks to Mike Gold https://www.c-sharpcorner.com/members/mike-gold2 for the scrollable message box
- The icon of the app contains an icon made by icon8.com";
FlexibleMessageBox.Show(about);
}
bool wait;
private async void checkHashButton_Click(object sender, EventArgs e)
{
string file;
@@ -849,20 +936,168 @@ namespace AndroidSideloader
private void userjsonButton_Click(object sender, EventArgs e)
{
usernameForm usernameForm1 = new usernameForm();
usernameForm1.Show();
UsernameForm form = new UsernameForm();
form.Show();
}
private void donateButton_Click(object sender, EventArgs e)
{
Clipboard.SetText("https://steamcommunity.com/tradeoffer/new/?partner=189719028&token=qCee3jwp");
notify("Donate steam stuff to me if you want, my trade link has been copied to your clipboard also here's the link https://steamcommunity.com/tradeoffer/new/?partner=189719028&token=qCee3jwp");
Clipboard.SetText("rookie.lol#0001");
notify("Ask rookie.lol#0001 or pmow#1706 where you can donate");
}
private void listApkButton_Click(object sender, EventArgs e)
private async void listApkButton_Click(object sender, EventArgs e)
{
changeStyle(1);
await Task.Run(() => initGames());
changeStyle(0);
listappsBtn();
}
private void troubleshootButton_Click(object sender, EventArgs e)
{
TroubleshootForm form = new TroubleshootForm();
form.Show();
}
public string randomString(int length) //this is code from hidden tear lmao
{
string valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
StringBuilder res = new StringBuilder();
Random rnd = new Random();
int randomInteger = rnd.Next(0, valid.Length);
while (0 < length--)
{
res.Append(valid[randomInteger]);
randomInteger = rnd.Next(0, valid.Length);
}
return res.ToString();
}
private async void downloadInstallGameButton_Click(object sender, EventArgs e)
{
int apkNumber = 0;
int obbNumber = 0;
string gameName = gamesComboBox.SelectedItem.ToString();
changeTitle("Rookie's Sideloader | Downloading game " + gameName);
Directory.CreateDirectory(Environment.CurrentDirectory + "\\" + gameName);
string command = "copy --config .\\a \"VRP:Quest Games/" + gamesComboBox.SelectedItem.ToString() + "\" \"" + Environment.CurrentDirectory + "\\" + gameName + "\" --progress --drive-acknowledge-abuse";
Thread t1 = new Thread(() =>
{
changeStyle(1);
wait = true;
Process cmd = new Process();
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\rclone\\rclone.exe";
cmd.StartInfo.Arguments = command;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.WorkingDirectory = Environment.CurrentDirectory + "\\rclone";
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
var games = cmd.StandardOutput.ReadToEnd().Split('\n');
cmd.WaitForExit();
wait = false;
changeStyle(0);
});
t1.IsBackground = true;
t1.Start();
UsernameForm.createUserJson(randomString(16));
UsernameForm.pushUserJson();
UsernameForm.deleteUserJson();
await Task.Delay(1000);
while (wait)
{
await Task.Delay(25);
}
string[] files = Directory.GetFiles(Environment.CurrentDirectory + "\\" + gameName);
Console.WriteLine("Game Folder is: " + Environment.CurrentDirectory + "\\" + gameName);
Console.WriteLine("FILES IN GAME FOLDER: ");
foreach (string file in files)
{
Console.WriteLine(file);
string extension = Path.GetExtension(file);
if (extension == ".apk")
{
changeStyle(1);
apkNumber++;
await Task.Run(() => sideload(file));
changeStyle(0);
}
}
Console.WriteLine(wrDelimiter);
string[] folders = Directory.GetDirectories(Environment.CurrentDirectory + "\\" + gameName);
foreach (string folder in folders)
{
string[] obbs = Directory.GetFiles(folder);
bool isObb = false;
foreach (string currObb in obbs)
{
string extension = Path.GetExtension(currObb);
if (extension == ".obb")
{
isObb = true;
}
}
if (isObb == true)
{
changeStyle(1);
obbNumber++;
await Task.Run(() => obbcopy(folder));
changeStyle(0);
}
}
if (Properties.Settings.Default.deleteAllAfterInstall)
{
Directory.Delete(Environment.CurrentDirectory + "\\" + gameName, true);
}
notify("Game downloaded and installed " + apkNumber + " apks and " + obbNumber + " obb folders");
//Environment.CurrentDirectory + "\\" + gameName
}
private void themesbutton_Click(object sender, EventArgs e)
{
ThemeForm themeform1 = new ThemeForm();
themeform1.Show();
}
}
public static class ControlExtensions
{
public static void Invoke(this Control control, Action action)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(action), null);
}
else
{
action.Invoke();
}
}
}
}

View File

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("1.1.1.1")]
[assembly: AssemblyFileVersion("1.1.1.1")]

View File

@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
// Ten kod został wygenerowany przez narzędzie.
// Wersja wykonawcza:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// Zmiany w tym pliku mogą spowodować nieprawidłowe zachowanie i zostaną utracone, jeśli
// kod zostanie ponownie wygenerowany.
// </auto-generated>
//------------------------------------------------------------------------------
@@ -12,7 +12,7 @@ namespace AndroidSideloader.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.6.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -73,13 +73,121 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool useTor {
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool deleteAllAfterInstall {
get {
return ((bool)(this["useTor"]));
return ((bool)(this["deleteAllAfterInstall"]));
}
set {
this["useTor"] = value;
this["deleteAllAfterInstall"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("45, 45, 45")]
public global::System.Drawing.Color BackColor {
get {
return ((global::System.Drawing.Color)(this["BackColor"]));
}
set {
this["BackColor"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("ActiveCaptionText")]
public global::System.Drawing.Color PanelColor {
get {
return ((global::System.Drawing.Color)(this["PanelColor"]));
}
set {
this["PanelColor"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("ActiveCaptionText")]
public global::System.Drawing.Color ButtonColor {
get {
return ((global::System.Drawing.Color)(this["ButtonColor"]));
}
set {
this["ButtonColor"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("64, 64, 64")]
public global::System.Drawing.Color SubButtonColor {
get {
return ((global::System.Drawing.Color)(this["SubButtonColor"]));
}
set {
this["SubButtonColor"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("45, 45, 45")]
public global::System.Drawing.Color TextBoxColor {
get {
return ((global::System.Drawing.Color)(this["TextBoxColor"]));
}
set {
this["TextBoxColor"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("45, 45, 45")]
public global::System.Drawing.Color ComboBoxColor {
get {
return ((global::System.Drawing.Color)(this["ComboBoxColor"]));
}
set {
this["ComboBoxColor"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("White")]
public global::System.Drawing.Color FontColor {
get {
return ((global::System.Drawing.Color)(this["FontColor"]));
}
set {
this["FontColor"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Microsoft Sans Serif, 11.25pt")]
public global::System.Drawing.Font FontStyle {
get {
return ((global::System.Drawing.Font)(this["FontStyle"]));
}
set {
this["FontStyle"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string BackPicturePath {
get {
return ((string)(this["BackPicturePath"]));
}
set {
this["BackPicturePath"] = value;
}
}
}

View File

@@ -14,8 +14,35 @@
<Setting Name="firstRun" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="useTor" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
<Setting Name="deleteAllAfterInstall" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="BackColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">45, 45, 45</Value>
</Setting>
<Setting Name="PanelColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">ActiveCaptionText</Value>
</Setting>
<Setting Name="ButtonColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">ActiveCaptionText</Value>
</Setting>
<Setting Name="SubButtonColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">64, 64, 64</Value>
</Setting>
<Setting Name="TextBoxColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">45, 45, 45</Value>
</Setting>
<Setting Name="ComboBoxColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">45, 45, 45</Value>
</Setting>
<Setting Name="FontColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">White</Value>
</Setting>
<Setting Name="FontStyle" Type="System.Drawing.Font" Scope="User">
<Value Profile="(Default)">Microsoft Sans Serif, 11.25pt</Value>
</Setting>
<Setting Name="BackPicturePath" Type="System.String" Scope="User">
<Value Profile="(Default)"> </Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -3,7 +3,13 @@
The icon of the app contains an icon made by icon8.com
Special thanks to
- badcoder5000#4598 for the awesome ui update
- pmow for all of his work, including rclone, wonka and other projects
- flow for being friendly and helping every one
- succ for creating and maintaining the server
- badcoder5000 for redesigning the UI
- gotard for the theme changer
- 7zip team for 7zip :)
- rclone team for rclone :D
- https://stackoverflow.com/users/57611/erike for the folder browser dialog code
- Serge Weinstock for developing SergeUtils, which is used to search the combo box
- Mike Gold https://www.c-sharpcorner.com/members/mike-gold2 for the scrollable message box
- https://www.c-sharpcorner.com/members/mike-gold2 for the scrollable message box

View File

@@ -33,14 +33,14 @@
this.enableMessageBoxesCheckBox = new System.Windows.Forms.CheckBox();
this.copyMessageToClipboardCheckBox = new System.Windows.Forms.CheckBox();
this.resetSettingsButton = new System.Windows.Forms.Button();
this.useTorCheckBox = new System.Windows.Forms.CheckBox();
this.deleteAfterInstallCheckBox = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// checkForUpdatesCheckBox
//
this.checkForUpdatesCheckBox.AutoSize = true;
this.checkForUpdatesCheckBox.Location = new System.Drawing.Point(17, 16);
this.checkForUpdatesCheckBox.Margin = new System.Windows.Forms.Padding(4);
this.checkForUpdatesCheckBox.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.checkForUpdatesCheckBox.Name = "checkForUpdatesCheckBox";
this.checkForUpdatesCheckBox.Size = new System.Drawing.Size(145, 21);
this.checkForUpdatesCheckBox.TabIndex = 0;
@@ -53,10 +53,10 @@
this.applyButton.BackColor = System.Drawing.Color.White;
this.applyButton.ForeColor = System.Drawing.Color.Black;
this.applyButton.Location = new System.Drawing.Point(476, 225);
this.applyButton.Margin = new System.Windows.Forms.Padding(4);
this.applyButton.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.applyButton.Name = "applyButton";
this.applyButton.Size = new System.Drawing.Size(100, 28);
this.applyButton.TabIndex = 1;
this.applyButton.TabIndex = 5;
this.applyButton.Text = "Apply";
this.applyButton.UseVisualStyleBackColor = false;
this.applyButton.Click += new System.EventHandler(this.applyButton_Click);
@@ -65,10 +65,10 @@
//
this.enableMessageBoxesCheckBox.AutoSize = true;
this.enableMessageBoxesCheckBox.Location = new System.Drawing.Point(17, 44);
this.enableMessageBoxesCheckBox.Margin = new System.Windows.Forms.Padding(4);
this.enableMessageBoxesCheckBox.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.enableMessageBoxesCheckBox.Name = "enableMessageBoxesCheckBox";
this.enableMessageBoxesCheckBox.Size = new System.Drawing.Size(296, 21);
this.enableMessageBoxesCheckBox.TabIndex = 2;
this.enableMessageBoxesCheckBox.TabIndex = 1;
this.enableMessageBoxesCheckBox.Text = "Enable Message Boxes on task completed";
this.enableMessageBoxesCheckBox.UseVisualStyleBackColor = true;
this.enableMessageBoxesCheckBox.CheckedChanged += new System.EventHandler(this.enableMessageBoxesCheckBox_CheckedChanged);
@@ -77,10 +77,10 @@
//
this.copyMessageToClipboardCheckBox.AutoSize = true;
this.copyMessageToClipboardCheckBox.Location = new System.Drawing.Point(17, 73);
this.copyMessageToClipboardCheckBox.Margin = new System.Windows.Forms.Padding(4);
this.copyMessageToClipboardCheckBox.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.copyMessageToClipboardCheckBox.Name = "copyMessageToClipboardCheckBox";
this.copyMessageToClipboardCheckBox.Size = new System.Drawing.Size(201, 21);
this.copyMessageToClipboardCheckBox.TabIndex = 3;
this.copyMessageToClipboardCheckBox.TabIndex = 2;
this.copyMessageToClipboardCheckBox.Text = "Copy message to clipboard";
this.copyMessageToClipboardCheckBox.UseVisualStyleBackColor = true;
this.copyMessageToClipboardCheckBox.CheckedChanged += new System.EventHandler(this.copyMessageToClipboardCheckBox_CheckedChanged);
@@ -90,7 +90,7 @@
this.resetSettingsButton.BackColor = System.Drawing.Color.White;
this.resetSettingsButton.ForeColor = System.Drawing.Color.Black;
this.resetSettingsButton.Location = new System.Drawing.Point(341, 225);
this.resetSettingsButton.Margin = new System.Windows.Forms.Padding(4);
this.resetSettingsButton.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.resetSettingsButton.Name = "resetSettingsButton";
this.resetSettingsButton.Size = new System.Drawing.Size(127, 28);
this.resetSettingsButton.TabIndex = 4;
@@ -98,32 +98,33 @@
this.resetSettingsButton.UseVisualStyleBackColor = false;
this.resetSettingsButton.Click += new System.EventHandler(this.resetSettingsButton_Click);
//
// useTorCheckBox
// deleteAfterInstallCheckBox
//
this.useTorCheckBox.AutoSize = true;
this.useTorCheckBox.Location = new System.Drawing.Point(17, 102);
this.useTorCheckBox.Margin = new System.Windows.Forms.Padding(4);
this.useTorCheckBox.Name = "useTorCheckBox";
this.useTorCheckBox.Size = new System.Drawing.Size(212, 21);
this.useTorCheckBox.TabIndex = 5;
this.useTorCheckBox.Text = "Download games through tor";
this.useTorCheckBox.UseVisualStyleBackColor = true;
this.useTorCheckBox.CheckedChanged += new System.EventHandler(this.useTorCheckBox_CheckedChanged);
this.deleteAfterInstallCheckBox.AutoSize = true;
this.deleteAfterInstallCheckBox.Location = new System.Drawing.Point(17, 102);
this.deleteAfterInstallCheckBox.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.deleteAfterInstallCheckBox.Name = "deleteAfterInstallCheckBox";
this.deleteAfterInstallCheckBox.Size = new System.Drawing.Size(282, 21);
this.deleteAfterInstallCheckBox.TabIndex = 3;
this.deleteAfterInstallCheckBox.Text = "Delete games after download and install";
this.deleteAfterInstallCheckBox.UseVisualStyleBackColor = true;
this.deleteAfterInstallCheckBox.CheckedChanged += new System.EventHandler(this.deleteAfterInstallCheckBox_CheckedChanged);
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(592, 268);
this.Controls.Add(this.useTorCheckBox);
this.Controls.Add(this.deleteAfterInstallCheckBox);
this.Controls.Add(this.resetSettingsButton);
this.Controls.Add(this.copyMessageToClipboardCheckBox);
this.Controls.Add(this.enableMessageBoxesCheckBox);
this.Controls.Add(this.applyButton);
this.Controls.Add(this.checkForUpdatesCheckBox);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.ForeColor = System.Drawing.Color.White;
this.Margin = new System.Windows.Forms.Padding(4);
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.Name = "SettingsForm";
this.ShowIcon = false;
this.Text = "SettingsForm";
@@ -141,6 +142,6 @@
private System.Windows.Forms.CheckBox enableMessageBoxesCheckBox;
private System.Windows.Forms.CheckBox copyMessageToClipboardCheckBox;
private System.Windows.Forms.Button resetSettingsButton;
private System.Windows.Forms.CheckBox useTorCheckBox;
private System.Windows.Forms.CheckBox deleteAfterInstallCheckBox;
}
}

View File

@@ -31,7 +31,7 @@ namespace AndroidSideloader
checkForUpdatesCheckBox.Checked = Properties.Settings.Default.checkForUpdates;
enableMessageBoxesCheckBox.Checked = Properties.Settings.Default.enableMessageBoxes;
copyMessageToClipboardCheckBox.Checked = Properties.Settings.Default.copyMessageToClipboard;
useTorCheckBox.Checked = Properties.Settings.Default.useTor;
deleteAfterInstallCheckBox.Checked = Properties.Settings.Default.deleteAllAfterInstall;
}
void intToolTips()
@@ -42,8 +42,8 @@ namespace AndroidSideloader
enableMessageBoxesToolTip.SetToolTip(this.enableMessageBoxesCheckBox, "If this is checked, the software will display message boxes after every completed task");
ToolTip copyMessageToClipboardToolTip = new ToolTip();
copyMessageToClipboardToolTip.SetToolTip(this.copyMessageToClipboardCheckBox, "If this is checked, after each task the software will set the result message to your clipboard");
ToolTip useTorToolTip = new ToolTip();
useTorToolTip.SetToolTip(this.useTorCheckBox, "If this is checked, the software will use tor to download the games");
ToolTip deleteAfterInstallToolTip = new ToolTip();
deleteAfterInstallToolTip.SetToolTip(this.deleteAfterInstallCheckBox, "If this is checked, the software will delete all game files after downloading and installing a game from a remote server");
}
private void applyButton_Click(object sender, EventArgs e)
@@ -77,9 +77,9 @@ namespace AndroidSideloader
intSettings();
}
private void useTorCheckBox_CheckedChanged(object sender, EventArgs e)
private void deleteAfterInstallCheckBox_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.useTor = useTorCheckBox.Checked;
Properties.Settings.Default.deleteAllAfterInstall = deleteAfterInstallCheckBox.Checked;
}
}
}

226
ThemeForm.Designer.cs generated Normal file
View File

@@ -0,0 +1,226 @@
namespace AndroidSideloader
{
partial class ThemeForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.colorDialog = new System.Windows.Forms.ColorDialog();
this.SetBGcolorButton = new System.Windows.Forms.Button();
this.SetPanelColorButton = new System.Windows.Forms.Button();
this.SetButtonColorButton = new System.Windows.Forms.Button();
this.SetComboBoxColorButton = new System.Windows.Forms.Button();
this.SetTextBoxColorButton = new System.Windows.Forms.Button();
this.SaveSettingsButton = new System.Windows.Forms.Button();
this.ResetSettingsButton = new System.Windows.Forms.Button();
this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
this.SetBGpicButton = new System.Windows.Forms.Button();
this.SetFontStyleButton = new System.Windows.Forms.Button();
this.fontDialog = new System.Windows.Forms.FontDialog();
this.SetFontColorButton = new System.Windows.Forms.Button();
this.SetSubBoxColorButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// colorDialog
//
this.colorDialog.AnyColor = true;
this.colorDialog.FullOpen = true;
//
// SetBGcolorButton
//
this.SetBGcolorButton.Location = new System.Drawing.Point(17, 15);
this.SetBGcolorButton.Margin = new System.Windows.Forms.Padding(4);
this.SetBGcolorButton.Name = "SetBGcolorButton";
this.SetBGcolorButton.Size = new System.Drawing.Size(171, 28);
this.SetBGcolorButton.TabIndex = 0;
this.SetBGcolorButton.Text = "Set backgorund color";
this.SetBGcolorButton.UseVisualStyleBackColor = true;
this.SetBGcolorButton.Click += new System.EventHandler(this.SetBGcolorButton_Click);
//
// SetPanelColorButton
//
this.SetPanelColorButton.Location = new System.Drawing.Point(17, 84);
this.SetPanelColorButton.Margin = new System.Windows.Forms.Padding(4);
this.SetPanelColorButton.Name = "SetPanelColorButton";
this.SetPanelColorButton.Size = new System.Drawing.Size(171, 28);
this.SetPanelColorButton.TabIndex = 2;
this.SetPanelColorButton.Text = "Set panel color";
this.SetPanelColorButton.UseVisualStyleBackColor = true;
this.SetPanelColorButton.Click += new System.EventHandler(this.SetPanelColorButton_Click);
//
// SetButtonColorButton
//
this.SetButtonColorButton.Location = new System.Drawing.Point(17, 187);
this.SetButtonColorButton.Margin = new System.Windows.Forms.Padding(4);
this.SetButtonColorButton.Name = "SetButtonColorButton";
this.SetButtonColorButton.Size = new System.Drawing.Size(171, 28);
this.SetButtonColorButton.TabIndex = 5;
this.SetButtonColorButton.Text = "Set button color";
this.SetButtonColorButton.UseVisualStyleBackColor = true;
this.SetButtonColorButton.Click += new System.EventHandler(this.SetButtonColorButton_Click);
//
// SetComboBoxColorButton
//
this.SetComboBoxColorButton.Location = new System.Drawing.Point(17, 256);
this.SetComboBoxColorButton.Margin = new System.Windows.Forms.Padding(4);
this.SetComboBoxColorButton.Name = "SetComboBoxColorButton";
this.SetComboBoxColorButton.Size = new System.Drawing.Size(171, 28);
this.SetComboBoxColorButton.TabIndex = 7;
this.SetComboBoxColorButton.Text = "Set combobox color";
this.SetComboBoxColorButton.UseVisualStyleBackColor = true;
this.SetComboBoxColorButton.Click += new System.EventHandler(this.SetComboBoxColorButton_Click);
//
// SetTextBoxColorButton
//
this.SetTextBoxColorButton.Location = new System.Drawing.Point(17, 290);
this.SetTextBoxColorButton.Margin = new System.Windows.Forms.Padding(4);
this.SetTextBoxColorButton.Name = "SetTextBoxColorButton";
this.SetTextBoxColorButton.Size = new System.Drawing.Size(171, 28);
this.SetTextBoxColorButton.TabIndex = 8;
this.SetTextBoxColorButton.Text = "Set textbox color";
this.SetTextBoxColorButton.UseVisualStyleBackColor = true;
this.SetTextBoxColorButton.Click += new System.EventHandler(this.SetTextBoxColorButton_Click);
//
// SaveSettingsButton
//
this.SaveSettingsButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.SaveSettingsButton.Location = new System.Drawing.Point(247, 14);
this.SaveSettingsButton.Margin = new System.Windows.Forms.Padding(4);
this.SaveSettingsButton.Name = "SaveSettingsButton";
this.SaveSettingsButton.Size = new System.Drawing.Size(124, 100);
this.SaveSettingsButton.TabIndex = 9;
this.SaveSettingsButton.Text = "Save Settings";
this.SaveSettingsButton.UseVisualStyleBackColor = true;
this.SaveSettingsButton.Click += new System.EventHandler(this.SaveSettingsButton_Click);
//
// ResetSettingsButton
//
this.ResetSettingsButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.ResetSettingsButton.Location = new System.Drawing.Point(247, 121);
this.ResetSettingsButton.Margin = new System.Windows.Forms.Padding(4);
this.ResetSettingsButton.Name = "ResetSettingsButton";
this.ResetSettingsButton.Size = new System.Drawing.Size(124, 98);
this.ResetSettingsButton.TabIndex = 10;
this.ResetSettingsButton.Text = "Reset Settings";
this.ResetSettingsButton.UseVisualStyleBackColor = true;
this.ResetSettingsButton.Click += new System.EventHandler(this.ResetSettingsButton_Click);
//
// openFileDialog
//
this.openFileDialog.Filter = "Images|*.png;*.jpg;*.bmp;*.gif";
//
// SetBGpicButton
//
this.SetBGpicButton.Location = new System.Drawing.Point(17, 49);
this.SetBGpicButton.Margin = new System.Windows.Forms.Padding(4);
this.SetBGpicButton.Name = "SetBGpicButton";
this.SetBGpicButton.Size = new System.Drawing.Size(171, 28);
this.SetBGpicButton.TabIndex = 1;
this.SetBGpicButton.Text = "Set background picture";
this.SetBGpicButton.UseVisualStyleBackColor = true;
this.SetBGpicButton.Click += new System.EventHandler(this.SetBGpicButton_Click);
//
// SetFontStyleButton
//
this.SetFontStyleButton.Location = new System.Drawing.Point(17, 153);
this.SetFontStyleButton.Margin = new System.Windows.Forms.Padding(4);
this.SetFontStyleButton.Name = "SetFontStyleButton";
this.SetFontStyleButton.Size = new System.Drawing.Size(171, 28);
this.SetFontStyleButton.TabIndex = 4;
this.SetFontStyleButton.Text = "Set font style";
this.SetFontStyleButton.UseVisualStyleBackColor = true;
this.SetFontStyleButton.Click += new System.EventHandler(this.SetFontStyleButton_Click);
//
// fontDialog
//
this.fontDialog.Color = System.Drawing.Color.White;
this.fontDialog.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
//
// SetFontColorButton
//
this.SetFontColorButton.Location = new System.Drawing.Point(17, 118);
this.SetFontColorButton.Margin = new System.Windows.Forms.Padding(4);
this.SetFontColorButton.Name = "SetFontColorButton";
this.SetFontColorButton.Size = new System.Drawing.Size(171, 28);
this.SetFontColorButton.TabIndex = 3;
this.SetFontColorButton.Text = "Set font color";
this.SetFontColorButton.UseVisualStyleBackColor = true;
this.SetFontColorButton.Click += new System.EventHandler(this.SetFontColorButton_Click);
//
// SetSubBoxColorButton
//
this.SetSubBoxColorButton.Location = new System.Drawing.Point(17, 222);
this.SetSubBoxColorButton.Margin = new System.Windows.Forms.Padding(4);
this.SetSubBoxColorButton.Name = "SetSubBoxColorButton";
this.SetSubBoxColorButton.Size = new System.Drawing.Size(171, 28);
this.SetSubBoxColorButton.TabIndex = 6;
this.SetSubBoxColorButton.Text = "Set sub-button color";
this.SetSubBoxColorButton.UseVisualStyleBackColor = true;
this.SetSubBoxColorButton.Click += new System.EventHandler(this.SetSubBoxColorButton_Click);
//
// ThemeForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(387, 335);
this.Controls.Add(this.SetSubBoxColorButton);
this.Controls.Add(this.SetFontColorButton);
this.Controls.Add(this.SetFontStyleButton);
this.Controls.Add(this.SetBGpicButton);
this.Controls.Add(this.ResetSettingsButton);
this.Controls.Add(this.SaveSettingsButton);
this.Controls.Add(this.SetTextBoxColorButton);
this.Controls.Add(this.SetComboBoxColorButton);
this.Controls.Add(this.SetButtonColorButton);
this.Controls.Add(this.SetPanelColorButton);
this.Controls.Add(this.SetBGcolorButton);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.Margin = new System.Windows.Forms.Padding(4);
this.Name = "ThemeForm";
this.Text = "Create Your Theme";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ColorDialog colorDialog;
private System.Windows.Forms.Button SetBGcolorButton;
private System.Windows.Forms.Button SetPanelColorButton;
private System.Windows.Forms.Button SetButtonColorButton;
private System.Windows.Forms.Button SetComboBoxColorButton;
private System.Windows.Forms.Button SetTextBoxColorButton;
private System.Windows.Forms.Button SaveSettingsButton;
private System.Windows.Forms.Button ResetSettingsButton;
private System.Windows.Forms.OpenFileDialog openFileDialog;
private System.Windows.Forms.Button SetBGpicButton;
private System.Windows.Forms.Button SetFontStyleButton;
private System.Windows.Forms.FontDialog fontDialog;
private System.Windows.Forms.Button SetFontColorButton;
private System.Windows.Forms.Button SetSubBoxColorButton;
}
}

102
ThemeForm.cs Normal file
View File

@@ -0,0 +1,102 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AndroidSideloader
{
public partial class ThemeForm : Form
{
public ThemeForm()
{
InitializeComponent();
}
private void SaveSettingsButton_Click(object sender, EventArgs e)
{
Properties.Settings.Default.Save();
this.Close();
}
private void ResetSettingsButton_Click(object sender, EventArgs e)
{
Properties.Settings.Default.BackColor = Color.FromArgb(45, 45, 45);
Properties.Settings.Default.ComboBoxColor = Color.FromArgb(45, 45, 45);
Properties.Settings.Default.TextBoxColor = Color.FromArgb(45, 45, 45);
Properties.Settings.Default.ButtonColor = SystemColors.ActiveCaptionText;
Properties.Settings.Default.SubButtonColor = Color.FromArgb(64, 64, 64);
Properties.Settings.Default.PanelColor = SystemColors.ActiveCaptionText;
Properties.Settings.Default.BackPicturePath = "";
Properties.Settings.Default.FontStyle = new Font("Arial", 11, FontStyle.Regular);
Properties.Settings.Default.FontColor = Color.White;
Properties.Settings.Default.Save();
}
private void SetBGcolorButton_Click(object sender, EventArgs e)
{
if (colorDialog.ShowDialog() == DialogResult.OK)
Properties.Settings.Default.BackColor = colorDialog.Color;
}
private void SetBGpicButton_Click(object sender, EventArgs e)
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
String extension = Path.GetExtension(openFileDialog.FileName);
if (File.Exists(Environment.CurrentDirectory + "\\pic" + extension))
File.Delete(Environment.CurrentDirectory + "\\pic" + extension);
File.Copy(openFileDialog.FileName, Environment.CurrentDirectory + "\\pic" + extension);
Properties.Settings.Default.BackPicturePath = Environment.CurrentDirectory + "\\pic" + extension;
}
}
private void SetPanelColorButton_Click(object sender, EventArgs e)
{
if (colorDialog.ShowDialog() == DialogResult.OK)
Properties.Settings.Default.PanelColor = colorDialog.Color;
}
private void SetFontColorButton_Click(object sender, EventArgs e)
{
if (colorDialog.ShowDialog() == DialogResult.OK)
Properties.Settings.Default.FontColor = colorDialog.Color;
}
private void SetFontStyleButton_Click(object sender, EventArgs e)
{
if (fontDialog.ShowDialog() == DialogResult.OK)
Properties.Settings.Default.FontStyle = fontDialog.Font;
}
private void SetButtonColorButton_Click(object sender, EventArgs e)
{
if (colorDialog.ShowDialog() == DialogResult.OK)
Properties.Settings.Default.ButtonColor = colorDialog.Color;
}
private void SetSubBoxColorButton_Click(object sender, EventArgs e)
{
if (colorDialog.ShowDialog() == DialogResult.OK)
Properties.Settings.Default.SubButtonColor = colorDialog.Color;
}
private void SetComboBoxColorButton_Click(object sender, EventArgs e)
{
if (colorDialog.ShowDialog() == DialogResult.OK)
Properties.Settings.Default.ComboBoxColor = colorDialog.Color;
}
private void SetTextBoxColorButton_Click(object sender, EventArgs e)
{
if (colorDialog.ShowDialog() == DialogResult.OK)
Properties.Settings.Default.TextBoxColor = colorDialog.Color;
}
}
}

129
ThemeForm.resx Normal file
View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="colorDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>138, 17</value>
</metadata>
<metadata name="fontDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>278, 17</value>
</metadata>
</root>

BIN
Tor.7z

Binary file not shown.

82
TroubleshootForm.Designer.cs generated Normal file
View File

@@ -0,0 +1,82 @@
namespace AndroidSideloader
{
partial class TroubleshootForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.askTextBox = new MetroFramework.Controls.MetroTextBox();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// askTextBox
//
this.askTextBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.askTextBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.askTextBox.Location = new System.Drawing.Point(9, 10);
this.askTextBox.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.askTextBox.Name = "askTextBox";
this.askTextBox.Size = new System.Drawing.Size(582, 19);
this.askTextBox.TabIndex = 0;
this.askTextBox.Text = "Ask me any question about sideloading";
//
// button1
//
this.button1.Location = new System.Drawing.Point(9, 34);
this.button1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(582, 22);
this.button1.TabIndex = 1;
this.button1.Text = "Ask the software";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// TroubleshootForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(602, 72);
this.Controls.Add(this.button1);
this.Controls.Add(this.askTextBox);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.MaximumSize = new System.Drawing.Size(618, 111);
this.MinimumSize = new System.Drawing.Size(618, 111);
this.Name = "TroubleshootForm";
this.ShowIcon = false;
this.Text = "TroubleshootForm (WIP)";
this.Load += new System.EventHandler(this.TroubleshootForm_Load);
this.ResumeLayout(false);
}
#endregion
private MetroFramework.Controls.MetroTextBox askTextBox;
private System.Windows.Forms.Button button1;
}
}

53
TroubleshootForm.cs Normal file
View File

@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AndroidSideloader
{
public partial class TroubleshootForm : Form
{
public TroubleshootForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string question = askTextBox.Text.ToLower();
if ((question.Contains("beat saber") || question.Contains("beatsaber")) && question.Contains("dlc"))
Form1.notify("You can install beatsaber DLC with BMBF, it will work on cracked versions too, just make sure you have latest beat saber and bmbf");
else if ((question.Contains("load") && question.Contains("not")) || ((question.Contains("black") && question.Contains("screen")) || question.Contains("blackscreen")) && (question.Contains("boot") || question.Contains("launch") || question.Contains("start")))
Form1.notify("Make sure you have made the user.json files, copied the obb folder and allowed app permissions");
else if (question.Contains("pass") || question.Contains("pw"))
Form1.notify(@"cs.rin.ru
https://t.me/questgameclub
https://t.me/QuestGameClub
oculusquestpiracy
OculusQuestPiracy
Telegram's passwords until 5/17/2020
https://t.me/questgameclub/thx
t.me/questgameclub/thxdonate
https://t.me/questgameclub/thxdonate
https://t.me/questgameclub/play
https://t.me/questgameclub/love
https://t.me/questgameclub/vip
https://t.me/questgameclub/thxdonatetome");
else
Form1.notify("Sorry I'm too dumb to answer that right now, please ask flow, if flow can't figure it out nobody can");
}
private void TroubleshootForm_Load(object sender, EventArgs e)
{
}
}
}

120
TroubleshootForm.resx Normal file
View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

85
UsernameForm.Designer.cs generated Normal file
View File

@@ -0,0 +1,85 @@
namespace AndroidSideloader
{
partial class UsernameForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.textBox1.ForeColor = System.Drawing.Color.White;
this.textBox1.Location = new System.Drawing.Point(13, 13);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(400, 20);
this.textBox1.TabIndex = 0;
this.textBox1.Text = "Enter your username here";
//
// button1
//
this.button1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.button1.ForeColor = System.Drawing.Color.White;
this.button1.Location = new System.Drawing.Point(13, 39);
this.button1.Margin = new System.Windows.Forms.Padding(0);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(400, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Create User.Json";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// UsernameForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(424, 72);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.ForeColor = System.Drawing.Color.White;
this.MaximumSize = new System.Drawing.Size(440, 111);
this.MinimumSize = new System.Drawing.Size(440, 111);
this.Name = "UsernameForm";
this.ShowIcon = false;
this.Text = "USER.JSON";
this.Load += new System.EventHandler(this.usernameForm_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
}
}

90
UsernameForm.cs Normal file
View File

@@ -0,0 +1,90 @@
using System;
using System.Diagnostics;
using System.Windows.Forms;
using System.IO;
namespace AndroidSideloader
{
public partial class UsernameForm : Form
{
public UsernameForm()
{
InitializeComponent();
}
string defaultText;
private void usernameForm_Load(object sender, EventArgs e)
{
defaultText = textBox1.Text;
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == defaultText || textBox1.Text.Length == 0)
{
MessageBox.Show("Please enter your username first");
return;
}
createUserJson(textBox1.Text);
pushUserJson();
deleteUserJson();
Form1.notify("Done");
}
public static void pushUserJson()
{
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\user.json\" " + " /sdcard/");
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\vrmoo.cn.json\" " + " /sdcard/");
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\qq1091481055.json\" " + " /sdcard/");
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\dollarvr.com.json\" " + " /sdcard/");
}
public static void deleteUserJson()
{
File.Delete("user.json");
File.Delete("vrmoo.cn.json");
File.Delete("qq1091481055.json");
File.Delete("dollarvr.com.json");
}
public static void createUserJson(string username)
{
File.WriteAllText("user.json", "{\"username\":\"" + username + "\"}");
File.WriteAllText("vrmoo.cn.json", "{\"username\":\"" + username + "\"}");
File.WriteAllText("qq1091481055.json", "{\n \"username\":\"" + username + "\"\n }");
File.WriteAllText("dollarvr.com.json", "{\n \"username\":\"" + username + "\"\n }");
}
public static void runAdbCommand(string command)
{
Process cmd = new Process();
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\adb\\adb.exe";
cmd.StartInfo.Arguments = command;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.WorkingDirectory = Form1.adbPath;
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
string allText = cmd.StandardOutput.ReadToEnd();
cmd.WaitForExit();
StreamWriter sw = File.AppendText(Form1.debugPath);
sw.Write("Action name = " + command + '\n');
sw.Write(allText);
sw.Write("\n--------------------------------------------------------------------\n");
sw.Flush();
sw.Close();
}
}
}

120
UsernameForm.resx Normal file
View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,3 +1,27 @@
1.1HF1
+ Added unicode support for rclone
+ Added some delay on game installation
= Fixed stuff
1.1
+ Added Themes
+ Added dollarvr user.json
+ Added user.json transfer on game download
+ Added user.json transfer on first run
= Fixed tab indexes
= Now both drop downs can be visible at the same time
1.0HF1
= Fixed a problem when deleting an app
1.0
+ Added games auto download
+ Added auto troubleshoot
+ Every app installed will have all perms granted
+ Displays apps for games instead of package names if you have rclone set up
+ Uninstall app now will also delete its obb folder
//For auto download you need an rclone config and rclone to be set up correctly, VRP:Quest Games
0.15HF1
+ Added list apps button back
= Fixed Uninstall apk and get apk

63
documentation.txt Normal file
View File

@@ -0,0 +1,63 @@
Main Form
=========
- Adb Devices Button
Notifies the user every device returned by adb
Changes Form1 Titlebar to "Rookie Sideloader | Device Connected with ID | {DEVICEID}"
- Sideload Drop Button
Shows/Hides the rest of sideload buttons
- Copy Obb Button
Opens a new folder select dialog where the user selects an folder, that folder will be copied to Android/Obb
- Copy Bulk Obb Button
Opens a new folder select dialog where the user selects an folder, that folder will be searched and every obb folder will be copied to Android/Obb
- Get Apk Button
After the user selects an package from m_combo (first combobox) the apk will be pulled to the current directory
- Uninstall App Button
After the user selects an package from m_combo (first combobox) and he accepts the warning given, the apk selected will be uninstalled from the device
- Sideload Folder Button
Opens a new folder select dialog where the user selects an folder, that folder will be searched and every apk from it will be sideloaded
- Sideload Apk Button
Opens a new file select dialog where the user selects a file, that file will be sideloaded
- Refresh Apk List Button
Refreshes the apks/packages listed in m_combo
- Backup Drop Button
Shows/Hides the rest of backup buttons
- Backup Gamedata Button
Saves every folder from Android/data to a folder in the current directory
- Restore Gamedata Button
Pushes every folder form current dirctory/data to Android/data
- User.Json button
Opens a new UsernameForm
- Sideload Apk Button
Opens a new file select dialog where the user selects a file, that file's sha256 hash will be copied to clipboard and the user will be notified
- Troublshoot Button
Opens a new TroubleshootForm
- Settings Button
Opens a new SettingsForm
- About Button
Shows the credits
- Donate Button
Sets clipboard text to rookie's steam inventory trade link and sends the user a message
Settings Form
=============
- Check for Updates checkbox
If enabled the software checks for updates every startup (default:enabled)
- Enable Message Boxes on task completed checkbox
If enabled the software will notify the user on every completed task via a Flexible MessageBox (default:enabled)
- Copy message to clipboard checkbox
If enabled the software copy every message called by the notify function to clipboard (default:disabled)
- Delete games after download and install checkbox
If enabled the software will delete every file downloaded by the Download and Install Game Button
- Json TextBox
Here should be the link to custom games json
- Reset Settings Button
Restores settings to default values, you still need to press apply
- Apply Button
Applies settings
Troubleshoot Form
=================
- Ask the software button
Depending on the input from the textbox, the software might respond with a good answer, still WIP
User.Json Form
==============
- Creat User.Json
Creates all 3 user.json (at the moment) with the username from the textbox then pushes them to the root folder on the quest

View File

@@ -1 +1 @@
1.0
1.2