package org.tyszecki.rozkladpkp; import org.tyszecki.rozkladpkp.ConnectionsFormFragment.onFormSubmitListener; import android.appwidget.AppWidgetManager; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; import android.view.ViewGroup.LayoutParams; import android.widget.FrameLayout; public class ConnectionsWidgetConfigActivity extends FragmentActivity implements onFormSubmitListener { final int VIEW_ID = 0x1234; private int appWidgetId; @Override protected void onCreate(Bundle savedInstanceState) { setTheme(RozkladPKPApplication.getThemeId()); super.onCreate(savedInstanceState); FrameLayout frame = new FrameLayout(this); frame.setId(VIEW_ID); setContentView(frame, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(false); getSupportActionBar().setTitle("Wybierz połączenie"); Bundle extras = getIntent().getExtras(); if(extras != null) { appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); Intent cancelResultValue = new Intent(); cancelResultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); setResult(RESULT_CANCELED, cancelResultValue); } else finish(); if (savedInstanceState == null) { Fragment newFragment = new ConnectionsFormFragment(); extras.putBoolean("hideTime", true); newFragment.setArguments(extras); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.add(VIEW_ID, newFragment).commit(); } } @Override public void onSubmit(Bundle values) { //final Context context = ConnectionsWidgetConfigActivity.this; //AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); if(values.containsKey("clarify")) { Fragment newFragment = new ConnectionsFormFragment(); newFragment.setArguments(values); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(VIEW_ID, newFragment).commit(); } else { Editor ed = getSharedPreferences("ConnectionWidget", Context.MODE_PRIVATE).edit(); String id = Integer.toString(appWidgetId); for (String i : new String[]{"depName", "arrName", "viaName", "SID", "ZID", "VID1", "Products"/*, "Attributes"*/}) if(values.containsKey(i)) ed.putString(i+id, values.getString(i)); ed.commit(); ConnectionsWidget.update(AppWidgetManager.getInstance(ConnectionsWidgetConfigActivity.this), ConnectionsWidgetConfigActivity.this, appWidgetId, false); Intent resultValue = new Intent(); resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); setResult(RESULT_OK, resultValue); finish(); } } }