Compare commits

...

24 Commits

Author SHA1 Message Date
William Swartwood
98dc7f4738 2.8.4* 2021-08-19 20:24:08 -04:00
pmow
12efbac58a Update packagelist upload message, fixed debug exe from 2.8.3 2021-08-19 18:17:04 -04:00
pmow
00cfc35102 2.8.3 hotfix for blacklist not updating 2021-08-19 16:32:23 -04:00
pmow
31d352a79e Merge pull request #79 from konqiDAM/master
ask user to upload list of installed games
2021-08-19 15:51:14 -04:00
konqi
753e1620ed blacklist download enable 2021-08-19 21:48:13 +02:00
konqi
597caad073 Merge branch 'master' into master 2021-08-19 20:00:14 +02:00
konqi
5b04c0feeb adb 2021-08-19 19:58:44 +02:00
konqi
0d0ce30e65 asks user to upload logs when closing rsl 2021-08-19 19:43:07 +02:00
konqi
5117435c8a ask user to upload installed games 2021-08-19 11:17:26 +02:00
William Swartwood
383e721f4b ADB SDK Update 2021-08-19 05:01:53 -04:00
William Swartwood
1aaa19a969 HFP thanks update 2021-08-19 04:46:48 -04:00
William Swartwood
770df54403 Beta version with new game detection, added detected new packages to log file 2021-08-19 02:29:03 -04:00
William Swartwood
3e67b331ef Autoupload WITHOUT new game detection (for live release) 2021-08-19 02:23:43 -04:00
harryeffinpotter
26442e9516 Merge pull request #78 from konqiDAM/master
upload not listed games
2021-08-18 22:34:07 -04:00
konqi
3cd715afd9 upload not listed games 2021-08-19 04:23:33 +02:00
harryeffinpotter
0ecdaab240 Merge pull request #77 from konqiDAM/master
refactored codee to allow unlimited games upload in case user has multiple updated games
2021-08-18 19:07:15 -04:00
konqi
801ec1a874 fix or when checking null 2021-08-18 22:54:36 +02:00
konqi
ebf0f9372b refactored so upload uses a class and a list, now unlimited upload posible 2021-08-18 22:52:16 +02:00
konqi
06c534dc50 Merge branch 'master' of https://github.com/nerdunit/androidsideloader into nerdunit-master
# Conflicts:
#	MainForm.Designer.cs
2021-08-18 16:14:05 +02:00
Harry Fn Potter
04289885c2 Auto upload in progress 2021-08-18 10:05:18 -04:00
konqi
8e7b9490de Merge branch 'nerdunit:master' into master 2021-08-15 19:26:00 +02:00
konqi
cec1ff48fd added Enable Passthrough API 2021-08-15 19:21:34 +02:00
Harry Fn Potter
85fad7d3ad -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

RSL 2.8.1

= Fixed crash at startup related to Upload Date column.

HFP

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

iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmEZPjAACgkQx/Rql1Vo
czdfUw/+PiQ03p3FFwuVIndiDHKvwcjcewDWASYiP2KJkDCsbaEj0U5+ntpu7mxo
ytIFuNZd47CwiYGFXi6IzEO1n9yj4LL3ONnVEogZgd3bP3Bb2b28KDdHtDX3IO5d
wWle/WMksKDywqRyjJnaP9dh+7YS0C/49H32cFokF8S69stPwPYh9LSaf4ctK0/f
y8pHN7tgOkmCR8NU6lOY9OLepBZlv+PcOAco0nIz1zHtwdRGz2vjwQqAa8NShfEy
E/rjBhM37YBULf7cOayt0FY/rDYvw6Bj8B9ht0Bn6dmWgJrhfAj01utREL8HcmPd
rNDXB7UxuR56OVy1f1gh1Fzb5f62xDydfELd/0dFYE0oDcdkHjaEkT5CnAukBmrO
y0ntjawsy40dVAwPwPSAPQ+qP9g7mDZdbjOfgP4JNFWwnxgYLlTASoUMis/hd5mg
FLaFAiMM3o72Gip+gjMl3AiuwyefKoCGfAPgNvRx0t8R3bdLfVJ0KIPpgvJ7ZuD8
n4LEHLPoldDmoshdxl/BiQyLhaEM3W3qkwANVic6/8eCqy/N23CM74L4xgUaQDoq
dvkS3PKuhLvcYh4HkZNhALj7Mavvs0x8/pIGx8bK8JCNOhKX7rGylF6erDFfZ8Ym
T2vN0PjVYS/pF//qKHPyV5yVc5piudCB895LBNIDcJK1b67nUUE=
=+e9J
-----END PGP SIGNATURE-----
2021-08-15 12:33:16 -04:00
Harry Fn Potter
028c44ba64 -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

