X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/cb5f0971afc5f997dc1928f36845fab67de197da..e0867d2b28b3e29430eead9938f9fc6a9b2944be:/src/com/owncloud/android/ui/activity/PinCodeActivity.java diff --git a/src/com/owncloud/android/ui/activity/PinCodeActivity.java b/src/com/owncloud/android/ui/activity/PinCodeActivity.java index defa0de4..cab1917c 100644 --- a/src/com/owncloud/android/ui/activity/PinCodeActivity.java +++ b/src/com/owncloud/android/ui/activity/PinCodeActivity.java @@ -1,5 +1,8 @@ -/* ownCloud Android client application +/** + * ownCloud Android client application + * * Copyright (C) 2011 Bartek Przybylski + * Copyright (C) 2015 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -18,15 +21,6 @@ package com.owncloud.android.ui.activity; import java.util.Arrays; -import com.actionbarsherlock.app.ActionBar; -import com.actionbarsherlock.app.SherlockFragmentActivity; -import com.owncloud.android.MainApp; -import com.owncloud.android.R; -import com.owncloud.android.authentication.PinCheck; -import com.owncloud.android.utils.DisplayUtils; - -import android.app.AlertDialog; -import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; @@ -43,10 +37,18 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.app.SherlockFragmentActivity; +import com.owncloud.android.R; +import com.owncloud.android.authentication.PinCheck; +import com.owncloud.android.utils.DisplayUtils; + public class PinCodeActivity extends SherlockFragmentActivity { - public final static String EXTRA_ACTIVITY = "com.owncloud.android.ui.activity.PinCodeActivity.ACTIVITY"; + public final static String ACTION_TOGGLE = PinCodeActivity.class.getCanonicalName() + ".TOGGLE"; + public final static String ACTION_REQUEST= PinCodeActivity.class.getCanonicalName() + ".REQUEST"; + public final static String EXTRA_NEW_STATE = "com.owncloud.android.ui.activity.PinCodeActivity.NEW_STATE"; private Button mBCancel; @@ -59,8 +61,6 @@ public class PinCodeActivity extends SherlockFragmentActivity { private String [] mTempText ={"","","",""}; - private String mActivity; - private boolean mConfirmingPinCode = false; private boolean mPinCodeChecked = false; private boolean mNewPasswordEntered = false; @@ -72,9 +72,6 @@ public class PinCodeActivity extends SherlockFragmentActivity { super.onCreate(savedInstanceState); setContentView(R.layout.pincodelock); - Intent intent = getIntent(); - mActivity = intent.getStringExtra(EXTRA_ACTIVITY); - mBCancel = (Button) findViewById(R.id.cancel); mPinHdr = (TextView) findViewById(R.id.pinHdr); mPinHdrExplanation = (TextView) findViewById(R.id.pinHdrExpl); @@ -96,31 +93,32 @@ public class PinCodeActivity extends SherlockFragmentActivity { mPinCodeChecked = true; mNewPasswordEntered = true; - }else{ - + } else { + + /// TODO rewrite this activity; this logic is too twisted if (appPrefs.getBoolean("set_pincode", false)){ - // pincode activated - if (mActivity.equals("preferences")){ - // PIN has been activated yet - mPinHdr.setText(R.string.pincode_configure_your_pin); - mPinHdrExplanation.setVisibility(View.VISIBLE); - mPinCodeChecked = true ; // No need to check it - setChangePincodeView(true); - }else{ - // PIN active - mBCancel.setVisibility(View.INVISIBLE); - mBCancel.setVisibility(View.GONE); - mPinHdr.setText(R.string.pincode_enter_pin_code); - mPinHdrExplanation.setVisibility(View.INVISIBLE); - setChangePincodeView(false); + // pincode activated + if (ACTION_TOGGLE.equals(getIntent().getAction())) { + // PIN has been activated yet + mPinHdr.setText(R.string.pincode_configure_your_pin); + mPinHdrExplanation.setVisibility(View.VISIBLE); + mPinCodeChecked = true ; // No need to check it + setChangePincodeView(true); + } else { + // PIN active + mBCancel.setVisibility(View.INVISIBLE); + mBCancel.setVisibility(View.GONE); + mPinHdr.setText(R.string.pincode_enter_pin_code); + mPinHdrExplanation.setVisibility(View.INVISIBLE); + setChangePincodeView(false); } - }else { - // pincode removal - mPinHdr.setText(R.string.pincode_remove_your_pincode); - mPinHdrExplanation.setVisibility(View.INVISIBLE); - mPinCodeChecked = false; - setChangePincodeView(true); + } else { + // pincode removal + mPinHdr.setText(R.string.pincode_remove_your_pincode); + mPinHdrExplanation.setVisibility(View.INVISIBLE); + mPinCodeChecked = false; + setChangePincodeView(true); } } @@ -368,41 +366,36 @@ public class PinCodeActivity extends SherlockFragmentActivity { mPinCodeChecked = checkPincode(); } -// if (mPinCodeChecked && -// ( mActivity.equals("FileDisplayActivity") || mActivity.equals("PreviewImageActivity") ) ){ -// Intent data = new Intent(); -// data.putExtra(EXTRA_PIN_CORRECT, true); -// setResult(RESULT_FIRST_USER, data); -// finish(); - - if (mPinCodeChecked){ + if (mPinCodeChecked) { PinCheck.setUnlockTimestamp(); - finish(); - } else if (mPinCodeChecked){ - - Intent intent = getIntent(); - String newState = intent.getStringExtra(EXTRA_NEW_STATE); - - if (newState.equals("false")){ - SharedPreferences.Editor appPrefs = PreferenceManager - .getDefaultSharedPreferences(getApplicationContext()).edit(); - appPrefs.putBoolean("set_pincode",false); - appPrefs.commit(); - - setInitVars(); - pinCodeEnd(false); - - }else{ - - if (!mConfirmingPinCode){ - pinCodeChangeRequest(); - + + if (ACTION_REQUEST.equals(getIntent().getAction())) { + finish(); + + } else if (mPinCodeChecked) { + String newState = getIntent().getStringExtra(EXTRA_NEW_STATE); + + // TODO - next decision should done according to the current state of PIN in prefs (enable or not), not whatever says de client + if (newState.equals("false")) { + SharedPreferences.Editor appPrefs = PreferenceManager + .getDefaultSharedPreferences(getApplicationContext()).edit(); + appPrefs.putBoolean("set_pincode", false); + appPrefs.commit(); + + setInitVars(); + pinCodeEnd(false); + } else { - confirmPincode(); + + if (!mConfirmingPinCode) { + pinCodeChangeRequest(); + + } else { + confirmPincode(); + } } + } - - } } } @@ -561,14 +554,10 @@ public class PinCodeActivity extends SherlockFragmentActivity { appPrefs.commit(); pinCodeEnd(true); - - - } protected void clearBoxes(){ - mText1.setText(""); mText2.setText(""); mText3.setText(""); @@ -580,10 +569,8 @@ public class PinCodeActivity extends SherlockFragmentActivity { @Override public boolean onKeyDown(int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()== 0){ - - if (mActivity.equals("preferences")){ + if (ACTION_TOGGLE.equals(getIntent().getAction())){ SharedPreferences.Editor appPrefsE = PreferenceManager - .getDefaultSharedPreferences(getApplicationContext()).edit(); SharedPreferences appPrefs = PreferenceManager @@ -596,14 +583,7 @@ public class PinCodeActivity extends SherlockFragmentActivity { finish(); } return true; - } - return super.onKeyDown(keyCode, event); - } - - - - - + } }