From a62d2c800caf3c1562ef93f207353bd86e8ddcd8 Mon Sep 17 00:00:00 2001 From: Lucky Zhang Date: Mon, 20 Apr 2015 21:05:22 -0700 Subject: [PATCH] [SetupWizard] Refactor WifiSetupActivity Refactor WifiSetupActivity to respect the conventional logic of Setup Wizard's SubactivityWrapper. WifiSetupActivity now returns the result code back to WifiSettingsWrapper and lets the Wrapper invoke WizardManager, instead of invoking WizardManager by itself and letting its Wrapper finish early. The related change in WifiSettingsWrapper on Setup Wizard side is ag/676788. Bug: 20309008 Change-Id: Ia3bc2ff390404ff87c427782b5e7b345050bea03 --- .../android/settings/SetupWizardUtils.java | 13 ----------- .../settings/wifi/WifiSetupActivity.java | 22 +++++++------------ 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/src/com/android/settings/SetupWizardUtils.java b/src/com/android/settings/SetupWizardUtils.java index d91ba13f5a4..0f93c6744e5 100644 --- a/src/com/android/settings/SetupWizardUtils.java +++ b/src/com/android/settings/SetupWizardUtils.java @@ -33,24 +33,11 @@ public class SetupWizardUtils { // From WizardManager (must match constants maintained there) public static final String EXTRA_SCRIPT_URI = "scriptUri"; - public static final int NEXT_REQUEST = 10000; public static boolean isUsingWizardManager(Activity activity) { return activity.getIntent().hasExtra(EXTRA_SCRIPT_URI); } - /** - * Send the results of this activity to WizardManager, which will then send out the next - * scripted activity. WizardManager does not actually return an activity result, but if we - * invoke WizardManager without requesting a result, the framework will choose not to issue a - * call to onActivityResult with RESULT_CANCELED when navigating backward. - */ - public static void sendResultsToSetupWizard(Activity activity, int resultCode) { - final Intent intent = activity.getIntent(); - final Intent nextIntent = WizardManagerHelper.getNextIntent(intent, resultCode); - activity.startActivityForResult(nextIntent, NEXT_REQUEST); - } - public static int getTheme(Intent intent) { if (WizardManagerHelper.isLightTheme(intent, true)) { return R.style.SetupWizardTheme_Light; diff --git a/src/com/android/settings/wifi/WifiSetupActivity.java b/src/com/android/settings/wifi/WifiSetupActivity.java index 7d7fe3bec19..321ecb6e919 100644 --- a/src/com/android/settings/wifi/WifiSetupActivity.java +++ b/src/com/android/settings/wifi/WifiSetupActivity.java @@ -125,7 +125,7 @@ public class WifiSetupActivity extends WifiPickerActivity if (isWifiConnected()) { if (mAutoFinishOnConnection && mUserSelectedNetwork) { Log.d(TAG, "Auto-finishing with connection"); - finishOrNext(Activity.RESULT_OK); + finish(Activity.RESULT_OK); // Require a user selection before auto-finishing next time we are here. The user // can either connect to a different network or press "next" to proceed. mUserSelectedNetwork = false; @@ -195,18 +195,12 @@ public class WifiSetupActivity extends WifiPickerActivity } /** - * Complete this activity and return the results to the caller. If using WizardManager, this - * will invoke the next scripted action; otherwise, we simply finish. + * Complete this activity and return the results to the caller. */ - public void finishOrNext(int resultCode) { - Log.d(TAG, "finishOrNext resultCode=" + resultCode - + " isUsingWizardManager=" + SetupWizardUtils.isUsingWizardManager(this)); - if (SetupWizardUtils.isUsingWizardManager(this)) { - SetupWizardUtils.sendResultsToSetupWizard(this, resultCode); - } else { - setResult(resultCode); - finish(); - } + public void finish(int resultCode) { + Log.d(TAG, "finishing, resultCode=" + resultCode); + setResult(resultCode); + finish(); } @Override @@ -223,7 +217,7 @@ public class WifiSetupActivity extends WifiPickerActivity @Override public void onNavigateNext() { if (mWifiConnected) { - finishOrNext(RESULT_OK); + finish(RESULT_OK); } else { // Warn of possible data charges if there is a network connection, or lack of updates // if there is none. @@ -271,7 +265,7 @@ public class WifiSetupActivity extends WifiPickerActivity @Override public void onClick(DialogInterface dialog, int id) { WifiSetupActivity activity = (WifiSetupActivity) getActivity(); - activity.finishOrNext(RESULT_SKIP); + activity.finish(RESULT_SKIP); } }) .setNegativeButton(R.string.wifi_dont_skip,