Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 64987b0b authored by Weng Su's avatar Weng Su
Browse files

Avoid launching Wi-Fi details settings if WifiEntry key is lost

- When restarting Wi-Fi details settings from the recent apps, the extra data of the sent Intent may be lost, resulting in the loss of the necessary WifiEntry key

- Don't launch Wi-Fi details settings and remove it from recent apps in the above case

Fix: 349180072
Flag: EXEMPT bugfix
Test: Manual testing
Change-Id: Ifa9718b0197ab27b77c24b706f7974a664980fba
parent 8cd5a449
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@ import android.telephony.ims.ImsRcsManager;
import android.text.TextUtils;
import android.util.Log;

import androidx.annotation.Nullable;

import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.biometrics.face.FaceSettings;
import com.android.settings.communal.CommunalPreferenceController;
@@ -35,6 +37,7 @@ import com.android.settings.network.MobileNetworkIntentConverter;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
import com.android.settings.security.SecuritySettingsFeatureProvider;
import com.android.settings.wifi.WifiUtils;

import com.google.android.setupdesign.util.ThemeHelper;

@@ -73,7 +76,18 @@ public class Settings extends SettingsActivity {
    public static class NetworkProviderSettingsActivity extends SettingsActivity { /* empty */ }
    public static class NetworkSelectActivity extends SettingsActivity { /* empty */ }
    /** Activity for the Wi-Fi network details settings. */
    public static class WifiDetailsSettingsActivity extends SettingsActivity { /* empty */ }
    public static class WifiDetailsSettingsActivity extends SettingsActivity {
        @Override
        protected void createUiFromIntent(@Nullable Bundle savedState, Intent intent) {
            Bundle bundle = getIntent().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
            if (TextUtils.isEmpty(bundle.getString(WifiUtils.KEY_CHOSEN_WIFIENTRY_KEY))) {
                Log.e(getLocalClassName(), "The key of WifiEntry is empty!");
                finishAndRemoveTask();
                return;
            }
            super.createUiFromIntent(savedState, intent);
        }
    }
    public static class WifiP2pSettingsActivity extends SettingsActivity { /* empty */ }
    public static class AvailableVirtualKeyboardActivity extends SettingsActivity { /* empty */ }
    public static class KeyboardLayoutPickerActivity extends SettingsActivity { /* empty */ }