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

Commit cd37e59b authored by Julia Reynolds's avatar Julia Reynolds Committed by Android (Google) Code Review
Browse files

Merge "Fix ringtone persistance after device rotation." into nyc-dev

parents da6ae856 c736efcb
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -49,8 +49,6 @@ public class RingtonePreference extends Preference {

    private static final String TAG = "RingtonePreference";

    private static int sRequestCode = 100;

    private int mRingtoneType;
    private boolean mShowDefault;
    private boolean mShowSilent;
@@ -213,12 +211,9 @@ public class RingtonePreference extends Preference {
    }
    protected void onAttachedToHierarchy(PreferenceManager preferenceManager) {
        super.onAttachedToHierarchy(preferenceManager);

        mRequestCode = sRequestCode++;
    }

    public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == mRequestCode) {
        if (data != null) {
            Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);

@@ -230,7 +225,4 @@ public class RingtonePreference extends Preference {
        return true;
    }

        return false;
    }

}
+21 −1
Original line number Diff line number Diff line
@@ -48,7 +48,9 @@ import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.TwoStatePreference;
import android.text.TextUtils;
import android.util.Log;

import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.RingtonePreference;
@@ -83,6 +85,9 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
    private static final String KEY_ZEN_MODE = "zen_mode";
    private static final String KEY_CELL_BROADCAST_SETTINGS = "cell_broadcast_settings";

    private static final String SELECTED_PREFERENCE_KEY = "selected_preference";
    private static final int REQUEST_CODE = 200;

    private static final String[] RESTRICTED_KEYS = {
        KEY_MEDIA_VOLUME,
        KEY_ALARM_VOLUME,
@@ -175,6 +180,13 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
        initVibrateWhenRinging();
        updateRingerMode();
        updateEffectsSuppressor();

        if (savedInstanceState != null) {
            String selectedPreference = savedInstanceState.getString(SELECTED_PREFERENCE_KEY, null);
            if (!TextUtils.isEmpty(selectedPreference)) {
                mRequestPreference = (RingtonePreference) findPreference(selectedPreference);
            }
        }
    }

    @Override
@@ -226,7 +238,7 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
        if (preference instanceof RingtonePreference) {
            mRequestPreference = (RingtonePreference) preference;
            mRequestPreference.onPrepareRingtonePickerIntent(mRequestPreference.getIntent());
            startActivityForResult(preference.getIntent(), mRequestPreference.getRequestCode());
            startActivityForResult(preference.getIntent(), REQUEST_CODE);
            return true;
        }
        return super.onPreferenceTreeClick(preference);
@@ -240,6 +252,14 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
        }
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        if (mRequestPreference != null) {
            outState.putString(SELECTED_PREFERENCE_KEY, mRequestPreference.getKey());
        }
    }

    // === Volumes ===

    private VolumeSeekBarPreference initVolumePreference(String key, int stream, int muteIcon) {