SocialWidgetConfigureActivity.java revision 2d4f759e29edd983cf6436c06f2a87d847616ed5
12d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann/* 22d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * Copyright (C) 2010 The Android Open Source Project 32d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * 42d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * Licensed under the Apache License, Version 2.0 (the "License"); 52d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * you may not use this file except in compliance with the License. 62d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * You may obtain a copy of the License at 72d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * 82d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * http://www.apache.org/licenses/LICENSE-2.0 92d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * 102d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * Unless required by applicable law or agreed to in writing, software 112d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * distributed under the License is distributed on an "AS IS" BASIS, 122d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * See the License for the specific language governing permissions and 142d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann * limitations under the License. 152d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann */ 162d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann 172d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmannpackage com.android.contacts.contactSocialWidget; 182d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann 192d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmannimport android.app.Activity; 202d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmannimport android.appwidget.AppWidgetManager; 212d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmannimport android.content.Intent; 222d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmannimport android.os.Bundle; 232d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmannimport android.provider.ContactsContract.Contacts; 242d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann 252d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmannpublic class ContactSocialWidgetConfigureActivity extends Activity { 262d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann @Override 272d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann protected void onCreate(Bundle savedInstanceState) { 282d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann super.onCreate(savedInstanceState); 292d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann // If the user presses back, we want to cancel 302d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann setResult(RESULT_CANCELED); 312d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann 322d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann // Forward the Intent to the picker 332d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann final Intent pickerIntent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); 342d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann startActivityForResult(pickerIntent, 0); 352d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann } 362d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann 372d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann @Override 382d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann protected void onActivityResult(int requestCode, int resultCode, Intent data) { 392d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann // We came back from the Picker. If the user actually selected a contact, 402d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann // return it now 412d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann if (resultCode == Activity.RESULT_OK) { 422d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann final Bundle extras = getIntent().getExtras(); 432d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann if (extras == null) throw new IllegalStateException("Intent extras are null"); 442d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann final int widgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, 452d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann AppWidgetManager.INVALID_APPWIDGET_ID); 462d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann 472d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann // Save the setting 482d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann final ContactSocialWidgetConfigureActivity context = 492d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann ContactSocialWidgetConfigureActivity.this; 502d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann ContactSocialWidgetSettings.setContactUri(context, widgetId, data.getData()); 512d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann 522d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann // Update the widget 532d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann ContactSocialWidgetProvider.startLoading(context, widgetId); 542d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann 552d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann // Return OK so that the system won't remove the widget 562d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann final Intent resultValue = new Intent(); 572d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId); 582d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann setResult(RESULT_OK, resultValue); 592d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann } 602d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann finish(); 612d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann } 622d4f759e29edd983cf6436c06f2a87d847616ed5Daniel Lehmann} 63