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

Commit 24d63d17 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add a warning message to the ASM toggle." into nyc-mr1-dev

parents 2f5ab90e 116b9566
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -7834,4 +7834,7 @@
    <!-- Section title for the Domain URL app preference list [CHAR LIMIT=60]-->
    <string name="domain_url_section_title">Installed apps</string>
    <!-- Warning when activating the automatic storage manager on legacy devices. [CHAR LIMIT=NONE] -->
    <string name="automatic_storage_manager_activation_warning">Your storage is now being managed by the storage manager</string>
</resources>
+44 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 The Android Open Source 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 com.android.settings.deletionhelper;

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import com.android.settings.R;

/**
 * Fragment to warn the user about activating the storage manager.
 */
public class ActivationWarningFragment extends DialogFragment {
    public static final String TAG = "ActivationWarningFragment";

    public static ActivationWarningFragment newInstance() {
        return new ActivationWarningFragment();
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        return new AlertDialog.Builder(getActivity())
                .setMessage(R.string.automatic_storage_manager_activation_warning)
                .setPositiveButton(android.R.string.ok, null)
                .create();
    }

}
+19 −0
Original line number Diff line number Diff line
@@ -17,11 +17,13 @@
package com.android.settings.deletionhelper;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.SystemProperties;
import android.os.storage.StorageManager;
import android.provider.Settings;
import android.text.format.DateUtils;
@@ -55,6 +57,8 @@ public class AutomaticStorageManagerSettings extends SettingsPreferenceFragment
    private static final String KEY_DELETION_HELPER = "deletion_helper";
    private static final String KEY_FREED = "freed_bytes";
    private static final String KEY_STORAGE_MANAGER_SWITCH = "storage_manager_active";
    private static final String STORAGE_MANAGER_ENABLED_BY_DEFAULT_PROPERTY =
            "ro.storage_manager.enabled";

    private DropDownPreference mDaysToRetain;
    private Preference mFreedBytes;
@@ -126,6 +130,10 @@ public class AutomaticStorageManagerSettings extends SettingsPreferenceFragment
                mDaysToRetain.setEnabled(checked);
                Settings.Secure.putInt(getContentResolver(),
                        Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED, checked ? 1 : 0);
                // Only show a warning if enabling.
                if (checked) {
                    maybeShowWarning();
                }
                break;
            case KEY_DAYS:
                Settings.Secure.putInt(getContentResolver(),
@@ -164,4 +172,15 @@ public class AutomaticStorageManagerSettings extends SettingsPreferenceFragment
        }
        return indices.length - 1;
    }

    private void maybeShowWarning() {
        // If the storage manager is on by default, we can use the normal message.
        boolean warningUnneeded = SystemProperties.getBoolean(
                STORAGE_MANAGER_ENABLED_BY_DEFAULT_PROPERTY, false);
        if (warningUnneeded) {
            return;
        }
        ActivationWarningFragment fragment = ActivationWarningFragment.newInstance();
        fragment.show(getFragmentManager(), ActivationWarningFragment.TAG);
    }
}