package com.devandroid.ncuwlogin;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AlertDialog;
import android.text.SpannableString;
import android.text.method.LinkMovementMethod;
import android.text.util.Linkify;
import android.view.View;
import android.webkit.WebView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import butterknife.Bind;
import butterknife.ButterKnife;
public class AboutActivity extends ActionBarActivity implements OnItemClickListener {
@Bind(R.id.listView_main) ListView mMainListView;
private int[] resItems =
{R.string.open_source_info, R.string.usage_policy, R.string.open_source_licenses};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
ButterKnife.bind(this);
setUpViews();
}
private void setUpViews() {
List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>();
for (int resItem : resItems) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("title", getText(resItem));
listItems.add(map);
}
mMainListView.setAdapter(
new SimpleAdapter(this, listItems, android.R.layout.simple_list_item_1,
new String[]{"title"}, new int[]{android.R.id.text1}));
mMainListView.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
final SpannableString message =
new SpannableString(getText(R.string.open_source_info_content));
Linkify.addLinks(message, Linkify.WEB_URLS);
AlertDialog dialog = new AlertDialog.Builder(this).setTitle(R.string.open_source_info)
.setMessage(message).setPositiveButton(android.R.string.ok, null).show();
// Make the link clickable
((TextView) dialog.findViewById(android.R.id.message))
.setMovementMethod(LinkMovementMethod.getInstance());
} else if (position == 1) {
WebView webView = new WebView(this);
webView.loadUrl("file:///android_asset/usage_policy.html");
new AlertDialog.Builder(this).setTitle(R.string.usage_policy).setView(webView)
.setPositiveButton(android.R.string.ok, null).show();
} else if (position == 2) {
WebView webView = new WebView(this);
webView.loadUrl("file:///android_asset/used_licenses.html");
new AlertDialog.Builder(this).setTitle(R.string.open_source_licenses).setView(webView)
.setPositiveButton(android.R.string.ok, null).show();
}
}
}