diff --git a/Android.bp b/Android.bp index e132854e62..1b6ffe42b7 100644 --- a/Android.bp +++ b/Android.bp @@ -12,6 +12,25 @@ // See the License for the specific language governing permissions and // limitations under the License. +package { + default_applicable_licenses: ["packages_apps_Launcher3_license"], +} + +min_launcher3_sdk_version = "26" + +// Added automatically by a large-scale-change +// See: http://go/android-license-faq +license { + name: "packages_apps_Launcher3_license", + visibility: [":__subpackages__"], + license_kinds: [ + "SPDX-license-identifier-Apache-2.0", + ], + license_text: [ + "NOTICE", + ], +} + android_library { name: "launcher-aosp-tapl", static_libs: [ @@ -19,14 +38,15 @@ android_library { "androidx.test.runner", "androidx.test.rules", "androidx.test.uiautomator_uiautomator", + "androidx.preference_preference", "SystemUISharedLib", ], srcs: [ "tests/tapl/**/*.java", - "src/com/android/launcher3/util/SecureSettingsObserver.java", "src/com/android/launcher3/ResourceUtils.java", "src/com/android/launcher3/testing/TestProtocol.java", ], + resource_dirs: [ ], manifest: "tests/tapl/AndroidManifest.xml", platform_apis: true, } @@ -35,19 +55,37 @@ java_library_static { name: "launcher_log_protos_lite", srcs: [ "protos/*.proto", - "proto_overrides/*.proto", + "protos_overrides/*.proto", ], sdk_version: "current", proto: { type: "lite", local_include_dirs:[ "protos", - "proto_overrides", + "protos_overrides", ], }, static_libs: ["libprotobuf-java-lite"], } +java_library_static { + name: "launcher_quickstep_log_protos_lite", + srcs: [ + "quickstep/protos_overrides/*.proto", + ], + sdk_version: "current", + proto: { + type: "lite", + local_include_dirs:[ + "quickstep/protos_overrides", + ], + }, + static_libs: [ + "libprotobuf-java-lite", + "launcher_log_protos_lite" + ], +} + java_library { name: "LauncherPluginLib", @@ -56,5 +94,161 @@ java_library { srcs: ["src_plugins/**/*.java"], sdk_version: "current", - min_sdk_version: "28", + min_sdk_version: min_launcher3_sdk_version, } + +// Library with all the dependencies for building Launcher3 +android_library { + name: "Launcher3ResLib", + srcs: [ ], + resource_dirs: ["res"], + static_libs: [ + "LauncherPluginLib", + "launcher_quickstep_log_protos_lite", + "androidx-constraintlayout_constraintlayout", + "androidx.recyclerview_recyclerview", + "androidx.dynamicanimation_dynamicanimation", + "androidx.fragment_fragment", + "androidx.preference_preference", + "androidx.slice_slice-view", + "androidx.cardview_cardview", + "iconloader_base", + ], + manifest: "AndroidManifest-common.xml", + sdk_version: "current", + min_sdk_version: min_launcher3_sdk_version, + lint: { + baseline_filename: "lint-baseline-res-lib.xml", + }, +} + +// +// Build rule for Launcher3 dependencies lib. +// +android_library { + name: "Launcher3CommonDepsLib", + srcs: ["src_build_config/**/*.java"], + static_libs: ["Launcher3ResLib"], + sdk_version: "current", + min_sdk_version: min_launcher3_sdk_version, + manifest: "AndroidManifest-common.xml", + lint: { + baseline_filename: "lint-baseline-common-deps-lib.xml", + }, +} + +// +// Build rule for Launcher3 app. +// +android_app { + name: "Launcher3", + + static_libs: [ + "Launcher3CommonDepsLib", + ], + srcs: [ + "src/**/*.java", + "src_shortcuts_overrides/**/*.java", + "src_ui_overrides/**/*.java", + "ext_tests/src/**/*.java", + ], + resource_dirs: [ + "ext_tests/res", + ], + optimize: { + proguard_flags_files: ["proguard.flags"], + // Proguard is disable for testing. Derivarive prjects to keep proguard enabled + enabled: false, + }, + + sdk_version: "current", + min_sdk_version: min_launcher3_sdk_version, + target_sdk_version: "current", + privileged: true, + system_ext_specific: true, + + overrides: [ + "Home", + "Launcher2", + ], + required: ["privapp_whitelist_com.android.launcher3"], + + jacoco: { + include_filter: ["com.android.launcher3.**"], + }, + additional_manifests: [ + "AndroidManifest-common.xml", + ], + lint: { + baseline_filename: "lint-baseline-launcher3.xml", + }, +} + +// Library with all the dependencies for building quickstep +android_library { + name: "QuickstepResLib", + srcs: [ ], + resource_dirs: [ + "quickstep/res", + ], + static_libs: [ + "Launcher3ResLib", + "SystemUISharedLib", + "SystemUI-statsd", + ], + manifest: "quickstep/AndroidManifest.xml", + min_sdk_version: "current", +} + + +// Source code used for test helpers +filegroup { + name: "launcher-src-ext-tests", + srcs: ["ext_tests/src/**/*.java"], +} + +// Common source files used to build launcher +filegroup { + name: "launcher-src-no-build-config", + srcs: [ + "src/**/*.java", + "src_shortcuts_overrides/**/*.java", + "quickstep/src/**/*.java", + ], +} + +// Proguard files for Launcher3 +filegroup { + name: "launcher-proguard-rules", + srcs: ["proguard.flags"], +} + + +// Library with all the dependencies for building Launcher Go +android_library { + name: "LauncherGoResLib", + srcs: [ + "src/**/*.java", + "quickstep/src/**/*.java", + "go/src/**/*.java", + "go/quickstep/src/**/*.java", + ], + resource_dirs: [ + "go/res", + "go/quickstep/res", + ], + static_libs: [ + "Launcher3CommonDepsLib", + "QuickstepResLib", + ], + manifest: "quickstep/AndroidManifest-launcher.xml", + additional_manifests: [ + "go/AndroidManifest.xml", + "AndroidManifest-common.xml", + ], + min_sdk_version: "current", + lint: { + baseline_filename: "lint-baseline-go-res-lib.xml", + }, +} + diff --git a/Android.mk b/Android.mk index 7805b32e8e..c222f24afa 100644 --- a/Android.mk +++ b/Android.mk @@ -16,80 +16,6 @@ LOCAL_PATH := $(call my-dir) -# -# Build rule for Launcher3 dependencies lib. -# -include $(CLEAR_VARS) -LOCAL_USE_AAPT2 := true -LOCAL_AAPT2_ONLY := true -LOCAL_MODULE_TAGS := optional - -LOCAL_STATIC_ANDROID_LIBRARIES := \ - androidx.recyclerview_recyclerview \ - androidx.dynamicanimation_dynamicanimation \ - androidx.preference_preference \ - iconloader_base - -LOCAL_STATIC_JAVA_LIBRARIES := \ - LauncherPluginLib \ - launcher_log_protos_lite - -LOCAL_SRC_FILES := \ - $(call all-proto-files-under, protos) \ - $(call all-proto-files-under, proto_overrides) \ - $(call all-java-files-under, src_build_config) \ - -LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res - -LOCAL_PROGUARD_ENABLED := disabled - -LOCAL_PROTOC_OPTIMIZE_TYPE := nano -LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/ --proto_path=$(LOCAL_PATH)/proto_overrides/ -LOCAL_PROTO_JAVA_OUTPUT_PARAMS := enum_style=java - -LOCAL_SDK_VERSION := current -LOCAL_MIN_SDK_VERSION := 21 -LOCAL_MODULE := Launcher3CommonDepsLib -LOCAL_PRIVILEGED_MODULE := true -LOCAL_MANIFEST_FILE := AndroidManifest-common.xml - -include $(BUILD_STATIC_JAVA_LIBRARY) - -# -# Build rule for Launcher3 app. -# -include $(CLEAR_VARS) -LOCAL_USE_AAPT2 := true -LOCAL_MODULE_TAGS := optional - -LOCAL_STATIC_ANDROID_LIBRARIES := Launcher3CommonDepsLib - -LOCAL_SRC_FILES := \ - $(call all-java-files-under, src) \ - $(call all-java-files-under, src_shortcuts_overrides) \ - $(call all-java-files-under, src_ui_overrides) \ - $(call all-java-files-under, ext_tests/src) - -LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/ext_tests/res - -LOCAL_PROGUARD_FLAG_FILES := proguard.flags -# Proguard is disable for testing. Derivarive prjects to keep proguard enabled -LOCAL_PROGUARD_ENABLED := disabled - -LOCAL_SDK_VERSION := current -LOCAL_MIN_SDK_VERSION := 21 -LOCAL_PACKAGE_NAME := Launcher3 -LOCAL_PRIVILEGED_MODULE := true -LOCAL_SYSTEM_EXT_MODULE := true -LOCAL_OVERRIDES_PACKAGES := Home Launcher2 -LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.launcher3 - -LOCAL_FULL_LIBS_MANIFEST_FILES := $(LOCAL_PATH)/AndroidManifest-common.xml - -LOCAL_JACK_COVERAGE_INCLUDE_FILTER := com.android.launcher3.* - -include $(BUILD_PACKAGE) - # # Build rule for Launcher3 Go app for Android Go devices. # @@ -108,7 +34,7 @@ LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/go/res LOCAL_PROGUARD_FLAG_FILES := proguard.flags LOCAL_SDK_VERSION := current -LOCAL_MIN_SDK_VERSION := 21 +LOCAL_MIN_SDK_VERSION := 26 LOCAL_PACKAGE_NAME := Launcher3Go LOCAL_PRIVILEGED_MODULE := true LOCAL_SYSTEM_EXT_MODULE := true @@ -121,6 +47,9 @@ LOCAL_FULL_LIBS_MANIFEST_FILES := \ LOCAL_MANIFEST_FILE := go/AndroidManifest.xml LOCAL_JACK_COVERAGE_INCLUDE_FILTER := com.android.launcher3.* +LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 +LOCAL_LICENSE_CONDITIONS := notice +LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE include $(BUILD_PACKAGE) # @@ -133,9 +62,7 @@ LOCAL_MODULE_TAGS := optional LOCAL_STATIC_JAVA_LIBRARIES := \ SystemUI-statsd \ - SystemUISharedLib \ - launcherprotosnano \ - launcher_log_protos_lite + SystemUISharedLib ifneq (,$(wildcard frameworks/base)) LOCAL_PRIVATE_PLATFORM_APIS := true else @@ -143,18 +70,18 @@ else LOCAL_MIN_SDK_VERSION := 26 endif LOCAL_MODULE := Launcher3QuickStepLib +LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 +LOCAL_LICENSE_CONDITIONS := notice +LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE LOCAL_PRIVILEGED_MODULE := true LOCAL_STATIC_ANDROID_LIBRARIES := Launcher3CommonDepsLib LOCAL_SRC_FILES := \ $(call all-java-files-under, src) \ $(call all-java-files-under, quickstep/src) \ - $(call all-java-files-under, quickstep/recents_ui_overrides/src) \ $(call all-java-files-under, src_shortcuts_overrides) -LOCAL_RESOURCE_DIR := \ - $(LOCAL_PATH)/quickstep/res \ - $(LOCAL_PATH)/quickstep/recents_ui_overrides/res +LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/quickstep/res LOCAL_PROGUARD_ENABLED := disabled @@ -183,9 +110,7 @@ LOCAL_SYSTEM_EXT_MODULE := true LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.launcher3 -LOCAL_RESOURCE_DIR := \ - $(LOCAL_PATH)/quickstep/res \ - $(LOCAL_PATH)/quickstep/recents_ui_overrides/res +LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/quickstep/res LOCAL_FULL_LIBS_MANIFEST_FILES := \ $(LOCAL_PATH)/quickstep/AndroidManifest-launcher.xml \ @@ -194,6 +119,9 @@ LOCAL_FULL_LIBS_MANIFEST_FILES := \ LOCAL_MANIFEST_FILE := quickstep/AndroidManifest.xml LOCAL_JACK_COVERAGE_INCLUDE_FILTER := com.android.launcher3.* +LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 +LOCAL_LICENSE_CONDITIONS := notice +LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE include $(BUILD_PACKAGE) @@ -206,9 +134,7 @@ LOCAL_MODULE_TAGS := optional LOCAL_STATIC_JAVA_LIBRARIES := \ SystemUI-statsd \ - SystemUISharedLib \ - launcherprotosnano \ - launcher_log_protos_lite + SystemUISharedLib ifneq (,$(wildcard frameworks/base)) LOCAL_PRIVATE_PLATFORM_APIS := true else @@ -220,13 +146,13 @@ LOCAL_STATIC_ANDROID_LIBRARIES := Launcher3CommonDepsLib LOCAL_SRC_FILES := \ $(call all-java-files-under, src) \ $(call all-java-files-under, quickstep/src) \ - $(call all-java-files-under, quickstep/recents_ui_overrides/src) \ - $(call all-java-files-under, go/src) + $(call all-java-files-under, go/src) \ + $(call all-java-files-under, go/quickstep/src) LOCAL_RESOURCE_DIR := \ - $(LOCAL_PATH)/quickstep/res \ - $(LOCAL_PATH)/quickstep/recents_ui_overrides/res \ - $(LOCAL_PATH)/go/res + $(LOCAL_PATH)/go/quickstep/res \ + $(LOCAL_PATH)/go/res \ + $(LOCAL_PATH)/quickstep/res LOCAL_PROGUARD_FLAG_FILES := proguard.flags LOCAL_PROGUARD_ENABLED := full @@ -239,11 +165,14 @@ LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.launcher3 LOCAL_FULL_LIBS_MANIFEST_FILES := \ $(LOCAL_PATH)/go/AndroidManifest.xml \ - $(LOCAL_PATH)/quickstep/AndroidManifest-launcher.xml \ + $(LOCAL_PATH)/go/AndroidManifest-launcher.xml \ $(LOCAL_PATH)/AndroidManifest-common.xml LOCAL_MANIFEST_FILE := quickstep/AndroidManifest.xml LOCAL_JACK_COVERAGE_INCLUDE_FILTER := com.android.launcher3.* +LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 +LOCAL_LICENSE_CONDITIONS := notice +LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE include $(BUILD_PACKAGE) diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml index 215d757791..9602f6580b 100644 --- a/AndroidManifest-common.xml +++ b/AndroidManifest-common.xml @@ -31,13 +31,8 @@ at compile time. Note that the components defined in AndroidManifest.xml are also required, with some minor changed based on the derivative app. --> - + @@ -50,9 +45,9 @@ - - - + + + - - - - - - + android:name="com.android.launcher3.SessionCommitReceiver" + android:exported="true"> - + - - @@ -131,10 +112,10 @@ android:value="true" /> + android:exported="true"> @@ -158,7 +139,7 @@ TODO: Add proper permissions --> @@ -169,6 +150,7 @@ android:name="com.android.launcher3.settings.SettingsActivity" android:label="@string/settings_button_text" android:theme="@style/HomeSettingsTheme" + android:exported="true" android:autoRemoveFromRecents="true"> @@ -191,6 +173,7 @@ android:name="com.android.launcher3.secondarydisplay.SecondaryDisplayLauncher" android:theme="@style/AppTheme" android:launchMode="singleTop" + android:exported="true" android:enabled="true"> diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 510f6383cf..21cdade154 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -22,7 +22,7 @@ - + + + + + + + + + + + + + + + + + + + + + diff --git a/go/AndroidManifest.xml b/go/AndroidManifest.xml index f84a82eaa2..2671604f94 100644 --- a/go/AndroidManifest.xml +++ b/go/AndroidManifest.xml @@ -24,6 +24,8 @@ + + + diff --git a/go/OWNERS b/go/OWNERS new file mode 100644 index 0000000000..903b3c4ef4 --- /dev/null +++ b/go/OWNERS @@ -0,0 +1,2 @@ +rajekumar@google.com +spivack@google.com diff --git a/go/quickstep/res/drawable/arrow_toast_rounded_background.xml b/go/quickstep/res/drawable/arrow_toast_rounded_background.xml new file mode 100644 index 0000000000..9c815fd19f --- /dev/null +++ b/go/quickstep/res/drawable/arrow_toast_rounded_background.xml @@ -0,0 +1,19 @@ + + + + + diff --git a/go/quickstep/res/drawable/ic_listen.xml b/go/quickstep/res/drawable/ic_listen.xml new file mode 100644 index 0000000000..16bb59789b --- /dev/null +++ b/go/quickstep/res/drawable/ic_listen.xml @@ -0,0 +1,24 @@ + + + + diff --git a/go/quickstep/res/drawable/ic_search.xml b/go/quickstep/res/drawable/ic_search.xml new file mode 100644 index 0000000000..ce290d9901 --- /dev/null +++ b/go/quickstep/res/drawable/ic_search.xml @@ -0,0 +1,36 @@ + + + + + + + + diff --git a/res/drawable/drag_handle_indicator_no_shadow.xml b/go/quickstep/res/drawable/ic_translate.xml similarity index 50% rename from res/drawable/drag_handle_indicator_no_shadow.xml rename to go/quickstep/res/drawable/ic_translate.xml index 341e60cda9..e3df56fdb8 100644 --- a/res/drawable/drag_handle_indicator_no_shadow.xml +++ b/go/quickstep/res/drawable/ic_translate.xml @@ -1,5 +1,4 @@ - - - - - + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + diff --git a/res/drawable-v26/ic_deepshortcut_placeholder.xml b/go/quickstep/res/drawable/round_rect_button.xml similarity index 69% rename from res/drawable-v26/ic_deepshortcut_placeholder.xml rename to go/quickstep/res/drawable/round_rect_button.xml index 3fa85065bd..b276686a41 100644 --- a/res/drawable-v26/ic_deepshortcut_placeholder.xml +++ b/go/quickstep/res/drawable/round_rect_button.xml @@ -1,6 +1,6 @@ - - - - + + + diff --git a/go/quickstep/res/drawable/round_rect_dialog.xml b/go/quickstep/res/drawable/round_rect_dialog.xml new file mode 100644 index 0000000000..bbb7c5b545 --- /dev/null +++ b/go/quickstep/res/drawable/round_rect_dialog.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/go/quickstep/res/layout/niu_actions_dialog.xml b/go/quickstep/res/layout/niu_actions_dialog.xml new file mode 100644 index 0000000000..6e944f8812 --- /dev/null +++ b/go/quickstep/res/layout/niu_actions_dialog.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +