X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/2a913bfbeb13fc93ad0ec942d359dbcaa3ad3c1e..3ef64834e94d4f2f21e3fceafec0987e67e5c893:/src/com/owncloud/android/ui/activity/GenericExplanationActivity.java diff --git a/src/com/owncloud/android/ui/activity/GenericExplanationActivity.java b/src/com/owncloud/android/ui/activity/GenericExplanationActivity.java new file mode 100644 index 00000000..ccf3de86 --- /dev/null +++ b/src/com/owncloud/android/ui/activity/GenericExplanationActivity.java @@ -0,0 +1,95 @@ +package com.owncloud.android.ui.activity; + +import java.util.ArrayList; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.text.method.ScrollingMovementMethod; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.ListAdapter; +import android.widget.ListView; +import android.widget.TextView; + +import com.actionbarsherlock.app.SherlockFragmentActivity; +import com.owncloud.android.R; + +/** + * Activity showing a text message and, optionally, a couple of scrollable lists of texts. + * + * Added to show explanations for notifications when the user clicks on them, and there no place + * better to show them. + * + * @author David A. Velasco + */ +public class GenericExplanationActivity extends SherlockFragmentActivity { + + public static final String EXTRA_LIST = GenericExplanationActivity.class.getCanonicalName() + ".EXTRA_LIST"; + public static final String EXTRA_LIST_2 = GenericExplanationActivity.class.getCanonicalName() + ".EXTRA_LIST_2"; + public static final String MESSAGE = GenericExplanationActivity.class.getCanonicalName() + ".MESSAGE"; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Intent intent = getIntent(); + String message = intent.getStringExtra(MESSAGE); + ArrayList list = intent.getStringArrayListExtra(EXTRA_LIST); + ArrayList list2 = intent.getStringArrayListExtra(EXTRA_LIST_2); + + setContentView(R.layout.generic_explanation); + + if (message != null) { + TextView textView = (TextView) findViewById(R.id.message); + textView.setText(message); + textView.setMovementMethod(new ScrollingMovementMethod()); + } + + ListView listView = (ListView) findViewById(R.id.list); + if (list != null && list.size() > 0) { + //ListAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, list); + ListAdapter adapter = new ExplanationListAdapterView(this, list, list2); + listView.setAdapter(adapter); + } else { + listView.setVisibility(View.GONE); + } + } + + public class ExplanationListAdapterView extends ArrayAdapter { + + ArrayList mList; + ArrayList mList2; + + ExplanationListAdapterView(Context context, ArrayList list, ArrayList list2) { + super(context, android.R.layout.two_line_list_item, android.R.id.text1, list); + mList = list; + mList2 = list2; + } + + @Override + public boolean isEnabled(int position) { + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public View getView (int position, View convertView, ViewGroup parent) { + View view = super.getView(position, convertView, parent); + if (view != null) { + if (mList2 != null && mList2.size() > 0 && position >= 0 && position < mList2.size()) { + TextView text2 = (TextView) view.findViewById(android.R.id.text2); + if (text2 != null) { + text2.setText(mList2.get(position)); + } + } + } + return view; + } + } + +}