diff options
| author | 2022-08-10 08:38:51 +0000 | |
|---|---|---|
| committer | 2022-08-10 08:38:51 +0000 | |
| commit | 9cc6ab62b27389c7979aa98a0b90188d195d0b5f (patch) | |
| tree | ea7521d9acabdef7785df8810216d3ce9751c6b1 | |
| parent | fe195e6f745739906079627aed4b0f054a710d2a (diff) | |
| parent | 888e79f7a05c33bfe1895cf22d73ed0f567b24ae (diff) | |
Merge "Revert "[DO NOT MERGE] Remove selection toolbar code from build time"" into tm-qpr-dev
| -rw-r--r-- | core/java/Android.bp | 8 | ||||
| -rw-r--r-- | core/java/android/app/SystemServiceRegistry.java | 11 | ||||
| -rw-r--r-- | core/java/com/android/internal/widget/floatingtoolbar/FloatingToolbarPopup.java | 6 | ||||
| -rw-r--r-- | services/Android.bp | 2 | ||||
| -rw-r--r-- | services/java/com/android/server/SystemServer.java | 7 | ||||
| -rw-r--r-- | services/selectiontoolbar/Android.bp | 22 |
6 files changed, 47 insertions, 9 deletions
diff --git a/core/java/Android.bp b/core/java/Android.bp index 77589a213e17..a7d4342be642 100644 --- a/core/java/Android.bp +++ b/core/java/Android.bp @@ -15,14 +15,6 @@ filegroup { "**/*.java", "**/*.aidl", ], - exclude_srcs: [ - // Remove election toolbar code from build time - "android/service/selectiontoolbar/*.aidl", - "android/service/selectiontoolbar/*.java", - "android/view/selectiontoolbar/*.aidl", - "android/view/selectiontoolbar/*.java", - "com/android/internal/widget/floatingtoolbar/RemoteFloatingToolbarPopup.java", - ], visibility: ["//frameworks/base"], } diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java index 40192836e0a7..6615374f71ec 100644 --- a/core/java/android/app/SystemServiceRegistry.java +++ b/core/java/android/app/SystemServiceRegistry.java @@ -230,6 +230,8 @@ import android.view.contentcapture.ContentCaptureManager; import android.view.contentcapture.IContentCaptureManager; import android.view.displayhash.DisplayHashManager; import android.view.inputmethod.InputMethodManager; +import android.view.selectiontoolbar.ISelectionToolbarManager; +import android.view.selectiontoolbar.SelectionToolbarManager; import android.view.textclassifier.TextClassificationManager; import android.view.textservice.TextServicesManager; import android.view.translation.ITranslationManager; @@ -363,6 +365,15 @@ public final class SystemServiceRegistry { return new TextClassificationManager(ctx); }}); + registerService(Context.SELECTION_TOOLBAR_SERVICE, SelectionToolbarManager.class, + new CachedServiceFetcher<SelectionToolbarManager>() { + @Override + public SelectionToolbarManager createService(ContextImpl ctx) { + IBinder b = ServiceManager.getService(Context.SELECTION_TOOLBAR_SERVICE); + return new SelectionToolbarManager(ctx.getOuterContext(), + ISelectionToolbarManager.Stub.asInterface(b)); + }}); + registerService(Context.FONT_SERVICE, FontManager.class, new CachedServiceFetcher<FontManager>() { @Override diff --git a/core/java/com/android/internal/widget/floatingtoolbar/FloatingToolbarPopup.java b/core/java/com/android/internal/widget/floatingtoolbar/FloatingToolbarPopup.java index c484525dbe20..f7af67b3b2a8 100644 --- a/core/java/com/android/internal/widget/floatingtoolbar/FloatingToolbarPopup.java +++ b/core/java/com/android/internal/widget/floatingtoolbar/FloatingToolbarPopup.java @@ -21,6 +21,7 @@ import android.content.Context; import android.graphics.Rect; import android.view.MenuItem; import android.view.View; +import android.view.selectiontoolbar.SelectionToolbarManager; import android.widget.PopupWindow; import java.util.List; @@ -92,7 +93,10 @@ public interface FloatingToolbarPopup { * enabled, otherwise returns {@link LocalFloatingToolbarPopup} implementation. */ static FloatingToolbarPopup createInstance(Context context, View parent) { - return new LocalFloatingToolbarPopup(context, parent); + boolean enabled = SelectionToolbarManager.isRemoteSelectionToolbarEnabled(context); + return enabled + ? new RemoteFloatingToolbarPopup(context, parent) + : new LocalFloatingToolbarPopup(context, parent); } } diff --git a/services/Android.bp b/services/Android.bp index 70692a63ff0f..1e4ce19f1541 100644 --- a/services/Android.bp +++ b/services/Android.bp @@ -102,6 +102,7 @@ filegroup { ":services.profcollect-sources", ":services.restrictions-sources", ":services.searchui-sources", + ":services.selectiontoolbar-sources", ":services.smartspace-sources", ":services.speech-sources", ":services.systemcaptions-sources", @@ -157,6 +158,7 @@ java_library { "services.profcollect", "services.restrictions", "services.searchui", + "services.selectiontoolbar", "services.smartspace", "services.speech", "services.systemcaptions", diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 66c9f55b0403..8fd4b5aa6bee 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -338,6 +338,8 @@ public final class SystemServer implements Dumpable { "com.android.server.contentcapture.ContentCaptureManagerService"; private static final String TRANSLATION_MANAGER_SERVICE_CLASS = "com.android.server.translation.TranslationManagerService"; + private static final String SELECTION_TOOLBAR_MANAGER_SERVICE_CLASS = + "com.android.server.selectiontoolbar.SelectionToolbarManagerService"; private static final String MUSIC_RECOGNITION_MANAGER_SERVICE_CLASS = "com.android.server.musicrecognition.MusicRecognitionManagerService"; private static final String SYSTEM_CAPTIONS_MANAGER_SERVICE_CLASS = @@ -2634,6 +2636,11 @@ public final class SystemServer implements Dumpable { Slog.d(TAG, "TranslationService not defined by OEM"); } + // Selection toolbar service + t.traceBegin("StartSelectionToolbarManagerService"); + mSystemServiceManager.startService(SELECTION_TOOLBAR_MANAGER_SERVICE_CLASS); + t.traceEnd(); + // NOTE: ClipboardService depends on ContentCapture and Autofill t.traceBegin("StartClipboardService"); mSystemServiceManager.startService(ClipboardService.class); diff --git a/services/selectiontoolbar/Android.bp b/services/selectiontoolbar/Android.bp new file mode 100644 index 000000000000..cc6405f97bc3 --- /dev/null +++ b/services/selectiontoolbar/Android.bp @@ -0,0 +1,22 @@ +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "frameworks_base_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: ["frameworks_base_license"], +} + +filegroup { + name: "services.selectiontoolbar-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + +java_library_static { + name: "services.selectiontoolbar", + defaults: ["platform_service_defaults"], + srcs: [":services.selectiontoolbar-sources"], + libs: ["services.core"], +} |