diff options
author | Pinyao Ting <pinyaoting@google.com> | 2019-10-02 11:25:44 -0700 |
---|---|---|
committer | Pinyao Ting <pinyaoting@google.com> | 2019-10-03 07:46:50 -0700 |
commit | d625e49552a96d384745174ff6a137f1dd7837b7 (patch) | |
tree | bd85d54e7cbcfa7ddc0299e6984591f8494d4bcf /tests | |
parent | 4a4755fc70beae859425be789be0eb9342377a9f (diff) | |
download | packages_apps_Trebuchet-d625e49552a96d384745174ff6a137f1dd7837b7.tar.gz packages_apps_Trebuchet-d625e49552a96d384745174ff6a137f1dd7837b7.tar.bz2 packages_apps_Trebuchet-d625e49552a96d384745174ff6a137f1dd7837b7.zip |
include integration test for adding shortcut widget
this integration test help us catching app crashes when adding shortcut
widgets to the workplace. see b/141568904 for more context.
Bug: 141934188
Change-Id: I4d33d6127793efe2071d0d146aef24db6b676360
Diffstat (limited to 'tests')
3 files changed, 77 insertions, 0 deletions
diff --git a/tests/AndroidManifest-common.xml b/tests/AndroidManifest-common.xml index c6f55a717..6802152c7 100644 --- a/tests/AndroidManifest-common.xml +++ b/tests/AndroidManifest-common.xml @@ -62,6 +62,12 @@ <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/> </intent-filter> </activity> + <activity android:name="com.android.launcher3.testcomponent.ShortcutWidgetConfigActivity"> + <intent-filter> + <action android:name="android.intent.action.CREATE_SHORTCUT" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> <activity android:name="com.android.launcher3.testcomponent.RequestPinItemActivity" android:icon="@drawable/test_drawable_pin_item" diff --git a/tests/src/com/android/launcher3/testcomponent/ShortcutWidgetConfigActivity.java b/tests/src/com/android/launcher3/testcomponent/ShortcutWidgetConfigActivity.java new file mode 100644 index 000000000..f9d5f2d43 --- /dev/null +++ b/tests/src/com/android/launcher3/testcomponent/ShortcutWidgetConfigActivity.java @@ -0,0 +1,62 @@ +/* + * 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.launcher3.testcomponent; + +import android.content.Context; +import android.content.Intent; +import android.content.pm.ShortcutInfo; +import android.content.pm.ShortcutManager; +import android.graphics.drawable.Icon; +import android.os.Bundle; + +import com.android.launcher3.R; + +import java.util.UUID; + +public class ShortcutWidgetConfigActivity extends BaseTestingActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Intent launchIntent = new Intent(this, BaseTestingActivity.class) + .setAction("com.android.launcher3.intent.action.test_shortcut"); + Intent shortcutIntent = createShortcutResultIntent( + this, UUID.randomUUID().toString(), "Shortcut", + R.drawable.ic_widget, launchIntent); + setResult(RESULT_OK, shortcutIntent); + finish(); + } + + private static Intent createShortcutResultIntent( + Context context, String uniqueId, String name, int iconId, Intent launchIntent) { + ShortcutInfo shortcutInfo = + createShortcutInfo(context, uniqueId, name, iconId, launchIntent); + ShortcutManager sm = context.getSystemService(ShortcutManager.class); + return sm.createShortcutResultIntent(shortcutInfo); + } + + private static ShortcutInfo createShortcutInfo( + Context context, String uniqueId, String name, int iconId, Intent launchIntent) { + return new ShortcutInfo.Builder(context, uniqueId) + .setShortLabel(name) + .setLongLabel(name) + .setIcon(Icon.createWithResource(context, iconId)) + .setIntent(launchIntent) + .build(); + } +} diff --git a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java index 2cf6c2ba7..38dba1628 100644 --- a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java +++ b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java @@ -342,6 +342,15 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest { } } + @Test + public void testDragShortcutWidget() { + mLauncher.getWorkspace().openAllWidgets() + .getWidget("com.android.launcher3.testcomponent.ShortcutWidgetConfigActivity") + .dragToWorkspace(); + mLauncher.getWorkspace().getWorkspaceAppIcon("Shortcut") + .launch(getAppPackageName()); + } + public static String getAppPackageName() { return getInstrumentation().getContext().getPackageName(); } |