Java程序  |  89行  |  2.82 KB

/*
 * ConnectBot: simple, powerful, open-source SSH client for Android
 * Copyright 2007 Kenny Root, Jeffrey Sharkey
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.connectbot;

import android.app.Activity;
import android.content.Intent;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.googlecode.android_scripting.Log;
import com.googlecode.android_scripting.R;
import com.googlecode.android_scripting.Version;

import java.io.IOException;

/**
 * @author Kenny Root
 *
 */
public class HelpActivity extends Activity {
  public final static String TAG = "ConnectBot.HelpActivity";

  public final static String HELPDIR = "help";
  public final static String SUFFIX = ".html";

  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.act_help);

    this.setTitle(String.format("%s: %s", getResources().getText(R.string.application_nice_title),
        getResources().getText(R.string.title_help)));

    TextView subtitle = (TextView) findViewById(R.id.version);
    subtitle.setText(getText(R.string.application_title) + " r"
        + Version.getVersion(getApplication()));

    ((TextView) findViewById(R.id.help_acks_text)).setMovementMethod(LinkMovementMethod
        .getInstance());

    AssetManager am = getAssets();
    LinearLayout content = (LinearLayout) findViewById(R.id.topics);

    try {
      for (String name : am.list(HELPDIR)) {
        if (name.endsWith(SUFFIX)) {
          Button button = new Button(this);
          final String topic = name.substring(0, name.length() - SUFFIX.length());
          button.setText(topic);

          button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
              Intent intent = new Intent(HelpActivity.this, HelpTopicActivity.class);
              intent.putExtra(Intent.EXTRA_TITLE, topic);
              HelpActivity.this.startActivity(intent);
            }
          });

          content.addView(button);
        }
      }
    } catch (IOException e) {
      // TODO Auto-generated catch block
      Log.e("couldn't get list of help assets", e);
    }
  }
}