Upgrade to .net5.0-adnroid framework
This commit is contained in:
parent
a42acb8176
commit
8fcb6e9041
Binary file not shown.
|
@ -16,12 +16,14 @@
|
||||||
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
|
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
|
||||||
<AndroidResgenClass>Resource</AndroidResgenClass>
|
<AndroidResgenClass>Resource</AndroidResgenClass>
|
||||||
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
||||||
<AndroidUseLatestPlatformSdk>false</AndroidUseLatestPlatformSdk>
|
<AndroidUseLatestPlatformSdk>true</AndroidUseLatestPlatformSdk>
|
||||||
<TargetFrameworkVersion>v12.0</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v12.0</TargetFrameworkVersion>
|
||||||
|
<TargetFramework>net5.0-android</TargetFramework>
|
||||||
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
|
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
|
||||||
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
|
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
|
||||||
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
|
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
|
||||||
<AndroidEnableSGenConcurrent>true</AndroidEnableSGenConcurrent>
|
<AndroidEnableSGenConcurrent>true</AndroidEnableSGenConcurrent>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>True</DebugSymbols>
|
<DebugSymbols>True</DebugSymbols>
|
||||||
|
@ -32,12 +34,12 @@
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
|
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
|
||||||
<AndroidLinkMode>None</AndroidLinkMode>
|
<AndroidLinkMode>Full</AndroidLinkMode>
|
||||||
<EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk>
|
<EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk>
|
||||||
<AndroidManagedSymbols>false</AndroidManagedSymbols>
|
<AndroidManagedSymbols>false</AndroidManagedSymbols>
|
||||||
<AndroidUseAapt2>false</AndroidUseAapt2>
|
<AndroidUseAapt2>false</AndroidUseAapt2>
|
||||||
<AndroidSupportedAbis>armeabi-v7a;x86;arm64-v8a;x86_64</AndroidSupportedAbis>
|
<AndroidSupportedAbis>armeabi-v7a;x86;arm64-v8a;x86_64</AndroidSupportedAbis>
|
||||||
<AndroidDexTool>dx</AndroidDexTool>
|
<AndroidDexTool>d8</AndroidDexTool>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
<DebugSymbols>True</DebugSymbols>
|
<DebugSymbols>True</DebugSymbols>
|
||||||
|
@ -51,9 +53,9 @@
|
||||||
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
|
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
|
||||||
<AndroidLinkMode>None</AndroidLinkMode>
|
<AndroidLinkMode>None</AndroidLinkMode>
|
||||||
<EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk>
|
<EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk>
|
||||||
<AndroidUseAapt2>false</AndroidUseAapt2>
|
<AndroidUseAapt2>true</AndroidUseAapt2>
|
||||||
<AndroidSupportedAbis>armeabi-v7a;x86;arm64-v8a;x86_64</AndroidSupportedAbis>
|
<AndroidSupportedAbis>armeabi-v7a;x86;arm64-v8a;x86_64</AndroidSupportedAbis>
|
||||||
<AndroidDexTool>dx</AndroidDexTool>
|
<AndroidDexTool>d8</AndroidDexTool>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Resources\Resource.designer.cs" />
|
<Compile Include="Resources\Resource.designer.cs" />
|
||||||
|
@ -77,43 +79,29 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\SMAPI\SMAPI.csproj" />
|
<ProjectReference Include="..\SMAPI\SMAPI.csproj" />
|
||||||
<Reference Include="Microsoft.AppCenter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
|
<Reference Include="StardewValley">
|
||||||
<HintPath>..\packages\Microsoft.AppCenter.2.6.4\lib\MonoAndroid403\Microsoft.AppCenter.dll</HintPath>
|
<HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\base_1.5.6.31\assemblies\StardewValley.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.AppCenter.Analytics, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
|
<Reference Include="StardewValley.GameData">
|
||||||
<HintPath>..\packages\Microsoft.AppCenter.Analytics.2.6.4\lib\MonoAndroid403\Microsoft.AppCenter.Analytics.dll</HintPath>
|
<HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\base_1.5.6.31\assemblies\StardewValley.GameData.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.AppCenter.Analytics.Android.Bindings, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
|
<Reference Include="xTile">
|
||||||
<HintPath>..\packages\Microsoft.AppCenter.Analytics.2.6.4\lib\MonoAndroid403\Microsoft.AppCenter.Analytics.Android.Bindings.dll</HintPath>
|
<HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\base_1.5.6.31\assemblies\xTile.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.AppCenter.Android.Bindings, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
|
<Reference Include="BmFont">
|
||||||
<HintPath>..\packages\Microsoft.AppCenter.2.6.4\lib\MonoAndroid403\Microsoft.AppCenter.Android.Bindings.dll</HintPath>
|
<HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\base_1.5.6.31\assemblies\BmFont.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.AppCenter.Crashes, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
|
<!-- <PackageReference Include="MonoGame.Framework.Android">-->
|
||||||
<HintPath>..\packages\Microsoft.AppCenter.Crashes.2.6.4\lib\MonoAndroid403\Microsoft.AppCenter.Crashes.dll</HintPath>
|
<!-- <Version>3.6.0.862</Version>-->
|
||||||
<Private>True</Private>
|
<!-- </PackageReference>-->
|
||||||
</Reference>
|
<Reference Include="MonoGame.Framework">
|
||||||
<Reference Include="Microsoft.AppCenter.Crashes.Android.Bindings, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
|
<HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\base_1.5.6.31\assemblies\MonoGame.Framework.dll</HintPath>
|
||||||
<HintPath>..\packages\Microsoft.AppCenter.Crashes.2.6.4\lib\MonoAndroid403\Microsoft.AppCenter.Crashes.Android.Bindings.dll</HintPath>
|
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
|
||||||
<PackageReference Include="MonoGame.Framework.Android">
|
|
||||||
<Version>3.6.0.862</Version>
|
|
||||||
</PackageReference>
|
|
||||||
<Reference Include="MonoGame.Framework, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
|
|
||||||
<HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\base_1.4.5.145\assemblies\MonoGame.Framework.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="MonoGame.Framework.Content.Pipeline">
|
|
||||||
<HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\base_1.4.5.145\assemblies\MonoGame.Framework.Content.Pipeline.dll</HintPath>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="Mono.Android" />
|
<Reference Include="Mono.Android" />
|
||||||
|
<Reference Include="Mono.Security" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<AndroidResource Include="Resources\mipmap\ic_launcher.png" />
|
<AndroidResource Include="Resources\mipmap\ic_launcher.png" />
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="151" android:versionName="1.4.5.151" android:installLocation="auto" package="com.zane.stardewvalley2" platformBuildVersionCode="29" platformBuildVersionName="9">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="156" android:versionName="1.5.6.31" android:installLocation="auto" package="com.zane.stardewvalley2" platformBuildVersionCode="31" platformBuildVersionName="9">
|
||||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="29" />
|
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="31" />
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace Loader
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.1.0.5")]
|
||||||
public partial class Resource
|
public partial class Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -80,11 +80,9 @@ namespace Loader
|
||||||
global::StardewModdingAPI.Resource.Id.action_divider = global::Loader.Resource.Id.action_divider;
|
global::StardewModdingAPI.Resource.Id.action_divider = global::Loader.Resource.Id.action_divider;
|
||||||
global::StardewModdingAPI.Resource.Id.action_image = global::Loader.Resource.Id.action_image;
|
global::StardewModdingAPI.Resource.Id.action_image = global::Loader.Resource.Id.action_image;
|
||||||
global::StardewModdingAPI.Resource.Id.action_text = global::Loader.Resource.Id.action_text;
|
global::StardewModdingAPI.Resource.Id.action_text = global::Loader.Resource.Id.action_text;
|
||||||
global::StardewModdingAPI.Resource.Id.appIcon = global::Loader.Resource.Id.appIcon;
|
|
||||||
global::StardewModdingAPI.Resource.Id.async = global::Loader.Resource.Id.async;
|
global::StardewModdingAPI.Resource.Id.async = global::Loader.Resource.Id.async;
|
||||||
global::StardewModdingAPI.Resource.Id.blocking = global::Loader.Resource.Id.blocking;
|
global::StardewModdingAPI.Resource.Id.blocking = global::Loader.Resource.Id.blocking;
|
||||||
global::StardewModdingAPI.Resource.Id.chronometer = global::Loader.Resource.Id.chronometer;
|
global::StardewModdingAPI.Resource.Id.chronometer = global::Loader.Resource.Id.chronometer;
|
||||||
global::StardewModdingAPI.Resource.Id.description = global::Loader.Resource.Id.description;
|
|
||||||
global::StardewModdingAPI.Resource.Id.forever = global::Loader.Resource.Id.forever;
|
global::StardewModdingAPI.Resource.Id.forever = global::Loader.Resource.Id.forever;
|
||||||
global::StardewModdingAPI.Resource.Id.icon = global::Loader.Resource.Id.icon;
|
global::StardewModdingAPI.Resource.Id.icon = global::Loader.Resource.Id.icon;
|
||||||
global::StardewModdingAPI.Resource.Id.icon_group = global::Loader.Resource.Id.icon_group;
|
global::StardewModdingAPI.Resource.Id.icon_group = global::Loader.Resource.Id.icon_group;
|
||||||
|
@ -93,23 +91,17 @@ namespace Loader
|
||||||
global::StardewModdingAPI.Resource.Id.line1 = global::Loader.Resource.Id.line1;
|
global::StardewModdingAPI.Resource.Id.line1 = global::Loader.Resource.Id.line1;
|
||||||
global::StardewModdingAPI.Resource.Id.line3 = global::Loader.Resource.Id.line3;
|
global::StardewModdingAPI.Resource.Id.line3 = global::Loader.Resource.Id.line3;
|
||||||
global::StardewModdingAPI.Resource.Id.normal = global::Loader.Resource.Id.normal;
|
global::StardewModdingAPI.Resource.Id.normal = global::Loader.Resource.Id.normal;
|
||||||
global::StardewModdingAPI.Resource.Id.notificationLayout = global::Loader.Resource.Id.notificationLayout;
|
|
||||||
global::StardewModdingAPI.Resource.Id.notification_background = global::Loader.Resource.Id.notification_background;
|
global::StardewModdingAPI.Resource.Id.notification_background = global::Loader.Resource.Id.notification_background;
|
||||||
global::StardewModdingAPI.Resource.Id.notification_main_column = global::Loader.Resource.Id.notification_main_column;
|
global::StardewModdingAPI.Resource.Id.notification_main_column = global::Loader.Resource.Id.notification_main_column;
|
||||||
global::StardewModdingAPI.Resource.Id.notification_main_column_container = global::Loader.Resource.Id.notification_main_column_container;
|
global::StardewModdingAPI.Resource.Id.notification_main_column_container = global::Loader.Resource.Id.notification_main_column_container;
|
||||||
global::StardewModdingAPI.Resource.Id.progress_bar = global::Loader.Resource.Id.progress_bar;
|
|
||||||
global::StardewModdingAPI.Resource.Id.progress_bar_frame = global::Loader.Resource.Id.progress_bar_frame;
|
|
||||||
global::StardewModdingAPI.Resource.Id.progress_text = global::Loader.Resource.Id.progress_text;
|
|
||||||
global::StardewModdingAPI.Resource.Id.right_icon = global::Loader.Resource.Id.right_icon;
|
global::StardewModdingAPI.Resource.Id.right_icon = global::Loader.Resource.Id.right_icon;
|
||||||
global::StardewModdingAPI.Resource.Id.right_side = global::Loader.Resource.Id.right_side;
|
global::StardewModdingAPI.Resource.Id.right_side = global::Loader.Resource.Id.right_side;
|
||||||
global::StardewModdingAPI.Resource.Id.spacer = global::Loader.Resource.Id.spacer;
|
|
||||||
global::StardewModdingAPI.Resource.Id.tag_transition_group = global::Loader.Resource.Id.tag_transition_group;
|
global::StardewModdingAPI.Resource.Id.tag_transition_group = global::Loader.Resource.Id.tag_transition_group;
|
||||||
global::StardewModdingAPI.Resource.Id.tag_unhandled_key_event_manager = global::Loader.Resource.Id.tag_unhandled_key_event_manager;
|
global::StardewModdingAPI.Resource.Id.tag_unhandled_key_event_manager = global::Loader.Resource.Id.tag_unhandled_key_event_manager;
|
||||||
global::StardewModdingAPI.Resource.Id.tag_unhandled_key_listeners = global::Loader.Resource.Id.tag_unhandled_key_listeners;
|
global::StardewModdingAPI.Resource.Id.tag_unhandled_key_listeners = global::Loader.Resource.Id.tag_unhandled_key_listeners;
|
||||||
global::StardewModdingAPI.Resource.Id.text = global::Loader.Resource.Id.text;
|
global::StardewModdingAPI.Resource.Id.text = global::Loader.Resource.Id.text;
|
||||||
global::StardewModdingAPI.Resource.Id.text2 = global::Loader.Resource.Id.text2;
|
global::StardewModdingAPI.Resource.Id.text2 = global::Loader.Resource.Id.text2;
|
||||||
global::StardewModdingAPI.Resource.Id.time = global::Loader.Resource.Id.time;
|
global::StardewModdingAPI.Resource.Id.time = global::Loader.Resource.Id.time;
|
||||||
global::StardewModdingAPI.Resource.Id.time_remaining = global::Loader.Resource.Id.time_remaining;
|
|
||||||
global::StardewModdingAPI.Resource.Id.title = global::Loader.Resource.Id.title;
|
global::StardewModdingAPI.Resource.Id.title = global::Loader.Resource.Id.title;
|
||||||
global::StardewModdingAPI.Resource.Integer.status_bar_notification_info_maxnum = global::Loader.Resource.Integer.status_bar_notification_info_maxnum;
|
global::StardewModdingAPI.Resource.Integer.status_bar_notification_info_maxnum = global::Loader.Resource.Integer.status_bar_notification_info_maxnum;
|
||||||
global::StardewModdingAPI.Resource.Layout.notification_action = global::Loader.Resource.Layout.notification_action;
|
global::StardewModdingAPI.Resource.Layout.notification_action = global::Loader.Resource.Layout.notification_action;
|
||||||
|
@ -118,38 +110,9 @@ namespace Loader
|
||||||
global::StardewModdingAPI.Resource.Layout.notification_template_icon_group = global::Loader.Resource.Layout.notification_template_icon_group;
|
global::StardewModdingAPI.Resource.Layout.notification_template_icon_group = global::Loader.Resource.Layout.notification_template_icon_group;
|
||||||
global::StardewModdingAPI.Resource.Layout.notification_template_part_chronometer = global::Loader.Resource.Layout.notification_template_part_chronometer;
|
global::StardewModdingAPI.Resource.Layout.notification_template_part_chronometer = global::Loader.Resource.Layout.notification_template_part_chronometer;
|
||||||
global::StardewModdingAPI.Resource.Layout.notification_template_part_time = global::Loader.Resource.Layout.notification_template_part_time;
|
global::StardewModdingAPI.Resource.Layout.notification_template_part_time = global::Loader.Resource.Layout.notification_template_part_time;
|
||||||
global::StardewModdingAPI.Resource.Layout.status_bar_ongoing_event_progress_bar = global::Loader.Resource.Layout.status_bar_ongoing_event_progress_bar;
|
|
||||||
global::StardewModdingAPI.Resource.String.app_name = global::Loader.Resource.String.app_name;
|
global::StardewModdingAPI.Resource.String.app_name = global::Loader.Resource.String.app_name;
|
||||||
global::StardewModdingAPI.Resource.String.hello = global::Loader.Resource.String.hello;
|
global::StardewModdingAPI.Resource.String.hello = global::Loader.Resource.String.hello;
|
||||||
global::StardewModdingAPI.Resource.String.kilobytes_per_second = global::Loader.Resource.String.kilobytes_per_second;
|
|
||||||
global::StardewModdingAPI.Resource.String.notification_download_complete = global::Loader.Resource.String.notification_download_complete;
|
|
||||||
global::StardewModdingAPI.Resource.String.notification_download_failed = global::Loader.Resource.String.notification_download_failed;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_completed = global::Loader.Resource.String.state_completed;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_connecting = global::Loader.Resource.String.state_connecting;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_downloading = global::Loader.Resource.String.state_downloading;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_failed = global::Loader.Resource.String.state_failed;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_failed_cancelled = global::Loader.Resource.String.state_failed_cancelled;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_failed_fetching_url = global::Loader.Resource.String.state_failed_fetching_url;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_failed_sdcard_full = global::Loader.Resource.String.state_failed_sdcard_full;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_failed_unlicensed = global::Loader.Resource.String.state_failed_unlicensed;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_fetching_url = global::Loader.Resource.String.state_fetching_url;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_idle = global::Loader.Resource.String.state_idle;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_paused_by_request = global::Loader.Resource.String.state_paused_by_request;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_paused_network_setup_failure = global::Loader.Resource.String.state_paused_network_setup_failure;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_paused_network_unavailable = global::Loader.Resource.String.state_paused_network_unavailable;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_paused_roaming = global::Loader.Resource.String.state_paused_roaming;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_paused_sdcard_unavailable = global::Loader.Resource.String.state_paused_sdcard_unavailable;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_paused_wifi_disabled = global::Loader.Resource.String.state_paused_wifi_disabled;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_paused_wifi_unavailable = global::Loader.Resource.String.state_paused_wifi_unavailable;
|
|
||||||
global::StardewModdingAPI.Resource.String.state_unknown = global::Loader.Resource.String.state_unknown;
|
|
||||||
global::StardewModdingAPI.Resource.String.status_bar_notification_info_overflow = global::Loader.Resource.String.status_bar_notification_info_overflow;
|
global::StardewModdingAPI.Resource.String.status_bar_notification_info_overflow = global::Loader.Resource.String.status_bar_notification_info_overflow;
|
||||||
global::StardewModdingAPI.Resource.String.time_remaining = global::Loader.Resource.String.time_remaining;
|
|
||||||
global::StardewModdingAPI.Resource.String.time_remaining_notification = global::Loader.Resource.String.time_remaining_notification;
|
|
||||||
global::StardewModdingAPI.Resource.Style.ButtonBackground = global::Loader.Resource.Style.ButtonBackground;
|
|
||||||
global::StardewModdingAPI.Resource.Style.NotificationText = global::Loader.Resource.Style.NotificationText;
|
|
||||||
global::StardewModdingAPI.Resource.Style.NotificationTextSecondary = global::Loader.Resource.Style.NotificationTextSecondary;
|
|
||||||
global::StardewModdingAPI.Resource.Style.NotificationTextShadow = global::Loader.Resource.Style.NotificationTextShadow;
|
|
||||||
global::StardewModdingAPI.Resource.Style.NotificationTitle = global::Loader.Resource.Style.NotificationTitle;
|
|
||||||
global::StardewModdingAPI.Resource.Style.TextAppearance_Compat_Notification = global::Loader.Resource.Style.TextAppearance_Compat_Notification;
|
global::StardewModdingAPI.Resource.Style.TextAppearance_Compat_Notification = global::Loader.Resource.Style.TextAppearance_Compat_Notification;
|
||||||
global::StardewModdingAPI.Resource.Style.TextAppearance_Compat_Notification_Info = global::Loader.Resource.Style.TextAppearance_Compat_Notification_Info;
|
global::StardewModdingAPI.Resource.Style.TextAppearance_Compat_Notification_Info = global::Loader.Resource.Style.TextAppearance_Compat_Notification_Info;
|
||||||
global::StardewModdingAPI.Resource.Style.TextAppearance_Compat_Notification_Line2 = global::Loader.Resource.Style.TextAppearance_Compat_Notification_Line2;
|
global::StardewModdingAPI.Resource.Style.TextAppearance_Compat_Notification_Line2 = global::Loader.Resource.Style.TextAppearance_Compat_Notification_Line2;
|
||||||
|
@ -441,9 +404,6 @@ namespace Loader
|
||||||
// aapt resource value: 0x7f0a001a
|
// aapt resource value: 0x7f0a001a
|
||||||
public const int actions = 2131361818;
|
public const int actions = 2131361818;
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a001d
|
|
||||||
public const int appIcon = 2131361821;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0008
|
// aapt resource value: 0x7f0a0008
|
||||||
public const int async = 2131361800;
|
public const int async = 2131361800;
|
||||||
|
|
||||||
|
@ -453,9 +413,6 @@ namespace Loader
|
||||||
// aapt resource value: 0x7f0a0018
|
// aapt resource value: 0x7f0a0018
|
||||||
public const int chronometer = 2131361816;
|
public const int chronometer = 2131361816;
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0022
|
|
||||||
public const int description = 2131361826;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a000a
|
// aapt resource value: 0x7f0a000a
|
||||||
public const int forever = 2131361802;
|
public const int forever = 2131361802;
|
||||||
|
|
||||||
|
@ -480,9 +437,6 @@ namespace Loader
|
||||||
// aapt resource value: 0x7f0a000c
|
// aapt resource value: 0x7f0a000c
|
||||||
public const int normal = 2131361804;
|
public const int normal = 2131361804;
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a001c
|
|
||||||
public const int notificationLayout = 2131361820;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0016
|
// aapt resource value: 0x7f0a0016
|
||||||
public const int notification_background = 2131361814;
|
public const int notification_background = 2131361814;
|
||||||
|
|
||||||
|
@ -492,24 +446,12 @@ namespace Loader
|
||||||
// aapt resource value: 0x7f0a0010
|
// aapt resource value: 0x7f0a0010
|
||||||
public const int notification_main_column_container = 2131361808;
|
public const int notification_main_column_container = 2131361808;
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0021
|
|
||||||
public const int progress_bar = 2131361825;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0020
|
|
||||||
public const int progress_bar_frame = 2131361824;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a001e
|
|
||||||
public const int progress_text = 2131361822;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0015
|
// aapt resource value: 0x7f0a0015
|
||||||
public const int right_icon = 2131361813;
|
public const int right_icon = 2131361813;
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0013
|
// aapt resource value: 0x7f0a0013
|
||||||
public const int right_side = 2131361811;
|
public const int right_side = 2131361811;
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0023
|
|
||||||
public const int spacer = 2131361827;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0002
|
// aapt resource value: 0x7f0a0002
|
||||||
public const int tag_transition_group = 2131361794;
|
public const int tag_transition_group = 2131361794;
|
||||||
|
|
||||||
|
@ -528,9 +470,6 @@ namespace Loader
|
||||||
// aapt resource value: 0x7f0a0017
|
// aapt resource value: 0x7f0a0017
|
||||||
public const int time = 2131361815;
|
public const int time = 2131361815;
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a001f
|
|
||||||
public const int time_remaining = 2131361823;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f0a0007
|
// aapt resource value: 0x7f0a0007
|
||||||
public const int title = 2131361799;
|
public const int title = 2131361799;
|
||||||
|
|
||||||
|
@ -581,9 +520,6 @@ namespace Loader
|
||||||
// aapt resource value: 0x7f040005
|
// aapt resource value: 0x7f040005
|
||||||
public const int notification_template_part_time = 2130968581;
|
public const int notification_template_part_time = 2130968581;
|
||||||
|
|
||||||
// aapt resource value: 0x7f040006
|
|
||||||
public const int status_bar_ongoing_event_progress_bar = 2130968582;
|
|
||||||
|
|
||||||
static Layout()
|
static Layout()
|
||||||
{
|
{
|
||||||
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||||
|
@ -622,86 +558,17 @@ namespace Loader
|
||||||
public partial class String
|
public partial class String
|
||||||
{
|
{
|
||||||
|
|
||||||
// aapt resource value: 0x7f06001a
|
// aapt resource value: 0x7f060003
|
||||||
public const int action_settings = 2131099674;
|
public const int action_settings = 2131099651;
|
||||||
|
|
||||||
// aapt resource value: 0x7f060002
|
|
||||||
public const int app_name = 2131099650;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060001
|
// aapt resource value: 0x7f060001
|
||||||
public const int hello = 2131099649;
|
public const int app_name = 2131099649;
|
||||||
|
|
||||||
// aapt resource value: 0x7f060003
|
|
||||||
public const int kilobytes_per_second = 2131099651;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060004
|
|
||||||
public const int notification_download_complete = 2131099652;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060005
|
|
||||||
public const int notification_download_failed = 2131099653;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060006
|
|
||||||
public const int state_completed = 2131099654;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060007
|
|
||||||
public const int state_connecting = 2131099655;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060008
|
|
||||||
public const int state_downloading = 2131099656;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060009
|
|
||||||
public const int state_failed = 2131099657;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f06000a
|
|
||||||
public const int state_failed_cancelled = 2131099658;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f06000b
|
|
||||||
public const int state_failed_fetching_url = 2131099659;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f06000c
|
|
||||||
public const int state_failed_sdcard_full = 2131099660;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f06000d
|
|
||||||
public const int state_failed_unlicensed = 2131099661;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f06000e
|
|
||||||
public const int state_fetching_url = 2131099662;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f06000f
|
|
||||||
public const int state_idle = 2131099663;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060010
|
|
||||||
public const int state_paused_by_request = 2131099664;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060011
|
|
||||||
public const int state_paused_network_setup_failure = 2131099665;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060012
|
|
||||||
public const int state_paused_network_unavailable = 2131099666;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060013
|
|
||||||
public const int state_paused_roaming = 2131099667;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060014
|
|
||||||
public const int state_paused_sdcard_unavailable = 2131099668;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060015
|
|
||||||
public const int state_paused_wifi_disabled = 2131099669;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060016
|
|
||||||
public const int state_paused_wifi_unavailable = 2131099670;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060017
|
|
||||||
public const int state_unknown = 2131099671;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f060000
|
// aapt resource value: 0x7f060000
|
||||||
public const int status_bar_notification_info_overflow = 2131099648;
|
public const int hello = 2131099648;
|
||||||
|
|
||||||
// aapt resource value: 0x7f060018
|
// aapt resource value: 0x7f060002
|
||||||
public const int time_remaining = 2131099672;
|
public const int status_bar_notification_info_overflow = 2131099650;
|
||||||
|
|
||||||
// aapt resource value: 0x7f060019
|
|
||||||
public const int time_remaining_notification = 2131099673;
|
|
||||||
|
|
||||||
static String()
|
static String()
|
||||||
{
|
{
|
||||||
|
@ -716,21 +583,6 @@ namespace Loader
|
||||||
public partial class Style
|
public partial class Style
|
||||||
{
|
{
|
||||||
|
|
||||||
// aapt resource value: 0x7f09000a
|
|
||||||
public const int ButtonBackground = 2131296266;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f090008
|
|
||||||
public const int NotificationText = 2131296264;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f090007
|
|
||||||
public const int NotificationTextSecondary = 2131296263;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f09000b
|
|
||||||
public const int NotificationTextShadow = 2131296267;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f090009
|
|
||||||
public const int NotificationTitle = 2131296265;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7f090000
|
// aapt resource value: 0x7f090000
|
||||||
public const int TextAppearance_Compat_Notification = 2131296256;
|
public const int TextAppearance_Compat_Notification = 2131296256;
|
||||||
|
|
||||||
|
@ -746,8 +598,8 @@ namespace Loader
|
||||||
// aapt resource value: 0x7f090003
|
// aapt resource value: 0x7f090003
|
||||||
public const int TextAppearance_Compat_Notification_Title = 2131296259;
|
public const int TextAppearance_Compat_Notification_Title = 2131296259;
|
||||||
|
|
||||||
// aapt resource value: 0x7f09000c
|
// aapt resource value: 0x7f090007
|
||||||
public const int Theme_Splash = 2131296268;
|
public const int Theme_Splash = 2131296263;
|
||||||
|
|
||||||
// aapt resource value: 0x7f090004
|
// aapt resource value: 0x7f090004
|
||||||
public const int Widget_Compat_NotificationActionContainer = 2131296260;
|
public const int Widget_Compat_NotificationActionContainer = 2131296260;
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Microsoft.AppCenter" version="2.6.4" targetFramework="monoandroid10.0" />
|
</packages>
|
||||||
<package id="Microsoft.AppCenter.Analytics" version="2.6.4" targetFramework="monoandroid10.0" />
|
|
||||||
<package id="Microsoft.AppCenter.Crashes" version="2.6.4" targetFramework="monoandroid10.0" />
|
|
||||||
</packages>
|
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
|
||||||
|
#nullable enable
|
||||||
|
namespace System.Linq
|
||||||
|
{
|
||||||
|
public static class EnumerableExtension
|
||||||
|
{
|
||||||
|
/// <summary>Produces a sequence of tuples with elements from the two specified sequences.</summary>
|
||||||
|
/// <param name="first">The first sequence to merge.</param>
|
||||||
|
/// <param name="second">The second sequence to merge.</param>
|
||||||
|
/// <typeparam name="TFirst">The type of the elements of the first input sequence.</typeparam>
|
||||||
|
/// <typeparam name="TSecond">The type of the elements of the second input sequence.</typeparam>
|
||||||
|
/// <returns>A sequence of tuples with elements taken from the first and second sequences, in that order.</returns>
|
||||||
|
public static IEnumerable<(TFirst First, TSecond Second)> Zip<TFirst, TSecond>(
|
||||||
|
this IEnumerable<TFirst> first,
|
||||||
|
IEnumerable<TSecond> second)
|
||||||
|
{
|
||||||
|
if (first == null)
|
||||||
|
throw new ArgumentNullException("first");
|
||||||
|
if (second == null)
|
||||||
|
throw new ArgumentNullException("second");
|
||||||
|
return ZipIterator<TFirst, TSecond>(first, second);
|
||||||
|
}
|
||||||
|
#nullable disable
|
||||||
|
private static IEnumerable<(TFirst First, TSecond Second)> ZipIterator<TFirst, TSecond>(
|
||||||
|
IEnumerable<TFirst> first,
|
||||||
|
IEnumerable<TSecond> second)
|
||||||
|
{
|
||||||
|
using (IEnumerator<TFirst> e1 = first.GetEnumerator())
|
||||||
|
{
|
||||||
|
using (IEnumerator<TSecond> e2 = second.GetEnumerator())
|
||||||
|
{
|
||||||
|
while (e1.MoveNext() && e2.MoveNext())
|
||||||
|
yield return (e1.Current, e2.Current);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,71 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProductVersion>8.0.30703</ProductVersion>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
|
<ProjectGuid>{E5FE4C97-1A7C-4A97-9904-7351CA020C7F}</ProjectGuid>
|
||||||
|
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>MobilePatch</RootNamespace>
|
||||||
|
<AssemblyName>MobilePatch</AssemblyName>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
|
||||||
|
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
||||||
|
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
|
||||||
|
<TargetFrameworkVersion>v12.0</TargetFrameworkVersion>
|
||||||
|
<TargetFramework>net5.0-android</TargetFramework>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Mono.Android" />
|
||||||
|
<Reference Include="mscorlib" />
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Mobile\EnumerableExtension.cs" />
|
||||||
|
<Compile Include="Mobile\MobileMemoryExtension.cs" />
|
||||||
|
<Compile Include="Mobile\MobileTypeExtension.cs" />
|
||||||
|
<Compile Include="Resources\Resource.Designer.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\AboutResources.txt" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<AndroidResource Include="Resources\values\strings.xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Resources\drawable\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
|
@ -0,0 +1,30 @@
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using Android.App;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("MobilePatch")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("MobilePatch")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// 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")]
|
|
@ -0,0 +1,44 @@
|
||||||
|
Images, layout descriptions, binary blobs and string dictionaries can be included
|
||||||
|
in your application as resource files. Various Android APIs are designed to
|
||||||
|
operate on the resource IDs instead of dealing with images, strings or binary blobs
|
||||||
|
directly.
|
||||||
|
|
||||||
|
For example, a sample Android app that contains a user interface layout (main.axml),
|
||||||
|
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
|
||||||
|
would keep its resources in the "Resources" directory of the application:
|
||||||
|
|
||||||
|
Resources/
|
||||||
|
drawable/
|
||||||
|
icon.png
|
||||||
|
|
||||||
|
layout/
|
||||||
|
main.axml
|
||||||
|
|
||||||
|
values/
|
||||||
|
strings.xml
|
||||||
|
|
||||||
|
In order to get the build system to recognize Android resources, set the build action to
|
||||||
|
"AndroidResource". The native Android APIs do not operate directly with filenames, but
|
||||||
|
instead operate on resource IDs. When you compile an Android application that uses resources,
|
||||||
|
the build system will package the resources for distribution and generate a class called "R"
|
||||||
|
(this is an Android convention) that contains the tokens for each one of the resources
|
||||||
|
included. For example, for the above Resources layout, this is what the R class would expose:
|
||||||
|
|
||||||
|
public class R {
|
||||||
|
public class drawable {
|
||||||
|
public const int icon = 0x123;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class layout {
|
||||||
|
public const int main = 0x456;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class strings {
|
||||||
|
public const int first_string = 0xabc;
|
||||||
|
public const int second_string = 0xbcd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
|
||||||
|
to reference the layout/main.axml file, or R.strings.first_string to reference the first
|
||||||
|
string in the dictionary file values/strings.xml.
|
|
@ -0,0 +1,59 @@
|
||||||
|
#pragma warning disable 1591
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[assembly: global::Android.Runtime.ResourceDesignerAttribute("MobilePatch.Resource", IsApplication=false)]
|
||||||
|
|
||||||
|
namespace MobilePatch
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.1.0.5")]
|
||||||
|
public partial class Resource
|
||||||
|
{
|
||||||
|
|
||||||
|
static Resource()
|
||||||
|
{
|
||||||
|
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||||
|
}
|
||||||
|
|
||||||
|
public partial class Attribute
|
||||||
|
{
|
||||||
|
|
||||||
|
static Attribute()
|
||||||
|
{
|
||||||
|
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Attribute()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public partial class String
|
||||||
|
{
|
||||||
|
|
||||||
|
// aapt resource value: 0x7F010000
|
||||||
|
public static int app_name = 2130771968;
|
||||||
|
|
||||||
|
// aapt resource value: 0x7F010001
|
||||||
|
public static int hello = 2130771969;
|
||||||
|
|
||||||
|
static String()
|
||||||
|
{
|
||||||
|
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#pragma warning restore 1591
|
|
@ -0,0 +1,4 @@
|
||||||
|
<resources>
|
||||||
|
<string name="hello">Hello World, Click Me!</string>
|
||||||
|
<string name="app_name">MobilePatch</string>
|
||||||
|
</resources>
|
|
@ -2,7 +2,9 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
#if !SMAPI_FOR_MOBILE
|
||||||
using Pathoschild.Http.Client;
|
using Pathoschild.Http.Client;
|
||||||
|
#endif
|
||||||
using StardewModdingAPI.Toolkit.Serialization;
|
using StardewModdingAPI.Toolkit.Serialization;
|
||||||
using StardewModdingAPI.Toolkit.Utilities;
|
using StardewModdingAPI.Toolkit.Utilities;
|
||||||
|
|
||||||
|
@ -17,8 +19,10 @@ namespace StardewModdingAPI.Toolkit.Framework.Clients.WebApi
|
||||||
/// <summary>The API version number.</summary>
|
/// <summary>The API version number.</summary>
|
||||||
private readonly ISemanticVersion Version;
|
private readonly ISemanticVersion Version;
|
||||||
|
|
||||||
|
#if !SMAPI_FOR_MOBILE
|
||||||
/// <summary>The underlying HTTP client.</summary>
|
/// <summary>The underlying HTTP client.</summary>
|
||||||
private readonly IClient Client;
|
private readonly IClient Client;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*********
|
/*********
|
||||||
|
@ -30,10 +34,12 @@ namespace StardewModdingAPI.Toolkit.Framework.Clients.WebApi
|
||||||
public WebApiClient(string baseUrl, ISemanticVersion version)
|
public WebApiClient(string baseUrl, ISemanticVersion version)
|
||||||
{
|
{
|
||||||
this.Version = version;
|
this.Version = version;
|
||||||
|
#if !SMAPI_FOR_MOBILE
|
||||||
this.Client = new FluentClient(baseUrl)
|
this.Client = new FluentClient(baseUrl)
|
||||||
.SetUserAgent($"SMAPI/{version}");
|
.SetUserAgent($"SMAPI/{version}");
|
||||||
|
|
||||||
this.Client.Formatters.JsonFormatter.SerializerSettings = JsonHelper.CreateDefaultSettings();
|
this.Client.Formatters.JsonFormatter.SerializerSettings = JsonHelper.CreateDefaultSettings();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Get metadata about a set of mods from the web API.</summary>
|
/// <summary>Get metadata about a set of mods from the web API.</summary>
|
||||||
|
@ -44,6 +50,7 @@ namespace StardewModdingAPI.Toolkit.Framework.Clients.WebApi
|
||||||
/// <param name="includeExtendedMetadata">Whether to include extended metadata for each mod.</param>
|
/// <param name="includeExtendedMetadata">Whether to include extended metadata for each mod.</param>
|
||||||
public async Task<IDictionary<string, ModEntryModel>> GetModInfoAsync(ModSearchEntryModel[] mods, ISemanticVersion apiVersion, ISemanticVersion gameVersion, Platform platform, bool includeExtendedMetadata = false)
|
public async Task<IDictionary<string, ModEntryModel>> GetModInfoAsync(ModSearchEntryModel[] mods, ISemanticVersion apiVersion, ISemanticVersion gameVersion, Platform platform, bool includeExtendedMetadata = false)
|
||||||
{
|
{
|
||||||
|
#if !SMAPI_FOR_MOBILE
|
||||||
ModEntryModel[] result = await this.Client
|
ModEntryModel[] result = await this.Client
|
||||||
.PostAsync(
|
.PostAsync(
|
||||||
$"v{this.Version}/mods",
|
$"v{this.Version}/mods",
|
||||||
|
@ -52,12 +59,16 @@ namespace StardewModdingAPI.Toolkit.Framework.Clients.WebApi
|
||||||
.As<ModEntryModel[]>();
|
.As<ModEntryModel[]>();
|
||||||
|
|
||||||
return result.ToDictionary(p => p.ID);
|
return result.ToDictionary(p => p.ID);
|
||||||
|
#endif
|
||||||
|
return new Dictionary<string, ModEntryModel>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
|
#if !SMAPI_FOR_MOBILE
|
||||||
this.Client.Dispose();
|
this.Client.Dispose();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,12 +10,14 @@
|
||||||
|
|
||||||
<!-- <Import Project="..\..\build\common.targets" />-->
|
<!-- <Import Project="..\..\build\common.targets" />-->
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup Condition="'$(BUILD_FOR_MOBILE)' != ''">
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
|
<Reference Include="Newtonsoft.Json">
|
||||||
<PackageReference Include="Pathoschild.Http.FluentClient" Version="4.2.0" />
|
<HintPath>..\..\build\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(BUILD_FOR_MOBILE)' == ''">
|
<ItemGroup Condition="'$(BUILD_FOR_MOBILE)' == ''">
|
||||||
|
<PackageReference Include="Pathoschild.Http.FluentClient" Version="4.2.0" />
|
||||||
<PackageReference Include="HtmlAgilityPack" Version="1.11.28" />
|
<PackageReference Include="HtmlAgilityPack" Version="1.11.28" />
|
||||||
<PackageReference Include="Pathoschild.Http.FluentClient" Version="4.2.0" />
|
<PackageReference Include="Pathoschild.Http.FluentClient" Version="4.2.0" />
|
||||||
<PackageReference Include="System.Management" Version="5.0.0" Condition="'$(OS)' == 'Windows_NT'" />
|
<PackageReference Include="System.Management" Version="5.0.0" Condition="'$(OS)' == 'Windows_NT'" />
|
||||||
|
|
|
@ -112,6 +112,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SMAPI.Tests.ModApiConsumer"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SMAPI", "SMAPI\SMAPI.csproj", "{EBD13EAB-E70B-4D9F-92C2-C34A21E1FA32}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SMAPI", "SMAPI\SMAPI.csproj", "{EBD13EAB-E70B-4D9F-92C2-C34A21E1FA32}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MobilePatch", "MobilePatch\MobilePatch.csproj", "{E5FE4C97-1A7C-4A97-9904-7351CA020C7F}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
@ -179,6 +181,10 @@ Global
|
||||||
{EBD13EAB-E70B-4D9F-92C2-C34A21E1FA32}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{EBD13EAB-E70B-4D9F-92C2-C34A21E1FA32}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{EBD13EAB-E70B-4D9F-92C2-C34A21E1FA32}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{EBD13EAB-E70B-4D9F-92C2-C34A21E1FA32}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{EBD13EAB-E70B-4D9F-92C2-C34A21E1FA32}.Release|Any CPU.Build.0 = Release|Any CPU
|
{EBD13EAB-E70B-4D9F-92C2-C34A21E1FA32}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{E5FE4C97-1A7C-4A97-9904-7351CA020C7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E5FE4C97-1A7C-4A97-9904-7351CA020C7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E5FE4C97-1A7C-4A97-9904-7351CA020C7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{E5FE4C97-1A7C-4A97-9904-7351CA020C7F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -203,6 +209,7 @@ Global
|
||||||
{3B5BF14D-F612-4C83-9EF6-E3EBFCD08766} = {4D661178-38FB-43E4-AA5F-9B0406919344}
|
{3B5BF14D-F612-4C83-9EF6-E3EBFCD08766} = {4D661178-38FB-43E4-AA5F-9B0406919344}
|
||||||
{239AEEAC-07D1-4A3F-AA99-8C74F5038F50} = {82D22ED7-A0A7-4D64-8E92-4B6A5E74ED11}
|
{239AEEAC-07D1-4A3F-AA99-8C74F5038F50} = {82D22ED7-A0A7-4D64-8E92-4B6A5E74ED11}
|
||||||
{2A4DF030-E8B1-4BBD-AA93-D4DE68CB9D85} = {82D22ED7-A0A7-4D64-8E92-4B6A5E74ED11}
|
{2A4DF030-E8B1-4BBD-AA93-D4DE68CB9D85} = {82D22ED7-A0A7-4D64-8E92-4B6A5E74ED11}
|
||||||
|
{E5FE4C97-1A7C-4A97-9904-7351CA020C7F} = {6BBCA4D1-213F-4843-B910-DF2D66E3D8CF}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {70143042-A862-47A8-A677-7C819DDC90DC}
|
SolutionGuid = {70143042-A862-47A8-A677-7C819DDC90DC}
|
||||||
|
|
|
@ -12,14 +12,14 @@ namespace StardewModdingAPI.Events
|
||||||
*********/
|
*********/
|
||||||
/// <summary>The asset names that were invalidated.</summary>
|
/// <summary>The asset names that were invalidated.</summary>
|
||||||
#if SMAPI_FOR_MOBILE
|
#if SMAPI_FOR_MOBILE
|
||||||
public IReadOnlyCollection<IAssetName> Names { get; }
|
public IImmutableSet<IAssetName> Names { get; }
|
||||||
#else
|
#else
|
||||||
public IReadOnlySet<IAssetName> Names { get; }
|
public IReadOnlySet<IAssetName> Names { get; }
|
||||||
#endif
|
#endif
|
||||||
/// <summary>The <see cref="Names"/> with any locale codes stripped.</summary>
|
/// <summary>The <see cref="Names"/> with any locale codes stripped.</summary>
|
||||||
/// <remarks>For example, if <see cref="Names"/> contains a locale like <c>Data/Bundles.fr-FR</c>, this will have the name without locale like <c>Data/Bundles</c>. If the name has no locale, this field is equivalent.</remarks>
|
/// <remarks>For example, if <see cref="Names"/> contains a locale like <c>Data/Bundles.fr-FR</c>, this will have the name without locale like <c>Data/Bundles</c>. If the name has no locale, this field is equivalent.</remarks>
|
||||||
#if SMAPI_FOR_MOBILE
|
#if SMAPI_FOR_MOBILE
|
||||||
public IReadOnlyCollection<IAssetName> NamesWithoutLocale { get; }
|
public IImmutableSet<IAssetName> NamesWithoutLocale { get; }
|
||||||
#else
|
#else
|
||||||
public IReadOnlySet<IAssetName> NamesWithoutLocale { get; }
|
public IReadOnlySet<IAssetName> NamesWithoutLocale { get; }
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<Deterministic>True</Deterministic>
|
<Deterministic>True</Deterministic>
|
||||||
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
|
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
|
||||||
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
||||||
<AndroidUseLatestPlatformSdk>false</AndroidUseLatestPlatformSdk>
|
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
|
||||||
<TargetFrameworkVersion>v12.0</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v12.0</TargetFrameworkVersion>
|
||||||
<TargetFramework>net5.0-android</TargetFramework>
|
<TargetFramework>net5.0-android</TargetFramework>
|
||||||
<AndroidUseAapt2>true</AndroidUseAapt2>
|
<AndroidUseAapt2>true</AndroidUseAapt2>
|
||||||
|
@ -142,6 +142,9 @@
|
||||||
<Reference Include="0Harmony">
|
<Reference Include="0Harmony">
|
||||||
<HintPath>..\..\build\0Harmony.dll</HintPath>
|
<HintPath>..\..\build\0Harmony.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json">
|
||||||
|
<HintPath>..\..\build\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
<Reference Include="SMAPI.Toolkit">
|
<Reference Include="SMAPI.Toolkit">
|
||||||
<HintPath>..\SMAPI.Toolkit\bin\Debug\netstandard2.0\SMAPI.Toolkit.dll</HintPath>
|
<HintPath>..\SMAPI.Toolkit\bin\Debug\netstandard2.0\SMAPI.Toolkit.dll</HintPath>
|
||||||
|
@ -163,8 +166,6 @@
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Mono.Cecil" Version="0.11.4" />
|
<PackageReference Include="Mono.Cecil" Version="0.11.4" />
|
||||||
<PackageReference Include="MonoMod.Common" Version="22.3.5.1" />
|
<PackageReference Include="MonoMod.Common" Version="22.3.5.1" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
|
|
||||||
<PackageReference Include="Pathoschild.Http.FluentClient" Version="4.2.0" />
|
|
||||||
<Reference Include="Pintail">
|
<Reference Include="Pintail">
|
||||||
<HintPath>..\..\build\Pintail.dll</HintPath>
|
<HintPath>..\..\build\Pintail.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
@ -175,6 +176,9 @@
|
||||||
|
|
||||||
<!-- legacy package; remove in SMAPI 4.0.0 -->
|
<!-- legacy package; remove in SMAPI 4.0.0 -->
|
||||||
<PackageReference Include="System.Runtime.Caching" Version="5.0.0" />
|
<PackageReference Include="System.Runtime.Caching" Version="5.0.0" />
|
||||||
|
|
||||||
|
<PackageReference Include="System.Collections.Immutable" Version="5.0.0" />
|
||||||
|
<ProjectReference Include="..\MobilePatch\MobilePatch.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup Condition="'$(BUILD_FOR_MOBILE)' != ''">
|
<ItemGroup Condition="'$(BUILD_FOR_MOBILE)' != ''">
|
||||||
<Compile Include="**\*.cs" Exclude="**/.vshistory/**;obj/**" />
|
<Compile Include="**\*.cs" Exclude="**/.vshistory/**;obj/**" />
|
||||||
|
@ -191,10 +195,6 @@
|
||||||
<Folder Include="Resources\drawable\" />
|
<Folder Include="Resources\drawable\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="System.Collections.Immutable" Version="5.0.0" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" Condition="'$(BUILD_FOR_MOBILE)' != ''" />
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" Condition="'$(BUILD_FOR_MOBILE)' != ''" />
|
||||||
<Import Project="..\SMAPI.Internal\SMAPI.Internal.projitems" Label="Shared" />
|
<Import Project="..\SMAPI.Internal\SMAPI.Internal.projitems" Label="Shared" />
|
||||||
<Import Project="..\SMAPI.Internal.Patching\SMAPI.Internal.Patching.projitems" Label="Shared" />
|
<Import Project="..\SMAPI.Internal.Patching\SMAPI.Internal.Patching.projitems" Label="Shared" />
|
||||||
|
|
Loading…
Reference in New Issue