/android/import-contacts

To get this branch, use:
bzr branch http://bzr.ed.am/android/import-contacts

« back to all changes in this revision

Viewing changes to src/org/waxworlds/importcontacts/WizardActivity.java

  • Committer: edam
  • Date: 2009-10-03 16:58:29 UTC
  • Revision ID: edam@waxworlds.org-20091003165829-vxhwdodf3400ugs3
Tags: 0.9
- converted project to use Android 1.5 SDK
- cleaned-up some whitespace/newlines in source

Show diffs side-by-side

added added

removed removed

1
1
/*
2
2
 * WizardActivity.java
3
3
 *
4
 
 * Copyright (C) 2009 Tim Marston <tim@ed.am>
 
4
 * Copyright (C) 2009 Tim Marston <edam@waxworlds.org>
5
5
 *
6
6
 * This file is part of the Import Contacts program (hereafter referred
7
 
 * to as "this program").  For more information, see
8
 
 * http://ed.am/dev/android/import-contacts
 
7
 * to as "this program"). For more information, see
 
8
 * http://www.waxworlds.org/edam/software/android/import-contacts
9
9
 *
10
10
 * This program is free software: you can redistribute it and/or modify
11
11
 * it under the terms of the GNU General Public License as published by
21
21
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
22
 */
23
23
 
24
 
package am.ed.importcontacts;
 
24
package org.waxworlds.importcontacts;
25
25
 
26
26
import android.app.Activity;
27
27
import android.content.Intent;
28
28
import android.content.SharedPreferences;
29
 
import android.content.res.Configuration;
30
29
import android.os.Bundle;
31
30
import android.view.View;
32
31
import android.widget.Button;
33
32
 
34
33
public class WizardActivity extends Activity
35
34
{
36
 
        private Class< ? > _next_class;
 
35
        private int _nextState;
 
36
        private boolean _backEnabled;
37
37
 
38
38
        @Override
39
 
        protected void onCreate( Bundle saved_instance_state )
 
39
        protected void onCreate(Bundle savedInstanceState)
40
40
        {
41
 
                super.onCreate( saved_instance_state );
42
 
 
43
 
                // enable back button based on intent data
44
 
                Bundle extras = getIntent().getExtras();
45
 
                if( extras != null )//&& extras.getBoolean( "back-enabled" ) )
46
 
                        ( (Button)findViewById( R.id.back ) ).setEnabled( true );
 
41
                super.onCreate(savedInstanceState);
 
42
 
 
43
                _nextState = 0;
 
44
 
 
45
                // deal with saved state vs. defaults
 
46
                if( savedInstanceState == null)
 
47
                {
 
48
                        _backEnabled = false;
 
49
 
 
50
                        Bundle extras = getIntent().getExtras();
 
51
                        if( extras != null )
 
52
                                _backEnabled = extras.getBoolean( "backstate" );
 
53
                }
 
54
                else
 
55
                {
 
56
                        _backEnabled = savedInstanceState.getBoolean( "_backEnabled" );
 
57
                }
 
58
 
 
59
                // enable/disable back button
 
60
                ( (Button)findViewById( R.id.back ) ).setEnabled( _backEnabled );
47
61
 
48
62
                // set up next button
49
63
                Button next = (Button)findViewById( R.id.next );
57
71
                Button back = (Button)findViewById( R.id.back );
58
72
                back.setOnClickListener( new View.OnClickListener() {
59
73
                        public void onClick( View view ) {
60
 
                                onBack();
 
74
                                setResult( RESULT_OK );
 
75
                                finish();
61
76
                        }
62
77
                } );
63
78
        }
64
79
 
65
80
        @Override
66
 
        protected void onActivityResult( int request_code, int result_code,
67
 
                Intent data )
 
81
        protected void onSaveInstanceState( Bundle outState ) {
 
82
                super.onSaveInstanceState(outState);
 
83
                outState.putBoolean( "_backEnabled", _backEnabled );
 
84
        }
 
85
/*
 
86
        @Override
 
87
        protected void onPause()
68
88
        {
69
 
                if( result_code == RESULT_OK ) {
70
 
                        setResult( RESULT_OK );
71
 
                        finish();
72
 
                }
 
89
                super.onPause();
73
90
        }
74
91
 
 
92
        @Override
 
93
        protected void onResume()
 
94
        {
 
95
                super.onResume();
 
96
        }
 
97
*/
75
98
        protected void onNext()
76
99
        {
77
 
                // create bundle with back enabled state
78
 
                Bundle bundle = new Bundle();
79
 
                bundle.putBoolean( "back-enabled", true );
80
 
                Intent i = new Intent( this, _next_class );
81
 
                i.putExtras( bundle );
82
 
 
83
 
                // start next activity
84
 
                startActivityForResult( i, 0 );
85
 
        }
86
 
 
87
 
        protected void onBack()
88
 
        {
89
 
                setResult( RESULT_CANCELED );
90
 
                finish();
91
 
        }
92
 
 
93
 
        protected void setNextActivity( Class< ? > cls )
94
 
        {
95
 
                _next_class = cls;
96
 
 
97
 
                // enable next button
 
100
                switchToState( _nextState );
 
101
        }
 
102
 
 
103
        protected void setNextState( int nextState )
 
104
        {
 
105
                // set next state and enable button
 
106
                _nextState = nextState;
98
107
                ( (Button)findViewById( R.id.next ) ).setEnabled( true );
99
108
        }
100
109
 
 
110
        private void switchToState( int newState )
 
111
        {
 
112
                if( newState != 0 )
 
113
                {
 
114
                        // create result data bundle
 
115
                        Bundle bundle = new Bundle();
 
116
                        bundle.putInt( "nextstate", newState );
 
117
 
 
118
                        // create response intent and finish
 
119
                        Intent i = new Intent();
 
120
                        i.putExtras( bundle );
 
121
                        setResult( RESULT_OK, i );
 
122
                        finish();
 
123
                }
 
124
        }
 
125
 
101
126
        public SharedPreferences getSharedPreferences()
102
127
        {
103
128
                return super.getSharedPreferences( "ImportContacts", 0 );
104
129
        }
105
 
 
106
 
        @Override
107
 
        public void onConfigurationChanged( Configuration new_config ) {
108
 
                super.onConfigurationChanged( new_config );
109
 
        }
110
130
}