diff options
Diffstat (limited to 'tests/src/com/android/launcher3/testcomponent/WidgetConfigActivity.java')
-rw-r--r-- | tests/src/com/android/launcher3/testcomponent/WidgetConfigActivity.java | 64 |
1 files changed, 64 insertions, 0 deletions
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(); + } +} |