diff --git a/.gitignore b/.gitignore
index 2b816b58b9e16e3a4ebf11d664b91409b55db869..3a8dd966d4fad09deafcdd478542f0472821d21c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
# Ignore the samples directory, since they should be separate git projects
samples/
+e-ui-sdk.jar
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7ec2279a1cd21bf8df575059425288951aa549d1..2c7db0f156ce6176e3fd2b8a445f8d826eca6b43 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,7 +1,21 @@
stages:
- update-from-upstream
+ - build-sdk
include:
- project: 'e/priv/os/build'
ref: master
file: '/templates/.gitlab-ci-update-from-upstream.yml'
+
+image: "registry.gitlab.e.foundation:5000/e/apps/docker-android-apps-cicd:latest"
+
+before_script:
+- chmod a+x buildSdk.sh
+
+build-sdk:
+ stage: build-sdk
+ script:
+ - ./buildSdk.sh
+ artifacts:
+ paths:
+ - e-ui-sdk.jar
\ No newline at end of file
diff --git a/Android.bp b/Android.bp
index c79de2149b8c5f37a88ab06926c3257c191b58c7..687d0137a0c15ac963746f3e7826d506b03ed6b0 100644
--- a/Android.bp
+++ b/Android.bp
@@ -38,6 +38,7 @@ android_app {
resource_dirs: [
"lineage/res/res",
+ "lineage/res/res-symbol",
"sdk/res/res"
],
diff --git a/Android.mk b/Android.mk
index f8e5264c74699db581aab15b56679d3691ff2235..22f2ca5d3cce1b38105450aa063024a0d662912b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -62,6 +62,32 @@ LOCAL_JAVA_LIBRARIES := \
LOCAL_STATIC_JAVA_LIBRARIES := org.lineageos.platform.sdk
+include $(BUILD_STATIC_JAVA_LIBRARY)
+$(LOCAL_MODULE) : $(built_aar)
+
+# ===========================================================
+
+# e sdk
+# ============================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := e-sdk.aar
+
+LOCAL_JACK_ENABLED := disabled
+
+LOCAL_CONSUMER_PROGUARD_FILE := $(LOCAL_PATH)/sdk/proguard.txt
+
+LOCAL_RESOURCE_DIR += $(addprefix $(LOCAL_PATH)/, lineage/res/res)
+LOCAL_MANIFEST_FILE := lineage/res/AndroidManifest.xml
+
+lineage_sdk_exclude_files := 'lineageos/'
+LOCAL_JAR_EXCLUDE_PACKAGES := $(lineage_sdk_exclude_files)
+LOCAL_JAR_EXCLUDE_FILES := none
+
+LOCAL_JAVA_LIBRARIES := \
+ $(lineage_sdk_LOCAL_JAVA_LIBRARIES)
+
+
include $(BUILD_STATIC_JAVA_LIBRARY)
$(LOCAL_MODULE) : $(built_aar)
diff --git a/buildSdk.sh b/buildSdk.sh
new file mode 100755
index 0000000000000000000000000000000000000000..ae2640696db1bbf4d750efa996677b98aa15f543
--- /dev/null
+++ b/buildSdk.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+echo "Clearing intermediates"
+rm -rf intermediates
+mkdir intermediates
+
+if [[ -z "${ANDROID_HOME}" ]]; then
+ echo "{ANDROID_HOME} path variable is not set. Set it to point Android SDK."
+ exit 1
+else
+ build_tools_dir=$ANDROID_HOME/build-tools/29.0.2/
+fi
+
+aapt2="${build_tools_dir}/aapt2"
+
+echo "Compiling resources"
+$aapt2 compile --dir lineage/res/res -o intermediates/resources.zip
+
+platform_dir=$ANDROID_HOME/platforms/android-28
+
+echo "Linking resources"
+$aapt2 link intermediates/resources.zip -I $platform_dir/android.jar \
+ --private-symbols org.lineageos.platform.internal \
+ --allow-reserved-package-id \
+ --package-id 63 \
+ --manifest lineage/res/AndroidManifest.xml \
+ --java intermediates \
+ -o intermediates/res.apk
+
+echo "Unzipping temporary apk"
+unzip -qo intermediates/res.apk -d intermediates/
+
+# Creating obj directory
+rm -rf obj
+mkdir obj
+
+# Compiling R.java
+echo "Compiling R.java"
+javac -source 1.8 -target 1.8 $(find intermediates/lineageos -type f -name 'R.java') -d obj
+
+jar cvf e-ui-sdk.jar -C obj . -C intermediates resources.arsc
+
+echo "Clearing intermediate sources"
+rm -rf intermediates
+rm -rf obj
+echo "e-ui-sdk.jar generated successully."
\ No newline at end of file
diff --git a/lineage/res/res/values/symbols.xml b/lineage/res/res-symbol/values/symbols.xml
similarity index 100%
rename from lineage/res/res/values/symbols.xml
rename to lineage/res/res-symbol/values/symbols.xml
diff --git a/lineage/res/res/values-night/colors.xml b/lineage/res/res/values-night/colors.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8ff675b2d98612c8bf34f3a877bb81db55278e56
--- /dev/null
+++ b/lineage/res/res/values-night/colors.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ #FF5630
+
diff --git a/lineage/res/res/values/colors.xml b/lineage/res/res/values/colors.xml
index 8ff675b2d98612c8bf34f3a877bb81db55278e56..f4136f198b179451360b393315a31cb968cd1bf9 100644
--- a/lineage/res/res/values/colors.xml
+++ b/lineage/res/res/values/colors.xml
@@ -17,4 +17,26 @@
#FF5630
+
+
+
+ #FB3846
+ #007FFF
+ #24527E
+ #FC7222
+ #C8CED0
+ #848484
+ #38D874
+
+
+ @color/color_default_blue1
+ @color/color_default_blue2
+ @color/color_default_green1
+ #CC000000
+ #8C000000
+ @color/color_default_gray1
+ #FFFFFF
+
diff --git a/lineage/res/res/values/public.xml b/lineage/res/res/values/public.xml
new file mode 100644
index 0000000000000000000000000000000000000000..da934afcb05c28e859a0d9a250b6ab362e912711
--- /dev/null
+++ b/lineage/res/res/values/public.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sdk/res/res/values/public.xml b/sdk/res/res/values/public.xml
index d300492a37d04515dae8122e9ef8ce2d4edce20f..9bd75bedde9e603f80817680e42601467e01fba1 100644
--- a/sdk/res/res/values/public.xml
+++ b/sdk/res/res/values/public.xml
@@ -10,5 +10,4 @@
-