Add a warning message to the ASM toggle. am: 116b95666f

am: c409b02411

Change-Id: Id1e13a14aeb24917da0e5a78421b09b385ea0818
This commit is contained in:
Daniel Nishi
2016-09-28 18:41:24 +00:00
committed by android-build-merger
3 changed files with 66 additions and 0 deletions

View File

@@ -7834,4 +7834,7 @@
<!-- Section title for the Domain URL app preference list [CHAR LIMIT=60]--> <!-- Section title for the Domain URL app preference list [CHAR LIMIT=60]-->
<string name="domain_url_section_title">Installed apps</string> <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> </resources>

View File

@@ -0,0 +1,44 @@
/*
* 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();
}
}

View File

@@ -17,11 +17,13 @@
package com.android.settings.deletionhelper; package com.android.settings.deletionhelper;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Bundle; import android.os.Bundle;
import android.os.SystemProperties;
import android.os.storage.StorageManager; import android.os.storage.StorageManager;
import android.provider.Settings; import android.provider.Settings;
import android.text.format.DateUtils; 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_DELETION_HELPER = "deletion_helper";
private static final String KEY_FREED = "freed_bytes"; private static final String KEY_FREED = "freed_bytes";
private static final String KEY_STORAGE_MANAGER_SWITCH = "storage_manager_active"; 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 DropDownPreference mDaysToRetain;
private Preference mFreedBytes; private Preference mFreedBytes;
@@ -126,6 +130,10 @@ public class AutomaticStorageManagerSettings extends SettingsPreferenceFragment
mDaysToRetain.setEnabled(checked); mDaysToRetain.setEnabled(checked);
Settings.Secure.putInt(getContentResolver(), Settings.Secure.putInt(getContentResolver(),
Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED, checked ? 1 : 0); Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED, checked ? 1 : 0);
// Only show a warning if enabling.
if (checked) {
maybeShowWarning();
}
break; break;
case KEY_DAYS: case KEY_DAYS:
Settings.Secure.putInt(getContentResolver(), Settings.Secure.putInt(getContentResolver(),
@@ -164,4 +172,15 @@ public class AutomaticStorageManagerSettings extends SettingsPreferenceFragment
} }
return indices.length - 1; 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);
}
} }