summaryrefslogtreecommitdiffstats
path: root/src_plugins
diff options
context:
space:
mode:
authorPinyao Ting <pinyaoting@google.com>2019-08-26 14:36:02 -0700
committerPinyao Ting <pinyaoting@google.com>2019-09-25 15:58:41 -0700
commit59e908b54f72768efcae3db5897c50010d1fc5f2 (patch)
tree22af25a40d765647e8e85e07e8265ccbefdf89e5 /src_plugins
parent0b72d6a8913012f3f3aab2c28924185accbb6cb4 (diff)
downloadandroid_packages_apps_Trebuchet-59e908b54f72768efcae3db5897c50010d1fc5f2.tar.gz
android_packages_apps_Trebuchet-59e908b54f72768efcae3db5897c50010d1fc5f2.tar.bz2
android_packages_apps_Trebuchet-59e908b54f72768efcae3db5897c50010d1fc5f2.zip
migrate custom widgets in comply with plugin framework
Bug: 139888225 Change-Id: I8a3d0fe2689ad5ba24b19309728bbad0b6287f71 Merged-In: I8a3d0fe2689ad5ba24b19309728bbad0b6287f71 (cherry picked from commit c7a6c2979cc063dd493316d0d19cbc0501a23a64)
Diffstat (limited to 'src_plugins')
-rw-r--r--src_plugins/com/android/systemui/plugins/CustomWidgetPlugin.java72
1 files changed, 72 insertions, 0 deletions
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);
+}