RSL 2.8.1

= Fixed crash at startup related to Upload Date column.

HFP

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

iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmEZPjAACgkQx/Rql1Vo
czdfUw/+PiQ03p3FFwuVIndiDHKvwcjcewDWASYiP2KJkDCsbaEj0U5+ntpu7mxo
ytIFuNZd47CwiYGFXi6IzEO1n9yj4LL3ONnVEogZgd3bP3Bb2b28KDdHtDX3IO5d
wWle/WMksKDywqRyjJnaP9dh+7YS0C/49H32cFokF8S69stPwPYh9LSaf4ctK0/f
y8pHN7tgOkmCR8NU6lOY9OLepBZlv+PcOAco0nIz1zHtwdRGz2vjwQqAa8NShfEy
E/rjBhM37YBULf7cOayt0FY/rDYvw6Bj8B9ht0Bn6dmWgJrhfAj01utREL8HcmPd
rNDXB7UxuR56OVy1f1gh1Fzb5f62xDydfELd/0dFYE0oDcdkHjaEkT5CnAukBmrO
y0ntjawsy40dVAwPwPSAPQ+qP9g7mDZdbjOfgP4JNFWwnxgYLlTASoUMis/hd5mg
FLaFAiMM3o72Gip+gjMl3AiuwyefKoCGfAPgNvRx0t8R3bdLfVJ0KIPpgvJ7ZuD8
n4LEHLPoldDmoshdxl/BiQyLhaEM3W3qkwANVic6/8eCqy/N23CM74L4xgUaQDoq
dvkS3PKuhLvcYh4HkZNhALj7Mavvs0x8/pIGx8bK8JCNOhKX7rGylF6erDFfZ8Ym
T2vN0PjVYS/pF//qKHPyV5yVc5piudCB895LBNIDcJK1b67nUUE=
=+e9J
-----END PGP SIGNATURE-----
2021-08-15 12:20:03 -04:00
19 changed files with 2825 additions and 2479 deletions

2
ADB.cs
View File

