Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ceb2e5954e | ||
|
|
6eba1c46bf | ||
|
|
781ffbbc90 | ||
|
|
6690099982 | ||
|
|
6726de7d26 | ||
|
|
401c9c22dd | ||
|
|
6e6341e11f | ||
|
|
cc09e41622 | ||
|
|
059d195f21 | ||
|
|
cf334f00cd | ||
|
|
f0af68b228 | ||
|
|
92a1da1939 | ||
|
|
bfce0e54ec | ||
|
|
66c4ad7377 | ||
|
|
897ea3b1df | ||
|
|
53f7855009 | ||
|
|
722dfefeb7 | ||
|
|
b86e21080b | ||
|
|
8621fa7008 | ||
|
|
f60ff2ef96 | ||
|
|
a86dba2e52 | ||
|
|
bd0ec85135 |
@@ -109,6 +109,9 @@
|
||||
<Reference Include="MetroFramework.Fonts, Version=1.2.0.3, Culture=neutral, PublicKeyToken=5f91a84759bf584a, processorArchitecture=MSIL">
|
||||
<HintPath>packages\MetroFramework.Fonts.1.2.0.3\lib\net40\MetroFramework.Fonts.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SergeUtils">
|
||||
<HintPath>.\SergeUtils.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -123,6 +126,9 @@
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="UHWID">
|
||||
<HintPath>packages\UHWID.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -133,12 +139,24 @@
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ImageForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ImageForm.Designer.cs">
|
||||
<DependentUpon>ImageForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettingsForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettingsForm.Designer.cs">
|
||||
<DependentUpon>SettingsForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ThemeForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ThemeForm.Designer.cs">
|
||||
<DependentUpon>ThemeForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TroubleshootForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -158,6 +176,9 @@
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ImageForm.resx">
|
||||
<DependentUpon>ImageForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
@@ -171,6 +192,9 @@
|
||||
<EmbeddedResource Include="SettingsForm.resx">
|
||||
<DependentUpon>SettingsForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ThemeForm.resx">
|
||||
<DependentUpon>ThemeForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="TroubleshootForm.resx">
|
||||
<DependentUpon>TroubleshootForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
6
AndroidSideloader.csproj.user
Normal file
6
AndroidSideloader.csproj.user
Normal 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>
|
||||
31
App.config
31
App.config
@@ -25,6 +25,37 @@
|
||||
<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>
|
||||
<setting name="autoUpdateConfig" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
</AndroidSideloader.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
123
Changelog.txt
123
Changelog.txt
@@ -1,123 +0,0 @@
|
||||
= Fixed infinite update message
|
||||
|
||||
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
|
||||
|
||||
0.15
|
||||
= MASSIVE UI REDESIGN
|
||||
+ Added toggle for tor/clearnet
|
||||
+ Added download games through tor but still waiting for someone to help me host the files
|
||||
+ Added download with progress
|
||||
= Changed adb sideload command to allow downgrades too
|
||||
- Removed perms stuff, was too buggy
|
||||
|
||||
0.14HF1
|
||||
+ Added donate button
|
||||
= Fixed ui order
|
||||
- Removed warning from bulk obb sideload button
|
||||
|
||||
0.14
|
||||
+ Check file hash button
|
||||
+ Added first run check (will maybe be used to create user.json files)
|
||||
+ Added drag and drop for apk and obb files
|
||||
+ Progress bar now works for every adb command
|
||||
= Moved buttons
|
||||
- Instructions button
|
||||
- Removed run custom adb command button and form
|
||||
|
||||
0.13
|
||||
+ Added vrmoo.cn.json
|
||||
+ Added bulk obb copy
|
||||
= Message Box now top most
|
||||
|
||||
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
|
||||
420
Form1.Designer.cs
generated
420
Form1.Designer.cs
generated
@@ -40,13 +40,14 @@
|
||||
this.launchApkButton = new System.Windows.Forms.Button();
|
||||
this.uninstallAppButton = new System.Windows.Forms.Button();
|
||||
this.sideloadFolderButton = new System.Windows.Forms.Button();
|
||||
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||
this.progressBar = new System.Windows.Forms.ProgressBar();
|
||||
this.copyBulkObbButton = new System.Windows.Forms.Button();
|
||||
this.DragDropLbl = new System.Windows.Forms.Label();
|
||||
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();
|
||||
@@ -57,214 +58,257 @@
|
||||
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.etaLabel = new System.Windows.Forms.Label();
|
||||
this.speedLabel = new System.Windows.Forms.Label();
|
||||
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.Size = new System.Drawing.Size(685, 24);
|
||||
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, 148);
|
||||
this.launchPackageTextBox.Location = new System.Drawing.Point(714, 150);
|
||||
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, 175);
|
||||
this.launchApkButton.Location = new System.Drawing.Point(714, 177);
|
||||
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
|
||||
// progressBar
|
||||
//
|
||||
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(284, 45);
|
||||
this.progressBar1.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(568, 25);
|
||||
this.progressBar1.TabIndex = 23;
|
||||
this.progressBar.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.progressBar.ForeColor = System.Drawing.Color.Purple;
|
||||
this.progressBar.Location = new System.Drawing.Point(284, 46);
|
||||
this.progressBar.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.progressBar.Name = "progressBar";
|
||||
this.progressBar.Size = new System.Drawing.Size(685, 25);
|
||||
this.progressBar.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
|
||||
@@ -276,7 +320,7 @@
|
||||
this.DragDropLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.DragDropLbl.Name = "DragDropLbl";
|
||||
this.DragDropLbl.Size = new System.Drawing.Size(394, 69);
|
||||
this.DragDropLbl.TabIndex = 27;
|
||||
this.DragDropLbl.TabIndex = 25;
|
||||
this.DragDropLbl.Text = "DragDropLBL";
|
||||
this.DragDropLbl.Visible = false;
|
||||
//
|
||||
@@ -285,29 +329,33 @@
|
||||
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 = 71;
|
||||
this.downloadInstallGameButton.Size = new System.Drawing.Size(685, 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.Size = new System.Drawing.Size(685, 24);
|
||||
this.gamesComboBox.Sorted = true;
|
||||
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);
|
||||
@@ -318,6 +366,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);
|
||||
@@ -332,99 +381,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, 608);
|
||||
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 = 89;
|
||||
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, 573);
|
||||
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 = 88;
|
||||
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, 538);
|
||||
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 = 87;
|
||||
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 = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.troubleshootButton.ForeColor = System.Drawing.SystemColors.ButtonFace;
|
||||
this.troubleshootButton.Location = new System.Drawing.Point(0, 503);
|
||||
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, 35);
|
||||
this.troubleshootButton.TabIndex = 86;
|
||||
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 = true;
|
||||
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
|
||||
@@ -433,28 +523,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
|
||||
@@ -468,7 +562,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);
|
||||
@@ -476,60 +570,109 @@
|
||||
//
|
||||
// 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.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(264, 0);
|
||||
this.pictureBox1.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(718, 788);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pictureBox1.TabIndex = 74;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// etaLabel
|
||||
//
|
||||
this.etaLabel.AutoSize = true;
|
||||
this.etaLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.etaLabel.ForeColor = System.Drawing.Color.White;
|
||||
this.etaLabel.Location = new System.Drawing.Point(281, 186);
|
||||
this.etaLabel.Name = "etaLabel";
|
||||
this.etaLabel.Size = new System.Drawing.Size(295, 36);
|
||||
this.etaLabel.TabIndex = 75;
|
||||
this.etaLabel.Text = "ETA: HH:MM:SS Left";
|
||||
//
|
||||
// speedLabel
|
||||
//
|
||||
this.speedLabel.AutoSize = true;
|
||||
this.speedLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.speedLabel.ForeColor = System.Drawing.Color.White;
|
||||
this.speedLabel.Location = new System.Drawing.Point(281, 150);
|
||||
this.speedLabel.Name = "speedLabel";
|
||||
this.speedLabel.Size = new System.Drawing.Size(300, 36);
|
||||
this.speedLabel.TabIndex = 76;
|
||||
this.speedLabel.Text = "DLS: Speed in MBPS";
|
||||
//
|
||||
// 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(982, 786);
|
||||
this.Controls.Add(this.speedLabel);
|
||||
this.Controls.Add(this.etaLabel);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.gamesComboBox);
|
||||
this.Controls.Add(this.downloadInstallGameButton);
|
||||
this.Controls.Add(this.DragDropLbl);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.Controls.Add(this.progressBar);
|
||||
this.Controls.Add(this.launchApkButton);
|
||||
this.Controls.Add(this.launchPackageTextBox);
|
||||
this.Controls.Add(this.m_combo);
|
||||
this.HelpButton = true;
|
||||
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.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.MaximizeBox = false;
|
||||
this.MaximumSize = new System.Drawing.Size(1000, 833);
|
||||
this.MinimumSize = new System.Drawing.Size(879, 833);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Rookie SideLoader";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
@@ -540,6 +683,7 @@
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.backupContainer.ResumeLayout(false);
|
||||
this.sideloadContainer.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@@ -557,7 +701,7 @@
|
||||
private System.Windows.Forms.Button launchApkButton;
|
||||
private System.Windows.Forms.Button uninstallAppButton;
|
||||
private System.Windows.Forms.Button sideloadFolderButton;
|
||||
private System.Windows.Forms.ProgressBar progressBar1;
|
||||
private System.Windows.Forms.ProgressBar progressBar;
|
||||
private System.Windows.Forms.Button copyBulkObbButton;
|
||||
private System.Windows.Forms.Label DragDropLbl;
|
||||
private System.Windows.Forms.Button downloadInstallGameButton;
|
||||
@@ -571,9 +715,13 @@
|
||||
private System.Windows.Forms.Button listApkButton;
|
||||
private System.Windows.Forms.Button checkHashButton;
|
||||
private System.Windows.Forms.Button troubleshootButton;
|
||||
private System.Windows.Forms.Button donateButton;
|
||||
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;
|
||||
private System.Windows.Forms.Label etaLabel;
|
||||
private System.Windows.Forms.Label speedLabel;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
491
Form1.cs
491
Form1.cs
@@ -3,7 +3,9 @@ using System.Diagnostics;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Management;
|
||||
using System.ComponentModel;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Net.Http;
|
||||
using System.Timers;
|
||||
@@ -12,6 +14,9 @@ using System.Windows.Threading;
|
||||
using System.Net;
|
||||
using SergeUtils;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
|
||||
|
||||
/* <a target="_blank" href="https://icons8.com/icons/set/van">Van icon</a> icon by <a target="_blank" href="https://icons8.com">Icons8</a>
|
||||
* The icon of the app contains an icon made by icon8.com
|
||||
@@ -29,10 +34,11 @@ namespace AndroidSideloader
|
||||
#endif
|
||||
string path;
|
||||
|
||||
string result;
|
||||
string obbPath = "";
|
||||
string allText;
|
||||
|
||||
bool is1April = false;
|
||||
|
||||
public static string debugPath = "debug.log";
|
||||
public static string adbPath = Environment.CurrentDirectory + "\\adb\\";
|
||||
string[] line;
|
||||
@@ -41,15 +47,12 @@ namespace AndroidSideloader
|
||||
{
|
||||
InitializeComponent();
|
||||
//calling the design to hide the pannels until onclick
|
||||
customizeDesign();
|
||||
CustomizeDesign();
|
||||
|
||||
|
||||
Timer99.Tick += Timer99_Tick; // don't freeze the ui
|
||||
Timer99.Interval = new TimeSpan(0, 0, 0, 0, 1024);
|
||||
Timer99.IsEnabled = true;
|
||||
Timer99.Stop();
|
||||
}
|
||||
|
||||
public void changeTitle(string txt)
|
||||
public void ChangeTitle(string txt)
|
||||
{
|
||||
if (this.InvokeRequired)
|
||||
this.Invoke(new Action(() => this.Text = txt));
|
||||
@@ -58,13 +61,13 @@ namespace AndroidSideloader
|
||||
}
|
||||
|
||||
//adding the styling to the form
|
||||
private void customizeDesign()
|
||||
private void CustomizeDesign()
|
||||
{
|
||||
sideloadContainer.Visible = false;
|
||||
backupContainer.Visible = false;
|
||||
}
|
||||
|
||||
private void hideSubMenu()
|
||||
private void HideSubMenu()
|
||||
{
|
||||
if (sideloadContainer.Visible == true)
|
||||
{
|
||||
@@ -76,11 +79,10 @@ namespace AndroidSideloader
|
||||
}
|
||||
}
|
||||
//does the fancy stuff
|
||||
private void showSubMenu(Panel subMenu)
|
||||
private void ShowSubMenu(Panel subMenu)
|
||||
{
|
||||
if (subMenu.Visible == false)
|
||||
{
|
||||
hideSubMenu();
|
||||
subMenu.Visible = true;
|
||||
}
|
||||
else
|
||||
@@ -89,30 +91,39 @@ namespace AndroidSideloader
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void changeStyle(int style)
|
||||
public void ChangeStyle(int style)
|
||||
{
|
||||
|
||||
if (progressBar1.InvokeRequired)
|
||||
if (style==1)
|
||||
{
|
||||
if (style == 1)
|
||||
progressBar1.Invoke(new Action(() => progressBar1.Style = ProgressBarStyle.Marquee));
|
||||
else if (style == 0)
|
||||
progressBar1.Invoke(new Action(() => progressBar1.Style = ProgressBarStyle.Continuous));
|
||||
if (progressBar.InvokeRequired)
|
||||
{
|
||||
progressBar.Invoke(new Action(() => progressBar.Style = ProgressBarStyle.Marquee));
|
||||
}
|
||||
else
|
||||
{
|
||||
progressBar.Style = ProgressBarStyle.Marquee;
|
||||
}
|
||||
}
|
||||
else if (style == 1)
|
||||
progressBar1.Style = ProgressBarStyle.Marquee;
|
||||
else
|
||||
progressBar1.Style = ProgressBarStyle.Continuous;
|
||||
{
|
||||
if (progressBar.InvokeRequired)
|
||||
{
|
||||
progressBar.Invoke(new Action(() => progressBar.Style = ProgressBarStyle.Continuous));
|
||||
}
|
||||
else
|
||||
{
|
||||
progressBar.Style = ProgressBarStyle.Continuous;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void runAdbCommand(string command)
|
||||
public void RunAdbCommand(string command)
|
||||
{
|
||||
changeStyle(1);
|
||||
ChangeStyle(1);
|
||||
oldTitle = this.Text;
|
||||
changeTitle("Rookie's Sideloader | Running command " + command);
|
||||
ChangeTitle("Rookie's Sideloader | Running command " + command);
|
||||
|
||||
Process cmd = new Process();
|
||||
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\adb\\adb.exe";
|
||||
@@ -137,21 +148,30 @@ namespace AndroidSideloader
|
||||
sw.Close();
|
||||
line = allText.Split('\n');
|
||||
|
||||
changeTitle(oldTitle);
|
||||
changeStyle(0);
|
||||
ChangeTitle(oldTitle);
|
||||
ChangeStyle(0);
|
||||
}
|
||||
|
||||
private void sideload(string path)
|
||||
void AprilPrank()
|
||||
{
|
||||
if (is1April)
|
||||
{
|
||||
ImageForm Form = new ImageForm();
|
||||
Form.Show();
|
||||
this.Invoke(() => { this.Hide(); });
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void Sideload(string path)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("install -g -d -r " + '"' + path + '"');
|
||||
RunAdbCommand("install -g -d -r " + '"' + path + '"');
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
if (allText.Length == 0)
|
||||
notify("Install Failed, apk may be corrupt");
|
||||
}
|
||||
|
||||
private async void startsideloadbutton_Click(object sender, EventArgs e)
|
||||
@@ -167,17 +187,18 @@ namespace AndroidSideloader
|
||||
else
|
||||
return;
|
||||
}
|
||||
AprilPrank();
|
||||
await Task.Run(() => Sideload(path));
|
||||
|
||||
await Task.Run(() => sideload(path));
|
||||
|
||||
notify(allText);
|
||||
if (!is1April)
|
||||
notify(allText);
|
||||
}
|
||||
|
||||
private void devicesbutton_Click(object sender, EventArgs e)
|
||||
{
|
||||
runAdbCommand("devices");
|
||||
RunAdbCommand("devices");
|
||||
|
||||
changeTitlebarToDevice();
|
||||
ChangeTitlebarToDevice();
|
||||
|
||||
notify(allText);
|
||||
}
|
||||
@@ -195,9 +216,9 @@ namespace AndroidSideloader
|
||||
|
||||
public void ExtractFile(string sourceArchive, string destination)
|
||||
{
|
||||
changeStyle(1);
|
||||
ChangeStyle(1);
|
||||
oldTitle = this.Text;
|
||||
changeTitle("Rookie's 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;
|
||||
@@ -205,15 +226,15 @@ namespace AndroidSideloader
|
||||
pro.Arguments = string.Format("x \"{0}\" -y -o\"{1}\"", sourceArchive, destination);
|
||||
Process x = Process.Start(pro);
|
||||
x.WaitForExit();
|
||||
changeStyle(0);
|
||||
changeTitle(oldTitle);
|
||||
ChangeStyle(0);
|
||||
ChangeTitle(oldTitle);
|
||||
}
|
||||
|
||||
private void obbcopy(string obbPath)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("push " + '"' + obbPath + '"' + " /sdcard/Android/obb");
|
||||
RunAdbCommand("push " + '"' + obbPath + '"' + " /sdcard/Android/obb");
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
@@ -239,7 +260,7 @@ namespace AndroidSideloader
|
||||
notify(allText);
|
||||
}
|
||||
|
||||
private void changeTitlebarToDevice()
|
||||
private void ChangeTitlebarToDevice()
|
||||
{
|
||||
if (line[1].Length > 1)
|
||||
this.Text = "Rookie's Sideloader | Device Connected with ID | " + line[1].Replace("device", "");
|
||||
@@ -255,6 +276,9 @@ namespace AndroidSideloader
|
||||
ServicePointManager.Expect100Continue = true;
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
|
||||
if (!File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\warning.png"))
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/secret", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\warning.png");
|
||||
|
||||
if (!File.Exists(Environment.CurrentDirectory + "\\7z.exe"))
|
||||
{
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/7z.exe", "7z.exe");
|
||||
@@ -308,12 +332,32 @@ namespace AndroidSideloader
|
||||
}
|
||||
}
|
||||
}
|
||||
int TimerMs = 1024;
|
||||
void SetTimerSpeed()
|
||||
{
|
||||
|
||||
var donators = client.GetStringAsync("https://raw.githubusercontent.com/nerdunit/androidsideloader/master/donators.txt").Result.Split('\n');
|
||||
|
||||
foreach (string line in donators)
|
||||
{
|
||||
if (line.Contains(HWID))
|
||||
{
|
||||
TimerMs = Int32.Parse(line.Split(';')[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//A lot of stuff to do when the form loads, centers the program,
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
this.CenterToScreen();
|
||||
|
||||
SetTimerSpeed();
|
||||
|
||||
etaLabel.Text = "";
|
||||
speedLabel.Text = "";
|
||||
|
||||
if (File.Exists(debugPath))
|
||||
File.Delete(debugPath); //clear debug.log each start
|
||||
|
||||
@@ -323,14 +367,15 @@ namespace AndroidSideloader
|
||||
if (Properties.Settings.Default.checkForUpdates == true)
|
||||
checkForUpdate();
|
||||
|
||||
runAdbCommand("devices"); //check if there is any device connected
|
||||
changeTitlebarToDevice();
|
||||
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!");
|
||||
FlexibleMessageBox.Show("For one click download and install games you need an rclone config");
|
||||
UsernameForm.createUserJson(randomString(16));
|
||||
UsernameForm.pushUserJson();
|
||||
UsernameForm.deleteUserJson();
|
||||
Properties.Settings.Default.firstRun = false;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
@@ -339,7 +384,7 @@ namespace AndroidSideloader
|
||||
|
||||
listappsBtn();
|
||||
}
|
||||
|
||||
readonly string localVersion = "1.5";
|
||||
void intToolTips()
|
||||
{
|
||||
ToolTip ListDevicesToolTip = new ToolTip();
|
||||
@@ -360,13 +405,17 @@ 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");
|
||||
ToolTip etaToolTip = new ToolTip();
|
||||
etaToolTip.SetToolTip(this.etaLabel, "Estimated time when game will finish download, updates every 5 seconds, format is HH:MM:SS");
|
||||
ToolTip dlsToolTip = new ToolTip();
|
||||
dlsToolTip.SetToolTip(this.speedLabel, "Current download speed, updates every second, in mbps");
|
||||
|
||||
}
|
||||
void checkForUpdate()
|
||||
{
|
||||
try
|
||||
{
|
||||
string localVersion = "1.0";
|
||||
HttpClient client = new HttpClient();
|
||||
|
||||
string currentVersion = client.GetStringAsync("https://raw.githubusercontent.com/nerdunit/androidsideloader/master/version").Result;
|
||||
currentVersion = currentVersion.Remove(currentVersion.Length - 1);
|
||||
|
||||
@@ -410,7 +459,7 @@ namespace AndroidSideloader
|
||||
MessageBox.Show("Action Started, may take some time...");
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("pull " + '"' + "/sdcard/Android/data" + '"');
|
||||
RunAdbCommand("pull " + '"' + "/sdcard/Android/data" + '"');
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
@@ -438,7 +487,7 @@ namespace AndroidSideloader
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("push " + '"' + obbPath + '"' + " /sdcard/Android/");
|
||||
RunAdbCommand("push " + '"' + obbPath + '"' + " /sdcard/Android/");
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
@@ -468,14 +517,14 @@ namespace AndroidSideloader
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell pm list packages");
|
||||
RunAdbCommand("shell pm list packages");
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
public string[] getGames()
|
||||
public async Task<string[]> getGames()
|
||||
{
|
||||
string command = "cat \"VRP:Quest Games/APK_packagenames.txt\" --config .\\a";
|
||||
|
||||
@@ -495,11 +544,12 @@ namespace AndroidSideloader
|
||||
var games = cmd.StandardOutput.ReadToEnd().Split('\n');
|
||||
cmd.WaitForExit();
|
||||
return games;
|
||||
|
||||
}
|
||||
|
||||
private async void listappsBtn()
|
||||
{
|
||||
var games = getGames();
|
||||
var games = getGames().Result;
|
||||
|
||||
allText = "";
|
||||
|
||||
@@ -507,23 +557,32 @@ namespace AndroidSideloader
|
||||
|
||||
await Task.Run(() => listapps());
|
||||
|
||||
foreach (string obj in line)
|
||||
for (int i= 0; i < line.Length; i++)
|
||||
{
|
||||
if (obj.Length > 9)
|
||||
if (line[i].Length > 9)
|
||||
{
|
||||
string packageName = obj.Remove(0, 8);
|
||||
packageName = packageName.Remove(packageName.Length - 1);
|
||||
line[i] = line[i].Remove(0, 8);
|
||||
line[i] = line[i].Remove(line[i].Length - 1);
|
||||
|
||||
foreach (string game in games)
|
||||
{
|
||||
if (packageName.Length > 0 && game.Contains(packageName))
|
||||
if (line[i].Length > 0 && game.Contains(line[i]))
|
||||
{
|
||||
var foo = game.Split(';');
|
||||
packageName = foo[0];
|
||||
line[i] = foo[0];
|
||||
}
|
||||
}
|
||||
m_combo.Items.Add(packageName);
|
||||
}
|
||||
}
|
||||
|
||||
Array.Sort(line);
|
||||
|
||||
foreach (string game in line)
|
||||
{
|
||||
if (game.Length > 0)
|
||||
m_combo.Items.Add(game);
|
||||
}
|
||||
|
||||
m_combo.MatchingMethod = StringMatchingMethod.NoWildcards;
|
||||
}
|
||||
|
||||
@@ -531,7 +590,7 @@ namespace AndroidSideloader
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell pm path " + package);
|
||||
RunAdbCommand("shell pm path " + package);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
@@ -540,13 +599,13 @@ namespace AndroidSideloader
|
||||
|
||||
private void pullapk(string apkPath)
|
||||
{
|
||||
Thread t2 = new Thread(() =>
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("pull " + apkPath);
|
||||
RunAdbCommand("pull " + apkPath);
|
||||
});
|
||||
t2.IsBackground = true;
|
||||
t2.Start();
|
||||
t2.Join();
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
private async void getApkButton_Click(object sender, EventArgs e)
|
||||
@@ -559,7 +618,7 @@ namespace AndroidSideloader
|
||||
return;
|
||||
}
|
||||
|
||||
string[] games = getGames();
|
||||
var games = getGames().Result;
|
||||
|
||||
string packageName = m_combo.SelectedItem.ToString();
|
||||
|
||||
@@ -589,7 +648,6 @@ namespace AndroidSideloader
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\" + packageName + ".apk"))
|
||||
File.Delete(Environment.CurrentDirectory + "\\" + packageName + ".apk");
|
||||
|
||||
|
||||
File.Move(Environment.CurrentDirectory + "\\adb\\" + currApkPath, Environment.CurrentDirectory + "\\" + packageName + ".apk");
|
||||
|
||||
notify(allText);
|
||||
@@ -599,15 +657,17 @@ namespace AndroidSideloader
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell am start -n " + launchPackageTextBox.Text);
|
||||
RunAdbCommand("shell am start -n " + launchPackageTextBox.Text);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
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();
|
||||
var games = getGames().Result;
|
||||
|
||||
string packageName = m_combo.SelectedItem.ToString();
|
||||
|
||||
@@ -634,9 +694,12 @@ namespace AndroidSideloader
|
||||
|
||||
string packageName = await getpackagename();
|
||||
|
||||
packageName = packageName.Split(';')[2];
|
||||
try
|
||||
{
|
||||
packageName = packageName.Split(';')[2];
|
||||
} catch { }
|
||||
|
||||
DialogResult dialogResult = MessageBox.Show("Are you sure you want to uninstall " + packageName + " this CANNOT be undone!", "WARNING!", MessageBoxButtons.YesNo);
|
||||
DialogResult dialogResult = MessageBox.Show("Are you sure you want to uninstall " + packageName + ", this CANNOT be undone!", "WARNING!", MessageBoxButtons.YesNo);
|
||||
if (dialogResult != DialogResult.Yes)
|
||||
return;
|
||||
|
||||
@@ -648,6 +711,15 @@ namespace AndroidSideloader
|
||||
|
||||
await Task.Run(() => removeFolder("/sdcard/Android/obb/" + packageName + "/"));
|
||||
|
||||
uninstallText += allText;
|
||||
|
||||
dialogResult = MessageBox.Show("Do you want to remove savedata for " + packageName + ", this CANNOT be undone!", "WARNING!", MessageBoxButtons.YesNo);
|
||||
if (dialogResult == DialogResult.Yes)
|
||||
{
|
||||
await Task.Run(() => removeFolder("/sdcard/Android/data/" + packageName + "/"));
|
||||
await Task.Run(() => removeFolder("/sdcard/Android/data/" + packageName));
|
||||
}
|
||||
|
||||
notify(uninstallText);
|
||||
}
|
||||
|
||||
@@ -655,7 +727,7 @@ namespace AndroidSideloader
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell rm -r " + path);
|
||||
RunAdbCommand("shell rm -r " + path);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
@@ -666,7 +738,7 @@ namespace AndroidSideloader
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell pm uninstall -k --user 0 " + package);
|
||||
RunAdbCommand("shell pm uninstall -k --user 0 " + package);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
@@ -697,7 +769,7 @@ namespace AndroidSideloader
|
||||
string extension = Path.GetExtension(files[i]);
|
||||
if (extension == ".apk")
|
||||
{
|
||||
await Task.Run(() => sideload(files[i]));
|
||||
await Task.Run(() => Sideload(files[i]));
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < childDirectories.Length; i++)
|
||||
@@ -721,9 +793,6 @@ namespace AndroidSideloader
|
||||
|
||||
private void copyBulkObbButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
//bool result = experimentalFeatureAccept("THIS IS AN EXPERIMENTAL FEATURE AND MIGHT NOT WORK, DO YOU WANT TO CONTINUE?");
|
||||
//if (result == false)
|
||||
// return;
|
||||
|
||||
var dialog = new FolderSelectDialog
|
||||
{
|
||||
@@ -759,32 +828,31 @@ namespace AndroidSideloader
|
||||
}
|
||||
}
|
||||
|
||||
public void checkHashFunc(string file)
|
||||
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
public async Task<string> checkHashFunc(string file)
|
||||
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
{
|
||||
using (FileStream stream = File.OpenRead(file))
|
||||
using (var md5 = MD5.Create())
|
||||
{
|
||||
using (var md5 = MD5.Create())
|
||||
using (var stream = File.OpenRead(file))
|
||||
{
|
||||
using (var hashStream = File.OpenRead(file))
|
||||
{
|
||||
result = BitConverter.ToString(md5.ComputeHash(hashStream)).Replace("-", "").ToLowerInvariant();
|
||||
}
|
||||
return BitConverter.ToString(md5.ComputeHash(stream)).Replace("-", "").ToLower();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async void Form1_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
AprilPrank();
|
||||
bool ok = false;
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||
foreach (string file in files)
|
||||
{
|
||||
Console.WriteLine(file);
|
||||
string extension = Path.GetExtension(file);
|
||||
if (extension == ".apk")
|
||||
{
|
||||
ok = true;
|
||||
await Task.Run(() => sideload(file));
|
||||
await Task.Run(() => Sideload(file));
|
||||
}
|
||||
else if (Directory.Exists(file))
|
||||
{
|
||||
@@ -793,7 +861,7 @@ namespace AndroidSideloader
|
||||
}
|
||||
}
|
||||
DragDropLbl.Visible = false;
|
||||
if (ok)
|
||||
if (ok && !is1April)
|
||||
notify("Done");
|
||||
}
|
||||
string oldTitle;
|
||||
@@ -803,30 +871,33 @@ namespace AndroidSideloader
|
||||
oldTitle = this.Text;
|
||||
DragDropLbl.Visible = true;
|
||||
DragDropLbl.Text = "Drag apk or obb";
|
||||
changeTitle(DragDropLbl.Text);
|
||||
ChangeTitle(DragDropLbl.Text);
|
||||
}
|
||||
|
||||
private void Form1_DragLeave(object sender, EventArgs e)
|
||||
{
|
||||
changeTitle(oldTitle);
|
||||
ChangeTitle(oldTitle);
|
||||
DragDropLbl.Visible = false;
|
||||
}
|
||||
|
||||
private void Form1_Shown(object sender, EventArgs e)
|
||||
{
|
||||
Timer99.Start();
|
||||
Debug.WriteLine(TimerMs);
|
||||
Timer99.Tick += Timer99_Tick; // don't freeze the ui
|
||||
Timer99.Interval = new TimeSpan(0, 0, 0, 0, TimerMs);
|
||||
if (TimerMs != 0)
|
||||
Timer99.Start();
|
||||
|
||||
DateTime today = DateTime.Today;
|
||||
|
||||
if (today.Month == 4 && today.Day == 1)
|
||||
is1April = true;
|
||||
|
||||
initGames();
|
||||
}
|
||||
void initGames()
|
||||
string runRcloneCommand(string command)
|
||||
{
|
||||
|
||||
gamesComboBox.Invoke(() => { gamesComboBox.Items.Clear(); });
|
||||
|
||||
string command = "lsf --config .\\a --dirs-only \"VRP:Quest Games\" --drive-acknowledge-abuse";
|
||||
|
||||
Console.WriteLine(command);
|
||||
|
||||
wait = true;
|
||||
Process cmd = new Process();
|
||||
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\rclone\\rclone.exe";
|
||||
cmd.StartInfo.Arguments = command;
|
||||
@@ -834,35 +905,48 @@ namespace AndroidSideloader
|
||||
cmd.StartInfo.RedirectStandardOutput = true;
|
||||
cmd.StartInfo.WorkingDirectory = Environment.CurrentDirectory + "\\rclone";
|
||||
cmd.StartInfo.CreateNoWindow = true;
|
||||
if (debugMode == true)
|
||||
cmd.StartInfo.CreateNoWindow = false;
|
||||
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();
|
||||
|
||||
var output = cmd.StandardOutput.ReadToEnd();
|
||||
cmd.WaitForExit();
|
||||
wait = false;
|
||||
return output;
|
||||
}
|
||||
void initGames()
|
||||
{
|
||||
|
||||
gamesComboBox.Invoke(() => { gamesComboBox.Items.Clear(); });
|
||||
|
||||
var games = runRcloneCommand("lsf --config .\\a --dirs-only \"VRP:Quest Games\" --drive-acknowledge-abuse").Split('\n');
|
||||
|
||||
|
||||
Debug.WriteLine("Loaded following games: ");
|
||||
foreach (string game in games)
|
||||
{
|
||||
if (!game.StartsWith("."))
|
||||
if (!game.StartsWith(".") && game.Length>1)
|
||||
{
|
||||
string currGame = game;
|
||||
if (currGame.Length > 0)
|
||||
currGame = currGame.Remove(currGame.Length - 1);
|
||||
|
||||
gamesComboBox.Invoke(() => { gamesComboBox.Items.Add(currGame); });
|
||||
Debug.WriteLine(game);
|
||||
gamesComboBox.Invoke(() => { gamesComboBox.Items.Add(game.Remove(game.Length - 1)); });
|
||||
}
|
||||
}
|
||||
Debug.WriteLine(wrDelimiter);
|
||||
}
|
||||
|
||||
string wrDelimiter = "-------";
|
||||
private void sideloadContainer_Click(object sender, EventArgs e)
|
||||
{
|
||||
showSubMenu(sideloadContainer);
|
||||
ShowSubMenu(sideloadContainer);
|
||||
}
|
||||
|
||||
private void backupDrop_Click(object sender, EventArgs e)
|
||||
{
|
||||
showSubMenu(backupContainer);
|
||||
ShowSubMenu(backupContainer);
|
||||
}
|
||||
|
||||
private void settingsButton_Click(object sender, EventArgs e)
|
||||
@@ -873,22 +957,24 @@ namespace AndroidSideloader
|
||||
|
||||
private void aboutBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
string about = @"Finally 1.0
|
||||
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 https://github.com/davcs86 for the hwid lib
|
||||
- The icon of the app contains an icon made by icon8.com";
|
||||
FlexibleMessageBox.Show(about);
|
||||
}
|
||||
|
||||
bool wait = false;
|
||||
bool wait;
|
||||
|
||||
private async void checkHashButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -905,34 +991,34 @@ namespace AndroidSideloader
|
||||
return;
|
||||
}
|
||||
oldTitle = this.Text;
|
||||
changeTitle("Checking hash of file " + file);
|
||||
changeStyle(1);
|
||||
ChangeTitle("Checking hash of file " + file);
|
||||
ChangeStyle(1);
|
||||
|
||||
await Task.Run(() => checkHashFunc(file));
|
||||
Clipboard.SetText(result);
|
||||
string hash = await checkHashFunc(file);
|
||||
Clipboard.SetText(hash);
|
||||
|
||||
changeStyle(0);
|
||||
changeTitle(oldTitle);
|
||||
FlexibleMessageBox.Show("The selected file hash is " + result + " and it was copied to clipboard");
|
||||
ChangeStyle(0);
|
||||
ChangeTitle(oldTitle);
|
||||
FlexibleMessageBox.Show("The selected file hash is " + hash + " and it was copied to clipboard");
|
||||
}
|
||||
|
||||
private void userjsonButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
UsernameForm usernameForm1 = new UsernameForm();
|
||||
usernameForm1.Show();
|
||||
UsernameForm form = new UsernameForm();
|
||||
form.Show();
|
||||
}
|
||||
|
||||
public static readonly string HWID = UHWID.UHWIDEngine.SimpleUid;
|
||||
private void donateButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
Clipboard.SetText("rookie.lol#0001");
|
||||
notify("Ask rookie.lol#0001 or pmow#1706 where you can donate");
|
||||
notify("Ask rookie.lol#0001 or pmow#1706 where you can donate, hwid: " + HWID);
|
||||
}
|
||||
|
||||
private async void listApkButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
changeStyle(1);
|
||||
ChangeStyle(1);
|
||||
await Task.Run(() => initGames());
|
||||
changeStyle(0);
|
||||
ChangeStyle(0);
|
||||
|
||||
listappsBtn();
|
||||
}
|
||||
@@ -943,62 +1029,153 @@ namespace AndroidSideloader
|
||||
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 static readonly HttpClient client = new HttpClient();
|
||||
|
||||
bool updatedConfig = false;
|
||||
async Task updateConfig()
|
||||
{
|
||||
updatedConfig = true;
|
||||
//string rcloneConfigPath = Environment.CurrentDirectory + "\\rclone\\a";
|
||||
|
||||
//string localHash = await checkHashFunc(rcloneConfigPath);
|
||||
|
||||
//string hash = runRcloneCommand("md5sum --config .\\a \"VRP:Quest Homebrew/Sideloading Methods/1. Rookie Sideloader - VRP Edition/a\"");
|
||||
//hash = hash.Substring(0, hash.LastIndexOf(" ")); //remove stuff after hash
|
||||
|
||||
//Debug.WriteLine("The local file hash is " + localHash + " and the current a file hash is " + hash);
|
||||
|
||||
//if (!string.Equals(localHash, hash))
|
||||
//{
|
||||
runRcloneCommand(string.Format("copy \"VRP:Quest Homebrew/Sideloading Methods/1. Rookie Sideloader - VRP Edition/a\" \"{0}\" --config .\\a", Environment.CurrentDirectory));
|
||||
File.Delete(Environment.CurrentDirectory + "\\rclone\\a");
|
||||
File.Move(Environment.CurrentDirectory + "\\a", Environment.CurrentDirectory + "\\rclone\\a");
|
||||
//}
|
||||
}
|
||||
private async void downloadInstallGameButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (updatedConfig == false && Properties.Settings.Default.autoUpdateConfig == true) //check for config only once per program open and if setting enabled
|
||||
{
|
||||
ChangeTitle("Rookie's Sideloader | Updating rclone config");
|
||||
await Task.Run(() => updateConfig());
|
||||
}
|
||||
|
||||
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";
|
||||
|
||||
string[] games;
|
||||
|
||||
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);
|
||||
games = runRcloneCommand("copy --config .\\a \"VRP:Quest Games/" + gameName + "\" \"" + Environment.CurrentDirectory + "\\" + gameName + "\" --progress --drive-acknowledge-abuse --rc").Split('\n');
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
|
||||
await Task.Delay(500);
|
||||
ChangeTitle("Rookie's Sideloader | Pushing user.json");
|
||||
|
||||
UsernameForm.createUserJson(randomString(16));
|
||||
|
||||
UsernameForm.pushUserJson();
|
||||
|
||||
UsernameForm.deleteUserJson();
|
||||
|
||||
ChangeTitle("Rookie's Sideloader | Downloading game " + gameName);
|
||||
|
||||
await Task.Delay(5000);
|
||||
|
||||
int i = 0;
|
||||
while (wait)
|
||||
{
|
||||
await Task.Delay(25);
|
||||
try
|
||||
{
|
||||
HttpResponseMessage response = await client.PostAsync("http://127.0.0.1:5572/core/stats", null);
|
||||
|
||||
string foo = await response.Content.ReadAsStringAsync();
|
||||
|
||||
Debug.WriteLine("RESP CONTENT " + foo);
|
||||
dynamic results = JsonConvert.DeserializeObject<dynamic>(foo);
|
||||
|
||||
float downloadSpeed = results.speed.ToObject<float>();
|
||||
|
||||
long allSize = 0;
|
||||
|
||||
long downloaded = 0;
|
||||
|
||||
|
||||
foreach (var obj in results.transferring)
|
||||
{
|
||||
allSize += obj["size"].ToObject<long>();
|
||||
downloaded += obj["bytes"].ToObject<long>();
|
||||
}
|
||||
allSize /= 1000000;
|
||||
downloaded /= 1000000;
|
||||
Debug.WriteLine("Allsize: " + allSize + "\nDownloaded: " + downloaded + "\nValue: " + (((double)downloaded / (double)allSize) * 100));
|
||||
try { progressBar.Value = Convert.ToInt32((((double)downloaded / (double)allSize) * 100)); } catch { }
|
||||
|
||||
i++;
|
||||
downloadSpeed /= 1000000;
|
||||
if (i == 4)
|
||||
{
|
||||
i = 0;
|
||||
float seconds = (allSize - downloaded) / downloadSpeed;
|
||||
|
||||
TimeSpan time = TimeSpan.FromSeconds(seconds);
|
||||
|
||||
etaLabel.Text = "ETA: " + time.ToString(@"hh\:mm\:ss") + " left";
|
||||
}
|
||||
|
||||
speedLabel.Text = "DLS: " + String.Format("{0:0.00}", downloadSpeed) + " mbps";
|
||||
}
|
||||
catch { }
|
||||
|
||||
await Task.Delay(1000);
|
||||
}
|
||||
|
||||
progressBar.Value = 0;
|
||||
ChangeTitle("Rookie's Sideloader | Installing game apk " + gameName);
|
||||
etaLabel.Text = "ETA: Done";
|
||||
speedLabel.Text = "DLS: Done";
|
||||
|
||||
AprilPrank();
|
||||
string[] files = Directory.GetFiles(Environment.CurrentDirectory + "\\" + gameName);
|
||||
|
||||
Debug.WriteLine("Game Folder is: " + Environment.CurrentDirectory + "\\" + gameName);
|
||||
|
||||
Debug.WriteLine("FILES IN GAME FOLDER: ");
|
||||
foreach (string file in files)
|
||||
{
|
||||
Debug.WriteLine(file);
|
||||
string extension = Path.GetExtension(file);
|
||||
if (extension == ".apk")
|
||||
{
|
||||
changeStyle(1);
|
||||
apkNumber++;
|
||||
await Task.Run(() => sideload(file));
|
||||
changeStyle(0);
|
||||
await Task.Run(() => Sideload(file));
|
||||
}
|
||||
}
|
||||
|
||||
Debug.WriteLine(wrDelimiter);
|
||||
|
||||
ChangeTitle("Rookie's Sideloader | Installing game obb " + gameName);
|
||||
|
||||
string[] folders = Directory.GetDirectories(Environment.CurrentDirectory + "\\" + gameName);
|
||||
|
||||
foreach (string folder in folders)
|
||||
@@ -1018,22 +1195,28 @@ namespace AndroidSideloader
|
||||
|
||||
if (isObb == true)
|
||||
{
|
||||
changeStyle(1);
|
||||
obbNumber++;
|
||||
await Task.Run(() => obbcopy(folder));
|
||||
changeStyle(0);
|
||||
}
|
||||
}
|
||||
|
||||
if (Properties.Settings.Default.deleteAllAfterInstall)
|
||||
{
|
||||
ChangeTitle("Rookie's Sideloader | Deleting game files");
|
||||
Directory.Delete(Environment.CurrentDirectory + "\\" + gameName, true);
|
||||
}
|
||||
|
||||
ChangeTitlebarToDevice();
|
||||
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
|
||||
|
||||
64
ImageForm.Designer.cs
generated
Normal file
64
ImageForm.Designer.cs
generated
Normal file
@@ -0,0 +1,64 @@
|
||||
namespace AndroidSideloader
|
||||
{
|
||||
partial class ImageForm
|
||||
{
|
||||
/// <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.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Location = new System.Drawing.Point(13, 13);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(775, 425);
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// ImageForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.Name = "ImageForm";
|
||||
this.Text = "ImageForm";
|
||||
this.TopMost = true;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ImageForm_FormClosing);
|
||||
this.Load += new System.EventHandler(this.ImageForm_Load);
|
||||
this.Shown += new System.EventHandler(this.ImageForm_Shown);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
}
|
||||
}
|
||||
45
ImageForm.cs
Normal file
45
ImageForm.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
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 ImageForm : Form
|
||||
{
|
||||
public ImageForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void ImageForm_Shown(object sender, EventArgs e)
|
||||
{
|
||||
//this.CenterToScreen();
|
||||
this.WindowState = FormWindowState.Maximized;
|
||||
this.MinimumSize = this.Size;
|
||||
this.MaximumSize = this.Size;
|
||||
|
||||
pictureBox1.Size = this.Size;
|
||||
|
||||
pictureBox1.Image = new Bitmap(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\warning.png");
|
||||
pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
|
||||
|
||||
}
|
||||
|
||||
private void ImageForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void ImageForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
Form1 obj = (Form1)Application.OpenForms["Form1"];
|
||||
obj.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
120
ImageForm.resx
Normal file
120
ImageForm.resx
Normal 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>
|
||||
@@ -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")]
|
||||
|
||||
126
Properties/Settings.Designer.cs
generated
126
Properties/Settings.Designer.cs
generated
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
10
README.md
10
README.md
@@ -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
|
||||
|
||||
26
SettingsForm.Designer.cs
generated
26
SettingsForm.Designer.cs
generated
@@ -34,6 +34,7 @@
|
||||
this.copyMessageToClipboardCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.resetSettingsButton = new System.Windows.Forms.Button();
|
||||
this.deleteAfterInstallCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.updateConfigCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// checkForUpdatesCheckBox
|
||||
@@ -56,7 +57,7 @@
|
||||
this.applyButton.Margin = new System.Windows.Forms.Padding(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);
|
||||
@@ -68,7 +69,7 @@
|
||||
this.enableMessageBoxesCheckBox.Margin = new System.Windows.Forms.Padding(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);
|
||||
@@ -80,7 +81,7 @@
|
||||
this.copyMessageToClipboardCheckBox.Margin = new System.Windows.Forms.Padding(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);
|
||||
@@ -105,23 +106,37 @@
|
||||
this.deleteAfterInstallCheckBox.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.deleteAfterInstallCheckBox.Name = "deleteAfterInstallCheckBox";
|
||||
this.deleteAfterInstallCheckBox.Size = new System.Drawing.Size(282, 21);
|
||||
this.deleteAfterInstallCheckBox.TabIndex = 6;
|
||||
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);
|
||||
//
|
||||
// updateConfigCheckBox
|
||||
//
|
||||
this.updateConfigCheckBox.AutoSize = true;
|
||||
this.updateConfigCheckBox.Location = new System.Drawing.Point(17, 131);
|
||||
this.updateConfigCheckBox.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.updateConfigCheckBox.Name = "updateConfigCheckBox";
|
||||
this.updateConfigCheckBox.Size = new System.Drawing.Size(204, 21);
|
||||
this.updateConfigCheckBox.TabIndex = 6;
|
||||
this.updateConfigCheckBox.Text = "Update config automatically";
|
||||
this.updateConfigCheckBox.UseVisualStyleBackColor = true;
|
||||
this.updateConfigCheckBox.CheckedChanged += new System.EventHandler(this.updateConfigCheckBox_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.updateConfigCheckBox);
|
||||
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.Name = "SettingsForm";
|
||||
@@ -142,5 +157,6 @@
|
||||
private System.Windows.Forms.CheckBox copyMessageToClipboardCheckBox;
|
||||
private System.Windows.Forms.Button resetSettingsButton;
|
||||
private System.Windows.Forms.CheckBox deleteAfterInstallCheckBox;
|
||||
private System.Windows.Forms.CheckBox updateConfigCheckBox;
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,7 @@ namespace AndroidSideloader
|
||||
enableMessageBoxesCheckBox.Checked = Properties.Settings.Default.enableMessageBoxes;
|
||||
copyMessageToClipboardCheckBox.Checked = Properties.Settings.Default.copyMessageToClipboard;
|
||||
deleteAfterInstallCheckBox.Checked = Properties.Settings.Default.deleteAllAfterInstall;
|
||||
updateConfigCheckBox.Checked = Properties.Settings.Default.autoUpdateConfig;
|
||||
}
|
||||
|
||||
void intToolTips()
|
||||
@@ -81,5 +82,10 @@ namespace AndroidSideloader
|
||||
{
|
||||
Properties.Settings.Default.deleteAllAfterInstall = deleteAfterInstallCheckBox.Checked;
|
||||
}
|
||||
|
||||
private void updateConfigCheckBox_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.autoUpdateConfig = updateConfigCheckBox.Checked;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
249
ThemeForm.Designer.cs
generated
Normal file
249
ThemeForm.Designer.cs
generated
Normal file
@@ -0,0 +1,249 @@
|
||||
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.colorDialog1 = new System.Windows.Forms.ColorDialog();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.button4 = new System.Windows.Forms.Button();
|
||||
this.button5 = new System.Windows.Forms.Button();
|
||||
this.button6 = new System.Windows.Forms.Button();
|
||||
this.button7 = new System.Windows.Forms.Button();
|
||||
this.button8 = new System.Windows.Forms.Button();
|
||||
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
|
||||
this.button9 = new System.Windows.Forms.Button();
|
||||
this.button10 = new System.Windows.Forms.Button();
|
||||
this.fontDialog1 = new System.Windows.Forms.FontDialog();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.button11 = new System.Windows.Forms.Button();
|
||||
this.button12 = new System.Windows.Forms.Button();
|
||||
this.button13 = new System.Windows.Forms.Button();
|
||||
this.openThemeDialog = new System.Windows.Forms.OpenFileDialog();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// colorDialog1
|
||||
//
|
||||
this.colorDialog1.AnyColor = true;
|
||||
this.colorDialog1.FullOpen = true;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(13, 12);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(128, 23);
|
||||
this.button1.TabIndex = 0;
|
||||
this.button1.Text = "Set backgorund color";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Location = new System.Drawing.Point(13, 68);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(128, 23);
|
||||
this.button2.TabIndex = 0;
|
||||
this.button2.Text = "Set panel color";
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// button4
|
||||
//
|
||||
this.button4.Location = new System.Drawing.Point(13, 152);
|
||||
this.button4.Name = "button4";
|
||||
this.button4.Size = new System.Drawing.Size(128, 23);
|
||||
this.button4.TabIndex = 0;
|
||||
this.button4.Text = "Set button color";
|
||||
this.button4.UseVisualStyleBackColor = true;
|
||||
this.button4.Click += new System.EventHandler(this.button4_Click);
|
||||
//
|
||||
// button5
|
||||
//
|
||||
this.button5.Location = new System.Drawing.Point(13, 208);
|
||||
this.button5.Name = "button5";
|
||||
this.button5.Size = new System.Drawing.Size(128, 23);
|
||||
this.button5.TabIndex = 0;
|
||||
this.button5.Text = "Set combobox color";
|
||||
this.button5.UseVisualStyleBackColor = true;
|
||||
this.button5.Click += new System.EventHandler(this.button5_Click);
|
||||
//
|
||||
// button6
|
||||
//
|
||||
this.button6.Location = new System.Drawing.Point(13, 236);
|
||||
this.button6.Name = "button6";
|
||||
this.button6.Size = new System.Drawing.Size(128, 23);
|
||||
this.button6.TabIndex = 0;
|
||||
this.button6.Text = "Set textbox color";
|
||||
this.button6.UseVisualStyleBackColor = true;
|
||||
this.button6.Click += new System.EventHandler(this.button6_Click);
|
||||
//
|
||||
// button7
|
||||
//
|
||||
this.button7.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
|
||||
this.button7.Location = new System.Drawing.Point(185, 11);
|
||||
this.button7.Name = "button7";
|
||||
this.button7.Size = new System.Drawing.Size(93, 52);
|
||||
this.button7.TabIndex = 1;
|
||||
this.button7.Text = "Save";
|
||||
this.button7.UseVisualStyleBackColor = true;
|
||||
this.button7.Click += new System.EventHandler(this.button7_Click);
|
||||
//
|
||||
// button8
|
||||
//
|
||||
this.button8.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
|
||||
this.button8.Location = new System.Drawing.Point(185, 69);
|
||||
this.button8.Name = "button8";
|
||||
this.button8.Size = new System.Drawing.Size(93, 52);
|
||||
this.button8.TabIndex = 2;
|
||||
this.button8.Text = "Reset";
|
||||
this.button8.UseVisualStyleBackColor = true;
|
||||
this.button8.Click += new System.EventHandler(this.button8_Click);
|
||||
//
|
||||
// openFileDialog1
|
||||
//
|
||||
this.openFileDialog1.Filter = "Images|*.png;*.jpg;*.bmp;*.gif";
|
||||
//
|
||||
// button9
|
||||
//
|
||||
this.button9.Location = new System.Drawing.Point(13, 40);
|
||||
this.button9.Name = "button9";
|
||||
this.button9.Size = new System.Drawing.Size(128, 23);
|
||||
this.button9.TabIndex = 3;
|
||||
this.button9.Text = "Set background picture";
|
||||
this.button9.UseVisualStyleBackColor = true;
|
||||
this.button9.Click += new System.EventHandler(this.button9_Click);
|
||||
//
|
||||
// button10
|
||||
//
|
||||
this.button10.Location = new System.Drawing.Point(13, 124);
|
||||
this.button10.Name = "button10";
|
||||
this.button10.Size = new System.Drawing.Size(128, 23);
|
||||
this.button10.TabIndex = 4;
|
||||
this.button10.Text = "Set font style";
|
||||
this.button10.UseVisualStyleBackColor = true;
|
||||
this.button10.Click += new System.EventHandler(this.button10_Click);
|
||||
//
|
||||
// fontDialog1
|
||||
//
|
||||
this.fontDialog1.Color = System.Drawing.Color.White;
|
||||
this.fontDialog1.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
|
||||
//
|
||||
// button3
|
||||
//
|
||||
this.button3.Location = new System.Drawing.Point(13, 96);
|
||||
this.button3.Name = "button3";
|
||||
this.button3.Size = new System.Drawing.Size(128, 23);
|
||||
this.button3.TabIndex = 5;
|
||||
this.button3.Text = "Set font color";
|
||||
this.button3.UseVisualStyleBackColor = true;
|
||||
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||
//
|
||||
// button11
|
||||
//
|
||||
this.button11.Location = new System.Drawing.Point(13, 180);
|
||||
this.button11.Name = "button11";
|
||||
this.button11.Size = new System.Drawing.Size(128, 23);
|
||||
this.button11.TabIndex = 6;
|
||||
this.button11.Text = "Set sub-button color";
|
||||
this.button11.UseVisualStyleBackColor = true;
|
||||
this.button11.Click += new System.EventHandler(this.button11_Click);
|
||||
//
|
||||
// button12
|
||||
//
|
||||
this.button12.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
|
||||
this.button12.Location = new System.Drawing.Point(185, 127);
|
||||
this.button12.Name = "button12";
|
||||
this.button12.Size = new System.Drawing.Size(93, 52);
|
||||
this.button12.TabIndex = 7;
|
||||
this.button12.Text = "Export Theme";
|
||||
this.button12.UseVisualStyleBackColor = true;
|
||||
this.button12.Click += new System.EventHandler(this.button12_Click);
|
||||
//
|
||||
// button13
|
||||
//
|
||||
this.button13.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
|
||||
this.button13.Location = new System.Drawing.Point(185, 185);
|
||||
this.button13.Name = "button13";
|
||||
this.button13.Size = new System.Drawing.Size(93, 52);
|
||||
this.button13.TabIndex = 8;
|
||||
this.button13.Text = "Import theme";
|
||||
this.button13.UseVisualStyleBackColor = true;
|
||||
this.button13.Click += new System.EventHandler(this.button13_Click);
|
||||
//
|
||||
// openThemeDialog
|
||||
//
|
||||
this.openThemeDialog.Filter = "Text Files|*.txt";
|
||||
//
|
||||
// themeForm
|
||||
//
|
||||
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(290, 272);
|
||||
this.Controls.Add(this.button13);
|
||||
this.Controls.Add(this.button12);
|
||||
this.Controls.Add(this.button11);
|
||||
this.Controls.Add(this.button3);
|
||||
this.Controls.Add(this.button10);
|
||||
this.Controls.Add(this.button9);
|
||||
this.Controls.Add(this.button8);
|
||||
this.Controls.Add(this.button7);
|
||||
this.Controls.Add(this.button6);
|
||||
this.Controls.Add(this.button5);
|
||||
this.Controls.Add(this.button4);
|
||||
this.Controls.Add(this.button2);
|
||||
this.Controls.Add(this.button1);
|
||||
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.Name = "themeForm";
|
||||
this.Text = "Create Your Theme";
|
||||
this.Load += new System.EventHandler(this.themeForm_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ColorDialog colorDialog1;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.Button button4;
|
||||
private System.Windows.Forms.Button button5;
|
||||
private System.Windows.Forms.Button button6;
|
||||
private System.Windows.Forms.Button button7;
|
||||
private System.Windows.Forms.Button button8;
|
||||
private System.Windows.Forms.OpenFileDialog openFileDialog1;
|
||||
private System.Windows.Forms.Button button9;
|
||||
private System.Windows.Forms.Button button10;
|
||||
private System.Windows.Forms.FontDialog fontDialog1;
|
||||
private System.Windows.Forms.Button button3;
|
||||
private System.Windows.Forms.Button button11;
|
||||
private System.Windows.Forms.Button button12;
|
||||
private System.Windows.Forms.Button button13;
|
||||
private System.Windows.Forms.OpenFileDialog openThemeDialog;
|
||||
}
|
||||
}
|
||||
199
ThemeForm.cs
Normal file
199
ThemeForm.cs
Normal file
@@ -0,0 +1,199 @@
|
||||
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;
|
||||
using System.Collections;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace AndroidSideloader
|
||||
{
|
||||
public partial class themeForm : Form
|
||||
{
|
||||
|
||||
public themeForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void button4_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (colorDialog1.ShowDialog() == DialogResult.OK)
|
||||
Properties.Settings.Default.ButtonColor = colorDialog1.Color;
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (colorDialog1.ShowDialog() == DialogResult.OK)
|
||||
Properties.Settings.Default.PanelColor = colorDialog1.Color;
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (colorDialog1.ShowDialog() == DialogResult.OK)
|
||||
Properties.Settings.Default.BackColor = colorDialog1.Color;
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void button7_Click(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Save();
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void button8_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("Microsoft Sans Serif", 11, FontStyle.Regular);
|
||||
Properties.Settings.Default.FontColor = Color.White;
|
||||
Properties.Settings.Default.Save();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void button5_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (colorDialog1.ShowDialog() == DialogResult.OK)
|
||||
Properties.Settings.Default.ComboBoxColor = colorDialog1.Color;
|
||||
}
|
||||
|
||||
private void button6_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (colorDialog1.ShowDialog() == DialogResult.OK)
|
||||
Properties.Settings.Default.TextBoxColor = colorDialog1.Color;
|
||||
}
|
||||
|
||||
private void button9_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
String extension = Path.GetExtension(openFileDialog1.FileName);
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\pic" + extension))
|
||||
File.Delete(Environment.CurrentDirectory + "\\pic" + extension);
|
||||
File.Copy(openFileDialog1.FileName, Environment.CurrentDirectory + "\\pic" + extension);
|
||||
Properties.Settings.Default.BackPicturePath = Environment.CurrentDirectory + "\\pic" + extension ;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void button10_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (fontDialog1.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Properties.Settings.Default.FontStyle = fontDialog1.Font;
|
||||
}
|
||||
}
|
||||
|
||||
private void button3_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (colorDialog1.ShowDialog() == DialogResult.OK)
|
||||
Properties.Settings.Default.FontColor = colorDialog1.Color;
|
||||
}
|
||||
|
||||
private void button11_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (colorDialog1.ShowDialog() == DialogResult.OK)
|
||||
Properties.Settings.Default.SubButtonColor = colorDialog1.Color;
|
||||
}
|
||||
|
||||
private void themeForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void button12_Click(object sender, EventArgs e)
|
||||
{
|
||||
String BackColor = ColorTranslator.ToHtml(Properties.Settings.Default.BackColor);
|
||||
String PanelColor = ColorTranslator.ToHtml(Properties.Settings.Default.PanelColor);
|
||||
String TextBoxColor = ColorTranslator.ToHtml(Properties.Settings.Default.TextBoxColor);
|
||||
String ComboBoxColor = ColorTranslator.ToHtml(Properties.Settings.Default.ComboBoxColor);
|
||||
String ButtonColor = ColorTranslator.ToHtml(Properties.Settings.Default.ButtonColor);
|
||||
String SubButtonColor = ColorTranslator.ToHtml(Properties.Settings.Default.SubButtonColor);
|
||||
String FontColor = ColorTranslator.ToHtml(Properties.Settings.Default.FontColor);
|
||||
var cvt = new FontConverter();
|
||||
string FontStyle = cvt.ConvertToString(Properties.Settings.Default.FontStyle);
|
||||
int i;
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\theme.txt"))
|
||||
{
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\theme11.txt"))
|
||||
MessageBox.Show("You can't export more than 12 themes, sorry :(");
|
||||
else
|
||||
{
|
||||
for (i = 1; i <= 10; i++)
|
||||
{
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\theme" + i + ".txt"))
|
||||
continue;
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
File.WriteAllText(Environment.CurrentDirectory + "\\theme" + i + ".txt", "#SideloaderTheme# \n" + BackColor + "\n" + PanelColor + "\n" + ButtonColor + "\n" + SubButtonColor + "\n"
|
||||
+ TextBoxColor + "\n" + ComboBoxColor + "\n" + FontColor + "\n" + FontStyle);
|
||||
MessageBox.Show("Theme exported as theme" + i + ".txt");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
File.WriteAllText(Environment.CurrentDirectory + "\\theme.txt", "#SideloaderTheme# \n" + BackColor + "\n" + PanelColor + "\n" + ButtonColor + "\n" + SubButtonColor + "\n"
|
||||
+ TextBoxColor + "\n" + ComboBoxColor + "\n" + FontColor + "\n" + FontStyle);
|
||||
MessageBox.Show("Theme exported as theme.txt");
|
||||
}
|
||||
}
|
||||
|
||||
private void button13_Click(object sender, EventArgs e)
|
||||
{
|
||||
openThemeDialog.InitialDirectory = Environment.CurrentDirectory;
|
||||
if (openThemeDialog.ShowDialog() == DialogResult.OK) {
|
||||
using (StreamReader sr = new StreamReader(openThemeDialog.FileName))
|
||||
{
|
||||
StringCollection myCol = new StringCollection();
|
||||
myCol.AddRange(File.ReadAllLines(openThemeDialog.FileName));
|
||||
if (myCol.Contains("#SideloaderTheme# "))
|
||||
{
|
||||
String[] settings = new String[myCol.Count];
|
||||
myCol.CopyTo(settings, 0);
|
||||
|
||||
Color BackColor = ColorTranslator.FromHtml(settings[1]);
|
||||
Color PanelColor = ColorTranslator.FromHtml(settings[2]);
|
||||
Color ButtonColor = ColorTranslator.FromHtml(settings[3]);
|
||||
Color SubButtonColor = ColorTranslator.FromHtml(settings[4]);
|
||||
Color TextBoxColor = ColorTranslator.FromHtml(settings[5]);
|
||||
Color ComboBoxColor = ColorTranslator.FromHtml(settings[6]);
|
||||
Color FontColor = ColorTranslator.FromHtml(settings[7]);
|
||||
Properties.Settings.Default.BackColor = BackColor;
|
||||
Properties.Settings.Default.PanelColor = PanelColor;
|
||||
Properties.Settings.Default.ButtonColor = ButtonColor;
|
||||
Properties.Settings.Default.SubButtonColor = SubButtonColor;
|
||||
Properties.Settings.Default.TextBoxColor = TextBoxColor;
|
||||
Properties.Settings.Default.ComboBoxColor = ComboBoxColor;
|
||||
Properties.Settings.Default.FontColor = FontColor;
|
||||
System.ComponentModel.TypeConverter converter =
|
||||
System.ComponentModel.TypeDescriptor.GetConverter(typeof(Font));
|
||||
var cvt = new FontConverter();
|
||||
Font f = cvt.ConvertFromString(settings[8]) as Font;
|
||||
Properties.Settings.Default.FontStyle = f;
|
||||
}
|
||||
else
|
||||
MessageBox.Show("The file you've selected is not a Rookie Sideloader theme file!");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
132
ThemeForm.resx
Normal file
132
ThemeForm.resx
Normal file
@@ -0,0 +1,132 @@
|
||||
<?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="colorDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>138, 17</value>
|
||||
</metadata>
|
||||
<metadata name="fontDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>278, 17</value>
|
||||
</metadata>
|
||||
<metadata name="openThemeDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>394, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
82
TroubleshootForm.Designer.cs
generated
Normal file
82
TroubleshootForm.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -39,7 +39,22 @@ 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");
|
||||
https://t.me/questgameclub/thxdonatetome
|
||||
NEW PASSWORDS
|
||||
t.me/questgameclub/thx/donate/pass
|
||||
t.me/questgameclub/donate
|
||||
t.me/questgameclub/thxdonatevip
|
||||
t.me/questgameclub/thxdonatetome
|
||||
https://t.me/questgameclub/thxdonate
|
||||
t.me/questgameclub/thxdonate
|
||||
t.me/questgameclub/thxdonateclub
|
||||
t.me/questgameclub/thx/donate/vip
|
||||
t.me/questgameclub/donate/thx
|
||||
t.me/questgameclub/thx/donate
|
||||
t.me/questgameclub/donateclub
|
||||
t.me/questgameclub/donatevip
|
||||
t.me/questgameclub/thx/donate/vip
|
||||
t.me/questgameclub/thx/donate/quest");
|
||||
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");
|
||||
|
||||
|
||||
120
TroubleshootForm.resx
Normal file
120
TroubleshootForm.resx
Normal 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
85
UsernameForm.Designer.cs
generated
Normal 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
90
UsernameForm.cs
Normal 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
120
UsernameForm.resx
Normal 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>
|
||||
@@ -1,5 +1,35 @@
|
||||
1.5
|
||||
+ Added ETA, based on CURRENT DOWNLOAD SPEED NOT DELTA OF IT
|
||||
+ Added DLS label instead of showing it in the toolbar
|
||||
+ Added more indication of what the software is doing, in the toolbar
|
||||
+ Added some tooltips
|
||||
|
||||
1.4
|
||||
+ Donators can now change the speed of the donate button color change (even disable)
|
||||
+ Auto update for the rclone config
|
||||
+ Theme export and import buttons (by gotard)
|
||||
|
||||
1.3
|
||||
+ Added progress bar logic for game downloading with rclone
|
||||
+ Uninstalling apps now asks the user if it should also remove game data
|
||||
= Sorted installed apps combobox
|
||||
= Fixed uninstalling apps by package names lol nobody knew was broken
|
||||
|
||||
1.2
|
||||
+ 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
|
||||
= Fixed a problem when deleting an app
|
||||
|
||||
1.0
|
||||
+ Added games auto download
|
||||
@@ -118,4 +148,7 @@
|
||||
+ Renamed buttons
|
||||
|
||||
0.1
|
||||
+ Initial Release
|
||||
+ Initial Release
|
||||
|
||||
HF - Hot Fix
|
||||
SU - Small Update
|
||||
3
donators.txt
Normal file
3
donators.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
CC0E0834BFEBFBFF000906E9;5000
|
||||
184204E0178BFBFF00870F10;0
|
||||
E5148390BFEBFBFF000906EA;250
|
||||
@@ -6,4 +6,5 @@
|
||||
<package id="MetroFramework.Design" version="1.2.0.3" targetFramework="net452" />
|
||||
<package id="MetroFramework.Fonts" version="1.2.0.3" targetFramework="net452" />
|
||||
<package id="MetroFramework.RunTime" version="1.2.0.3" targetFramework="net452" />
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net452" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user