diff --git a/Android.bp b/Android.bp index 50c8556dfdfe61914b92c77bde0abe66d307c477..1b6ffe42b78d6c32e4b89be9b77d655daa0194dd 100644 --- a/Android.bp +++ b/Android.bp @@ -16,6 +16,8 @@ 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 { @@ -36,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, } @@ -52,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", @@ -73,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 aff12c5e5ffd99d1dacf1a5a94fdf664c51da68f..c222f24afa0226559d7c5f81c14a3083ded347ad 100644 --- a/Android.mk +++ b/Android.mk @@ -16,86 +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_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 -LOCAL_LICENSE_CONDITIONS := notice -LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE -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.* - -LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 -LOCAL_LICENSE_CONDITIONS := notice -LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE -include $(BUILD_PACKAGE) - # # Build rule for Launcher3 Go app for Android Go devices. # @@ -114,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 @@ -142,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 @@ -161,12 +79,9 @@ 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 @@ -195,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 \ @@ -221,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 @@ -235,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 @@ -254,7 +165,7 @@ 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 diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml index 77f2428177acf03eaa0d7ef20b13ff50a5523cf6..3b6141b47f53a6129d16f88ed64c3bcd55e15cfe 100644 --- a/AndroidManifest-common.xml +++ b/AndroidManifest-common.xml @@ -19,6 +19,7 @@ --> - + @@ -45,9 +41,8 @@ - - - + + - - - - - - + android:name="com.android.launcher3.SessionCommitReceiver" + android:exported="true"> - + - - @@ -127,10 +108,10 @@ android:value="true" /> + android:exported="true"> @@ -165,6 +146,7 @@ android:name="com.android.launcher3.settings.SettingsActivity" android:label="@string/settings_button_text" android:theme="@style/HomeSettingsTheme" + android:exported="true" android:autoRemoveFromRecents="true"> @@ -187,6 +169,7 @@ android:name="com.android.launcher3.secondarydisplay.SecondaryDisplayLauncher" android:theme="@style/AppTheme" android:launchMode="singleTop" + android:exported="true" android:enabled="true"> @@ -194,5 +177,11 @@ + + + diff --git a/AndroidManifest.xml b/AndroidManifest.xml index b031ffbee4235167152e6b63b74070f7a4a1b305..f793131fd3d603fd952b2f2a2d59485570e284ec 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -20,7 +20,7 @@ - + + + + + + + + + + + + + + + + + + + + + diff --git a/go/AndroidManifest.xml b/go/AndroidManifest.xml index f84a82eaa23c0ab4c2e3581857708a1babb9c6c0..2671604f94ead0e8d8fc9d182405e515189e9cab 100644 --- a/go/AndroidManifest.xml +++ b/go/AndroidManifest.xml @@ -24,6 +24,8 @@ + + + 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 0000000000000000000000000000000000000000..9c815fd19fc0a91a38e8dd9b8475e234908ad542 --- /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 0000000000000000000000000000000000000000..16bb59789b3ecfc9304adc516dbba74c6bc27a10 --- /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 0000000000000000000000000000000000000000..ce290d99017e5a93437b61597c0875d7e0595fd5 --- /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 341e60cda9a485c078e3534b254427e475652229..e3df56fdb8b432545c1d55502b73b9430fda7baf 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 3fa85065bdf6e9201444167358ed98f6b6197829..b276686a41725730416bfcce105ccadf0670a929 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 0000000000000000000000000000000000000000..bbb7c5b545dc17fb101478ee8fa0382e205a9a96 --- /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 0000000000000000000000000000000000000000..6e944f8812b8188847eae5bd0c012002fa6a350c --- /dev/null +++ b/go/quickstep/res/layout/niu_actions_dialog.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +