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> {