1/*
2 * ConnectBot: simple, powerful, open-source SSH client for Android
3 * Copyright 2007 Kenny Root, Jeffrey Sharkey
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18package org.connectbot;
19
20import android.app.Activity;
21import android.content.Intent;
22import android.content.res.AssetManager;
23import android.os.Bundle;
24import android.text.method.LinkMovementMethod;
25import android.view.View;
26import android.view.View.OnClickListener;
27import android.widget.Button;
28import android.widget.LinearLayout;
29import android.widget.TextView;
30
31import com.googlecode.android_scripting.Log;
32import com.googlecode.android_scripting.R;
33import com.googlecode.android_scripting.Version;
34
35import java.io.IOException;
36
37/**
38 *
39 */
40public class HelpActivity extends Activity {
41  public final static String TAG = "ConnectBot.HelpActivity";
42
43  public final static String HELPDIR = "help";
44  public final static String SUFFIX = ".html";
45
46  @Override
47  public void onCreate(Bundle icicle) {
48    super.onCreate(icicle);
49    setContentView(R.layout.act_help);
50
51    this.setTitle(String.format("%s: %s", getResources().getText(R.string.application_nice_title),
52        getResources().getText(R.string.title_help)));
53
54    TextView subtitle = (TextView) findViewById(R.id.version);
55    subtitle.setText(getText(R.string.application_title) + " r"
56        + Version.getVersion(getApplication()));
57
58    ((TextView) findViewById(R.id.help_acks_text)).setMovementMethod(LinkMovementMethod
59        .getInstance());
60
61    AssetManager am = getAssets();
62    LinearLayout content = (LinearLayout) findViewById(R.id.topics);
63
64    try {
65      for (String name : am.list(HELPDIR)) {
66        if (name.endsWith(SUFFIX)) {
67          Button button = new Button(this);
68          final String topic = name.substring(0, name.length() - SUFFIX.length());
69          button.setText(topic);
70
71          button.setOnClickListener(new OnClickListener() {
72            public void onClick(View v) {
73              Intent intent = new Intent(HelpActivity.this, HelpTopicActivity.class);
74              intent.putExtra(Intent.EXTRA_TITLE, topic);
75              HelpActivity.this.startActivity(intent);
76            }
77          });
78
79          content.addView(button);
80        }
81      }
82    } catch (IOException e) {
83      // TODO Auto-generated catch block
84      Log.e("couldn't get list of help assets", e);
85    }
86  }
87}
88