diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2017-01-21 01:33:02 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2017-01-23 15:28:25 -0800 |
commit | 658058b960ef029fc70f0f3e131057a6ba0d10e2 (patch) | |
tree | c8481894d78cbf5070c9d651bf5a979113427259 /tests/src/com/android/launcher3/testcomponent | |
parent | 76891df785ea18795397528a351a4280f6467e08 (diff) | |
download | android_packages_apps_Trebuchet-658058b960ef029fc70f0f3e131057a6ba0d10e2.tar.gz android_packages_apps_Trebuchet-658058b960ef029fc70f0f3e131057a6ba0d10e2.tar.bz2 android_packages_apps_Trebuchet-658058b960ef029fc70f0f3e131057a6ba0d10e2.zip |
Adding some widget addition flow tests
> Added two dummy widget providers: with config and without config
> Added tests for verify widget config flow
Change-Id: I4577f085abe8f8b82047b644c71cc9065358153a
Diffstat (limited to 'tests/src/com/android/launcher3/testcomponent')
3 files changed, 113 insertions, 0 deletions
diff --git a/tests/src/com/android/launcher3/testcomponent/AppWidgetNoConfig.java b/tests/src/com/android/launcher3/testcomponent/AppWidgetNoConfig.java new file mode 100644 index 000000000..9b320d83b --- /dev/null +++ b/tests/src/com/android/launcher3/testcomponent/AppWidgetNoConfig.java @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2017 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.appwidget.AppWidgetProvider; + +/** + * A simple app widget without any configuration screen. + */ +public class AppWidgetNoConfig extends AppWidgetProvider { + + +} diff --git a/tests/src/com/android/launcher3/testcomponent/AppWidgetWithConfig.java b/tests/src/com/android/launcher3/testcomponent/AppWidgetWithConfig.java new file mode 100644 index 000000000..033e6e674 --- /dev/null +++ b/tests/src/com/android/launcher3/testcomponent/AppWidgetWithConfig.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2017 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; + +/** + * A simple app widget with configuration sceen. + */ +public class AppWidgetWithConfig extends AppWidgetNoConfig { + +} diff --git a/tests/src/com/android/launcher3/testcomponent/WidgetConfigActivity.java b/tests/src/com/android/launcher3/testcomponent/WidgetConfigActivity.java new file mode 100644 index 000000000..c0509bc24 --- /dev/null +++ b/tests/src/com/android/launcher3/testcomponent/WidgetConfigActivity.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2017 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.app.Activity; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; + +/** + * Simple activity for widget configuration + */ +public class WidgetConfigActivity extends Activity { + + public static final String SUFFIX_FINISH = "-finish"; + public static final String EXTRA_CODE = "code"; + public static final String EXTRA_INTENT = "intent"; + + private final BroadcastReceiver mFinishReceiver = new BroadcastReceiver() { + + @Override + public void onReceive(Context context, Intent intent) { + WidgetConfigActivity.this.setResult( + intent.getIntExtra(EXTRA_CODE, RESULT_CANCELED), + (Intent) intent.getParcelableExtra(EXTRA_INTENT)); + WidgetConfigActivity.this.finish(); + } + }; + + private final String mAction = this.getClass().getName(); + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + registerReceiver(mFinishReceiver, new IntentFilter(mAction + SUFFIX_FINISH)); + } + + @Override + protected void onResume() { + super.onResume(); + sendBroadcast(new Intent(mAction).putExtra(Intent.EXTRA_INTENT, getIntent())); + } + + @Override + protected void onDestroy() { + unregisterReceiver(mFinishReceiver); + super.onDestroy(); + } +} |