diff --git a/Android.bp b/Android.bp index 4c38205979..e132854e62 100644 --- a/Android.bp +++ b/Android.bp @@ -30,3 +30,31 @@ android_library { manifest: "tests/tapl/AndroidManifest.xml", platform_apis: true, } + +java_library_static { + name: "launcher_log_protos_lite", + srcs: [ + "protos/*.proto", + "proto_overrides/*.proto", + ], + sdk_version: "current", + proto: { + type: "lite", + local_include_dirs:[ + "protos", + "proto_overrides", + ], + }, + static_libs: ["libprotobuf-java-lite"], +} + +java_library { + name: "LauncherPluginLib", + + static_libs: ["PluginCoreLib"], + + srcs: ["src_plugins/**/*.java"], + + sdk_version: "current", + min_sdk_version: "28", +} diff --git a/Android.mk b/Android.mk index 6b6e4fed4a..7805b32e8e 100644 --- a/Android.mk +++ b/Android.mk @@ -16,24 +16,6 @@ LOCAL_PATH := $(call my-dir) -# -# Build rule for plugin lib (needed to write a plugin). -# -include $(CLEAR_VARS) -LOCAL_USE_AAPT2 := true -LOCAL_AAPT2_ONLY := true -LOCAL_MODULE_TAGS := optional -LOCAL_STATIC_JAVA_LIBRARIES:= PluginCoreLib - -LOCAL_SRC_FILES := \ - $(call all-java-files-under, src_plugins) - -LOCAL_SDK_VERSION := current -LOCAL_MIN_SDK_VERSION := 28 -LOCAL_MODULE := LauncherPluginLib - -include $(BUILD_STATIC_JAVA_LIBRARY) - # # Build rule for Launcher3 dependencies lib. # @@ -48,7 +30,9 @@ LOCAL_STATIC_ANDROID_LIBRARIES := \ androidx.preference_preference \ iconloader_base -LOCAL_STATIC_JAVA_LIBRARIES := LauncherPluginLib +LOCAL_STATIC_JAVA_LIBRARIES := \ + LauncherPluginLib \ + launcher_log_protos_lite LOCAL_SRC_FILES := \ $(call all-proto-files-under, protos) \ @@ -78,14 +62,15 @@ include $(CLEAR_VARS) LOCAL_USE_AAPT2 := true LOCAL_MODULE_TAGS := optional -LOCAL_STATIC_ANDROID_LIBRARIES := \ - Launcher3CommonDepsLib \ - SecondaryDisplayLauncherLib +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, src_flags) + $(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 @@ -146,7 +131,11 @@ LOCAL_USE_AAPT2 := true LOCAL_AAPT2_ONLY := true LOCAL_MODULE_TAGS := optional -LOCAL_STATIC_JAVA_LIBRARIES := SystemUISharedLib launcherprotosnano +LOCAL_STATIC_JAVA_LIBRARIES := \ + SystemUI-statsd \ + SystemUISharedLib \ + launcherprotosnano \ + launcher_log_protos_lite ifneq (,$(wildcard frameworks/base)) LOCAL_PRIVATE_PLATFORM_APIS := true else @@ -155,15 +144,12 @@ else endif LOCAL_MODULE := Launcher3QuickStepLib LOCAL_PRIVILEGED_MODULE := true -LOCAL_STATIC_ANDROID_LIBRARIES := \ - Launcher3CommonDepsLib \ - SecondaryDisplayLauncherLib +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_flags) \ $(call all-java-files-under, src_shortcuts_overrides) LOCAL_RESOURCE_DIR := \ @@ -202,7 +188,7 @@ LOCAL_RESOURCE_DIR := \ $(LOCAL_PATH)/quickstep/recents_ui_overrides/res LOCAL_FULL_LIBS_MANIFEST_FILES := \ - $(LOCAL_PATH)/AndroidManifest.xml \ + $(LOCAL_PATH)/quickstep/AndroidManifest-launcher.xml \ $(LOCAL_PATH)/AndroidManifest-common.xml LOCAL_MANIFEST_FILE := quickstep/AndroidManifest.xml @@ -218,7 +204,11 @@ include $(CLEAR_VARS) LOCAL_USE_AAPT2 := true LOCAL_MODULE_TAGS := optional -LOCAL_STATIC_JAVA_LIBRARIES := SystemUISharedLib launcherprotosnano +LOCAL_STATIC_JAVA_LIBRARIES := \ + SystemUI-statsd \ + SystemUISharedLib \ + launcherprotosnano \ + launcher_log_protos_lite ifneq (,$(wildcard frameworks/base)) LOCAL_PRIVATE_PLATFORM_APIS := true else @@ -244,58 +234,12 @@ LOCAL_PROGUARD_ENABLED := full LOCAL_PACKAGE_NAME := Launcher3QuickStepGo LOCAL_PRIVILEGED_MODULE := true LOCAL_SYSTEM_EXT_MODULE := true -LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 Launcher3QuickStep Launcher3GoIconRecents +LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 Launcher3QuickStep LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.launcher3 LOCAL_FULL_LIBS_MANIFEST_FILES := \ $(LOCAL_PATH)/go/AndroidManifest.xml \ - $(LOCAL_PATH)/AndroidManifest.xml \ - $(LOCAL_PATH)/AndroidManifest-common.xml - -LOCAL_MANIFEST_FILE := quickstep/AndroidManifest.xml -LOCAL_JACK_COVERAGE_INCLUDE_FILTER := com.android.launcher3.* -include $(BUILD_PACKAGE) - -# -# Build rule for Launcher3 Go app with quickstep and Go-specific -# version of recents for Android Go devices. -# -include $(CLEAR_VARS) -LOCAL_USE_AAPT2 := true -LOCAL_MODULE_TAGS := optional - -LOCAL_STATIC_JAVA_LIBRARIES := SystemUISharedLib launcherprotosnano -ifneq (,$(wildcard frameworks/base)) - LOCAL_PRIVATE_PLATFORM_APIS := true -else - LOCAL_SDK_VERSION := system_current - LOCAL_MIN_SDK_VERSION := 26 -endif -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, go/src) \ - $(call all-java-files-under, go/quickstep/src) - -LOCAL_RESOURCE_DIR := \ - $(LOCAL_PATH)/quickstep/res \ - $(LOCAL_PATH)/go/res \ - $(LOCAL_PATH)/go/quickstep/res - -LOCAL_PROGUARD_FLAG_FILES := proguard.flags -LOCAL_PROGUARD_ENABLED := full - -LOCAL_PACKAGE_NAME := Launcher3GoIconRecents -LOCAL_PRIVILEGED_MODULE := true -LOCAL_SYSTEM_EXT_MODULE := true -LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 Launcher3Go Launcher3QuickStep -LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.launcher3 - -LOCAL_FULL_LIBS_MANIFEST_FILES := \ - $(LOCAL_PATH)/go/AndroidManifest.xml \ - $(LOCAL_PATH)/AndroidManifest.xml \ + $(LOCAL_PATH)/quickstep/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 555cc7302b..dd0fc219ad 100644 --- a/AndroidManifest-common.xml +++ b/AndroidManifest-common.xml @@ -44,8 +44,11 @@ + - + + + - - + + + + + + + diff --git a/OWNERS b/OWNERS index 538ca33d8f..3069afaedc 100644 --- a/OWNERS +++ b/OWNERS @@ -8,8 +8,26 @@ adamcohen@google.com hyunyoungs@google.com mrcasey@google.com sunnygoyal@google.com +awickham@google.com twickham@google.com winsonc@google.com +zakcohen@google.com +santie@google.com +vadimt@google.com +mett@google.com +jonmiranda@google.com +pinyaoting@google.com +sfufa@google.com +gwasserman@google.com +jamesoleary@google.com +joshtrask@google.com +mrenouf@google.com +mkephart@google.com +hwwang@google.com +tracyzhou@google.com +peanutbutter@google.com +xuqiu@google.com +sreyasr@google.com -per-file FeatureFlags.java = sunnygoyal@google.com, adamcohen@google.com -per-file BaseFlags.java = sunnygoyal@google.com, adamcohen@google.com +per-file FeatureFlags.java, globs = set noparent +per-file FeatureFlags.java = sunnygoyal@google.com, winsonc@google.com, zakcohen@google.com, mrcasey@google.com, adamcohen@google.com, hyunyoungs@google.com diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg index f3db20e3b6..912395970f 100644 --- a/PREUPLOAD.cfg +++ b/PREUPLOAD.cfg @@ -1,2 +1,2 @@ [Hook Scripts] -checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --sha ${PREUPLOAD_COMMIT} +checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --config_xml tools/checkstyle.xml --sha ${PREUPLOAD_COMMIT} diff --git a/SecondaryDisplayLauncher/Android.mk b/SecondaryDisplayLauncher/Android.mk deleted file mode 100644 index 7f305bba57..0000000000 --- a/SecondaryDisplayLauncher/Android.mk +++ /dev/null @@ -1,39 +0,0 @@ -# -# Copyright (C) 2018 The Android Open Source 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. -# - -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -LOCAL_USE_AAPT2 := true -LOCAL_AAPT2_ONLY := true -LOCAL_MODULE_TAGS := optional - -LOCAL_STATIC_ANDROID_LIBRARIES := com.google.android.material_material - -LOCAL_STATIC_JAVA_LIBRARIES := LauncherPluginLib - -LOCAL_SRC_FILES := $(call all-java-files-under, src) - -LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res - -LOCAL_PROGUARD_ENABLED := disabled - -LOCAL_SDK_VERSION := current -LOCAL_MIN_SDK_VERSION := 21 -LOCAL_MODULE := SecondaryDisplayLauncherLib -LOCAL_PRIVILEGED_MODULE := true - -include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/SecondaryDisplayLauncher/AndroidManifest.xml b/SecondaryDisplayLauncher/AndroidManifest.xml deleted file mode 100644 index ebf6b02cb8..0000000000 --- a/SecondaryDisplayLauncher/AndroidManifest.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/SecondaryDisplayLauncher/res/drawable/ic_settings.xml b/SecondaryDisplayLauncher/res/drawable/ic_settings.xml deleted file mode 100644 index c269c3bafc..0000000000 --- a/SecondaryDisplayLauncher/res/drawable/ic_settings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - diff --git a/SecondaryDisplayLauncher/res/layout-sw600dp/secondary_display_launcher.xml b/SecondaryDisplayLauncher/res/layout-sw600dp/secondary_display_launcher.xml deleted file mode 100644 index 46f1674e47..0000000000 --- a/SecondaryDisplayLauncher/res/layout-sw600dp/secondary_display_launcher.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - diff --git a/SecondaryDisplayLauncher/res/layout-sw720dp/secondary_display_launcher.xml b/SecondaryDisplayLauncher/res/layout-sw720dp/secondary_display_launcher.xml deleted file mode 100644 index 6653a77968..0000000000 --- a/SecondaryDisplayLauncher/res/layout-sw720dp/secondary_display_launcher.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - diff --git a/SecondaryDisplayLauncher/res/layout/app_picker_dialog.xml b/SecondaryDisplayLauncher/res/layout/app_picker_dialog.xml deleted file mode 100644 index 563a1afa78..0000000000 --- a/SecondaryDisplayLauncher/res/layout/app_picker_dialog.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - diff --git a/SecondaryDisplayLauncher/res/layout/app_picker_layout.xml b/SecondaryDisplayLauncher/res/layout/app_picker_layout.xml deleted file mode 100644 index 20f85b16a6..0000000000 --- a/SecondaryDisplayLauncher/res/layout/app_picker_layout.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - diff --git a/SecondaryDisplayLauncher/res/layout/secondary_display_launcher.xml b/SecondaryDisplayLauncher/res/layout/secondary_display_launcher.xml deleted file mode 100644 index 49cd499a50..0000000000 --- a/SecondaryDisplayLauncher/res/layout/secondary_display_launcher.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - diff --git a/SecondaryDisplayLauncher/res/menu/context_menu.xml b/SecondaryDisplayLauncher/res/menu/context_menu.xml deleted file mode 100644 index 626384229e..0000000000 --- a/SecondaryDisplayLauncher/res/menu/context_menu.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - diff --git a/SecondaryDisplayLauncher/res/values-af/strings.xml b/SecondaryDisplayLauncher/res/values-af/strings.xml deleted file mode 100644 index b544be7a3d..0000000000 --- a/SecondaryDisplayLauncher/res/values-af/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Kon nie die aktiwiteit begin nie" - "Voeg programkortpad by" - "Stel muurpapier" - diff --git a/SecondaryDisplayLauncher/res/values-am/strings.xml b/SecondaryDisplayLauncher/res/values-am/strings.xml deleted file mode 100644 index 71854ad624..0000000000 --- a/SecondaryDisplayLauncher/res/values-am/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "እንቅስቃሴውን ማስጀመር አልተቻለም" - "የመተግበሪያ አቋራጭ ያክሉ" - "ልጣፍ አዘጋጅ" - diff --git a/SecondaryDisplayLauncher/res/values-ar/strings.xml b/SecondaryDisplayLauncher/res/values-ar/strings.xml deleted file mode 100644 index aa34c7d166..0000000000 --- a/SecondaryDisplayLauncher/res/values-ar/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "تعذَّر تشغيل النشاط." - "إضافة اختصار التطبيق" - "ضبط الخلفية" - diff --git a/SecondaryDisplayLauncher/res/values-as/strings.xml b/SecondaryDisplayLauncher/res/values-as/strings.xml deleted file mode 100644 index d199a26829..0000000000 --- a/SecondaryDisplayLauncher/res/values-as/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "কাৰ্যকলাপটো লঞ্চ কৰিব পৰা নগ’ল" - "এপৰ শ্বর্টকাট যোগ কৰক" - "ৱালপেপাৰ ছেট কৰক" - diff --git a/SecondaryDisplayLauncher/res/values-az/strings.xml b/SecondaryDisplayLauncher/res/values-az/strings.xml deleted file mode 100644 index cee70a08d6..0000000000 --- a/SecondaryDisplayLauncher/res/values-az/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Fəaliyyəti başlatmaq mümkün olmadı" - "Tətbiq qısayolu əlavə edin" - "Divar kağızı ayarlayın" - diff --git a/SecondaryDisplayLauncher/res/values-b+sr+Latn/strings.xml b/SecondaryDisplayLauncher/res/values-b+sr+Latn/strings.xml deleted file mode 100644 index a8859d9ff8..0000000000 --- a/SecondaryDisplayLauncher/res/values-b+sr+Latn/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Pokretanje aktivnosti nije uspelo" - "Dodaj prečicu za aplikaciju" - "Podesite pozadinu" - diff --git a/SecondaryDisplayLauncher/res/values-be/strings.xml b/SecondaryDisplayLauncher/res/values-be/strings.xml deleted file mode 100644 index 3df3760378..0000000000 --- a/SecondaryDisplayLauncher/res/values-be/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Не ўдалося запусціць дзеянне" - "Дадаць ярлык праграмы" - "Устанавіць шпалеры" - diff --git a/SecondaryDisplayLauncher/res/values-bg/strings.xml b/SecondaryDisplayLauncher/res/values-bg/strings.xml deleted file mode 100644 index 4474815bde..0000000000 --- a/SecondaryDisplayLauncher/res/values-bg/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Активността не можа да бъде стартирана" - "Добавяне на пряк път към приложението" - "Задаване на тапет" - diff --git a/SecondaryDisplayLauncher/res/values-bn/strings.xml b/SecondaryDisplayLauncher/res/values-bn/strings.xml deleted file mode 100644 index 7322691709..0000000000 --- a/SecondaryDisplayLauncher/res/values-bn/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "অ্যাক্টিভিটি চালু করা যায়নি" - "অ্যাপ শর্টকাট যোগ করুন" - "ওয়ালপেপার সেট করুন" - diff --git a/SecondaryDisplayLauncher/res/values-bs/strings.xml b/SecondaryDisplayLauncher/res/values-bs/strings.xml deleted file mode 100644 index 1e59d334ab..0000000000 --- a/SecondaryDisplayLauncher/res/values-bs/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Pokretanje aktivnosti nije uspjelo" - "Dodaj prečicu aplikacije" - "Postavi pozadinsku sliku" - diff --git a/SecondaryDisplayLauncher/res/values-ca/strings.xml b/SecondaryDisplayLauncher/res/values-ca/strings.xml deleted file mode 100644 index c0274d142d..0000000000 --- a/SecondaryDisplayLauncher/res/values-ca/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "No s\'ha pogut iniciar l\'activitat" - "Afegeix una drecera d\'aplicació" - "Estableix el fons de pantalla" - diff --git a/SecondaryDisplayLauncher/res/values-cs/strings.xml b/SecondaryDisplayLauncher/res/values-cs/strings.xml deleted file mode 100644 index 92ed5fa56f..0000000000 --- a/SecondaryDisplayLauncher/res/values-cs/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Aktivitu nelze zahájit" - "Přidat zkratku aplikace" - "Nastavení tapety" - diff --git a/SecondaryDisplayLauncher/res/values-da/strings.xml b/SecondaryDisplayLauncher/res/values-da/strings.xml deleted file mode 100644 index 16bdb33f6f..0000000000 --- a/SecondaryDisplayLauncher/res/values-da/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Aktiviteten kunne ikke startes" - "Tilføj appgenvej" - "Angiv baggrund" - diff --git a/SecondaryDisplayLauncher/res/values-de/strings.xml b/SecondaryDisplayLauncher/res/values-de/strings.xml deleted file mode 100644 index 3617a5b209..0000000000 --- a/SecondaryDisplayLauncher/res/values-de/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Aktivität konnte nicht gestartet werden" - "App-Verknüpfung hinzufügen" - "Hintergrund festlegen" - diff --git a/SecondaryDisplayLauncher/res/values-el/strings.xml b/SecondaryDisplayLauncher/res/values-el/strings.xml deleted file mode 100644 index 8d19d09c9d..0000000000 --- a/SecondaryDisplayLauncher/res/values-el/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Δεν ήταν δυνατή η εκκίνηση της δραστηριότητας" - "Προσθήκη συντόμευσης εφαρμογής" - "Ορισμός ταπετσαρίας" - diff --git a/SecondaryDisplayLauncher/res/values-en-rAU/strings.xml b/SecondaryDisplayLauncher/res/values-en-rAU/strings.xml deleted file mode 100644 index 8d8c419b2d..0000000000 --- a/SecondaryDisplayLauncher/res/values-en-rAU/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Couldn\'t launch the activity" - "Add app shortcut" - "Set wallpaper" - diff --git a/SecondaryDisplayLauncher/res/values-en-rCA/strings.xml b/SecondaryDisplayLauncher/res/values-en-rCA/strings.xml deleted file mode 100644 index 8d8c419b2d..0000000000 --- a/SecondaryDisplayLauncher/res/values-en-rCA/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Couldn\'t launch the activity" - "Add app shortcut" - "Set wallpaper" - diff --git a/SecondaryDisplayLauncher/res/values-en-rGB/strings.xml b/SecondaryDisplayLauncher/res/values-en-rGB/strings.xml deleted file mode 100644 index 8d8c419b2d..0000000000 --- a/SecondaryDisplayLauncher/res/values-en-rGB/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Couldn\'t launch the activity" - "Add app shortcut" - "Set wallpaper" - diff --git a/SecondaryDisplayLauncher/res/values-en-rIN/strings.xml b/SecondaryDisplayLauncher/res/values-en-rIN/strings.xml deleted file mode 100644 index 8d8c419b2d..0000000000 --- a/SecondaryDisplayLauncher/res/values-en-rIN/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Couldn\'t launch the activity" - "Add app shortcut" - "Set wallpaper" - diff --git a/SecondaryDisplayLauncher/res/values-en-rXC/strings.xml b/SecondaryDisplayLauncher/res/values-en-rXC/strings.xml deleted file mode 100644 index da69193348..0000000000 --- a/SecondaryDisplayLauncher/res/values-en-rXC/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‎Couldn\'t launch the activity‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎Add app shortcut‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‎‎‎‎Set wallpaper‎‏‎‎‏‎" - diff --git a/SecondaryDisplayLauncher/res/values-es-rUS/strings.xml b/SecondaryDisplayLauncher/res/values-es-rUS/strings.xml deleted file mode 100644 index ff6772bf33..0000000000 --- a/SecondaryDisplayLauncher/res/values-es-rUS/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "No se pudo iniciar la actividad" - "Agregar acceso directo a app" - "Establecer fondo de pantalla" - diff --git a/SecondaryDisplayLauncher/res/values-es/strings.xml b/SecondaryDisplayLauncher/res/values-es/strings.xml deleted file mode 100644 index 0654dcb756..0000000000 --- a/SecondaryDisplayLauncher/res/values-es/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "No se ha podido iniciar la acción" - "Añadir acceso directo a la aplicación" - "Establecer fondo de pantalla" - diff --git a/SecondaryDisplayLauncher/res/values-et/strings.xml b/SecondaryDisplayLauncher/res/values-et/strings.xml deleted file mode 100644 index 3410fd44de..0000000000 --- a/SecondaryDisplayLauncher/res/values-et/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Tegevust ei saanud käivitada" - "Lisa rakenduse otsetee" - "Määra taustapilt" - diff --git a/SecondaryDisplayLauncher/res/values-eu/strings.xml b/SecondaryDisplayLauncher/res/values-eu/strings.xml deleted file mode 100644 index d7abe33d13..0000000000 --- a/SecondaryDisplayLauncher/res/values-eu/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Ezin izan da abiarazi jarduera" - "Gehitu aplikaziorako lasterbidea" - "Ezarri horma-papera" - diff --git a/SecondaryDisplayLauncher/res/values-fa/strings.xml b/SecondaryDisplayLauncher/res/values-fa/strings.xml deleted file mode 100644 index 4d3ec4d3f5..0000000000 --- a/SecondaryDisplayLauncher/res/values-fa/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "فعالیت راه‌اندازی نشد" - "افزودن میان‌بر برنامه" - "تنظیم کاغذدیواری" - diff --git a/SecondaryDisplayLauncher/res/values-fi/strings.xml b/SecondaryDisplayLauncher/res/values-fi/strings.xml deleted file mode 100644 index e56f67a10b..0000000000 --- a/SecondaryDisplayLauncher/res/values-fi/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Käynnistäminen epäonnistui" - "Lisää sovelluksen pikakuvake" - "Aseta taustakuva" - diff --git a/SecondaryDisplayLauncher/res/values-fr-rCA/strings.xml b/SecondaryDisplayLauncher/res/values-fr-rCA/strings.xml deleted file mode 100644 index f5c9ba55f4..0000000000 --- a/SecondaryDisplayLauncher/res/values-fr-rCA/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Impossible de lancer l\'activité" - "Ajouter un raccourci vers l\'application" - "Définir le fond d\'écran" - diff --git a/SecondaryDisplayLauncher/res/values-fr/strings.xml b/SecondaryDisplayLauncher/res/values-fr/strings.xml deleted file mode 100644 index daa186b46f..0000000000 --- a/SecondaryDisplayLauncher/res/values-fr/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Impossible de lancer l\'activité" - "Ajouter un raccourci vers l\'application" - "Configurer le fond d\'écran" - diff --git a/SecondaryDisplayLauncher/res/values-gl/strings.xml b/SecondaryDisplayLauncher/res/values-gl/strings.xml deleted file mode 100644 index 0bcf9696ca..0000000000 --- a/SecondaryDisplayLauncher/res/values-gl/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Non se puido iniciar a actividade" - "Engadir atallo da aplicación" - "Definir fondo de pantalla" - diff --git a/SecondaryDisplayLauncher/res/values-gu/strings.xml b/SecondaryDisplayLauncher/res/values-gu/strings.xml deleted file mode 100644 index 82b4444f39..0000000000 --- a/SecondaryDisplayLauncher/res/values-gu/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "પ્રવૃત્તિ લૉન્ચ કરી શકાઈ નથી" - "ઍપ શૉર્ટકટ ઉમેરો" - "વૉલપેપર સેટ કરો" - diff --git a/SecondaryDisplayLauncher/res/values-hi/strings.xml b/SecondaryDisplayLauncher/res/values-hi/strings.xml deleted file mode 100644 index 8adb519303..0000000000 --- a/SecondaryDisplayLauncher/res/values-hi/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "गतिविधि लॉन्च नहीं हो सकी" - "ऐप्लिकेशन शॉर्टकट जोड़ें" - "वॉलपेपर सेट करें" - diff --git a/SecondaryDisplayLauncher/res/values-hr/strings.xml b/SecondaryDisplayLauncher/res/values-hr/strings.xml deleted file mode 100644 index 87ac874601..0000000000 --- a/SecondaryDisplayLauncher/res/values-hr/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Pokretanje aktivnosti nije uspjelo" - "Dodajte aplikacijski prečac" - "Postavljanje pozadine" - diff --git a/SecondaryDisplayLauncher/res/values-hu/strings.xml b/SecondaryDisplayLauncher/res/values-hu/strings.xml deleted file mode 100644 index a8870fc439..0000000000 --- a/SecondaryDisplayLauncher/res/values-hu/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Nem sikerült elindítani a tevékenységet" - "Alkalmazás parancsikonjának hozzáadása" - "Háttérkép beállítása" - diff --git a/SecondaryDisplayLauncher/res/values-hy/strings.xml b/SecondaryDisplayLauncher/res/values-hy/strings.xml deleted file mode 100644 index a64233f01f..0000000000 --- a/SecondaryDisplayLauncher/res/values-hy/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Չհաջողվեց գործարկել գործողությունը" - "Ավելացնել հավելվածի դյուրանցումը" - "Դարձնել պաստառ" - diff --git a/SecondaryDisplayLauncher/res/values-in/strings.xml b/SecondaryDisplayLauncher/res/values-in/strings.xml deleted file mode 100644 index f51d23840f..0000000000 --- a/SecondaryDisplayLauncher/res/values-in/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Tidak dapat meluncurkan aktivitas" - "Tambahkan pintasan app" - "Setel wallpaper" - diff --git a/SecondaryDisplayLauncher/res/values-is/strings.xml b/SecondaryDisplayLauncher/res/values-is/strings.xml deleted file mode 100644 index e8b3e97c60..0000000000 --- a/SecondaryDisplayLauncher/res/values-is/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Ekki tókst að ræsa aðgerðina" - "Bæta við flýtileið forrita" - "Velja veggfóður" - diff --git a/SecondaryDisplayLauncher/res/values-it/strings.xml b/SecondaryDisplayLauncher/res/values-it/strings.xml deleted file mode 100644 index 4941515cbe..0000000000 --- a/SecondaryDisplayLauncher/res/values-it/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Impossibile avviare l\'attività" - "Aggiungi scorciatoia app" - "Imposta sfondo" - diff --git a/SecondaryDisplayLauncher/res/values-iw/strings.xml b/SecondaryDisplayLauncher/res/values-iw/strings.xml deleted file mode 100644 index 06b0c42bbd..0000000000 --- a/SecondaryDisplayLauncher/res/values-iw/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "לא ניתן היה להפעיל את הפעילות" - "הוספת קיצור דרך של אפליקציה" - "הגדרת טפט" - diff --git a/SecondaryDisplayLauncher/res/values-ja/strings.xml b/SecondaryDisplayLauncher/res/values-ja/strings.xml deleted file mode 100644 index 3ed7b2b110..0000000000 --- a/SecondaryDisplayLauncher/res/values-ja/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "アクティビティを開始できませんでした" - "アプリのショートカットを追加" - "壁紙を設定" - diff --git a/SecondaryDisplayLauncher/res/values-ka/strings.xml b/SecondaryDisplayLauncher/res/values-ka/strings.xml deleted file mode 100644 index ac85f70374..0000000000 --- a/SecondaryDisplayLauncher/res/values-ka/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "აქტივობის გაშვება ვერ მოხერხდა" - "აპის მალსახმობის დამატება" - "ფონის დაყენება" - diff --git a/SecondaryDisplayLauncher/res/values-kk/strings.xml b/SecondaryDisplayLauncher/res/values-kk/strings.xml deleted file mode 100644 index f9ac455687..0000000000 --- a/SecondaryDisplayLauncher/res/values-kk/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Әрекет іске қосылмады" - "Қолданба таңбашасын енгізу" - "Тұсқағаз орнату" - diff --git a/SecondaryDisplayLauncher/res/values-km/strings.xml b/SecondaryDisplayLauncher/res/values-km/strings.xml deleted file mode 100644 index afc050f37d..0000000000 --- a/SecondaryDisplayLauncher/res/values-km/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "មិនអាចចាប់ផ្តើមសកម្មភាពទេ" - "បញ្ចូល​ផ្លូវកាត់​កម្មវិធី" - "កំណត់​ផ្ទាំង​រូបភាព" - diff --git a/SecondaryDisplayLauncher/res/values-kn/strings.xml b/SecondaryDisplayLauncher/res/values-kn/strings.xml deleted file mode 100644 index 09c327fe45..0000000000 --- a/SecondaryDisplayLauncher/res/values-kn/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "ಚಟುವಟಿಕೆಯನ್ನು ಲಾಂಚ್‌ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ" - "ಆ್ಯಪ್‌ ಶಾರ್ಟ್‌ಕಟ್ ಸೇರಿಸಿ" - "ವಾಲ್‌ಪೇಪರ್ ಹೊಂದಿಸಿ" - diff --git a/SecondaryDisplayLauncher/res/values-ko/strings.xml b/SecondaryDisplayLauncher/res/values-ko/strings.xml deleted file mode 100644 index 6a02ac08ce..0000000000 --- a/SecondaryDisplayLauncher/res/values-ko/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "활동을 실행할 수 없음" - "앱 바로가기 추가" - "배경화면 설정" - diff --git a/SecondaryDisplayLauncher/res/values-ky/strings.xml b/SecondaryDisplayLauncher/res/values-ky/strings.xml deleted file mode 100644 index 56185fa7d5..0000000000 --- a/SecondaryDisplayLauncher/res/values-ky/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Аракет аткарылган жок" - "Колдонмого кыска жол кошуу" - "Тушкагаз орнотуу" - diff --git a/SecondaryDisplayLauncher/res/values-lo/strings.xml b/SecondaryDisplayLauncher/res/values-lo/strings.xml deleted file mode 100644 index 36a6275567..0000000000 --- a/SecondaryDisplayLauncher/res/values-lo/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "ບໍ່ສາມາດເປີດໃຊ້ການເຄື່ອນໄຫວໄດ້" - "ເພີ່ມທາງລັດແອັບ" - "ຕັ້ງເປັນຮູບພື້ນຫຼັງ" - diff --git a/SecondaryDisplayLauncher/res/values-lt/strings.xml b/SecondaryDisplayLauncher/res/values-lt/strings.xml deleted file mode 100644 index 8113eb61b6..0000000000 --- a/SecondaryDisplayLauncher/res/values-lt/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Nepavyko paleisti veiklos" - "Pridėti programos šaukinį" - "Nustatyti ekrano foną" - diff --git a/SecondaryDisplayLauncher/res/values-lv/strings.xml b/SecondaryDisplayLauncher/res/values-lv/strings.xml deleted file mode 100644 index e2679335d5..0000000000 --- a/SecondaryDisplayLauncher/res/values-lv/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Nevarēja palaist darbību" - "Pievienot lietotnes saīsni" - "Iestatīt fona tapeti" - diff --git a/SecondaryDisplayLauncher/res/values-mk/strings.xml b/SecondaryDisplayLauncher/res/values-mk/strings.xml deleted file mode 100644 index e2cca03eeb..0000000000 --- a/SecondaryDisplayLauncher/res/values-mk/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Не можеше да се стартува активноста" - "Додајте кратенка за апликација" - "Поставете го тапетот" - diff --git a/SecondaryDisplayLauncher/res/values-ml/strings.xml b/SecondaryDisplayLauncher/res/values-ml/strings.xml deleted file mode 100644 index 864245b9f6..0000000000 --- a/SecondaryDisplayLauncher/res/values-ml/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "ആക്‌റ്റിവിറ്റി പ്രകാശിപ്പിക്കാനായില്ല" - "ആപ്പ് കുറുക്കുവഴികൾ ചേർക്കുക" - "വാൾപേപ്പർ സജ്ജീകരിക്കുക" - diff --git a/SecondaryDisplayLauncher/res/values-mn/strings.xml b/SecondaryDisplayLauncher/res/values-mn/strings.xml deleted file mode 100644 index 85fb0209eb..0000000000 --- a/SecondaryDisplayLauncher/res/values-mn/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Үйл ажиллагааг эхлүүж чадсангүй" - "Аппын товчлол нэмэх" - "Ханын зураг тохируулах" - diff --git a/SecondaryDisplayLauncher/res/values-mr/strings.xml b/SecondaryDisplayLauncher/res/values-mr/strings.xml deleted file mode 100644 index 6e92a2f2a1..0000000000 --- a/SecondaryDisplayLauncher/res/values-mr/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "अ‍ॅक्टिव्हिटी लाँच करता आली नाही" - "अ‍ॅप शॉर्टकट जोडा" - "वॉलपेपर सेट करा" - diff --git a/SecondaryDisplayLauncher/res/values-ms/strings.xml b/SecondaryDisplayLauncher/res/values-ms/strings.xml deleted file mode 100644 index fd7805324c..0000000000 --- a/SecondaryDisplayLauncher/res/values-ms/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Tidak dapat melancarkan aktiviti" - "Tambah pintasan apl" - "Tetapkan kertas dinding" - diff --git a/SecondaryDisplayLauncher/res/values-my/strings.xml b/SecondaryDisplayLauncher/res/values-my/strings.xml deleted file mode 100644 index 1521402203..0000000000 --- a/SecondaryDisplayLauncher/res/values-my/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "လုပ်ဆောင်ချက်ကို စတင်၍မရပါ" - "အက်ပ်ဖြတ်လမ်းလင့်ခ်ထည့်ရန်" - "နောက်ခံ သတ်မှတ်ရန်" - diff --git a/SecondaryDisplayLauncher/res/values-nb/strings.xml b/SecondaryDisplayLauncher/res/values-nb/strings.xml deleted file mode 100644 index 945c87bb7d..0000000000 --- a/SecondaryDisplayLauncher/res/values-nb/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Kunne ikke starte aktiviteten" - "Legg til en appsnarvei" - "Angi bakgrunn" - diff --git a/SecondaryDisplayLauncher/res/values-ne/strings.xml b/SecondaryDisplayLauncher/res/values-ne/strings.xml deleted file mode 100644 index 9a5b0a0590..0000000000 --- a/SecondaryDisplayLauncher/res/values-ne/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "उक्त क्रियाकलाप सुरु गर्न सकिएन" - "अनुप्रयोगको सर्टकट थप्नुहोस्‌" - "वालपेपर सेट गर्नुहोस्" - diff --git a/SecondaryDisplayLauncher/res/values-nl/strings.xml b/SecondaryDisplayLauncher/res/values-nl/strings.xml deleted file mode 100644 index 8767708814..0000000000 --- a/SecondaryDisplayLauncher/res/values-nl/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Kan de activiteit niet starten" - "App-snelkoppeling toevoegen" - "Achtergrond instellen" - diff --git a/SecondaryDisplayLauncher/res/values-or/strings.xml b/SecondaryDisplayLauncher/res/values-or/strings.xml deleted file mode 100644 index 9bc5725aba..0000000000 --- a/SecondaryDisplayLauncher/res/values-or/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "ଗତିବିଧିକୁ ଲଞ୍ଚ କରାଯାଇପାରିଲା ନାହିଁ" - "ଆପ୍‌ ସର୍ଟକଟ୍‌ ଯୋଗ କରନ୍ତୁ" - "ୱାଲ୍‌‌ପେପର୍‌କୁ ସେଟ୍ କରନ୍ତୁ" - diff --git a/SecondaryDisplayLauncher/res/values-pa/strings.xml b/SecondaryDisplayLauncher/res/values-pa/strings.xml deleted file mode 100644 index c5dd582ce0..0000000000 --- a/SecondaryDisplayLauncher/res/values-pa/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "ਸਰਗਰਮੀ ਨੂੰ ਲਾਂਚ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" - "ਐਪ ਸ਼ਾਰਟਕੱਟ ਸ਼ਾਮਲ ਕਰੋ" - "ਵਾਲਪੇਪਰ ਸੈੱਟ ਕਰੋ" - diff --git a/SecondaryDisplayLauncher/res/values-pl/strings.xml b/SecondaryDisplayLauncher/res/values-pl/strings.xml deleted file mode 100644 index e8efaed2b0..0000000000 --- a/SecondaryDisplayLauncher/res/values-pl/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Nie udało się uruchomić aktywności" - "Dodaj skrót do aplikacji" - "Ustaw tapetę" - diff --git a/SecondaryDisplayLauncher/res/values-pt-rPT/strings.xml b/SecondaryDisplayLauncher/res/values-pt-rPT/strings.xml deleted file mode 100644 index 67c75574be..0000000000 --- a/SecondaryDisplayLauncher/res/values-pt-rPT/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Não foi possível iniciar a atividade." - "Adicionar atalho de aplicação" - "Definir imagem de fundo" - diff --git a/SecondaryDisplayLauncher/res/values-pt/strings.xml b/SecondaryDisplayLauncher/res/values-pt/strings.xml deleted file mode 100644 index 201fc07e52..0000000000 --- a/SecondaryDisplayLauncher/res/values-pt/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Não foi possível abrir a atividade" - "Adicionar atalho de apps" - "Definir plano de fundo" - diff --git a/SecondaryDisplayLauncher/res/values-ro/strings.xml b/SecondaryDisplayLauncher/res/values-ro/strings.xml deleted file mode 100644 index e2e21c5731..0000000000 --- a/SecondaryDisplayLauncher/res/values-ro/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Nu s-a putut lansa activitatea" - "Adăugați comanda rapidă pentru aplicație" - "Setați imaginea de fundal" - diff --git a/SecondaryDisplayLauncher/res/values-ru/strings.xml b/SecondaryDisplayLauncher/res/values-ru/strings.xml deleted file mode 100644 index 64ba00ef1f..0000000000 --- a/SecondaryDisplayLauncher/res/values-ru/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Не удалось запустить объект activity" - "Добавить ярлык приложения" - "Установить обои" - diff --git a/SecondaryDisplayLauncher/res/values-si/strings.xml b/SecondaryDisplayLauncher/res/values-si/strings.xml deleted file mode 100644 index ac492eb8ce..0000000000 --- a/SecondaryDisplayLauncher/res/values-si/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "ක්‍රියාකාරකම දියත් කිරීමට නොහැකි විය" - "යෙදුම් කෙටිමඟ එක් කරන්න" - "බිතුපත සකසන්න" - diff --git a/SecondaryDisplayLauncher/res/values-sk/strings.xml b/SecondaryDisplayLauncher/res/values-sk/strings.xml deleted file mode 100644 index 5e6fa7a613..0000000000 --- a/SecondaryDisplayLauncher/res/values-sk/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Aktivitu sa nepodarilo spustiť" - "Pridať odkaz do aplikácie" - "Nastaviť tapetu" - diff --git a/SecondaryDisplayLauncher/res/values-sl/strings.xml b/SecondaryDisplayLauncher/res/values-sl/strings.xml deleted file mode 100644 index f54dec9c8d..0000000000 --- a/SecondaryDisplayLauncher/res/values-sl/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Dejavnosti ni bilo mogoče zagnati" - "Dodaj bližnjico do aplikacije" - "Nastavi ozadje" - diff --git a/SecondaryDisplayLauncher/res/values-sq/strings.xml b/SecondaryDisplayLauncher/res/values-sq/strings.xml deleted file mode 100644 index e626dd1caf..0000000000 --- a/SecondaryDisplayLauncher/res/values-sq/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Aktiviteti nuk mund të hapej" - "Shto shkurtoren e aplikacionit" - "Cakto imazhin e sfondit" - diff --git a/SecondaryDisplayLauncher/res/values-sr/strings.xml b/SecondaryDisplayLauncher/res/values-sr/strings.xml deleted file mode 100644 index 94214f113b..0000000000 --- a/SecondaryDisplayLauncher/res/values-sr/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Покретање активности није успело" - "Додај пречицу за апликацију" - "Подесите позадину" - diff --git a/SecondaryDisplayLauncher/res/values-sv/strings.xml b/SecondaryDisplayLauncher/res/values-sv/strings.xml deleted file mode 100644 index 53e17ef685..0000000000 --- a/SecondaryDisplayLauncher/res/values-sv/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Det gick inte att starta aktiviteten" - "Lägg till appgenväg" - "Ange bakgrund" - diff --git a/SecondaryDisplayLauncher/res/values-sw/strings.xml b/SecondaryDisplayLauncher/res/values-sw/strings.xml deleted file mode 100644 index 490561a619..0000000000 --- a/SecondaryDisplayLauncher/res/values-sw/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Imeshindwa kuanzisha shughuli" - "Ongeza njia ya mkato ya programu" - "Weka mandhari" - diff --git a/SecondaryDisplayLauncher/res/values-sw600dp/dimens.xml b/SecondaryDisplayLauncher/res/values-sw600dp/dimens.xml deleted file mode 100644 index f33a8db400..0000000000 --- a/SecondaryDisplayLauncher/res/values-sw600dp/dimens.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - 400dp - 400dp - 60dp - diff --git a/SecondaryDisplayLauncher/res/values-sw720dp/dimens.xml b/SecondaryDisplayLauncher/res/values-sw720dp/dimens.xml deleted file mode 100644 index 524e52af71..0000000000 --- a/SecondaryDisplayLauncher/res/values-sw720dp/dimens.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - 660dp - 660dp - 70dp - diff --git a/SecondaryDisplayLauncher/res/values-ta/strings.xml b/SecondaryDisplayLauncher/res/values-ta/strings.xml deleted file mode 100644 index 6bb054a11a..0000000000 --- a/SecondaryDisplayLauncher/res/values-ta/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "நடவடிக்கையைத் துவக்க இயலவில்லை" - "ஆப்ஸ் ஷார்ட்கட்டைச் சேர்" - "வால்பேப்பரை அமை" - diff --git a/SecondaryDisplayLauncher/res/values-te/strings.xml b/SecondaryDisplayLauncher/res/values-te/strings.xml deleted file mode 100644 index 3dd3c9bddb..0000000000 --- a/SecondaryDisplayLauncher/res/values-te/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "కార్యకలాపాన్ని ప్రారంభించడం సాధ్యం కాలేదు" - "యాప్ షార్ట్‌కట్‌ని జోడించు" - "వాల్‌పేపర్‌ను సెట్ చేయండి" - diff --git a/SecondaryDisplayLauncher/res/values-th/strings.xml b/SecondaryDisplayLauncher/res/values-th/strings.xml deleted file mode 100644 index 6368950ad8..0000000000 --- a/SecondaryDisplayLauncher/res/values-th/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "เปิดกิจกรรมไม่ได้" - "เพิ่มทางลัดของแอป" - "ตั้งวอลเปเปอร์" - diff --git a/SecondaryDisplayLauncher/res/values-tl/strings.xml b/SecondaryDisplayLauncher/res/values-tl/strings.xml deleted file mode 100644 index 192e5c4f92..0000000000 --- a/SecondaryDisplayLauncher/res/values-tl/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Hindi mailunsad ang aktibidad" - "Magdagdag ng shortcut ng app" - "Magtakda ng wallpaper" - diff --git a/SecondaryDisplayLauncher/res/values-tr/strings.xml b/SecondaryDisplayLauncher/res/values-tr/strings.xml deleted file mode 100644 index e7ed9983ee..0000000000 --- a/SecondaryDisplayLauncher/res/values-tr/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "İşlem başlatılamadı" - "Uygulama kısayolu ekle" - "Duvar kağıdı ayarla" - diff --git a/SecondaryDisplayLauncher/res/values-uk/strings.xml b/SecondaryDisplayLauncher/res/values-uk/strings.xml deleted file mode 100644 index e4659952cd..0000000000 --- a/SecondaryDisplayLauncher/res/values-uk/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Не вдалося запустити активність" - "Розмістити ярлик додатка" - "Вибрати фоновий малюнок" - diff --git a/SecondaryDisplayLauncher/res/values-ur/strings.xml b/SecondaryDisplayLauncher/res/values-ur/strings.xml deleted file mode 100644 index e4c86417dc..0000000000 --- a/SecondaryDisplayLauncher/res/values-ur/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "سرگرمی کو شروع نہیں کیا جا سکا" - "ایپ شارٹ کٹ شامل کریں" - "وال پیپر سیٹ کریں" - diff --git a/SecondaryDisplayLauncher/res/values-uz/strings.xml b/SecondaryDisplayLauncher/res/values-uz/strings.xml deleted file mode 100644 index 585739d37f..0000000000 --- a/SecondaryDisplayLauncher/res/values-uz/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Faollik ishga tushmadi" - "Yorliq yaratish" - "Fonga rasm oʻrnatish" - diff --git a/SecondaryDisplayLauncher/res/values-vi/strings.xml b/SecondaryDisplayLauncher/res/values-vi/strings.xml deleted file mode 100644 index 15a1a44dde..0000000000 --- a/SecondaryDisplayLauncher/res/values-vi/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Không thể chạy hoạt động" - "Thêm lối tắt ứng dụng" - "Đặt hình nền" - diff --git a/SecondaryDisplayLauncher/res/values-zh-rCN/strings.xml b/SecondaryDisplayLauncher/res/values-zh-rCN/strings.xml deleted file mode 100644 index 3358499824..0000000000 --- a/SecondaryDisplayLauncher/res/values-zh-rCN/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "无法启动该操作组件" - "添加应用快捷方式" - "设置壁纸" - diff --git a/SecondaryDisplayLauncher/res/values-zh-rHK/strings.xml b/SecondaryDisplayLauncher/res/values-zh-rHK/strings.xml deleted file mode 100644 index bf76f29dec..0000000000 --- a/SecondaryDisplayLauncher/res/values-zh-rHK/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "無法啟動活動" - "新增應用程式捷徑" - "設定桌布" - diff --git a/SecondaryDisplayLauncher/res/values-zh-rTW/strings.xml b/SecondaryDisplayLauncher/res/values-zh-rTW/strings.xml deleted file mode 100644 index c02fe2cdce..0000000000 --- a/SecondaryDisplayLauncher/res/values-zh-rTW/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "無法啟動活動" - "新增應用程式捷徑" - "套用桌布" - diff --git a/SecondaryDisplayLauncher/res/values-zu/strings.xml b/SecondaryDisplayLauncher/res/values-zu/strings.xml deleted file mode 100644 index ad2f6b9cdb..0000000000 --- a/SecondaryDisplayLauncher/res/values-zu/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - "Ayikwazanga ukuqalisa umsebenzi" - "Engeza isinqamuleli sohlelo lokusebenza" - "Setha isithombe sangemuva" - diff --git a/SecondaryDisplayLauncher/res/values/colors.xml b/SecondaryDisplayLauncher/res/values/colors.xml deleted file mode 100644 index 66b41a2ba6..0000000000 --- a/SecondaryDisplayLauncher/res/values/colors.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - #884e8391 - diff --git a/SecondaryDisplayLauncher/res/values/dimens.xml b/SecondaryDisplayLauncher/res/values/dimens.xml deleted file mode 100644 index 7cca60719c..0000000000 --- a/SecondaryDisplayLauncher/res/values/dimens.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - 72dp - 24dp - 24dp - 64dp - 64dp - 24dp - 8dp - 8dp - - 300dp - 300dp - 20dp - 20dp - diff --git a/SecondaryDisplayLauncher/res/values/strings.xml b/SecondaryDisplayLauncher/res/values/strings.xml deleted file mode 100644 index b68918ac3f..0000000000 --- a/SecondaryDisplayLauncher/res/values/strings.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - Couldn\'t launch the activity - Add app shortcut - Set wallpaper - diff --git a/SecondaryDisplayLauncher/src/com/android/launcher3/AppEntry.java b/SecondaryDisplayLauncher/src/com/android/launcher3/AppEntry.java deleted file mode 100644 index 3017b81c1d..0000000000 --- a/SecondaryDisplayLauncher/src/com/android/launcher3/AppEntry.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright (c) 2018 The Android Open Source 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. - */ - -package com.android.launcher3; - -import android.content.ComponentName; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.graphics.drawable.Drawable; - -/** An entry that represents a single activity that can be launched. */ -public class AppEntry { - - private String mLabel; - private Drawable mIcon; - private Intent mLaunchIntent; - - AppEntry(ResolveInfo info, PackageManager packageManager) { - mLabel = info.loadLabel(packageManager).toString(); - mIcon = info.loadIcon(packageManager); - mLaunchIntent = new Intent(); - mLaunchIntent.setComponent(new ComponentName(info.activityInfo.packageName, - info.activityInfo.name)); - } - - String getLabel() { - return mLabel; - } - - Drawable getIcon() { - return mIcon; - } - - Intent getLaunchIntent() { return mLaunchIntent; } - - ComponentName getComponentName() { - return mLaunchIntent.getComponent(); - } - - @Override - public String toString() { - return mLabel; - } -} diff --git a/SecondaryDisplayLauncher/src/com/android/launcher3/AppListAdapter.java b/SecondaryDisplayLauncher/src/com/android/launcher3/AppListAdapter.java deleted file mode 100644 index aa115cb575..0000000000 --- a/SecondaryDisplayLauncher/src/com/android/launcher3/AppListAdapter.java +++ /dev/null @@ -1,63 +0,0 @@ -/** - * Copyright (c) 2018 The Android Open Source 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. - */ - -package com.android.launcher3; - -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ArrayAdapter; -import android.widget.ImageView; -import android.widget.TextView; - -import com.android.launcher3.R; - -import java.util.List; - -/** Adapter for available apps list. */ -public class AppListAdapter extends ArrayAdapter { - private final LayoutInflater mInflater; - - AppListAdapter(Context context) { - super(context, android.R.layout.simple_list_item_2); - mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - } - - void setData(List data) { - clear(); - if (data != null) { - addAll(data); - } - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - View view; - - if (convertView == null) { - view = mInflater.inflate(R.layout.app_grid_item, parent, false); - } else { - view = convertView; - } - - AppEntry item = getItem(position); - ((ImageView)view.findViewById(R.id.app_icon)).setImageDrawable(item.getIcon()); - ((TextView)view.findViewById(R.id.app_name)).setText(item.getLabel()); - - return view; - } -} diff --git a/SecondaryDisplayLauncher/src/com/android/launcher3/AppListViewModel.java b/SecondaryDisplayLauncher/src/com/android/launcher3/AppListViewModel.java deleted file mode 100644 index 914fd5e01a..0000000000 --- a/SecondaryDisplayLauncher/src/com/android/launcher3/AppListViewModel.java +++ /dev/null @@ -1,126 +0,0 @@ -/** - * Copyright (c) 2018 The Android Open Source 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. - */ - -package com.android.launcher3; - -import android.app.Application; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.os.AsyncTask; - -import androidx.lifecycle.AndroidViewModel; -import androidx.lifecycle.LiveData; - -import java.util.ArrayList; -import java.util.List; - -/** - * A view model that provides a list of activities that can be launched. - */ -public class AppListViewModel extends AndroidViewModel { - - private final AppListLiveData mLiveData; - private final PackageIntentReceiver - mPackageIntentReceiver; - - public AppListViewModel(Application application) { - super(application); - mLiveData = new AppListLiveData(application); - mPackageIntentReceiver = new PackageIntentReceiver(mLiveData, application); - } - - public LiveData> getAppList() { - return mLiveData; - } - - protected void onCleared() { - getApplication().unregisterReceiver(mPackageIntentReceiver); - } -} - -class AppListLiveData extends LiveData> { - - private final PackageManager mPackageManager; - private int mCurrentDataVersion; - - public AppListLiveData(Context context) { - mPackageManager = context.getPackageManager(); - loadData(); - } - - void loadData() { - final int loadDataVersion = ++mCurrentDataVersion; - - new AsyncTask>() { - @Override - protected List doInBackground(Void... voids) { - Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); - mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); - - List apps = mPackageManager.queryIntentActivities(mainIntent, - PackageManager.GET_META_DATA); - - List entries = new ArrayList<>(); - if (apps != null) { - for (ResolveInfo app : apps) { - AppEntry entry = new AppEntry(app, mPackageManager); - entries.add(entry); - } - } - return entries; - } - - @Override - protected void onPostExecute(List data) { - if (mCurrentDataVersion == loadDataVersion) { - setValue(data); - } - } - }.execute(); - } -} - -/** - * Receiver used to notify live data about app list changes. - */ -class PackageIntentReceiver extends BroadcastReceiver { - - private final AppListLiveData mLiveData; - - public PackageIntentReceiver(AppListLiveData liveData, Context context) { - mLiveData = liveData; - IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED); - filter.addAction(Intent.ACTION_PACKAGE_REMOVED); - filter.addAction(Intent.ACTION_PACKAGE_CHANGED); - filter.addDataScheme("package"); - context.registerReceiver(this, filter); - - // Register for events related to sdcard installation. - IntentFilter sdFilter = new IntentFilter(); - sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); - sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); - context.registerReceiver(this, sdFilter); - } - - @Override - public void onReceive(Context context, Intent intent) { - mLiveData.loadData(); - } -} \ No newline at end of file diff --git a/SecondaryDisplayLauncher/src/com/android/launcher3/PinnedAppListViewModel.java b/SecondaryDisplayLauncher/src/com/android/launcher3/PinnedAppListViewModel.java deleted file mode 100644 index 4f92038ae4..0000000000 --- a/SecondaryDisplayLauncher/src/com/android/launcher3/PinnedAppListViewModel.java +++ /dev/null @@ -1,120 +0,0 @@ -/** - * Copyright (c) 2018 The Android Open Source 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. - */ - -package com.android.launcher3; - -import static com.android.launcher3.PinnedAppListViewModel.PINNED_APPS_KEY; - -import android.app.Application; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.os.AsyncTask; - -import androidx.lifecycle.AndroidViewModel; -import androidx.lifecycle.LiveData; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -/** - * A view model that provides a list of activities that were pinned by user to always display on - * home screen. - * The pinned activities are stored in {@link SharedPreferences} to keep the sample simple :). - */ -public class PinnedAppListViewModel extends AndroidViewModel { - - final static String PINNED_APPS_KEY = "pinned_apps"; - - private final PinnedAppListLiveData mLiveData; - - public PinnedAppListViewModel(Application application) { - super(application); - mLiveData = new PinnedAppListLiveData(application); - } - - public LiveData> getPinnedAppList() { - return mLiveData; - } -} - -class PinnedAppListLiveData extends LiveData> { - - private final Context mContext; - private final PackageManager mPackageManager; - // Store listener reference, so it won't be GC-ed. - private final SharedPreferences.OnSharedPreferenceChangeListener mChangeListener; - private int mCurrentDataVersion; - - public PinnedAppListLiveData(Context context) { - mContext = context; - mPackageManager = context.getPackageManager(); - - final SharedPreferences prefs = context.getSharedPreferences(PINNED_APPS_KEY, 0); - mChangeListener = (preferences, key) -> { - loadData(); - }; - prefs.registerOnSharedPreferenceChangeListener(mChangeListener); - - loadData(); - } - - private void loadData() { - final int loadDataVersion = ++mCurrentDataVersion; - - new AsyncTask>() { - @Override - protected List doInBackground(Void... voids) { - List entries = new ArrayList<>(); - - final SharedPreferences sp = mContext.getSharedPreferences(PINNED_APPS_KEY, 0); - final Set pinnedAppsComponents = sp.getStringSet(PINNED_APPS_KEY, null); - if (pinnedAppsComponents == null) { - return null; - } - - for (String componentString : pinnedAppsComponents) { - final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); - mainIntent.setComponent(ComponentName.unflattenFromString(componentString)); - mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); - - final List apps = mPackageManager.queryIntentActivities(mainIntent, - PackageManager.GET_META_DATA); - - if (apps != null) { - for (ResolveInfo app : apps) { - final AppEntry entry = new AppEntry(app, mPackageManager); - entries.add(entry); - } - } - } - - return entries; - } - - @Override - protected void onPostExecute(List data) { - if (mCurrentDataVersion == loadDataVersion) { - setValue(data); - } - } - }.execute(); - } -} \ No newline at end of file diff --git a/SecondaryDisplayLauncher/src/com/android/launcher3/PinnedAppPickerDialog.java b/SecondaryDisplayLauncher/src/com/android/launcher3/PinnedAppPickerDialog.java deleted file mode 100644 index 02e6e4a9c6..0000000000 --- a/SecondaryDisplayLauncher/src/com/android/launcher3/PinnedAppPickerDialog.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Copyright (c) 2018 The Android Open Source 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. - */ - -package com.android.launcher3; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.GridView; - -import androidx.fragment.app.DialogFragment; - -import com.android.launcher3.R; - -/** - * Callback to be invoked when an app was picked. - */ -interface AppPickedCallback { - void onAppPicked(AppEntry appEntry); -} - -/** - * Dialog that provides the user with a list of available apps to pin to the home screen. - */ -public class PinnedAppPickerDialog extends DialogFragment { - - private AppListAdapter mAppListAdapter; - private AppPickedCallback mAppPickerCallback; - - public PinnedAppPickerDialog() { - } - - public static PinnedAppPickerDialog newInstance(AppListAdapter appListAdapter, - AppPickedCallback callback) { - PinnedAppPickerDialog - frag = new PinnedAppPickerDialog(); - frag.mAppListAdapter = appListAdapter; - frag.mAppPickerCallback = callback; - return frag; - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - return inflater.inflate(R.layout.app_picker_dialog, container); - } - - @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - GridView appGridView = view.findViewById(R.id.picker_app_grid); - appGridView.setAdapter(mAppListAdapter); - appGridView.setOnItemClickListener((adapterView, itemView, position, id) -> { - final AppEntry entry = mAppListAdapter.getItem(position); - mAppPickerCallback.onAppPicked(entry); - dismiss(); - }); - } -} \ No newline at end of file diff --git a/SecondaryDisplayLauncher/src/com/android/launcher3/SecondaryDisplayLauncher.java b/SecondaryDisplayLauncher/src/com/android/launcher3/SecondaryDisplayLauncher.java deleted file mode 100644 index 0a2f18f109..0000000000 --- a/SecondaryDisplayLauncher/src/com/android/launcher3/SecondaryDisplayLauncher.java +++ /dev/null @@ -1,229 +0,0 @@ -/** - * Copyright (c) 2018 The Android Open Source 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. - */ - -package com.android.launcher3; - -import static com.android.launcher3.PinnedAppListViewModel.PINNED_APPS_KEY; - -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.app.AlertDialog; -import android.app.Application; -import android.content.Intent; -import android.content.SharedPreferences; -import android.content.res.Configuration; -import android.os.Bundle; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.View; -import android.view.ViewAnimationUtils; -import android.view.inputmethod.InputMethodManager; -import android.widget.GridView; -import android.widget.ImageButton; -import android.widget.PopupMenu; - -import androidx.fragment.app.FragmentActivity; -import androidx.fragment.app.FragmentManager; -import androidx.lifecycle.ViewModelProvider; -import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory; - -import com.google.android.material.circularreveal.cardview.CircularRevealCardView; -import com.google.android.material.floatingactionbutton.FloatingActionButton; - -import java.util.HashSet; -import java.util.Set; - -/** - * Secondary launcher activity. It's launch mode is configured as "singleTop" to allow showing on - * multiple displays and to ensure a single instance per each display. - */ -public class SecondaryDisplayLauncher extends FragmentActivity implements AppPickedCallback, - PopupMenu.OnMenuItemClickListener { - - private AppListAdapter mAppListAdapter; - private AppListAdapter mPinnedAppListAdapter; - private CircularRevealCardView mAppDrawerView; - private FloatingActionButton mFab; - - private boolean mAppDrawerShown; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.secondary_display_launcher); - - mAppDrawerView = findViewById(R.id.FloatingSheet); - mFab = findViewById(R.id.FloatingActionButton); - - mFab.setOnClickListener((View v) -> { - showAppDrawer(true); - }); - - final ViewModelProvider viewModelProvider = new ViewModelProvider(getViewModelStore(), - new AndroidViewModelFactory((Application) getApplicationContext())); - - mPinnedAppListAdapter = new AppListAdapter(this); - final GridView pinnedAppGridView = findViewById(R.id.pinned_app_grid); - pinnedAppGridView.setAdapter(mPinnedAppListAdapter); - pinnedAppGridView.setOnItemClickListener((adapterView, view, position, id) -> { - final AppEntry entry = mPinnedAppListAdapter.getItem(position); - launch(entry.getLaunchIntent()); - }); - final PinnedAppListViewModel pinnedAppListViewModel = - viewModelProvider.get(PinnedAppListViewModel.class); - pinnedAppListViewModel.getPinnedAppList().observe(this, data -> { - mPinnedAppListAdapter.setData(data); - }); - - mAppListAdapter = new AppListAdapter(this); - final GridView appGridView = findViewById(R.id.app_grid); - appGridView.setAdapter(mAppListAdapter); - appGridView.setOnItemClickListener((adapterView, view, position, id) -> { - final AppEntry entry = mAppListAdapter.getItem(position); - launch(entry.getLaunchIntent()); - }); - final AppListViewModel appListViewModel = viewModelProvider.get(AppListViewModel.class); - appListViewModel.getAppList().observe(this, data -> { - mAppListAdapter.setData(data); - }); - - ImageButton optionsButton = findViewById(R.id.OptionsButton); - optionsButton.setOnClickListener((View v) -> { - PopupMenu popup = new PopupMenu(this,v); - popup.setOnMenuItemClickListener(this); - MenuInflater inflater = popup.getMenuInflater(); - inflater.inflate(R.menu.context_menu, popup.getMenu()); - popup.show(); - }); - } - - @Override - public boolean onMenuItemClick(MenuItem item) { - // Respond to picking one of the popup menu items. - final int id = item.getItemId(); - if (id == R.id.add_app_shortcut) { - FragmentManager fm = getSupportFragmentManager(); - PinnedAppPickerDialog pickerDialogFragment = - PinnedAppPickerDialog.newInstance(mAppListAdapter, this); - pickerDialogFragment.show(fm, "fragment_app_picker"); - return true; - } else if (id == R.id.set_wallpaper) { - Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER); - startActivity(Intent.createChooser(intent, getString(R.string.set_wallpaper))); - return true; - } - - return true; - } - - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - showAppDrawer(false); - } - - public void onBackPressed() { - // If the app drawer was shown - hide it. Otherwise, not doing anything since we don't want - // to close the launcher. - showAppDrawer(false); - } - - public void onNewIntent(Intent intent) { - super.onNewIntent(intent); - - if (Intent.ACTION_MAIN.equals(intent.getAction())) { - // Hide keyboard. - final View v = getWindow().peekDecorView(); - if (v != null && v.getWindowToken() != null) { - getSystemService(InputMethodManager.class).hideSoftInputFromWindow( - v.getWindowToken(), 0); - } - } - - // A new intent will bring the launcher to top. Hide the app drawer to reset the state. - showAppDrawer(false); - } - - void launch(Intent launchIntent) { - launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - try { - startActivity(launchIntent); - } catch (Exception e) { - final AlertDialog.Builder builder = - new AlertDialog.Builder(this, android.R.style.Theme_Material_Dialog_Alert); - builder.setTitle(R.string.couldnt_launch) - .setMessage(e.getLocalizedMessage()) - .setIcon(android.R.drawable.ic_dialog_alert) - .show(); - } - } - - /** - * Store the picked app to persistent pinned list and update the loader. - */ - @Override - public void onAppPicked(AppEntry appEntry) { - final SharedPreferences sp = getSharedPreferences(PINNED_APPS_KEY, 0); - Set pinnedApps = sp.getStringSet(PINNED_APPS_KEY, null); - if (pinnedApps == null) { - pinnedApps = new HashSet(); - } else { - // Always need to create a new object to make sure that the changes are persisted. - pinnedApps = new HashSet(pinnedApps); - } - pinnedApps.add(appEntry.getComponentName().flattenToString()); - - final SharedPreferences.Editor editor = sp.edit(); - editor.putStringSet(PINNED_APPS_KEY, pinnedApps); - editor.apply(); - } - - /** - * Show/hide app drawer card with animation. - */ - private void showAppDrawer(boolean show) { - if (show == mAppDrawerShown) { - return; - } - - final Animator animator = revealAnimator(mAppDrawerView, show); - if (show) { - mAppDrawerShown = true; - mAppDrawerView.setVisibility(View.VISIBLE); - mFab.setVisibility(View.INVISIBLE); - } else { - mAppDrawerShown = false; - animator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - super.onAnimationEnd(animation); - mAppDrawerView.setVisibility(View.INVISIBLE); - mFab.setVisibility(View.VISIBLE); - } - }); - } - animator.start(); - } - - /** - * Create reveal/hide animator for app list card. - */ - private Animator revealAnimator(View view, boolean open) { - final int radius = (int) Math.hypot((double) view.getWidth(), (double) view.getHeight()); - return ViewAnimationUtils.createCircularReveal(view, view.getRight(), view.getBottom(), - open ? 0 : radius, open ? radius : 0); - } -} diff --git a/SharedLibWrapper/build.gradle b/SharedLibWrapper/build.gradle new file mode 100644 index 0000000000..674e38abd6 --- /dev/null +++ b/SharedLibWrapper/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'java' + +final String ANDROID_TOP = "${rootDir}/../../.." +final String FRAMEWORK_PREBUILTS_DIR = "${ANDROID_TOP}/prebuilts/framework_intermediates/" + +sourceSets { + main { + java.srcDirs = ["${ANDROID_TOP}/frameworks/lib/systemui/SharedLibWrapper/src"] + } +} + +sourceCompatibility = 1.8 + +dependencies { + implementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/quickstep/libs", include: 'sysui_shared.jar') + compileOnly fileTree(dir: "$ANDROID_TOP/prebuilts/fullsdk-${org.gradle.internal.os.OperatingSystem.current().isMacOsX() ? "darwin" : "linux"}/platforms/${COMPILE_SDK}", include: 'android.jar') +} diff --git a/build.gradle b/build.gradle index e296455bec..534ca65115 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,7 @@ buildscript { repositories { mavenCentral() google() + jcenter() } dependencies { classpath GRADLE_CLASS_PATH @@ -62,12 +63,6 @@ android { minSdkVersion 28 } - withQuickstepIconRecents { - dimension "recents" - - minSdkVersion 28 - } - withoutQuickstep { dimension "recents" } @@ -78,11 +73,6 @@ android { if (variant.buildType.name.endsWith('release')) { variant.setIgnore(true) } - - // Icon recents is Go only - if (name.contains("WithQuickstepIconRecents") && !name.contains("l3go")) { - variant.setIgnore(true) - } } sourceSets { @@ -96,10 +86,6 @@ android { } } - debug { - manifest.srcFile "AndroidManifest.xml" - } - androidTest { res.srcDirs = ['tests/res'] java.srcDirs = ['tests/src', 'tests/tapl'] @@ -112,15 +98,30 @@ android { aosp { java.srcDirs = ['src_flags', 'src_shortcuts_overrides'] + } + + aospWithoutQuickstep { manifest.srcFile "AndroidManifest.xml" } + aospWithQuickstep { + manifest.srcFile "quickstep/AndroidManifest-launcher.xml" + } + l3go { res.srcDirs = ['go/res'] java.srcDirs = ['go/src'] manifest.srcFile "go/AndroidManifest.xml" } + l3goWithoutQuickstepDebug { + manifest.srcFile "AndroidManifest.xml" + } + + l3goWithQuickstepDebug { + manifest.srcFile "quickstep/AndroidManifest-launcher.xml" + } + withoutQuickstep { java.srcDirs = ['src_ui_overrides'] } @@ -130,20 +131,17 @@ android { java.srcDirs = ['quickstep/src', 'quickstep/recents_ui_overrides/src'] manifest.srcFile "quickstep/AndroidManifest.xml" } - - withQuickstepIconRecents { - res.srcDirs = ['quickstep/res', 'go/quickstep/res'] - java.srcDirs = ['quickstep/src', 'go/quickstep/src'] - manifest.srcFile "quickstep/AndroidManifest.xml" - } } } -repositories { - maven { url "../../../prebuilts/fullsdk-darwin/extras/android/m2repository" } - maven { url "../../../prebuilts/fullsdk-linux/extras/android/m2repository" } - mavenCentral() - google() +allprojects { + repositories { + maven { url "../../../prebuilts/sdk/current/androidx/m2repository" } + maven { url "../../../prebuilts/fullsdk-darwin/extras/android/m2repository" } + maven { url "../../../prebuilts/fullsdk-linux/extras/android/m2repository" } + mavenCentral() + google() + } } dependencies { @@ -151,14 +149,12 @@ dependencies { implementation "androidx.recyclerview:recyclerview:${ANDROID_X_VERSION}" implementation "androidx.preference:preference:${ANDROID_X_VERSION}" implementation project(':IconLoader') + withQuickstepImplementation project(':SharedLibWrapper') implementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/libs", include: 'launcher_protos.jar') // Recents lib dependency withQuickstepImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/quickstep/libs", include: 'sysui_shared.jar') - // Recents lib dependency for Go - withQuickstepIconRecentsImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/quickstep/libs", include: 'sysui_shared.jar') - // Required for AOSP to compile. This is already included in the sysui_shared.jar withoutQuickstepImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/libs", include: 'plugin_core.jar') @@ -175,7 +171,7 @@ dependencies { protobuf { // Configure the protoc executable protoc { - artifact = 'com.google.protobuf:protoc:3.0.0-alpha-3' + artifact = 'com.google.protobuf:protoc:3.0.0' generateProtoTasks { all().each { task -> diff --git a/ext_tests/res/values/overrides.xml b/ext_tests/res/values/overrides.xml new file mode 100644 index 0000000000..3f071d4219 --- /dev/null +++ b/ext_tests/res/values/overrides.xml @@ -0,0 +1,5 @@ + + + com.android.launcher3.testing.DebugTestInformationHandler + + diff --git a/ext_tests/src/com/android/launcher3/testing/DebugTestInformationHandler.java b/ext_tests/src/com/android/launcher3/testing/DebugTestInformationHandler.java new file mode 100644 index 0000000000..e649ce1de4 --- /dev/null +++ b/ext_tests/src/com/android/launcher3/testing/DebugTestInformationHandler.java @@ -0,0 +1,191 @@ +/* + * Copyright (C) 2020 The Android Open Source 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. + */ + +package com.android.launcher3.testing; + +import static android.graphics.Bitmap.Config.ARGB_8888; + +import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Color; +import android.os.Binder; +import android.os.Bundle; +import android.os.Debug; +import android.system.Os; +import android.view.View; + +import androidx.annotation.Keep; + +import com.android.launcher3.LauncherAppState; +import com.android.launcher3.LauncherSettings; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +/** + * Class to handle requests from tests, including debug ones. + */ +public class DebugTestInformationHandler extends TestInformationHandler { + private static LinkedList sLeaks; + private static Collection sEvents; + + public DebugTestInformationHandler(Context context) { + init(context); + } + + private static void runGcAndFinalizersSync() { + Runtime.getRuntime().gc(); + Runtime.getRuntime().runFinalization(); + + final CountDownLatch fence = new CountDownLatch(1); + createFinalizationObserver(fence); + try { + do { + Runtime.getRuntime().gc(); + Runtime.getRuntime().runFinalization(); + } while (!fence.await(100, TimeUnit.MILLISECONDS)); + } catch (InterruptedException ex) { + throw new RuntimeException(ex); + } + } + + // Create the observer in the scope of a method to minimize the chance that + // it remains live in a DEX/machine register at the point of the fence guard. + // This must be kept to avoid R8 inlining it. + @Keep + private static void createFinalizationObserver(CountDownLatch fence) { + new Object() { + @Override + protected void finalize() throws Throwable { + try { + fence.countDown(); + } finally { + super.finalize(); + } + } + }; + } + + @Override + public Bundle call(String method) { + final Bundle response = new Bundle(); + switch (method) { + case TestProtocol.REQUEST_APP_LIST_FREEZE_FLAGS: { + return getLauncherUIProperty(Bundle::putInt, + l -> l.getAppsView().getAppsStore().getDeferUpdatesFlags()); + } + + case TestProtocol.REQUEST_ENABLE_DEBUG_TRACING: + TestProtocol.sDebugTracing = true; + return response; + + case TestProtocol.REQUEST_DISABLE_DEBUG_TRACING: + TestProtocol.sDebugTracing = false; + return response; + + case TestProtocol.REQUEST_PID: { + response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, Os.getpid()); + return response; + } + + case TestProtocol.REQUEST_TOTAL_PSS_KB: { + runGcAndFinalizersSync(); + Debug.MemoryInfo mem = new Debug.MemoryInfo(); + Debug.getMemoryInfo(mem); + response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, mem.getTotalPss()); + return response; + } + + case TestProtocol.REQUEST_JAVA_LEAK: { + if (sLeaks == null) sLeaks = new LinkedList(); + + // Allocate and dirty the memory. + final int leakSize = 1024 * 1024; + final byte[] bytes = new byte[leakSize]; + for (int i = 0; i < leakSize; i += 239) { + bytes[i] = (byte) (i % 256); + } + sLeaks.add(bytes); + return response; + } + + case TestProtocol.REQUEST_NATIVE_LEAK: { + if (sLeaks == null) sLeaks = new LinkedList(); + + // Allocate and dirty a bitmap. + final Bitmap bitmap = Bitmap.createBitmap(512, 512, ARGB_8888); + bitmap.eraseColor(Color.RED); + sLeaks.add(bitmap); + return response; + } + + case TestProtocol.REQUEST_VIEW_LEAK: { + if (sLeaks == null) sLeaks = new LinkedList(); + sLeaks.add(new View(mContext)); + return response; + } + + case TestProtocol.REQUEST_START_EVENT_LOGGING: { + sEvents = new ArrayList<>(); + TestLogging.setEventConsumer( + (sequence, event) -> { + final Collection events = sEvents; + if (events != null) { + synchronized (events) { + events.add(sequence + '/' + event); + } + } + }); + return response; + } + + case TestProtocol.REQUEST_STOP_EVENT_LOGGING: { + TestLogging.setEventConsumer(null); + sEvents = null; + return response; + } + + case TestProtocol.REQUEST_GET_TEST_EVENTS: { + synchronized (sEvents) { + response.putStringArrayList( + TestProtocol.TEST_INFO_RESPONSE_FIELD, new ArrayList<>(sEvents)); + } + return response; + } + + case TestProtocol.REQUEST_CLEAR_DATA: { + final long identity = Binder.clearCallingIdentity(); + try { + LauncherSettings.Settings.call(mContext.getContentResolver(), + LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB); + MAIN_EXECUTOR.submit(() -> + LauncherAppState.getInstance(mContext).getModel().forceReload()); + return response; + } finally { + Binder.restoreCallingIdentity(identity); + } + } + + default: + return super.call(method); + } + } +} diff --git a/go/AndroidManifest.xml b/go/AndroidManifest.xml index fae1efffe0..f84a82eaa2 100644 --- a/go/AndroidManifest.xml +++ b/go/AndroidManifest.xml @@ -22,7 +22,7 @@ xmlns:tools="http://schemas.android.com/tools" package="com.android.launcher3" > - + - - -