Merge "Several fixes to new EncryptionInterstitial dialog." into lmp-dev
This commit is contained in:
@@ -45,6 +45,7 @@ import com.android.internal.widget.LockPatternUtils;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ChooseLockGeneric extends SettingsActivity {
|
public class ChooseLockGeneric extends SettingsActivity {
|
||||||
|
public static final String CONFIRM_CREDENTIALS = "confirm_credentials";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Intent getIntent() {
|
public Intent getIntent() {
|
||||||
@@ -75,7 +76,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
private static final int FALLBACK_REQUEST = 101;
|
private static final int FALLBACK_REQUEST = 101;
|
||||||
private static final int ENABLE_ENCRYPTION_REQUEST = 102;
|
private static final int ENABLE_ENCRYPTION_REQUEST = 102;
|
||||||
private static final String PASSWORD_CONFIRMED = "password_confirmed";
|
private static final String PASSWORD_CONFIRMED = "password_confirmed";
|
||||||
private static final String CONFIRM_CREDENTIALS = "confirm_credentials";
|
|
||||||
private static final String WAITING_FOR_CONFIRMATION = "waiting_for_confirmation";
|
private static final String WAITING_FOR_CONFIRMATION = "waiting_for_confirmation";
|
||||||
private static final String FINISH_PENDING = "finish_pending";
|
private static final String FINISH_PENDING = "finish_pending";
|
||||||
public static final String MINIMUM_QUALITY_KEY = "minimum_quality";
|
public static final String MINIMUM_QUALITY_KEY = "minimum_quality";
|
||||||
@@ -92,6 +93,8 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
private boolean mFinishPending = false;
|
private boolean mFinishPending = false;
|
||||||
private int mEncryptionRequestQuality;
|
private int mEncryptionRequestQuality;
|
||||||
private boolean mEncryptionRequestDisabled;
|
private boolean mEncryptionRequestDisabled;
|
||||||
|
private boolean mRequirePassword;
|
||||||
|
private LockPatternUtils mLockPatternUtils;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -100,6 +103,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||||
mKeyStore = KeyStore.getInstance();
|
mKeyStore = KeyStore.getInstance();
|
||||||
mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this.getActivity());
|
mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this.getActivity());
|
||||||
|
mLockPatternUtils = new LockPatternUtils(getActivity());
|
||||||
|
|
||||||
// Defaults to needing to confirm credentials
|
// Defaults to needing to confirm credentials
|
||||||
final boolean confirmCredentials = getActivity().getIntent()
|
final boolean confirmCredentials = getActivity().getIntent()
|
||||||
@@ -183,9 +187,16 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
if (Process.myUserHandle().isOwner() && LockPatternUtils.isDeviceEncryptionEnabled()) {
|
if (Process.myUserHandle().isOwner() && LockPatternUtils.isDeviceEncryptionEnabled()) {
|
||||||
mEncryptionRequestQuality = quality;
|
mEncryptionRequestQuality = quality;
|
||||||
mEncryptionRequestDisabled = disabled;
|
mEncryptionRequestDisabled = disabled;
|
||||||
Intent intent = EncryptionInterstitial.createStartIntent(getActivity(), quality);
|
// If accessibility is enabled and the user hasn't seen this dialog before, set the
|
||||||
|
// default state to agree with that which is compatible with accessibility
|
||||||
|
// (password not required).
|
||||||
|
final boolean accEn = AccessibilityManager.getInstance(getActivity()).isEnabled();
|
||||||
|
final boolean required = mLockPatternUtils.isCredentialRequiredToDecrypt(!accEn);
|
||||||
|
Intent intent = EncryptionInterstitial.createStartIntent(
|
||||||
|
getActivity(), quality, required);
|
||||||
startActivityForResult(intent, ENABLE_ENCRYPTION_REQUEST);
|
startActivityForResult(intent, ENABLE_ENCRYPTION_REQUEST);
|
||||||
} else {
|
} else {
|
||||||
|
mRequirePassword = false; // device encryption not enabled or not device owner.
|
||||||
updateUnlockMethodAndFinish(quality, disabled);
|
updateUnlockMethodAndFinish(quality, disabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -218,6 +229,8 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
finish();
|
finish();
|
||||||
} else if (requestCode == ENABLE_ENCRYPTION_REQUEST
|
} else if (requestCode == ENABLE_ENCRYPTION_REQUEST
|
||||||
&& resultCode == Activity.RESULT_OK) {
|
&& resultCode == Activity.RESULT_OK) {
|
||||||
|
mRequirePassword = data.getBooleanExtra(
|
||||||
|
EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true);
|
||||||
updateUnlockMethodAndFinish(mEncryptionRequestQuality, mEncryptionRequestDisabled);
|
updateUnlockMethodAndFinish(mEncryptionRequestQuality, mEncryptionRequestDisabled);
|
||||||
} else {
|
} else {
|
||||||
getActivity().setResult(Activity.RESULT_CANCELED);
|
getActivity().setResult(Activity.RESULT_CANCELED);
|
||||||
@@ -412,13 +425,8 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
minLength = MIN_PASSWORD_LENGTH;
|
minLength = MIN_PASSWORD_LENGTH;
|
||||||
}
|
}
|
||||||
final int maxLength = mDPM.getPasswordMaximumLength(quality);
|
final int maxLength = mDPM.getPasswordMaximumLength(quality);
|
||||||
Intent intent = new Intent().setClass(getActivity(), ChooseLockPassword.class);
|
Intent intent = ChooseLockPassword.createIntent(getActivity(), quality, isFallback,
|
||||||
intent.putExtra(LockPatternUtils.PASSWORD_TYPE_KEY, quality);
|
minLength, maxLength, mRequirePassword, false /* confirm credentials */);
|
||||||
intent.putExtra(ChooseLockPassword.PASSWORD_MIN_KEY, minLength);
|
|
||||||
intent.putExtra(ChooseLockPassword.PASSWORD_MAX_KEY, maxLength);
|
|
||||||
intent.putExtra(CONFIRM_CREDENTIALS, false);
|
|
||||||
intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK,
|
|
||||||
isFallback);
|
|
||||||
if (isFallback) {
|
if (isFallback) {
|
||||||
startActivityForResult(intent, FALLBACK_REQUEST);
|
startActivityForResult(intent, FALLBACK_REQUEST);
|
||||||
return;
|
return;
|
||||||
@@ -428,11 +436,8 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
} else if (quality == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING) {
|
} else if (quality == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING) {
|
||||||
Intent intent = new Intent(getActivity(), ChooseLockPattern.class);
|
Intent intent = ChooseLockPattern.createIntent(getActivity(),
|
||||||
intent.putExtra("key_lock_method", "pattern");
|
isFallback, mRequirePassword, false /* confirm credentials */);
|
||||||
intent.putExtra(CONFIRM_CREDENTIALS, false);
|
|
||||||
intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK,
|
|
||||||
isFallback);
|
|
||||||
if (isFallback) {
|
if (isFallback) {
|
||||||
startActivityForResult(intent, FALLBACK_REQUEST);
|
startActivityForResult(intent, FALLBACK_REQUEST);
|
||||||
return;
|
return;
|
||||||
|
@@ -25,6 +25,7 @@ import android.app.Activity;
|
|||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.app.admin.DevicePolicyManager;
|
import android.app.admin.DevicePolicyManager;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.inputmethodservice.KeyboardView;
|
import android.inputmethodservice.KeyboardView;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -64,6 +65,19 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Intent createIntent(Context context, int quality, final boolean isFallback,
|
||||||
|
int minLength, final int maxLength, boolean requirePasswordToDecrypt,
|
||||||
|
boolean confirmCredentials) {
|
||||||
|
Intent intent = new Intent().setClass(context, ChooseLockPassword.class);
|
||||||
|
intent.putExtra(LockPatternUtils.PASSWORD_TYPE_KEY, quality);
|
||||||
|
intent.putExtra(PASSWORD_MIN_KEY, minLength);
|
||||||
|
intent.putExtra(PASSWORD_MAX_KEY, maxLength);
|
||||||
|
intent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, confirmCredentials);
|
||||||
|
intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, isFallback);
|
||||||
|
intent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, requirePasswordToDecrypt);
|
||||||
|
return intent;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean isValidFragment(String fragmentName) {
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
if (ChooseLockPasswordFragment.class.getName().equals(fragmentName)) return true;
|
if (ChooseLockPasswordFragment.class.getName().equals(fragmentName)) return true;
|
||||||
@@ -412,6 +426,9 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
final boolean isFallback = getActivity().getIntent().getBooleanExtra(
|
final boolean isFallback = getActivity().getIntent().getBooleanExtra(
|
||||||
LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, false);
|
LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, false);
|
||||||
mLockPatternUtils.clearLock(isFallback);
|
mLockPatternUtils.clearLock(isFallback);
|
||||||
|
final boolean required = getActivity().getIntent().getBooleanExtra(
|
||||||
|
EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true);
|
||||||
|
mLockPatternUtils.setCredentialRequiredToDecrypt(required);
|
||||||
mLockPatternUtils.saveLockPassword(pin, mRequestedQuality, isFallback);
|
mLockPatternUtils.saveLockPassword(pin, mRequestedQuality, isFallback);
|
||||||
getActivity().setResult(RESULT_FINISHED);
|
getActivity().setResult(RESULT_FINISHED);
|
||||||
getActivity().finish();
|
getActivity().finish();
|
||||||
|
@@ -28,6 +28,7 @@ import static com.android.internal.widget.LockPatternView.DisplayMode;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
@@ -68,6 +69,16 @@ public class ChooseLockPattern extends SettingsActivity {
|
|||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Intent createIntent(Context context, final boolean isFallback,
|
||||||
|
boolean requirePassword, boolean confirmCredentials) {
|
||||||
|
Intent intent = new Intent(context, ChooseLockPattern.class);
|
||||||
|
intent.putExtra("key_lock_method", "pattern");
|
||||||
|
intent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, confirmCredentials);
|
||||||
|
intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, isFallback);
|
||||||
|
intent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, requirePassword);
|
||||||
|
return intent;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean isValidFragment(String fragmentName) {
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
if (ChooseLockPatternFragment.class.getName().equals(fragmentName)) return true;
|
if (ChooseLockPatternFragment.class.getName().equals(fragmentName)) return true;
|
||||||
@@ -528,6 +539,10 @@ public class ChooseLockPattern extends SettingsActivity {
|
|||||||
|
|
||||||
final boolean isFallback = getActivity().getIntent()
|
final boolean isFallback = getActivity().getIntent()
|
||||||
.getBooleanExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, false);
|
.getBooleanExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, false);
|
||||||
|
|
||||||
|
final boolean required = getActivity().getIntent().getBooleanExtra(
|
||||||
|
EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true);
|
||||||
|
utils.setCredentialRequiredToDecrypt(required);
|
||||||
utils.saveLockPattern(mChosenPattern, isFallback);
|
utils.saveLockPattern(mChosenPattern, isFallback);
|
||||||
utils.setLockPatternEnabled(true);
|
utils.setLockPatternEnabled(true);
|
||||||
|
|
||||||
|
@@ -24,8 +24,6 @@ import android.app.admin.DevicePolicyManager;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.PersistableBundle;
|
|
||||||
import android.provider.Settings;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -35,6 +33,7 @@ import android.widget.TextView;
|
|||||||
public class EncryptionInterstitial extends SettingsActivity {
|
public class EncryptionInterstitial extends SettingsActivity {
|
||||||
|
|
||||||
private static final String EXTRA_PASSWORD_QUALITY = "extra_password_quality";
|
private static final String EXTRA_PASSWORD_QUALITY = "extra_password_quality";
|
||||||
|
public static final String EXTRA_REQUIRE_PASSWORD = "extra_require_password";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Intent getIntent() {
|
public Intent getIntent() {
|
||||||
@@ -48,14 +47,16 @@ public class EncryptionInterstitial extends SettingsActivity {
|
|||||||
return EncryptionInterstitialFragment.class.getName().equals(fragmentName);
|
return EncryptionInterstitialFragment.class.getName().equals(fragmentName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Intent createStartIntent(Context ctx, int quality) {
|
public static Intent createStartIntent(Context ctx, int quality,
|
||||||
|
boolean requirePasswordDefault) {
|
||||||
return new Intent(ctx, EncryptionInterstitial.class)
|
return new Intent(ctx, EncryptionInterstitial.class)
|
||||||
.putExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, true)
|
.putExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, true)
|
||||||
.putExtra(EXTRA_PREFS_SET_BACK_TEXT, (String) null)
|
.putExtra(EXTRA_PREFS_SET_BACK_TEXT, (String) null)
|
||||||
.putExtra(EXTRA_PREFS_SET_NEXT_TEXT, ctx.getString(
|
.putExtra(EXTRA_PREFS_SET_NEXT_TEXT, ctx.getString(
|
||||||
R.string.encryption_continue_button))
|
R.string.encryption_continue_button))
|
||||||
.putExtra(EXTRA_PASSWORD_QUALITY, quality)
|
.putExtra(EXTRA_PASSWORD_QUALITY, quality)
|
||||||
.putExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, R.string.encryption_interstitial_header);
|
.putExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, R.string.encryption_interstitial_header)
|
||||||
|
.putExtra(EXTRA_REQUIRE_PASSWORD, requirePasswordDefault);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class EncryptionInterstitialFragment extends SettingsPreferenceFragment
|
public static class EncryptionInterstitialFragment extends SettingsPreferenceFragment
|
||||||
@@ -64,6 +65,7 @@ public class EncryptionInterstitial extends SettingsActivity {
|
|||||||
private RadioButton mRequirePasswordToDecryptButton;
|
private RadioButton mRequirePasswordToDecryptButton;
|
||||||
private RadioButton mDontRequirePasswordToDecryptButton;
|
private RadioButton mDontRequirePasswordToDecryptButton;
|
||||||
private TextView mEncryptionMessage;
|
private TextView mEncryptionMessage;
|
||||||
|
private boolean mPasswordRequired;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
@@ -98,32 +100,36 @@ public class EncryptionInterstitial extends SettingsActivity {
|
|||||||
disableId = R.string.encrypt_dont_require_password;
|
disableId = R.string.encrypt_dont_require_password;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
mPasswordRequired = getActivity().getIntent().getBooleanExtra(
|
||||||
|
EXTRA_REQUIRE_PASSWORD, true);
|
||||||
|
|
||||||
mEncryptionMessage.setText(msgId);
|
mEncryptionMessage.setText(msgId);
|
||||||
|
|
||||||
mRequirePasswordToDecryptButton.setOnClickListener(this);
|
mRequirePasswordToDecryptButton.setOnClickListener(this);
|
||||||
mRequirePasswordToDecryptButton.setText(enableId);
|
mRequirePasswordToDecryptButton.setText(enableId);
|
||||||
|
mRequirePasswordToDecryptButton.setChecked(mPasswordRequired);
|
||||||
|
|
||||||
mDontRequirePasswordToDecryptButton.setOnClickListener(this);
|
mDontRequirePasswordToDecryptButton.setOnClickListener(this);
|
||||||
mDontRequirePasswordToDecryptButton.setText(disableId);
|
mDontRequirePasswordToDecryptButton.setText(disableId);
|
||||||
|
mDontRequirePasswordToDecryptButton.setChecked(!mPasswordRequired);
|
||||||
|
|
||||||
|
updateRequirePasswordIntent();
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResume() {
|
|
||||||
super.onResume();
|
|
||||||
loadFromSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void loadFromSettings() {
|
|
||||||
final boolean required = Settings.Global.getInt(getContentResolver(),
|
|
||||||
Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, 1) == 1 ? true : false;
|
|
||||||
mRequirePasswordToDecryptButton.setChecked(required);
|
|
||||||
mDontRequirePasswordToDecryptButton.setChecked(!required);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
final boolean required = (v == mRequirePasswordToDecryptButton);
|
mPasswordRequired = (v == mRequirePasswordToDecryptButton);
|
||||||
Settings.Global.putInt(getContentResolver(),
|
updateRequirePasswordIntent();
|
||||||
Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, required ? 1 : 0);
|
}
|
||||||
|
|
||||||
|
// Updates the value we want to return.
|
||||||
|
private void updateRequirePasswordIntent() {
|
||||||
|
SettingsActivity sa = (SettingsActivity)getActivity();
|
||||||
|
Intent resultIntentData = sa.getResultIntentData();
|
||||||
|
resultIntentData = resultIntentData == null ? new Intent() : resultIntentData;
|
||||||
|
resultIntentData.putExtra(EXTRA_REQUIRE_PASSWORD, mPasswordRequired);
|
||||||
|
sa.setResultIntentData(resultIntentData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -216,15 +216,12 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mIsPrimary) {
|
if (mIsPrimary) {
|
||||||
switch (mDPM.getStorageEncryptionStatus()) {
|
if (LockPatternUtils.isDeviceEncryptionEnabled()) {
|
||||||
case DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE:
|
|
||||||
// The device is currently encrypted.
|
// The device is currently encrypted.
|
||||||
addPreferencesFromResource(R.xml.security_settings_encrypted);
|
addPreferencesFromResource(R.xml.security_settings_encrypted);
|
||||||
break;
|
} else {
|
||||||
case DevicePolicyManager.ENCRYPTION_STATUS_INACTIVE:
|
|
||||||
// This device supports encryption but isn't encrypted.
|
// This device supports encryption but isn't encrypted.
|
||||||
addPreferencesFromResource(R.xml.security_settings_unencrypted);
|
addPreferencesFromResource(R.xml.security_settings_unencrypted);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -368,6 +368,8 @@ public class SettingsActivity extends Activity
|
|||||||
private boolean mNeedToRevertToInitialFragment = false;
|
private boolean mNeedToRevertToInitialFragment = false;
|
||||||
private int mHomeActivitiesCount = 1;
|
private int mHomeActivitiesCount = 1;
|
||||||
|
|
||||||
|
private Intent mResultIntentData;
|
||||||
|
|
||||||
public SwitchBar getSwitchBar() {
|
public SwitchBar getSwitchBar() {
|
||||||
return mSwitchBar;
|
return mSwitchBar;
|
||||||
}
|
}
|
||||||
@@ -597,21 +599,21 @@ public class SettingsActivity extends Activity
|
|||||||
Button backButton = (Button)findViewById(R.id.back_button);
|
Button backButton = (Button)findViewById(R.id.back_button);
|
||||||
backButton.setOnClickListener(new OnClickListener() {
|
backButton.setOnClickListener(new OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
setResult(RESULT_CANCELED);
|
setResult(RESULT_CANCELED, getResultIntentData());
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Button skipButton = (Button)findViewById(R.id.skip_button);
|
Button skipButton = (Button)findViewById(R.id.skip_button);
|
||||||
skipButton.setOnClickListener(new OnClickListener() {
|
skipButton.setOnClickListener(new OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
setResult(RESULT_OK);
|
setResult(RESULT_OK, getResultIntentData());
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mNextButton = (Button)findViewById(R.id.next_button);
|
mNextButton = (Button)findViewById(R.id.next_button);
|
||||||
mNextButton.setOnClickListener(new OnClickListener() {
|
mNextButton.setOnClickListener(new OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
setResult(RESULT_OK);
|
setResult(RESULT_OK, getResultIntentData());
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -1345,4 +1347,12 @@ public class SettingsActivity extends Activity
|
|||||||
mSearchMenuItem.collapseActionView();
|
mSearchMenuItem.collapseActionView();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Intent getResultIntentData() {
|
||||||
|
return mResultIntentData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setResultIntentData(Intent resultIntentData) {
|
||||||
|
mResultIntentData = resultIntentData;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user