From: Tobias Brunner Date: Tue, 14 Aug 2012 08:43:03 +0000 (+0200) Subject: List fragment for trusted certificates can notify listeners about clicks X-Git-Tag: 5.0.1~197 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=7546735fecaa5815c9c4007db5e069e0f10ad278;p=thirdparty%2Fstrongswan.git List fragment for trusted certificates can notify listeners about clicks --- diff --git a/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificateListFragment.java b/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificateListFragment.java index a64a927551..f5cc57ab5a 100644 --- a/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificateListFragment.java +++ b/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificateListFragment.java @@ -27,18 +27,29 @@ import org.strongswan.android.data.TrustedCertificateEntry; import org.strongswan.android.logic.TrustedCertificateManager; import org.strongswan.android.ui.adapter.TrustedCertificateAdapter; +import android.app.Activity; import android.app.ListFragment; import android.app.LoaderManager.LoaderCallbacks; import android.content.AsyncTaskLoader; import android.content.Context; import android.content.Loader; import android.os.Bundle; +import android.view.View; +import android.widget.ListView; public class TrustedCertificateListFragment extends ListFragment implements LoaderCallbacks> { + private OnTrustedCertificateSelectedListener mListener; private TrustedCertificateAdapter mAdapter; private boolean mUser; + /** + * The activity containing this fragment should implement this interface + */ + public interface OnTrustedCertificateSelectedListener { + public void onTrustedCertificateSelected(TrustedCertificateEntry selected); + } + @Override public void onActivityCreated(Bundle savedInstanceState) { @@ -63,6 +74,17 @@ public class TrustedCertificateListFragment extends ListFragment implements Load super.onDestroy(); } + @Override + public void onAttach(Activity activity) + { + super.onAttach(activity); + + if (activity instanceof OnTrustedCertificateSelectedListener) + { + mListener = (OnTrustedCertificateSelectedListener)activity; + } + } + @Override public Loader> onCreateLoader(int id, Bundle args) { /* we don't need the id as we have only one loader */ @@ -90,6 +112,15 @@ public class TrustedCertificateListFragment extends ListFragment implements Load mAdapter.setData(null); } + @Override + public void onListItemClick(ListView l, View v, int position, long id) + { + if (mListener != null) + { + mListener.onTrustedCertificateSelected(mAdapter.getItem(position)); + } + } + public static class CertificateListLoader extends AsyncTaskLoader> { private List mData;