view src/com/five_ten_sg/connectbot/WizardActivity.java @ 216:cd07c1648016
test buffer changed when 5250 keyboard unlocks
author
Carl Byington <carl@five-ten-sg.com>
date
Tue, 08 Jul 2014 10:02:11 -0700 (2014-07-08)
parents
0ce5cc452d02
children
29a431920007
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 com.five_ten_sg.connectbot.util.HelpTopicView;
+ − import android.app.Activity;
+ − import android.content.pm.PackageManager.NameNotFoundException;
+ − import android.os.Bundle;
+ − import android.util.Log;
+ − import android.view.LayoutInflater;
+ − import android.view.View;
+ − import android.view.View.OnClickListener;
+ − import android.widget.Button;
+ − import android.widget.TextView;
+ − import android.widget.ViewFlipper;
+ −
+ − /**
+ − * Show a series of wizard-like steps to the user, which might include an EULA,
+ − * program credits, and helpful hints.
+ − *
+ − * @author jsharkey
+ − */
+ − public class WizardActivity extends Activity {
+ − protected ViewFlipper flipper = null;
+ − private Button next, prev;
+ − private static final String TAG = "ConnectBot.WizardActivity";
+ −
+ − @Override
+ − public void onCreate(Bundle savedInstanceState) {
+ − super.onCreate(savedInstanceState);
+ − setContentView(R.layout.act_wizard);
+ − this.flipper = (ViewFlipper) findViewById(R.id.wizard_flipper);
+ − // inflate the layout for EULA step
+ − LayoutInflater inflater = LayoutInflater.from(this);
+ − View helpView = inflater.inflate(R.layout.wiz_eula, this.flipper, false);
+ − TextView appVersionView = (TextView) helpView.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);
+ − }
+ −
+ − this.flipper.addView(helpView);
+ − // Add a view for each help topic we want the user to see.
+ − String[] topics = getResources().getStringArray(R.array.list_wizard_topics);
+ −
+ − for (String topic : topics) {
+ − flipper.addView(new HelpTopicView(this).setTopic(topic));
+ − }
+ −
+ − next = (Button)this.findViewById(R.id.action_next);
+ − next.setOnClickListener(new OnClickListener() {
+ − public void onClick(View v) {
+ − if (isLastDisplayed()) {
+ − // user walked past end of wizard, so return okay
+ − WizardActivity.this.setResult(Activity.RESULT_OK);
+ − WizardActivity.this.finish();
+ − }
+ − else {
+ − // show next step and update buttons
+ − flipper.showNext();
+ − updateButtons();
+ − }
+ − }
+ − });
+ − prev = (Button)this.findViewById(R.id.action_prev);
+ − prev.setOnClickListener(new OnClickListener() {
+ − public void onClick(View v) {
+ − if (isFirstDisplayed()) {
+ − // user walked past beginning of wizard, so return that they cancelled
+ − WizardActivity.this.setResult(Activity.RESULT_CANCELED);
+ − WizardActivity.this.finish();
+ − }
+ − else {
+ − // show previous step and update buttons
+ − flipper.showPrevious();
+ − updateButtons();
+ − }
+ − }
+ − });
+ − this.updateButtons();
+ − }
+ −
+ − protected boolean isFirstDisplayed() {
+ − return (flipper.getDisplayedChild() == 0);
+ − }
+ −
+ − protected boolean isLastDisplayed() {
+ − return (flipper.getDisplayedChild() == flipper.getChildCount() - 1);
+ − }
+ −
+ − protected void updateButtons() {
+ − boolean eula = (flipper.getDisplayedChild() == 0);
+ − next.setText(eula ? getString(R.string.wizard_agree) : getString(R.string.wizard_next));
+ − prev.setText(eula ? getString(R.string.delete_neg) : getString(R.string.wizard_back));
+ − }
+ − }