From 0226607987fab9372be3c3c7a68774d87f56675a Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Tue, 22 Sep 2020 07:33:27 +0000 Subject: [PATCH 1/7] /e/ UI SDK Change-Id: I99ef9d5be265d87e9eceae2a9d6eec2323453b6e --- .gitignore | 1 + .gitlab-ci.yml | 14 ++ Android.bp | 148 ++++++++++++++++++ Android.mk | 26 +++ buildSdk.sh | 46 ++++++ .../{res => res-symbol}/values/symbols.xml | 0 lineage/res/res/values-night/colors.xml | 20 +++ lineage/res/res/values/colors.xml | 22 +++ lineage/res/res/values/public.xml | 25 +++ sdk/res/res/values/public.xml | 1 - 10 files changed, 302 insertions(+), 1 deletion(-) create mode 100644 Android.bp create mode 100755 buildSdk.sh rename lineage/res/{res => res-symbol}/values/symbols.xml (100%) create mode 100644 lineage/res/res/values-night/colors.xml create mode 100644 lineage/res/res/values/public.xml diff --git a/.gitignore b/.gitignore index 2b816b58..3a8dd966 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 7ec2279a..2c7db0f1 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 new file mode 100644 index 00000000..687d0137 --- /dev/null +++ b/Android.bp @@ -0,0 +1,148 @@ +// +// Copyright (C) 2018-2019 The LineageOS Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +android_app { + name: "org.lineageos.platform-res", + certificate: "platform", + no_framework_libs: true, + manifest: "lineage/res/AndroidManifest.xml", + + aaptflags: [ + "--auto-add-overlay", + "--private-symbols", + "org.lineageos.platform.internal", + + // Framework doesn't need versioning since it IS the platform. + "--no-auto-version", + + // Tell aapt to create "extending (non-application)" resource IDs, + // since these resources will be used by many apps. + "--allow-reserved-package-id", + // Use id 0x3f (one less than app id). + "--package-id", + "63", + ], + + resource_dirs: [ + "lineage/res/res", + "lineage/res/res-symbol", + "sdk/res/res" + ], + + // Create package-export.apk, which other packages can use to get + // PRODUCT-agnostic resource data like IDs and type definitions. + export_package_resources: true, +} + + +// The LineageOS Platform Framework Library +// ============================================================ + +lineage_sdk_src = "sdk/src/java/lineageos" +lineage_sdk_internal_src = "sdk/src/java/org/lineageos/internal" +library_src = "lineage/lib/main/java" + +lineage_sdk_LOCAL_JAVA_LIBRARIES = [ + "android-support-annotations", + "android-support-v7-preference", + "android-support-v7-recyclerview", + "android-support-v14-preference", +] + +lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES = [ + "vendor.lineage.livedisplay-V2.0-java", + "vendor.lineage.touch-V1.0-java", +] + +// READ ME: ######################################################## +// +// When updating this list of aidl files, consider if that aidl is +// part of the SDK API. If it is, also add it to the list below that +// is preprocessed and distributed with the SDK. This list should +// not contain any aidl files for parcelables, but the one below should +// if you intend for 3rd parties to be able to send those objects +// across process boundaries. +// +// READ ME: ######################################################## + +java_library { + name: "org.lineageos.platform", + static_libs: [ + "telephony-ext" + ] + lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES, + + libs: [ + "services", + "org.lineageos.hardware", + ] + lineage_sdk_LOCAL_JAVA_LIBRARIES, + + srcs: [ + lineage_sdk_src + "/**/*.java", + lineage_sdk_internal_src + "/**/*.java", + library_src + "/**/*.java", + lineage_sdk_src + "/**/I*.aidl", + lineage_sdk_internal_src + "/**/I*.aidl", + ], + + // Include aidl files from lineageos.app namespace as well as internal src aidl files + aidl: { + local_include_dirs: ["sdk/src/java"], + }, +} + +// Full target for use by platform apps +// ============================================================ + +java_library_static { + name: "org.lineageos.platform.internal", + required: ["services"], + static_libs: [ + "telephony-ext" + ] + lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES, + libs: lineage_sdk_LOCAL_JAVA_LIBRARIES, + + srcs: [ + lineage_sdk_src + "/**/*.java", + lineage_sdk_internal_src + "/**/*.java", + lineage_sdk_src + "/**/I*.aidl", + lineage_sdk_internal_src + "/**/I*.aidl", + ], + + aidl: { + local_include_dirs: ["sdk/src/java"], + }, +} + +// The SDK +// ============================================================ + +// Included aidl files from lineageos.app namespace + +java_library_static { + name: "org.lineageos.platform.sdk", + required: ["services"], + libs: lineage_sdk_LOCAL_JAVA_LIBRARIES, + static_libs: lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES, + + srcs: [ + lineage_sdk_src + "/**/*.java", + lineage_sdk_src + "/**/I*.aidl", + ], + + aidl: { + local_include_dirs: ["sdk/src/java"], + }, +} diff --git a/Android.mk b/Android.mk index c546c9ce..eb285c9c 100644 --- a/Android.mk +++ b/Android.mk @@ -206,6 +206,32 @@ $(full_target): $(lineage_framework_built) $(gen) include $(BUILD_STATIC_JAVA_LIBRARY) +# =========================================================== + +# 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) + # =========================================================== # Common Droiddoc vars lineage_platform_docs_src_files := \ diff --git a/buildSdk.sh b/buildSdk.sh new file mode 100755 index 00000000..ae264069 --- /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 00000000..8ff675b2 --- /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 8ff675b2..f4136f19 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 00000000..da934afc --- /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 d300492a..9bd75bed 100644 --- a/sdk/res/res/values/public.xml +++ b/sdk/res/res/values/public.xml @@ -10,5 +10,4 @@ - -- GitLab From 1f3a72c3a8034f21bd275a33094a75957bf27528 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Fri, 2 Oct 2020 19:12:01 +0530 Subject: [PATCH 2/7] Delete android.bp Change-Id: I5674742d5eeb889069b34acc3eb22bcfcac3746f --- Android.bp | 148 ----------------------------------------------------- 1 file changed, 148 deletions(-) delete mode 100644 Android.bp diff --git a/Android.bp b/Android.bp deleted file mode 100644 index 687d0137..00000000 --- a/Android.bp +++ /dev/null @@ -1,148 +0,0 @@ -// -// Copyright (C) 2018-2019 The LineageOS Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -android_app { - name: "org.lineageos.platform-res", - certificate: "platform", - no_framework_libs: true, - manifest: "lineage/res/AndroidManifest.xml", - - aaptflags: [ - "--auto-add-overlay", - "--private-symbols", - "org.lineageos.platform.internal", - - // Framework doesn't need versioning since it IS the platform. - "--no-auto-version", - - // Tell aapt to create "extending (non-application)" resource IDs, - // since these resources will be used by many apps. - "--allow-reserved-package-id", - // Use id 0x3f (one less than app id). - "--package-id", - "63", - ], - - resource_dirs: [ - "lineage/res/res", - "lineage/res/res-symbol", - "sdk/res/res" - ], - - // Create package-export.apk, which other packages can use to get - // PRODUCT-agnostic resource data like IDs and type definitions. - export_package_resources: true, -} - - -// The LineageOS Platform Framework Library -// ============================================================ - -lineage_sdk_src = "sdk/src/java/lineageos" -lineage_sdk_internal_src = "sdk/src/java/org/lineageos/internal" -library_src = "lineage/lib/main/java" - -lineage_sdk_LOCAL_JAVA_LIBRARIES = [ - "android-support-annotations", - "android-support-v7-preference", - "android-support-v7-recyclerview", - "android-support-v14-preference", -] - -lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES = [ - "vendor.lineage.livedisplay-V2.0-java", - "vendor.lineage.touch-V1.0-java", -] - -// READ ME: ######################################################## -// -// When updating this list of aidl files, consider if that aidl is -// part of the SDK API. If it is, also add it to the list below that -// is preprocessed and distributed with the SDK. This list should -// not contain any aidl files for parcelables, but the one below should -// if you intend for 3rd parties to be able to send those objects -// across process boundaries. -// -// READ ME: ######################################################## - -java_library { - name: "org.lineageos.platform", - static_libs: [ - "telephony-ext" - ] + lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES, - - libs: [ - "services", - "org.lineageos.hardware", - ] + lineage_sdk_LOCAL_JAVA_LIBRARIES, - - srcs: [ - lineage_sdk_src + "/**/*.java", - lineage_sdk_internal_src + "/**/*.java", - library_src + "/**/*.java", - lineage_sdk_src + "/**/I*.aidl", - lineage_sdk_internal_src + "/**/I*.aidl", - ], - - // Include aidl files from lineageos.app namespace as well as internal src aidl files - aidl: { - local_include_dirs: ["sdk/src/java"], - }, -} - -// Full target for use by platform apps -// ============================================================ - -java_library_static { - name: "org.lineageos.platform.internal", - required: ["services"], - static_libs: [ - "telephony-ext" - ] + lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES, - libs: lineage_sdk_LOCAL_JAVA_LIBRARIES, - - srcs: [ - lineage_sdk_src + "/**/*.java", - lineage_sdk_internal_src + "/**/*.java", - lineage_sdk_src + "/**/I*.aidl", - lineage_sdk_internal_src + "/**/I*.aidl", - ], - - aidl: { - local_include_dirs: ["sdk/src/java"], - }, -} - -// The SDK -// ============================================================ - -// Included aidl files from lineageos.app namespace - -java_library_static { - name: "org.lineageos.platform.sdk", - required: ["services"], - libs: lineage_sdk_LOCAL_JAVA_LIBRARIES, - static_libs: lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES, - - srcs: [ - lineage_sdk_src + "/**/*.java", - lineage_sdk_src + "/**/I*.aidl", - ], - - aidl: { - local_include_dirs: ["sdk/src/java"], - }, -} -- GitLab From 9ce7bcf018b0ebc69189825b69b2748faa3df8b4 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Fri, 9 Oct 2020 06:37:30 +0000 Subject: [PATCH 3/7] Update Android.mk to fix build issues --- Android.mk | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/Android.mk b/Android.mk index eb285c9c..c546c9ce 100644 --- a/Android.mk +++ b/Android.mk @@ -206,32 +206,6 @@ $(full_target): $(lineage_framework_built) $(gen) include $(BUILD_STATIC_JAVA_LIBRARY) -# =========================================================== - -# 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) - # =========================================================== # Common Droiddoc vars lineage_platform_docs_src_files := \ -- GitLab From 60b314f44d7aebf8ba026936943dc676c8f360c3 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Fri, 9 Oct 2020 12:14:40 +0530 Subject: [PATCH 4/7] Add symbols to org.lineageos.platform-res.apk for internal usage Change-Id: Iac1e04610da8e51e6428d84715b4f17ff0b3ab05 --- lineage/res/Android.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/lineage/res/Android.mk b/lineage/res/Android.mk index 6baba6b9..4658ed69 100644 --- a/lineage/res/Android.mk +++ b/lineage/res/Android.mk @@ -22,6 +22,7 @@ LOCAL_CERTIFICATE := platform LOCAL_AAPT_FLAGS := --auto-add-overlay LOCAL_AAPT_FLAGS += --private-symbols org.lineageos.platform.internal LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, res) +LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, res-symbol) LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/../../sdk/res/res # Tell aapt to create "extending (non-application)" resource IDs, -- GitLab From 94f20a182f5bcf015e572c207f019789c856a46f Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Fri, 9 Oct 2020 06:47:39 +0000 Subject: [PATCH 5/7] Add res-symbol to LOCAL_RESOURCE_DIR --- lineage/res/Android.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lineage/res/Android.mk b/lineage/res/Android.mk index 4658ed69..a13d9fcc 100644 --- a/lineage/res/Android.mk +++ b/lineage/res/Android.mk @@ -22,7 +22,7 @@ LOCAL_CERTIFICATE := platform LOCAL_AAPT_FLAGS := --auto-add-overlay LOCAL_AAPT_FLAGS += --private-symbols org.lineageos.platform.internal LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, res) -LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, res-symbol) +LOCAL_RESOURCE_DIR += $(addprefix $(LOCAL_PATH)/, res-symbol) LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/../../sdk/res/res # Tell aapt to create "extending (non-application)" resource IDs, -- GitLab From abc3b651c986918828091b93ac3db40ac1836770 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Wed, 14 Oct 2020 12:22:49 +0530 Subject: [PATCH 6/7] Add more colors for dark theme Change-Id: If28aab4c640bcf3a4f50892356fd39aaff568708 --- lineage/res/res/values-night/colors.xml | 11 +++++++++++ lineage/res/res/values/colors.xml | 8 ++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/lineage/res/res/values-night/colors.xml b/lineage/res/res/values-night/colors.xml index 8ff675b2..4a7b6192 100644 --- a/lineage/res/res/values-night/colors.xml +++ b/lineage/res/res/values-night/colors.xml @@ -17,4 +17,15 @@ #FF5630 + + + #333333 + #4D4D4D + @color/color_default_blue1 + #FFFFFF + #CCFFFFFF + #000000 + #666666 diff --git a/lineage/res/res/values/colors.xml b/lineage/res/res/values/colors.xml index f4136f19..df617903 100644 --- a/lineage/res/res/values/colors.xml +++ b/lineage/res/res/values/colors.xml @@ -31,12 +31,12 @@ - @color/color_default_blue1 - @color/color_default_blue2 - @color/color_default_green1 + #FFFFFF + #FFFFFF + @color/color_default_blue1 #CC000000 #8C000000 - @color/color_default_gray1 + #FAFAFA #FFFFFF -- GitLab From 66163ac36df360fb721132f07f2e57154f4c3702 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Fri, 16 Oct 2020 16:12:49 +0530 Subject: [PATCH 7/7] Add new icons into sdk Change-Id: Ic8eb9ea1d52e1faeec11b898c6c3ccd31b1e7226 --- lineage/res/res/drawable/ic_menu.xml | 9 +++++++++ lineage/res/res/drawable/ic_search.xml | 9 +++++++++ lineage/res/res/drawable/ic_star.xml | 9 +++++++++ lineage/res/res/drawable/ic_star_filled.xml | 9 +++++++++ lineage/res/res/values/public.xml | 6 ++++++ 5 files changed, 42 insertions(+) create mode 100644 lineage/res/res/drawable/ic_menu.xml create mode 100644 lineage/res/res/drawable/ic_search.xml create mode 100644 lineage/res/res/drawable/ic_star.xml create mode 100644 lineage/res/res/drawable/ic_star_filled.xml diff --git a/lineage/res/res/drawable/ic_menu.xml b/lineage/res/res/drawable/ic_menu.xml new file mode 100644 index 00000000..afc1652b --- /dev/null +++ b/lineage/res/res/drawable/ic_menu.xml @@ -0,0 +1,9 @@ + + + diff --git a/lineage/res/res/drawable/ic_search.xml b/lineage/res/res/drawable/ic_search.xml new file mode 100644 index 00000000..c055d95f --- /dev/null +++ b/lineage/res/res/drawable/ic_search.xml @@ -0,0 +1,9 @@ + + + diff --git a/lineage/res/res/drawable/ic_star.xml b/lineage/res/res/drawable/ic_star.xml new file mode 100644 index 00000000..52abd722 --- /dev/null +++ b/lineage/res/res/drawable/ic_star.xml @@ -0,0 +1,9 @@ + + + diff --git a/lineage/res/res/drawable/ic_star_filled.xml b/lineage/res/res/drawable/ic_star_filled.xml new file mode 100644 index 00000000..4ddac913 --- /dev/null +++ b/lineage/res/res/drawable/ic_star_filled.xml @@ -0,0 +1,9 @@ + + + diff --git a/lineage/res/res/values/public.xml b/lineage/res/res/values/public.xml index da934afc..9d7745eb 100644 --- a/lineage/res/res/values/public.xml +++ b/lineage/res/res/values/public.xml @@ -7,6 +7,7 @@ --> + @@ -22,4 +23,9 @@ + + + + + -- GitLab