2 * ownCloud Android client application
4 * @author David A. Velasco
5 * Copyright (C) 2015 ownCloud Inc.
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2,
9 * as published by the Free Software Foundation.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 package com
.owncloud
.android
.ui
.activity
;
23 import java
.util
.ArrayList
;
25 import android
.content
.Context
;
26 import android
.content
.Intent
;
27 import android
.os
.Bundle
;
28 import android
.support
.v7
.app
.ActionBar
;
29 import android
.support
.v7
.app
.ActionBarActivity
;
30 import android
.text
.method
.ScrollingMovementMethod
;
31 import android
.view
.View
;
32 import android
.view
.ViewGroup
;
33 import android
.widget
.ArrayAdapter
;
34 import android
.widget
.ListAdapter
;
35 import android
.widget
.ListView
;
36 import android
.widget
.TextView
;
38 import com
.owncloud
.android
.R
;
39 import com
.owncloud
.android
.utils
.DisplayUtils
;
43 * Activity showing a text message and, optionally, a couple list of single or paired text strings.
45 * Added to show explanations for notifications when the user clicks on them, and there no place
46 * better to show them.
48 public class GenericExplanationActivity
extends ActionBarActivity
{
50 public static final String EXTRA_LIST
= GenericExplanationActivity
.class.getCanonicalName() +
52 public static final String EXTRA_LIST_2
= GenericExplanationActivity
.class.getCanonicalName() +
54 public static final String MESSAGE
= GenericExplanationActivity
.class.getCanonicalName() +
59 protected void onCreate(Bundle savedInstanceState
) {
60 super.onCreate(savedInstanceState
);
62 Intent intent
= getIntent();
63 String message
= intent
.getStringExtra(MESSAGE
);
64 ArrayList
<String
> list
= intent
.getStringArrayListExtra(EXTRA_LIST
);
65 ArrayList
<String
> list2
= intent
.getStringArrayListExtra(EXTRA_LIST_2
);
67 setContentView(R
.layout
.generic_explanation
);
69 if (message
!= null
) {
70 TextView textView
= (TextView
) findViewById(R
.id
.message
);
71 textView
.setText(message
);
72 textView
.setMovementMethod(new ScrollingMovementMethod());
75 ListView listView
= (ListView
) findViewById(R
.id
.list
);
76 if (list
!= null
&& list
.size() > 0) {
77 //ListAdapter adapter = new ArrayAdapter<String>(this,
78 // android.R.layout.simple_list_item_1, list);
79 ListAdapter adapter
= new ExplanationListAdapterView(this, list
, list2
);
80 listView
.setAdapter(adapter
);
82 listView
.setVisibility(View
.GONE
);
85 ActionBar actionBar
= getSupportActionBar();
86 actionBar
.setIcon(DisplayUtils
.getSeasonalIconId());
89 public class ExplanationListAdapterView
extends ArrayAdapter
<String
> {
91 ArrayList
<String
> mList
;
92 ArrayList
<String
> mList2
;
94 ExplanationListAdapterView(Context context
, ArrayList
<String
> list
,
95 ArrayList
<String
> list2
) {
96 super(context
, android
.R
.layout
.two_line_list_item
, android
.R
.id
.text1
, list
);
102 public boolean isEnabled(int position
) {
110 public View
getView (int position
, View convertView
, ViewGroup parent
) {
111 View view
= super.getView(position
, convertView
, parent
);
113 if (mList2
!= null
&& mList2
.size() > 0 && position
>= 0 &&
114 position
< mList2
.size()) {
115 TextView text2
= (TextView
) view
.findViewById(android
.R
.id
.text2
);
117 text2
.setText(mList2
.get(position
));