diff --git a/src/org/lineageos/setupwizard/BluetoothSetupActivity.java b/src/org/lineageos/setupwizard/BluetoothSetupActivity.java index a7f3a4bb..197f05a7 100644 --- a/src/org/lineageos/setupwizard/BluetoothSetupActivity.java +++ b/src/org/lineageos/setupwizard/BluetoothSetupActivity.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2016 The CyanogenMod Project - * Copyright (C) 2017 The LineageOS Project + * Copyright (C) 2017-2018,2020 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,7 @@ import android.util.Log; import org.lineageos.setupwizard.util.SetupWizardUtils; -public class BluetoothSetupActivity extends SubBaseActivity { +public class BluetoothSetupActivity extends WrapperSubBaseActivity { public static final String TAG = BluetoothSetupActivity.class.getSimpleName(); diff --git a/src/org/lineageos/setupwizard/CaptivePortalSetupActivity.java b/src/org/lineageos/setupwizard/CaptivePortalSetupActivity.java index d388956e..db05b372 100644 --- a/src/org/lineageos/setupwizard/CaptivePortalSetupActivity.java +++ b/src/org/lineageos/setupwizard/CaptivePortalSetupActivity.java @@ -34,7 +34,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.Random; -public class CaptivePortalSetupActivity extends SubBaseActivity { +public class CaptivePortalSetupActivity extends WrapperSubBaseActivity { public static final String TAG = CaptivePortalSetupActivity.class.getSimpleName(); diff --git a/src/org/lineageos/setupwizard/SubBaseActivity.java b/src/org/lineageos/setupwizard/SubBaseActivity.java index 32a58869..d85d6ff4 100644 --- a/src/org/lineageos/setupwizard/SubBaseActivity.java +++ b/src/org/lineageos/setupwizard/SubBaseActivity.java @@ -40,6 +40,10 @@ public abstract class SubBaseActivity extends BaseSetupWizardActivity { protected abstract void onStartSubactivity(); + protected void onSubactivityCanceled(Intent data) { + // Do nothing. + } + @Override protected void onCreate(Bundle savedInstanceState) { if (LOGV) { @@ -142,8 +146,7 @@ public abstract class SubBaseActivity extends BaseSetupWizardActivity { nextAction(RESULT_ACTIVITY_NOT_FOUND); finish(); } else { - applyBackwardTransition(getSubactivityPreviousTransition()); - finishAction(RESULT_CANCELED, data); + onSubactivityCanceled(data); } } diff --git a/src/org/lineageos/setupwizard/WifiSetupActivity.java b/src/org/lineageos/setupwizard/WifiSetupActivity.java index a3096091..69cef392 100644 --- a/src/org/lineageos/setupwizard/WifiSetupActivity.java +++ b/src/org/lineageos/setupwizard/WifiSetupActivity.java @@ -24,7 +24,7 @@ import android.content.Intent; import org.lineageos.setupwizard.util.SetupWizardUtils; -public class WifiSetupActivity extends SubBaseActivity { +public class WifiSetupActivity extends WrapperSubBaseActivity { public static final String TAG = WifiSetupActivity.class.getSimpleName(); diff --git a/src/org/lineageos/setupwizard/WrapperSubBaseActivity.java b/src/org/lineageos/setupwizard/WrapperSubBaseActivity.java new file mode 100644 index 00000000..07c71c28 --- /dev/null +++ b/src/org/lineageos/setupwizard/WrapperSubBaseActivity.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.setupwizard; + +import android.content.Intent; + +public abstract class WrapperSubBaseActivity extends SubBaseActivity { + + @Override + protected void onSubactivityCanceled(Intent data) { + super.onSubactivityCanceled(data); + + // As the subactivity we're wrapping finishes, we finish too + applyBackwardTransition(getSubactivityPreviousTransition()); + finishAction(RESULT_CANCELED, data); + } + +}