view src/com/five_ten_sg/connectbot/HelpActivity.java @ 242:e0f5e706a655

add host preference for fixed screen size
author Carl Byington <carl@five-ten-sg.com>
date Mon, 14 Jul 2014 10:33:13 -0700
parents 0ce5cc452d02
children 29a431920007
line wrap: on
line source

/*
 * 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 com.five_ten_sg.connectbot;

import java.io.IOException;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

/**
 * @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.app_name),
                                    getResources().getText(R.string.title_help)));
        AssetManager am = this.getAssets();
        LinearLayout content = (LinearLayout)this.findViewById(R.id.topics);
        TextView appVersionView = (TextView) this.findViewById(R.id.topics).findViewById(R.id.app_version);

        // get package version
        try {
            appVersionView.setText(getPackageManager().getPackageInfo(getPackageName(), 0).versionName);
        }
        catch (NameNotFoundException e) {
            Log.e(TAG, "Problem retrieving application version", e);
        }

        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(TAG, "couldn't get list of help assets", e);
        }
    }
}