Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 6 additions & 23 deletions dev/CameraApp-Refs.sln
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DrawnUi.Maui", "..\..\Drawn
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShadersCamera", "..\src\app\ShadersCamera.csproj", "{9F71E169-6D24-B132-9826-8A6DA9FFFBC8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShadersCarouselDemo", "..\..\ShadersCarousel\src\demo\ShadersCarouselDemo.csproj", "{A53734E6-1896-F775-5EEA-1A175FDA2B28}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FastRepro", "..\..\DrawnUi.Maui\src\Maui\Samples\FastRepro\FastRepro.csproj", "{AF62CF62-A472-E87B-7225-8BD178AC3DF2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sandbox", "..\..\DrawnUi.Maui\src\Maui\Samples\Sandbox\Sandbox.csproj", "{9E8CD945-AB2A-2FEF-D962-CBDC4A7248EF}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CameraTests", "..\..\DrawnUi.Maui\src\Maui\Samples\Camera\CameraTests.csproj", "{2C274321-F41E-090D-C929-79400D88D71E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand All @@ -47,21 +43,10 @@ Global
{9F71E169-6D24-B132-9826-8A6DA9FFFBC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F71E169-6D24-B132-9826-8A6DA9FFFBC8}.Release|Any CPU.Build.0 = Release|Any CPU
{9F71E169-6D24-B132-9826-8A6DA9FFFBC8}.Release|Any CPU.Deploy.0 = Release|Any CPU
{A53734E6-1896-F775-5EEA-1A175FDA2B28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A53734E6-1896-F775-5EEA-1A175FDA2B28}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A53734E6-1896-F775-5EEA-1A175FDA2B28}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{A53734E6-1896-F775-5EEA-1A175FDA2B28}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A53734E6-1896-F775-5EEA-1A175FDA2B28}.Release|Any CPU.Build.0 = Release|Any CPU
{A53734E6-1896-F775-5EEA-1A175FDA2B28}.Release|Any CPU.Deploy.0 = Release|Any CPU
{AF62CF62-A472-E87B-7225-8BD178AC3DF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AF62CF62-A472-E87B-7225-8BD178AC3DF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AF62CF62-A472-E87B-7225-8BD178AC3DF2}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{AF62CF62-A472-E87B-7225-8BD178AC3DF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AF62CF62-A472-E87B-7225-8BD178AC3DF2}.Release|Any CPU.Build.0 = Release|Any CPU
{9E8CD945-AB2A-2FEF-D962-CBDC4A7248EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E8CD945-AB2A-2FEF-D962-CBDC4A7248EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E8CD945-AB2A-2FEF-D962-CBDC4A7248EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E8CD945-AB2A-2FEF-D962-CBDC4A7248EF}.Release|Any CPU.Build.0 = Release|Any CPU
{2C274321-F41E-090D-C929-79400D88D71E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2C274321-F41E-090D-C929-79400D88D71E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2C274321-F41E-090D-C929-79400D88D71E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2C274321-F41E-090D-C929-79400D88D71E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -70,9 +55,7 @@ Global
{DD2D491D-7046-41D2-A00E-FE65CBADE85E} = {5B1CDC4F-5ED6-4662-8EC6-3DE3FF0B05BE}
{83974207-9636-48DD-BDB3-98EDECBB1107} = {5B1CDC4F-5ED6-4662-8EC6-3DE3FF0B05BE}
{93E119B1-4378-87DF-2DD2-A818D1E6C2A2} = {5B1CDC4F-5ED6-4662-8EC6-3DE3FF0B05BE}
{A53734E6-1896-F775-5EEA-1A175FDA2B28} = {5B1CDC4F-5ED6-4662-8EC6-3DE3FF0B05BE}
{AF62CF62-A472-E87B-7225-8BD178AC3DF2} = {5B1CDC4F-5ED6-4662-8EC6-3DE3FF0B05BE}
{9E8CD945-AB2A-2FEF-D962-CBDC4A7248EF} = {5B1CDC4F-5ED6-4662-8EC6-3DE3FF0B05BE}
{2C274321-F41E-090D-C929-79400D88D71E} = {5B1CDC4F-5ED6-4662-8EC6-3DE3FF0B05BE}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {329E3D0C-A3F7-4A3E-B61C-6B2D1BD7F708}
Expand Down
2 changes: 1 addition & 1 deletion src/app/Platforms/Android/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.4" android:versionCode="104101">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.5" android:versionCode="105201">
<application android:allowBackup="true" android:largeHeap="true" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true">
<provider android:name="androidx.core.content.FileProvider" android:authorities="com.appomobi.drawnui.shaderscam.provider" android:exported="false" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"></meta-data>
Expand Down
2 changes: 1 addition & 1 deletion src/app/Platforms/Android/MainActivity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
namespace ShadersCamera
{
[Activity(Theme = "@style/MainTheme", MainLauncher = true,
LaunchMode = LaunchMode.SingleTask,
LaunchMode = LaunchMode.SingleInstance,

Copilot AI Mar 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing the main activity to LaunchMode.SingleInstance materially alters Android task/back-stack and intent delivery semantics (activity runs in its own task, no other activities can join it). If the goal is just to avoid duplicate instances, SingleTask is usually sufficient; otherwise please document why SingleInstance is required and verify share/deep-link flows still work.

Suggested change
LaunchMode = LaunchMode.SingleInstance,
LaunchMode = LaunchMode.SingleTask,

Copilot uses AI. Check for mistakes.
ConfigurationChanges = ConfigChanges.ScreenSize
| ConfigChanges.Orientation
| ConfigChanges.UiMode
Expand Down
9 changes: 9 additions & 0 deletions src/app/Platforms/iOS/AppDelegate.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
using Foundation;
using UIKit;

Copilot AI Mar 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using UIKit; is currently only needed for code that is commented out, so it will be an unused using directive. Either remove the using or re-enable the orientation override (if it’s required).

Suggested change
using UIKit;

Copilot uses AI. Check for mistakes.

namespace ShadersCamera
{
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();

/*
[Export("application:supportedInterfaceOrientationsForWindow:")]
public UIInterfaceOrientationMask GetSupportedInterfaceOrientations(UIApplication application, UIWindow forWindow)
{
return UIInterfaceOrientationMask.Portrait;
}
*/
}
}
9 changes: 5 additions & 4 deletions src/app/Platforms/iOS/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>CFBundleVersion</key>
<string>141002</string>
<string>151004</string>
Comment on lines 5 to +6

Copilot AI Mar 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CFBundleVersion (151004) doesn’t match the PR title/version sync target (105201) and also diverges from Android versionCode (105201). If the intent is to keep build numbers aligned across platforms, update iOS to the same scheme or clarify the versioning policy.

Copilot uses AI. Check for mistakes.
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIDeviceFamily</key>
Expand All @@ -14,13 +14,14 @@
<key>XSAppIconAssets</key>
<string>Assets.xcassets/icon.appiconset</string>
<key>NSCameraUsageDescription</key>
<string>This app uses the camera to capture and process photos.</string>
<string>We need camera access to capture and process photos.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app saves photos you take to library.</string>
<string>We need access to your photo library to save photos you take.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app saves photos you take to library.</string>
<string>We need access to your photo library to save photos you take.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app allows you to save geolocation data to photo metadata.</string>

<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
Expand Down
3 changes: 3 additions & 0 deletions src/app/Resources/Strings/ResStrings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,9 @@
<value>- Tap anywhere on the screen to set frame as preview
- Choose your filter from bottom drawer menu!
- Can zoom camera with fingers
- Tap shutter to take a photo
- Tap PHOTO/VIDEO label to switch mode

Copilot AI Mar 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WelcomeDetails instructs users to tap a PHOTO/VIDEO label to switch modes, but the current Fluent UI has the capture-mode label creation commented out, so this instruction is inaccurate. Either wire up and show the mode label, or update the welcome text to match the current UI.

Suggested change
- Tap PHOTO/VIDEO label to switch mode

Copilot uses AI. Check for mistakes.
- In VIDEO mode, tap shutter to start/stop recording
- Open settings for more!</value>
</data>
<data name="Settings" xml:space="preserve">
Expand Down
18 changes: 14 additions & 4 deletions src/app/ShadersCamera.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
<PropertyGroup>

<!--<TargetFrameworks>net9.0-ios;</TargetFrameworks>-->
<!--<TargetFrameworks>net9.0-android;</TargetFrameworks>-->
<TargetFrameworks>net9.0-android;</TargetFrameworks>

<TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net9.0-windows10.0.19041.0</TargetFrameworks>
<!--<TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net9.0-windows10.0.19041.0</TargetFrameworks>-->
Comment on lines 5 to +9

Copilot AI Mar 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The project is now pinned to net9.0-android only, with iOS/macCatalyst/Windows target frameworks commented out. If this PR is only meant to sync app versioning, this is a breaking build/config change; consider restoring the multi-target list (or documenting why other TFMs are intentionally disabled).

Copilot uses AI. Check for mistakes.

<OutputType>Exe</OutputType>
<RootNamespace>ShadersCamera</RootNamespace>
Expand Down Expand Up @@ -63,6 +63,11 @@
<AndroidResource Include="Platforms\Android\Resources\*\*.webp" />
</ItemGroup>

<PropertyGroup Condition="$(TargetFramework.Contains('ios'))">
<ProvisioningType>manual</ProvisioningType>
<CodesignKey>Apple Distribution: NIKOLAY KOVALSKIY (F5H2D34D9G)</CodesignKey>
<CodesignProvision>ShadersCam AppStore</CodesignProvision>
</PropertyGroup>
Comment on lines +66 to +70

Copilot AI Mar 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The iOS codesigning settings (CodesignKey / CodesignProvision) are hard-coded in the project file. This is machine/account-specific and can break builds for other developers/CI; move these to a user-specific/CI-only import (e.g., Directory.Build.props, *.targets excluded from source, or build pipeline variables) instead of committing distribution identity details to the repo.

Copilot uses AI. Check for mistakes.

<ItemGroup>

Expand Down Expand Up @@ -96,7 +101,7 @@
</ItemGroup>-->

<ItemGroup>
<PackageReference Include="DrawnUi.Maui.Camera" Version="1.9.1.1" />
<!--<PackageReference Include="DrawnUi.Maui.Camera" Version="1.9.1.1" />-->
<PackageReference Include="AppoMobi.Maui.FastPopups" Version="1.2.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.0" />
<PackageReference Include="Microsoft.Maui.Controls" Version="9.0.70" />
Expand Down Expand Up @@ -151,6 +156,11 @@
</ItemGroup>


<ItemGroup>
<ProjectReference Include="..\..\..\DrawnUi.Maui\src\Maui\Addons\DrawnUi.Maui.Camera\DrawnUi.Maui.Camera.csproj" />

Copilot AI Mar 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DrawnUi.Maui.Camera NuGet reference is commented out and replaced with a ProjectReference pointing outside this repository (..\..\..\DrawnUi.Maui\...). This will fail for anyone who doesn’t have that sibling path (and in most CI checkouts). Prefer keeping the PackageReference, or ensure the referenced project is included via submodule / repository layout that CI can resolve.

Suggested change
<ProjectReference Include="..\..\..\DrawnUi.Maui\src\Maui\Addons\DrawnUi.Maui.Camera\DrawnUi.Maui.Camera.csproj" />
<PackageReference Include="DrawnUi.Maui.Camera" Version="1.0.0" />

Copilot uses AI. Check for mistakes.
</ItemGroup>



<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
Expand Down
Loading
Loading