diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 358eae9125a..6627f8bcb24 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -956,6 +956,10 @@
+
+
+
+
(getString(R.string.ignore_optimizations_on),
getString(R.string.ignore_optimizations_on_desc)));
mAdapter.add(new Pair(getString(R.string.ignore_optimizations_off),
getString(R.string.ignore_optimizations_off_desc)));
- mSelectedIndex = mBackend.isWhitelisted(mPackageName) ? 0 : 1;
+ mSelectedIndex = mDefaultOn || mBackend.isWhitelisted(mPackageName) ? 0 : 1;
if (mBackend.isSysWhitelisted(mPackageName)) {
mAdapter.setEnabled(1, false);
}
@@ -97,6 +102,15 @@ public class HighPowerDetail extends DialogFragment implements OnClickListener {
}
}
+ @Override
+ public void onDismiss(DialogInterface dialog) {
+ super.onDismiss(dialog);
+ Fragment target = getTargetFragment();
+ if (target != null) {
+ target.onActivityResult(getTargetRequestCode(), 0, null);
+ }
+ }
+
public static CharSequence getSummary(Context context, AppEntry entry) {
return getSummary(context, entry.info.packageName);
}
@@ -106,12 +120,15 @@ public class HighPowerDetail extends DialogFragment implements OnClickListener {
? R.string.high_power_on : R.string.high_power_off);
}
- public static void show(Activity activity, String packageName) {
+ public static void show(Fragment caller, String packageName, int requestCode,
+ boolean defaultToOn) {
HighPowerDetail fragment = new HighPowerDetail();
Bundle args = new Bundle();
args.putString(AppInfoBase.ARG_PACKAGE_NAME, packageName);
+ args.putBoolean(ARG_DEFAULT_ON, defaultToOn);
fragment.setArguments(args);
- fragment.show(activity.getFragmentManager(), HighPowerDetail.class.getSimpleName());
+ fragment.setTargetFragment(caller, requestCode);
+ fragment.show(caller.getFragmentManager(), HighPowerDetail.class.getSimpleName());
}
private class Adapter extends ArrayAdapter> {