]> Pileus Git - ~andy/freeotp/blob - src/org/fedorahosted/freeotp/AddTokenTextWatcher.java
Relicense to Apache 2.0
[~andy/freeotp] / src / org / fedorahosted / freeotp / AddTokenTextWatcher.java
1 /*
2  * FreeOTP
3  *
4  * Authors: Nathaniel McCallum <npmccallum@redhat.com>
5  *
6  * Copyright (C) 2013  Nathaniel McCallum, Red Hat
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 package org.fedorahosted.freeotp;
22
23 import android.app.AlertDialog;
24 import android.text.Editable;
25 import android.text.TextWatcher;
26 import android.widget.Button;
27 import android.widget.EditText;
28
29 public class AddTokenTextWatcher implements TextWatcher {
30         private final AlertDialog dialog;
31
32         public AddTokenTextWatcher(AlertDialog dialog) {
33                 this.dialog = dialog;
34         }
35
36         @Override
37         public void beforeTextChanged(CharSequence s, int start, int count, int after) {
38
39         }
40
41         @Override
42         public void onTextChanged(CharSequence s, int start, int before, int count) {
43                 Button b = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
44
45                 b.setEnabled(false);
46
47                 if (((EditText) dialog.findViewById(R.id.issuer)).getText().length() == 0)
48                         return;
49
50                 if (((EditText) dialog.findViewById(R.id.id)).getText().length() == 0)
51                         return;
52
53                 if (((EditText) dialog.findViewById(R.id.secret)).getText().length() == 0 ||
54                         ((EditText) dialog.findViewById(R.id.secret)).getText().length() % 8 != 0)
55                         return;
56
57                 if (((EditText) dialog.findViewById(R.id.interval)).getText().length() == 0)
58                         return;
59
60                 b.setEnabled(true);
61         }
62
63         @Override
64         public void afterTextChanged(Editable s) {
65
66         }
67 }