Back to project page GestureLock.
The source code is released under:
Apache License
If you think the Android project GestureLock listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.gusturelock; /*from w ww . j a v a 2s . c o m*/ import java.util.List; import com.gusturelock.LockPatternView.Cell; import com.gusturelock.LockPatternView.DisplayMode; import android.os.Bundle; import android.app.Activity; import android.content.SharedPreferences; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; import android.widget.Toast; /* * Author: Ruils ?????????????? * Blog: http://blog.csdn.net/ruils * QQ: 5452781 * Email: 5452781@qq.com */ public class LockActivity extends Activity implements LockPatternView.OnPatternListener { private static final String TAG = "LockActivity"; private List<Cell> lockPattern; private LockPatternView lockPatternView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SharedPreferences preferences = getSharedPreferences(MainActivity.LOCK, MODE_PRIVATE); String patternString = preferences.getString(MainActivity.LOCK_KEY, null); if (patternString == null) { finish(); return; } lockPattern = LockPatternView.stringToPattern(patternString); setContentView(R.layout.activity_lock); lockPatternView = (LockPatternView) findViewById(R.id.lock_pattern); lockPatternView.setOnPatternListener(this); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // disable back key if (keyCode == KeyEvent.KEYCODE_BACK) { return true; } return super.onKeyDown(keyCode, event); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onPatternStart() { Log.d(TAG, "onPatternStart"); } @Override public void onPatternCleared() { Log.d(TAG, "onPatternCleared"); } @Override public void onPatternCellAdded(List<Cell> pattern) { Log.d(TAG, "onPatternCellAdded"); Log.e(TAG, LockPatternView.patternToString(pattern)); // Toast.makeText(this, LockPatternView.patternToString(pattern), // Toast.LENGTH_LONG).show(); } @Override public void onPatternDetected(List<Cell> pattern) { Log.d(TAG, "onPatternDetected"); if (pattern.equals(lockPattern)) { finish(); } else { lockPatternView.setDisplayMode(DisplayMode.Wrong); Toast.makeText(this, R.string.lockpattern_error, Toast.LENGTH_LONG) .show(); } } }