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

Commit b3cd38ea authored by Lifu Tang's avatar Lifu Tang Committed by Android (Google) Code Review
Browse files

Merge "Fixed the crash on screen rotation" into klp-dev

parents 69a50431 96f95212
Loading
Loading
Loading
Loading
+25 −4
Original line number Diff line number Diff line
@@ -38,12 +38,29 @@ public abstract class LocationSettingsBase extends SettingsPreferenceFragment

    private static final int LOADER_ID_LOCATION_MODE = 1;

    /**
     * Whether the fragment is actively running.
     */
    private boolean mActive = false;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        getLoaderManager().initLoader(LOADER_ID_LOCATION_MODE, null, this);
    }

    @Override
    public void onResume() {
        super.onResume();
        mActive = true;
    }

    @Override
    public void onPause() {
        super.onPause();
        mActive = false;
    }

    /** Called when location mode has changed. */
    public abstract void onModeChanged(int mode, boolean restricted);

@@ -61,7 +78,9 @@ public abstract class LocationSettingsBase extends SettingsPreferenceFragment
            }
            mode = Settings.Secure.getInt(getContentResolver(), Settings.Secure.LOCATION_MODE,
                    Settings.Secure.LOCATION_MODE_OFF);
            if (mActive) {
                onModeChanged(mode, true);
            }
            return;
        }
        Settings.Secure.putInt(getContentResolver(), Settings.Secure.LOCATION_MODE, mode);
@@ -69,10 +88,12 @@ public abstract class LocationSettingsBase extends SettingsPreferenceFragment
    }

    public void refreshLocationMode() {
        if (mActive) {
            int mode = Settings.Secure.getInt(getContentResolver(), Settings.Secure.LOCATION_MODE,
                    Settings.Secure.LOCATION_MODE_OFF);
            onModeChanged(mode, isRestricted());
        }
    }

    @Override
    public Loader<Cursor> onCreateLoader(int id, Bundle args) {