diff options
author | Luca Stefani <luca.stefani.ge1@gmail.com> | 2020-03-07 13:43:59 +0100 |
---|---|---|
committer | Luca Stefani <luca.stefani.ge1@gmail.com> | 2020-03-07 13:43:59 +0100 |
commit | 0007a046cf4f4bfed563aa52ffab9ec5e94ee6f0 (patch) | |
tree | 2bc4acf2f54df560a34dcc7b7844d9d18cc58131 /src_plugins/com/android/systemui/plugins | |
parent | 744d192669a148bde24d36bef02deb05c2f7a1fa (diff) | |
parent | 02826bbe04d9dc1e6111f5d6ffd8706ac1f8f908 (diff) | |
download | packages_apps_Trebuchet-0007a046cf4f4bfed563aa52ffab9ec5e94ee6f0.tar.gz packages_apps_Trebuchet-0007a046cf4f4bfed563aa52ffab9ec5e94ee6f0.tar.bz2 packages_apps_Trebuchet-0007a046cf4f4bfed563aa52ffab9ec5e94ee6f0.zip |
Merge tag 'android-10.0.0_r31' into HEAD
Android 10.0.0 release 31
* tag 'android-10.0.0_r31': (218 commits)
Increase drag distance threshold when drag starts from deep press
Fix shortcut componentname in workspace layout logging
Fix shortcut componentname in workspace layout logging
perform accessbility focus when the recyclerview doesn't gain focus after fragment replacement in SettingsActivity
Persist predicted items when dragged to workspace
Import translations. DO NOT MERGE
Import translations. DO NOT MERGE
Align badging logic with platform IconDrawableFactory.
Fix bug where icon remains invisible after returning home.
Fix quick switch from home biased towards returning home
Fix recents scale sometimes lagging behind window scale
Fix folder open/close animation when grid size is small.
fix custom shortcut test
Improve quick switch from home by tracking both x and y motion
Move shelf peeking anim code to ShelfPeekAnim class
Fix folder available height calculation
Tapl: AllApps: ensuring a minimal vertical size of an icon
Enable a11y scrolling with item drag
disable custom shortcut test in oop
include predicted_rank in app launch logging
...
Change-Id: Id824c350cd133c4c8fa91de0f8793faed9003393
Diffstat (limited to 'src_plugins/com/android/systemui/plugins')
6 files changed, 263 insertions, 0 deletions
diff --git a/src_plugins/com/android/systemui/plugins/AppLaunchEventsPlugin.java b/src_plugins/com/android/systemui/plugins/AppLaunchEventsPlugin.java new file mode 100644 index 000000000..15a0ffaa0 --- /dev/null +++ b/src_plugins/com/android/systemui/plugins/AppLaunchEventsPlugin.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2019 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.systemui.plugins; + +import android.content.ComponentName; +import android.os.UserHandle; + +import com.android.systemui.plugins.annotations.ProvidesInterface; + +/** + * Plugin interface which sends app launch events. + */ +@ProvidesInterface(action = AppLaunchEventsPlugin.ACTION, version = AppLaunchEventsPlugin.VERSION) +public interface AppLaunchEventsPlugin extends Plugin { + String ACTION = "com.android.systemui.action.PLUGIN_APP_EVENTS"; + int VERSION = 1; + + /** + * Receives onStartShortcut event from + * {@link com.android.launcher3.appprediction.PredictionAppTracker}. + */ + void onStartShortcut(String packageName, String shortcutId, UserHandle user, String container); + + /** + * Receives onStartApp event from + * {@link com.android.launcher3.appprediction.PredictionAppTracker}. + */ + void onStartApp(ComponentName componentName, UserHandle user, String container); + + /** + * Receives onDismissApp event from + * {@link com.android.launcher3.appprediction.PredictionAppTracker}. + */ + void onDismissApp(ComponentName componentName, UserHandle user, String container); + + /** + * Receives onReturnedToHome event from + * {@link com.android.launcher3.appprediction.PredictionAppTracker}. + */ + void onReturnedToHome(); +} diff --git a/src_plugins/com/android/systemui/plugins/CustomWidgetPlugin.java b/src_plugins/com/android/systemui/plugins/CustomWidgetPlugin.java new file mode 100644 index 000000000..47aa94b40 --- /dev/null +++ b/src_plugins/com/android/systemui/plugins/CustomWidgetPlugin.java @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2019 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.systemui.plugins; + +import android.appwidget.AppWidgetHostView; +import android.content.Context; + +import com.android.systemui.plugins.annotations.ProvidesInterface; + +/** + * Implement this plugin interface to add a custom widget. + */ +@ProvidesInterface(action = CustomWidgetPlugin.ACTION, version = CustomWidgetPlugin.VERSION) +public interface CustomWidgetPlugin extends Plugin { + + String ACTION = "com.android.systemui.action.PLUGIN_CUSTOM_WIDGET"; + int VERSION = 1; + + /** + * The label to display to the user in the AppWidget picker. + */ + String getLabel(Context context); + + /** + * The default width of the widget when added to a host, in dp. The widget will get + * at least this width, and will often be given more, depending on the host. + */ + int getSpanX(Context context); + + /** + * The default height of the widget when added to a host, in dp. The widget will get + * at least this height, and will often be given more, depending on the host. + */ + int getSpanY(Context context); + + /** + * Minimum width (in dp) which the widget can be resized to. This field has no effect if it + * is greater than minWidth or if horizontal resizing isn't enabled. + */ + int getMinSpanX(Context context); + + /** + * Minimum height (in dp) which the widget can be resized to. This field has no effect if it + * is greater than minHeight or if vertical resizing isn't enabled. + */ + int getMinSpanY(Context context); + + /** + * The rules by which a widget can be resized. + */ + int getResizeMode(Context context); + + /** + * Notify the plugin that container of the widget has been rendered, where the custom widget + * can be attached to. + */ + void onViewCreated(Context context, AppWidgetHostView parent); +} diff --git a/src_plugins/com/android/systemui/plugins/HotseatPlugin.java b/src_plugins/com/android/systemui/plugins/HotseatPlugin.java new file mode 100644 index 000000000..1264e0d3b --- /dev/null +++ b/src_plugins/com/android/systemui/plugins/HotseatPlugin.java @@ -0,0 +1,20 @@ +package com.android.systemui.plugins; + +import android.view.View; +import android.view.ViewGroup; + +import com.android.systemui.plugins.annotations.ProvidesInterface; + +/** + * Implement this plugin interface to add a sub-view in the Hotseat. + */ +@ProvidesInterface(action = HotseatPlugin.ACTION, version = HotseatPlugin.VERSION) +public interface HotseatPlugin extends Plugin { + String ACTION = "com.android.systemui.action.PLUGIN_HOTSEAT"; + int VERSION = 1; + + /** + * Creates a plugin view which will be added to the Hotseat. + */ + View createView(ViewGroup parent); +} diff --git a/src_plugins/com/android/systemui/plugins/OverviewScreenshotActions.java b/src_plugins/com/android/systemui/plugins/OverviewScreenshotActions.java new file mode 100644 index 000000000..8d9c0f4e1 --- /dev/null +++ b/src_plugins/com/android/systemui/plugins/OverviewScreenshotActions.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2019 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.systemui.plugins; + +import android.app.Activity; +import android.graphics.Bitmap; +import android.view.ViewGroup; + +import com.android.systemui.plugins.annotations.ProvidesInterface; + +/** + * Implement this interface to add action buttons for overview screenshots, e.g. share, edit etc. + */ +@ProvidesInterface( + action = OverviewScreenshotActions.ACTION, version = OverviewScreenshotActions.VERSION) +public interface OverviewScreenshotActions extends Plugin { + String ACTION = "com.android.systemui.action.PLUGIN_OVERVIEW_SCREENSHOT_ACTIONS"; + int VERSION = 1; + + /** + * Setup the actions for the screenshot, including edit, save, etc. + * @param parent The parent view to add buttons on. + * @param screenshot The screenshot we will do actions on. + * @param activity THe host activity. + */ + void setupActions(ViewGroup parent, Bitmap screenshot, Activity activity); +} diff --git a/src_plugins/com/android/systemui/plugins/RecentsExtraCard.java b/src_plugins/com/android/systemui/plugins/RecentsExtraCard.java new file mode 100644 index 000000000..0ebea3d47 --- /dev/null +++ b/src_plugins/com/android/systemui/plugins/RecentsExtraCard.java @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2019 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.systemui.plugins; + +import android.app.Activity; +import android.content.Context; +import android.widget.FrameLayout; + +import com.android.systemui.plugins.annotations.ProvidesInterface; + +/** + * Implement this interface to allow extra card on recents overview. + */ +@ProvidesInterface(action = RecentsExtraCard.ACTION, version = RecentsExtraCard.VERSION) +public interface RecentsExtraCard extends Plugin { + + String ACTION = "com.android.systemui.action.PLUGIN_RECENTS_EXTRA_CARD"; + int VERSION = 1; + + /** + * Sets up the recents overview extra card and fills in data. + * + * @param context Plugin context + * @param frameLayout PlaceholderView + * @param activity Recents activity to hold extra view + */ + void setupView(Context context, FrameLayout frameLayout, Activity activity); +} diff --git a/src_plugins/com/android/systemui/plugins/UserEventPlugin.java b/src_plugins/com/android/systemui/plugins/UserEventPlugin.java new file mode 100644 index 000000000..0e3664ae3 --- /dev/null +++ b/src_plugins/com/android/systemui/plugins/UserEventPlugin.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2019 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.systemui.plugins; + +import com.android.systemui.plugins.annotations.ProvidesInterface; + +/** + * Implement this plugin interface to access user event log on the device for prototype purpose. + * NOTE: plugin is for internal prototype only and is not visible in production environment. + */ +@ProvidesInterface(action = UserEventPlugin.ACTION, version = UserEventPlugin.VERSION) +public interface UserEventPlugin extends Plugin { + String ACTION = "com.android.launcher3.action.PLUGIN_USER_EVENT_LOG"; + int VERSION = 1; + + /** + * Callback to be triggered whenever an user event occurs. + */ + void onUserEvent(Object event); +} |