Revision 72d577fb app/src/info/guardianproject/notepadbot/Settings.java

View differences:

app/src/info/guardianproject/notepadbot/Settings.java
1 1
package info.guardianproject.notepadbot;
2 2

  
3 3

  
4
import java.io.IOException;
5
import java.security.GeneralSecurityException;
6

  
4 7
import net.simonvt.numberpicker.NumberPicker;
5 8
import info.guardianproject.cacheword.CacheWordActivityHandler;
6 9
import info.guardianproject.cacheword.Constants;
7 10
import info.guardianproject.cacheword.ICacheWordSubscriber;
11
import info.guardianproject.cacheword.PassphraseSecrets;
8 12

  
9 13
import android.annotation.SuppressLint;
10 14
import android.app.AlertDialog;
......
19 23
import android.preference.PreferenceManager;
20 24
import android.support.v4.app.NavUtils;
21 25
import android.util.Log;
26
import android.widget.Toast;
22 27

  
23 28
import com.actionbarsherlock.app.SherlockPreferenceActivity;
24 29
import com.actionbarsherlock.view.MenuItem;
......
50 55
								.setOnPreferenceClickListener(changeLockTimeoutListener);
51 56
							findPreference(Constants.SHARED_PREFS_VIBRATE)
52 57
								.setOnPreferenceChangeListener(vibrateChangeListener);
58
							findPreference(Constants.SHARED_PREFS_SECRETS)
59
								.setOnPreferenceChangeListener(passphraseChangeListener);
60
							
53 61
						}
54 62
					})
55 63
					.commit();
......
60 68
				.setOnPreferenceClickListener(changeLockTimeoutListener);
61 69
			findPreference(Constants.SHARED_PREFS_VIBRATE)
62 70
				.setOnPreferenceChangeListener(vibrateChangeListener);
71
			findPreference(Constants.SHARED_PREFS_SECRETS)
72
				.setOnPreferenceChangeListener(passphraseChangeListener);
63 73
		}
64 74
	}
65 75
	
......
99 109
		}
100 110
	};
101 111
	
112
	private Preference.OnPreferenceChangeListener passphraseChangeListener = 
113
			new OnPreferenceChangeListener(){
114
		@Override
115
		public boolean onPreferenceChange(Preference pref, Object newValue) {
116
			try {
117
				char[] pass = ((String) newValue).toCharArray();
118
				if (NConstants.validatePassword(pass)) {
119
					mCacheWord.changePassphrase((PassphraseSecrets) mCacheWord.getCachedSecrets(), pass);
120
				} else {
121
					Toast.makeText(getApplicationContext(), 
122
							R.string.pass_err_length, Toast.LENGTH_SHORT).show();
123
				}
124
			} catch (IOException e) {
125
				Toast.makeText(getApplicationContext(), 
126
						R.string.pass_err, Toast.LENGTH_SHORT).show();
127
			}
128
			return false;
129
		}
130
	};
131
	
102 132
	public static final boolean getNoteLinesOption(Context context) {
103 133
		boolean defValue = context.getResources().getBoolean(R.bool.notecipher_uselines_default);
104 134
        return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(NConstants.SHARED_PREFS_NOTELINES, defValue);
......
175 205
        startActivity(intent);
176 206
        finish();
177 207
    }
178
}
208
}

Also available in: Unified diff