@@ -14,7 +14,7 @@ namespace AndroidSideloader
class ADB
{
static Process adb = new Process();
public static string adbFolderPath = "C:\\RSL\\2.1.1\\ADB";
public static string adbFolderPath = "C:\\RSL\\2.8.2\\ADB";
public static string adbFilePath = adbFolderPath + "\\adb.exe";
public static string DeviceID = "";
public static string package = "";

Binary file not shown.

View File

@@ -15,6 +15,7 @@
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<IsWebBootstrapper>false</IsWebBootstrapper>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
@@ -27,7 +28,6 @@
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
@@ -211,6 +211,7 @@
<Compile Include="SelectFolder.cs" />
<Compile Include="Utilities\StringUtilities.cs" />
<Compile Include="Utilities\GeneralUtilities.cs" />
<Compile Include="Utilities\UploadGame.cs" />
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
<SubType>Designer</SubType>
@@ -265,6 +266,7 @@
<None Include="Resources\battery11.png" />
<None Include="Resources\battery.png" />
<None Include="Resources\battery1.png" />
<None Include="Resources\ajax-loader.gif" />
<Content Include="Resources\bluekey.png" />
<Content Include="Resources\redkey.png" />
<None Include="Resources\greenkey.png" />

View File

@@ -158,6 +158,12 @@
<setting name="BMBFchecked" serializeAs="String">
<value>True</value>
</setting>
<setting name="GamesList" serializeAs="String">
<value />
</setting>
<setting name="UploadedGameList" serializeAs="String">
<value>False</value>
</setting>
</AndroidSideloader.Properties.Settings>
<AndroidADB.Sideloader.Properties.Settings>
<setting name="checkForUpdates" serializeAs="String">

View File

@@ -1,6 +1,77 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.8.2
+ Added automatic upload to Google shared drive
for clean game files donation.
+ Added uploading GIF for duration of upload.
+ Added warning messages when user attempts
to close Rookie while games are download, installing,
or uploading.
= Threaded clean file zipping and uploading
so user can continue to use Rookie while game
is uploading.
P.S. We are looking for volunteers for the next
beta which will automatically detect new games
installed on user's headset and suggest them for
donation. Message https://t.me/Harryeffinpotter or
https://t.me/pmowpmow on Telegram to join the beta
test!
HFP
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmEd+IUACgkQx/Rql1Vo
czcyUw/+ImynsE4CXmv+LjuTH1by6L2AHZFZCQ0cgwq88OOwdir/WzPfNeqqv0e6
/QCRbRdvC6pASPgHryCkvFPFXUoLgQ+lXZY1GCBUzX0lIMqrenihQ5QUQb70LOxR
kVkivnxLJzBeQAXn+gkvPXMCIn3l0yVInsjtusVqVHtmsegcAQTwcrG7RXSsl0dr
2rkPOuvlcxMTWA4SlE16IhuLcq8L9GavpeWKoQiaoydhBGdzfAe1O4yy6UQs7Nas
9Xl3vy1mXnZIprTOtjH+zYXxcdcxb1ZAdvHdq19nqTf5iuCqO+A4TxSq4vRv6Dvt
XkJ0igXJsscpIQjJ812mZACJiJlP31yPdhZvKZXtUAQoR63iRPiEpY2gIKrd249Y
HIq0g+XaO0K8kjOAmrBxLpESEBEovhhcfvrepSh7NocsxRAAnxOJUdcbmekwRjpj
MCtMYThTYRXoR2aWxIbtaviUIecAGxuF8m+wWbxnWqJSEh4BanmQKjoh32G8geEE
PS4XMBcWQ0/MhKSibaWO0SQCjrHNtsmbVvu28rh/eD9ar4Z9tPxza43iqSepSEjK
Vlka7WxpkeqVCYnTpoLPv7I+XBBRojKlUp8aUz4MrOuuzNg08GyLFgKejU1aiw4I
7s3PjFj6e4SsRgAKHhKStjYzVTkhlbyWIguhyPdzpiNoMFEwMz8=
=EIFi
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.8.1
= Fixed crash at startup related to Upload Date column.
HFP
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmEZPjAACgkQx/Rql1Vo
czdfUw/+PiQ03p3FFwuVIndiDHKvwcjcewDWASYiP2KJkDCsbaEj0U5+ntpu7mxo
ytIFuNZd47CwiYGFXi6IzEO1n9yj4LL3ONnVEogZgd3bP3Bb2b28KDdHtDX3IO5d
wWle/WMksKDywqRyjJnaP9dh+7YS0C/49H32cFokF8S69stPwPYh9LSaf4ctK0/f
y8pHN7tgOkmCR8NU6lOY9OLepBZlv+PcOAco0nIz1zHtwdRGz2vjwQqAa8NShfEy
E/rjBhM37YBULf7cOayt0FY/rDYvw6Bj8B9ht0Bn6dmWgJrhfAj01utREL8HcmPd
rNDXB7UxuR56OVy1f1gh1Fzb5f62xDydfELd/0dFYE0oDcdkHjaEkT5CnAukBmrO
y0ntjawsy40dVAwPwPSAPQ+qP9g7mDZdbjOfgP4JNFWwnxgYLlTASoUMis/hd5mg
FLaFAiMM3o72Gip+gjMl3AiuwyefKoCGfAPgNvRx0t8R3bdLfVJ0KIPpgvJ7ZuD8
n4LEHLPoldDmoshdxl/BiQyLhaEM3W3qkwANVic6/8eCqy/N23CM74L4xgUaQDoq
dvkS3PKuhLvcYh4HkZNhALj7Mavvs0x8/pIGx8bK8JCNOhKX7rGylF6erDFfZ8Ym
T2vN0PjVYS/pF//qKHPyV5yVc5piudCB895LBNIDcJK1b67nUUE=
=+e9J
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.8
+ Added modified date to games list columns.

33
MainForm.Designer.cs generated
View File

@@ -41,6 +41,8 @@
this.copyBulkObbButton = new System.Windows.Forms.Button();
this.downloadInstallGameButton = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.ULLabel = new System.Windows.Forms.Label();
this.ULGif = new System.Windows.Forms.PictureBox();
this.BatteryLbl = new System.Windows.Forms.Label();
this.pictureBox5 = new System.Windows.Forms.PictureBox();
this.downloadingLabel = new System.Windows.Forms.Label();
@@ -92,6 +94,7 @@
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.gamesPictureBox = new System.Windows.Forms.PictureBox();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.ULGif)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit();
this.otherContainer.SuspendLayout();
this.backupContainer.SuspendLayout();
@@ -239,7 +242,7 @@
this.getApkButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.getApkButton.Size = new System.Drawing.Size(218, 28);
this.getApkButton.TabIndex = 2;
this.getApkButton.Text = "Extract App to Desktop";
this.getApkButton.Text = "Upload Selected App";
this.getApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.getApkButton.UseVisualStyleBackColor = false;
this.getApkButton.Click += new System.EventHandler(this.getApkButton_Click);
@@ -343,6 +346,8 @@
//
this.panel1.AutoScroll = true;
this.panel1.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.panel1.Controls.Add(this.ULLabel);
this.panel1.Controls.Add(this.ULGif);
this.panel1.Controls.Add(this.BatteryLbl);
this.panel1.Controls.Add(this.pictureBox5);
this.panel1.Controls.Add(this.downloadingLabel);
@@ -366,6 +371,29 @@
this.panel1.Size = new System.Drawing.Size(218, 721);
this.panel1.TabIndex = 73;
//
// ULLabel
//
this.ULLabel.AutoSize = true;
this.ULLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ULLabel.ForeColor = System.Drawing.Color.Snow;
this.ULLabel.Location = new System.Drawing.Point(154, 683);
this.ULLabel.Name = "ULLabel";
this.ULLabel.Size = new System.Drawing.Size(64, 13);
this.ULLabel.TabIndex = 87;
this.ULLabel.Text = "Uploading";
this.ULLabel.Visible = false;
//
// ULGif
//
this.ULGif.Enabled = false;
this.ULGif.Image = global::AndroidSideloader.Properties.Resources.ajax_loader;
this.ULGif.Location = new System.Drawing.Point(178, 699);
this.ULGif.Name = "ULGif";
this.ULGif.Size = new System.Drawing.Size(34, 17);
this.ULGif.TabIndex = 86;
this.ULGif.TabStop = false;
this.ULGif.Visible = false;
//
// BatteryLbl
//
this.BatteryLbl.AutoSize = true;
@@ -1260,6 +1288,7 @@
this.DragLeave += new System.EventHandler(this.Form1_DragLeave);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.ULGif)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit();
this.otherContainer.ResumeLayout(false);
this.backupContainer.ResumeLayout(false);
@@ -1338,6 +1367,8 @@
private System.Windows.Forms.Label BatteryLbl;
private System.Windows.Forms.PictureBox pictureBox5;
public System.Windows.Forms.ComboBox remotesList;
private System.Windows.Forms.PictureBox ULGif;
private System.Windows.Forms.Label ULLabel;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -60,6 +60,16 @@ namespace AndroidSideloader.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap ajax_loader {
get {
object obj = ResourceManager.GetObject("ajax-loader", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@@ -130,6 +130,9 @@
<data name="battery" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\battery.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="battery11" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\battery1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SearchGlass" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SearchGlass.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -139,7 +142,7 @@
<data name="redkey" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\redkey.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="battery11" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\battery1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="ajax-loader" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ajax-loader.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -610,5 +610,29 @@ namespace AndroidSideloader.Properties {
this["BMBFchecked"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string GamesList {
get {
return ((string)(this["GamesList"]));
}
set {
this["GamesList"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool UploadedGameList {
get {
return ((bool)(this["UploadedGameList"]));
}
set {
this["UploadedGameList"] = value;
}
}
}
}

View File

@@ -149,5 +149,11 @@
<Setting Name="BMBFchecked" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="GamesList" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="UploadedGameList" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -38,9 +38,6 @@ namespace AndroidSideloader
{
if (!MainForm.HasInternet) return new ProcessOutput("", "No internet");
//Set the password for rclone configs
Environment.SetEnvironmentVariable("RCLONE_CRYPT_REMOTE", rclonepw);
Environment.SetEnvironmentVariable("RCLONE_CONFIG_PASS", rclonepw);
ProcessOutput prcoutput = new ProcessOutput();
//Rclone output is unicode, else it will show garbage instead of unicode characters
rclone.StartInfo.StandardOutputEncoding = Encoding.UTF8;
@@ -90,7 +87,7 @@ namespace AndroidSideloader
rclone.WaitForExit();
//if there is one of these errors, we switch the mirrors
if (error.Contains("cannot fetch token") || error.Contains("authError") || (error.Contains("quota") || error.Contains("exceeded") || error.Contains("directory not found")))
if (error.Contains("400 Bad Request") || error.Contains("cannot fetch token") || error.Contains("authError") || error.Contains("quota") || error.Contains("exceeded") || error.Contains("directory not found") || error.Contains("couldn't list"))
{
string oldRemote = MainForm.currentRemote;
try
@@ -111,8 +108,10 @@ namespace AndroidSideloader
if (!output.Contains("Game Name;Release Name;") && !output.Contains("package:"))
Logger.Log($"Rclone error: {error}\nRclone Output: {output}");
if (error.Contains("There is not enough space"))
{
FlexibleMessageBox.Show("There isn't enough space on your PC to properly install this game. Please have at least 2x the size of the game you are trying to download/install available on the drive where Rookie is installed.", "NOT ENOUGH SPACE");
return prcoutput;
}
return prcoutput;
}
}

BIN
Resources/ajax-loader.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

View File

@@ -35,10 +35,7 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
}
//List of all installed package names from connected device
public static Dictionary<string, string> InstalledPackages = new Dictionary<string, string>(); //Packagename and Version
//public static List<string> InstalledPackageNames = new List<string>();
//Remove folder from device
//public static List<string> InstalledPackageNames = new List<string>(); //Remove folder from device
public static ProcessOutput RemoveFolder(string path)
{
ADB.WakeDevice();

View File

@@ -83,23 +83,32 @@ namespace AndroidSideloader
public static void initGames(string remote)
{
if (remote.Contains("08"))
Program.form.SwitchMirrors();
gameProperties.Clear();
games.Clear();
string tempGameList = RCLONE.runRcloneCommand($"cat \"{remote}:{RcloneGamesFolder}/GameList.txt\"").Output;
if (MainForm.debugMode)
{
File.WriteAllText("GamesList.txt", tempGameList);
}
string gamePropertiesLine = Utilities.StringUtilities.RemoveEverythingAfterFirst(tempGameList, "\n");
foreach (string gameProperty in gamePropertiesLine.Split(';'))
{
gameProperties.Add(gameProperty);
}
gameProperties.Add("Upload Date");
gameProperties.Add("Last Updated");
tempGameList = Utilities.StringUtilities.RemoveEverythingBeforeFirst(tempGameList, "\n");
List<rcloneFolder> gameFolders = JsonConvert.DeserializeObject<List<rcloneFolder>>(RCLONE.runRcloneCommand($"lsjson \"{remote}:{RcloneGamesFolder}\"").Output);
if (gameFolders == null || gameFolders.Count < 1)
{
Program.form.SwitchMirrors();
gameFolders = JsonConvert.DeserializeObject<List<rcloneFolder>>(RCLONE.runRcloneCommand($"lsjson \"{remote}:{RcloneGamesFolder}\"").Output);
}
foreach (string game in tempGameList.Split('\n'))
@@ -109,14 +118,18 @@ namespace AndroidSideloader
string[] splitGame = game.Split(';');
//gameFolder.find();
var gameFolder = gameFolders.Find((predicate) => predicate.Path == splitGame[1]);
//splitGame[6] = gameFolder.ModTime;
Array.Resize(ref splitGame, splitGame.Length + 1);
string gametime = Utilities.StringUtilities.RemoveEverythingAfterLast(gameFolder.ModTime, ":");
gametime = gametime.Replace("T", " ");
splitGame[splitGame.Length - 1] = gametime;
games.Add(splitGame);
var gameSynced = gameFolders.Exists((predicate) => predicate.Path == splitGame[1]);
if (gameSynced)
{
var gameFolder = gameFolders.Find((predicate) => predicate.Path == splitGame[1]);
//splitGame[6] = gameFolder.ModTime;
string gametime = Utilities.StringUtilities.RemoveEverythingAfterLast(gameFolder.ModTime, ":");
gametime = gametime.Replace("T", " ");
splitGame[splitGame.Length - 1] = gametime;
games.Add(splitGame);
}
}
}

View File

@@ -17,7 +17,7 @@ namespace AndroidSideloader
private static string RawGitHubUrl;
private static string GitHubUrl;
static readonly public string LocalVersion = "2.8";
static readonly public string LocalVersion = "2.8.4";
public static string currentVersion = string.Empty;
public static string changelog = string.Empty;

36
Utilities/UploadGame.cs Normal file
View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AndroidSideloader.Utilities
{
class UploadGame
{
private string uploadcommand;
public string Uploadcommand
{
get => uploadcommand;
set => uploadcommand = value;
}
private string pckgcommand;
public string Pckgcommand
{
get => pckgcommand;
set => pckgcommand = value;
}
private string uploadgamename;
public string Uploadgamename
{
get => uploadgamename;
set => uploadgamename = value;
}
private ulong uploadversion;
public ulong Uploadversion
{
get => uploadversion;
set => uploadversion = value;
}
}
}

View File

@@ -1,26 +1,28 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.8.4
+ Hotfix to update the exclusion list of games we need updates for.
RSL 2.8.2
+ Added automatic upload to Google shared drive
for clean game files donation.
+ Added uploading GIF for duration of upload.
+ Added warning messages when user attempts
to close Rookie while games are download, installing,
or uploading.
= Threaded clean file zipping and uploading
so user can continue to use Rookie while game
is uploading.
RSL 2.8
P.S. We are looking for volunteers for the next
beta which will automatically detect new games
installed on user's headset and suggest them for
donation. Message https://t.me/Harryeffingpotter or
https://t.me/pmowpmow on Telegram to join the beta
test!
+ Added "Upload Date" to games list columns.
= Drag and drop install will now show current APK name.
HFP
HFP
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmEYj1sACgkQx/Rql1Vo
czfO+A/+MGfS+NCkcBwYuxLOkkaojyDetDqHSVZ+onuPW3QL2IRuc4CUxNFLi9br
8mqLz/EHD5F4++Hmc1limdF+r4Xxwdz9E00u1sbJbR+QhXes4vzxGNkOJlxC1PNW
L8mEfMQLwoSyo8d4aKYJY1LsUmYaIQP81ae5MKt/4l3i2RivrCcfJvDaEBi6DJ1H
EjFlFWaPpIjNDm0m1klzcrG0RRVHXtR1xw3IKcMhPeT7VSDYuc2ySXVwVSiHAOXr
OPaDSNvNwnIGceM5HOqyQYHq+T0t/3z5bcndAq1EaLJ5W/1f8QcjRlowmMXO4uWs
a7YIsgB96i4Riy1xmINf0z2sxvFNIUwCHvTNe/kD/ppN+RFfozM3KJyGwaMxpkRw
LcG5FYwGYJZu9QhL36lokERUwsuzBb3ZVABv77oFJ/nPaS4C6CE8g5x08nXiCfqf
Lo+RbI+jPX12nLrlKXdleG/xcMAdGUaIxglfpqxi/EG9w5kzUaMXMtybdNj1/p7q
UrHgO/V2No/fsrgu28EEguIyDwk78JFHCpebrZH1/RC9ALQiN6I7eq5W1k1S9Buf
HGgYk4U2Igm2Ud2oPsqV3dtTPbxqZtM3KCP4cvbaNzoqagvPTHuLQ8LXoPj1XWAd
RfC8bi2Rulyx7Yv8uolyRqQVgHvUaPm4nIYHFpw59UTujMMkkZ0=
=kLxd
-----END PGP SIGNATURE-----
P.S MOVED PGP SIGNATURE TO CHANGELOGHISTORY.TXT @
https://github.com/nerdunit/androidsideloader

View File

@@ -1 +1 @@
2.8
2.8.4