Initial commit
[mustard2:mustard2.git] / src / org / mustard2 / android / activity / setup / AccountSetup.java
1 /**
2  * MUSTARD: Android's Client for StatusNet
3  * 
4  * Copyright (C) 2009-2010 macno.org, Michele Azzolari
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14  * for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program; if not, write to the Free Software Foundation, Inc.,
18  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  * 
20  */
21 package org.mustard2.android.activity.setup;
22
23 import java.net.URL;
24
25 import org.mustard2.android.Account;
26 import org.mustard2.manager.ProviderManager;
27 import org.mustard2.provider.Provider;
28
29 import android.app.Activity;
30 import android.text.Editable;
31 import android.text.TextWatcher;
32 import android.util.Log;
33 import android.view.View.OnClickListener;
34
35 /**
36  * @author macno
37  *
38  */
39 public abstract class AccountSetup extends Activity
40         implements OnClickListener, TextWatcher {
41
42         protected final String TAG = "mustard/setting/Account";
43         protected final static String EXTRA_ACCOUNT = "account";
44         protected final static String STATE_KEY_PROVIDER = "provider";
45
46         protected final static int DEFAULT_ACCOUNT_CHECK_INTERVAL = 15;
47
48         protected Account mAccount;
49         protected Provider mProvider;
50
51         
52     public void afterTextChanged(Editable s) {
53         validateFields();
54     }
55
56     public void beforeTextChanged(CharSequence s, int start, int count, int after) {
57     }
58
59     public void onTextChanged(CharSequence s, int start, int before, int count) {
60     }
61         
62     protected abstract void validateFields();
63     
64     protected Provider findProviderForDomain(URL url) {
65         
66         Provider provider = null;
67         try {
68                 provider = ProviderManager.getProvider(this, url);
69                 Log.v(TAG, "ClassName:  " + provider.className);
70         } catch (Exception e) {
71                 Log.e(TAG, e.getMessage());
72         }
73         
74         return provider;
75     }
76
77 }