From 557088512229f7dede07b6bbb25729641f335224 Mon Sep 17 00:00:00 2001
From: Dexer <73297572+DexerBR@users.noreply.github.com>
Date: Sun, 17 Apr 2022 21:14:07 -0300
Subject: [PATCH 1/3] Adds an option to allow add extra resources
---
 .../bootstraps/common/build/build.py          | 31 ++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/pythonforandroid/bootstraps/common/build/build.py b/pythonforandroid/bootstraps/common/build/build.py
index dcb6d2ac3b..bb03f7fc39 100644
--- a/pythonforandroid/bootstraps/common/build/build.py
+++ b/pythonforandroid/bootstraps/common/build/build.py
@@ -4,7 +4,7 @@
 import hashlib
 import json
 from os.path import (
-    dirname, join, isfile, realpath,
+    dirname, join, isfile, isdir, realpath,
     relpath, split, exists, basename
 )
 from os import environ, listdir, makedirs, remove
@@ -342,10 +342,37 @@ def make_package(args):
     res_dir = "src/main/res"
     default_icon = 'templates/kivy-icon.png'
     default_presplash = 'templates/kivy-presplash.jpg'
+
+    if args.res:
+        target_res_dirs = [
+            filename for filename in listdir(res_dir)
+            if isdir(join(res_dir, filename))
+        ]
+        source_res_dirs = [
+            filename for filename in listdir(args.res)
+            if isdir(join(args.res, filename))
+        ]
+        for directory in source_res_dirs:
+            if directory not in target_res_dirs:
+                ensure_dir(join(res_dir, directory))
+            source_dir = join(args.res, directory)
+            target_dir = join(res_dir, directory)
+
+            source_dir_files = [
+                filename for filename in listdir(source_dir)
+                if isfile(join(source_dir, filename))
+            ]
+            for filename in source_dir_files:
+                shutil.copy(
+                    join(source_dir, filename),
+                    join(target_dir, filename)
+                )
+
     shutil.copy(
         args.icon or default_icon,
         join(res_dir, 'mipmap/icon.png')
     )
+
     if args.icon_fg and args.icon_bg:
         shutil.copy(args.icon_fg, join(res_dir, 'mipmap/icon_foreground.png'))
         shutil.copy(args.icon_bg, join(res_dir, 'mipmap/icon_background.png'))
@@ -690,6 +717,8 @@ def parse_args_and_make_package(args=None):
                     action="append", default=[],
                     metavar="/path/to/source:dest",
                     help='Put this in the assets folder at assets/dest')
+    ap.add_argument('--add-res', dest='res',
+                    help=('Copy/overwrite directories and its files in the android res directory'))
     ap.add_argument('--icon', dest='icon',
                     help=('A png file to use as the icon for '
                           'the application.'))
From e92fdf3d093fc8c95839189beb43f52daeca5f59 Mon Sep 17 00:00:00 2001
From: Dexer <73297572+DexerBR@users.noreply.github.com>
Date: Fri, 29 Jul 2022 22:50:52 -0300
Subject: [PATCH 2/3] Update templating process, Fix WSL related issue
---
 .../bootstraps/common/build/build.py          | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
diff --git a/pythonforandroid/bootstraps/common/build/build.py b/pythonforandroid/bootstraps/common/build/build.py
index bb03f7fc39..156de5eae2 100644
--- a/pythonforandroid/bootstraps/common/build/build.py
+++ b/pythonforandroid/bootstraps/common/build/build.py
@@ -343,6 +343,30 @@ def make_package(args):
     default_icon = 'templates/kivy-icon.png'
     default_presplash = 'templates/kivy-presplash.jpg'
 
+    # Clean res directory
+    shutil.rmtree(res_dir)
+
+    # Create default p4a res dirs
+    default_res_dirs = [
+        "drawable", "drawable-mdpi", "drawable-hdpi", "drawable-xhdpi",
+        "drawable-xxhdpi", "layout", "mipmap", "mipmap-anydpi-v26", "values",
+        "xml"
+    ]
+    for dir in default_res_dirs:
+        ensure_dir(join(res_dir, dir))
+
+    # Copy default xml layout files
+    if get_bootstrap_name() == "sdl2":
+        default_layout_xmls = [
+            "chooser_item.xml", "main.xml", "project_chooser.xml",
+            "project_empty.xml"
+        ]
+        for xml in default_layout_xmls:
+            shutil.copy(
+                join("templates", xml),
+                join(res_dir, "layout", xml)
+            )
+
     if args.res:
         target_res_dirs = [
             filename for filename in listdir(res_dir)
@@ -368,6 +392,12 @@ def make_package(args):
                     join(target_dir, filename)
                 )
 
+            # Removes :Zone.Identifier files, for WSL users.
+            # Issue: https://github.com/microsoft/WSL/issues/7456
+            for file in listdir(join(res_dir, directory)):
+                if file.endswith(':Zone.Identifier'):
+                    remove(join(res_dir, directory, file))
+
     shutil.copy(
         args.icon or default_icon,
         join(res_dir, 'mipmap/icon.png')
From 5a7002da1db5b433ac4dc3c1c116c7925f173539 Mon Sep 17 00:00:00 2001
From: Dexer <73297572+DexerBR@users.noreply.github.com>
Date: Fri, 29 Jul 2022 23:02:18 -0300
Subject: [PATCH 3/3] Add sdl2 layout xmls to templates dir
---
 .../common/build/templates/chooser_item.xml   | 39 +++++++++++++++++++
 .../common/build/templates/main.xml           | 13 +++++++
 .../build/templates/project_chooser.xml       | 22 +++++++++++
 .../common/build/templates/project_empty.xml  | 15 +++++++
 4 files changed, 89 insertions(+)
 create mode 100644 pythonforandroid/bootstraps/common/build/templates/chooser_item.xml
 create mode 100644 pythonforandroid/bootstraps/common/build/templates/main.xml
 create mode 100644 pythonforandroid/bootstraps/common/build/templates/project_chooser.xml
 create mode 100644 pythonforandroid/bootstraps/common/build/templates/project_empty.xml
diff --git a/pythonforandroid/bootstraps/common/build/templates/chooser_item.xml b/pythonforandroid/bootstraps/common/build/templates/chooser_item.xml
new file mode 100644
index 0000000000..1823b13223
--- /dev/null
+++ b/pythonforandroid/bootstraps/common/build/templates/chooser_item.xml
@@ -0,0 +1,39 @@
+
+
+
+  
+
+  
+
+    
+
+    
+
+  
+
diff --git a/pythonforandroid/bootstraps/common/build/templates/main.xml b/pythonforandroid/bootstraps/common/build/templates/main.xml
new file mode 100644
index 0000000000..123c4b6eac
--- /dev/null
+++ b/pythonforandroid/bootstraps/common/build/templates/main.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/pythonforandroid/bootstraps/common/build/templates/project_chooser.xml b/pythonforandroid/bootstraps/common/build/templates/project_chooser.xml
new file mode 100644
index 0000000000..23828e644b
--- /dev/null
+++ b/pythonforandroid/bootstraps/common/build/templates/project_chooser.xml
@@ -0,0 +1,22 @@
+
+
+
+
+  
+
+  
+  
+
+
diff --git a/pythonforandroid/bootstraps/common/build/templates/project_empty.xml b/pythonforandroid/bootstraps/common/build/templates/project_empty.xml
new file mode 100644
index 0000000000..ee5481421d
--- /dev/null
+++ b/pythonforandroid/bootstraps/common/build/templates/project_empty.xml
@@ -0,0 +1,15 @@
+
+
+
+
+  
+
+