diff --git a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java index 42279fd699e..cf0403cb73f 100644 --- a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java +++ b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java @@ -50,7 +50,7 @@ import com.android.settings.fingerprint.FingerprintUiHelper; /** * Base fragment to be shared for PIN/Pattern/Password confirmation fragments. */ -public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFragment +public abstract class ConfirmDeviceCredentialBaseFragment extends OptionsMenuFragment implements FingerprintUiHelper.Callback { public static final String PACKAGE = "com.android.settings"; diff --git a/src/com/android/settings/DeviceAdminSettings.java b/src/com/android/settings/DeviceAdminSettings.java index ed681194640..054ad41d892 100644 --- a/src/com/android/settings/DeviceAdminSettings.java +++ b/src/com/android/settings/DeviceAdminSettings.java @@ -119,7 +119,7 @@ public class DeviceAdminSettings extends ListFragment { @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - + setHasOptionsMenu(true); Utils.forceCustomPadding(getListView(), true /* additive padding */); } diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java index 75a4d67be49..17d3572da6e 100644 --- a/src/com/android/settings/MasterClear.java +++ b/src/com/android/settings/MasterClear.java @@ -57,7 +57,7 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; * * This is the initial screen. */ -public class MasterClear extends InstrumentedFragment { +public class MasterClear extends OptionsMenuFragment { private static final String TAG = "MasterClear"; private static final int KEYGUARD_REQUEST = 55; diff --git a/src/com/android/settings/MasterClearConfirm.java b/src/com/android/settings/MasterClearConfirm.java index 7c14bad14c2..d521ded228f 100644 --- a/src/com/android/settings/MasterClearConfirm.java +++ b/src/com/android/settings/MasterClearConfirm.java @@ -47,7 +47,7 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; * * This is the confirmation screen. */ -public class MasterClearConfirm extends InstrumentedFragment { +public class MasterClearConfirm extends OptionsMenuFragment { private View mContentView; private boolean mEraseSdCard; diff --git a/src/com/android/settings/OptionsMenuFragment.java b/src/com/android/settings/OptionsMenuFragment.java new file mode 100644 index 00000000000..2d05c969591 --- /dev/null +++ b/src/com/android/settings/OptionsMenuFragment.java @@ -0,0 +1,33 @@ +/* + * 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; + +import android.os.Bundle; + +/** + * Base class for a fragment that has the options menu. + * SettingsPreferenceFragment automatically sets this, but some activities do not use + * preferences, and we need to call setHasOptionsMenu(true) for the back button on action bar. + * For preference fragments, use SettingsPreferenceFragment. + */ +public abstract class OptionsMenuFragment extends InstrumentedFragment { + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + setHasOptionsMenu(true); + } +} diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java index fe129248c2e..995fe9583d8 100644 --- a/src/com/android/settings/ResetNetwork.java +++ b/src/com/android/settings/ResetNetwork.java @@ -50,7 +50,7 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; * * This is the initial screen. */ -public class ResetNetwork extends InstrumentedFragment { +public class ResetNetwork extends OptionsMenuFragment { private static final String TAG = "ResetNetwork"; // Arbitrary to avoid conficts diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java index 110398f1bd3..ece64b43101 100644 --- a/src/com/android/settings/ResetNetworkConfirm.java +++ b/src/com/android/settings/ResetNetworkConfirm.java @@ -50,7 +50,7 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; * * This is the confirmation screen. */ -public class ResetNetworkConfirm extends InstrumentedFragment { +public class ResetNetworkConfirm extends OptionsMenuFragment { private View mContentView; private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; diff --git a/src/com/android/settings/TrustedCredentialsSettings.java b/src/com/android/settings/TrustedCredentialsSettings.java index 62394deb4bd..e1f01091059 100644 --- a/src/com/android/settings/TrustedCredentialsSettings.java +++ b/src/com/android/settings/TrustedCredentialsSettings.java @@ -66,7 +66,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; -public class TrustedCredentialsSettings extends InstrumentedFragment { +public class TrustedCredentialsSettings extends OptionsMenuFragment { private static final String TAG = "TrustedCredentialsSettings"; diff --git a/src/com/android/settings/UserCredentialsSettings.java b/src/com/android/settings/UserCredentialsSettings.java index e6884501646..96ef8e9c4a4 100644 --- a/src/com/android/settings/UserCredentialsSettings.java +++ b/src/com/android/settings/UserCredentialsSettings.java @@ -20,7 +20,6 @@ import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.app.Fragment; -import android.app.FragmentManager; import android.content.Context; import android.content.DialogInterface; import android.os.AsyncTask; @@ -46,14 +45,13 @@ import android.widget.TextView; import com.android.internal.logging.MetricsProto.MetricsEvent; import java.util.EnumSet; -import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; import static android.view.View.GONE; import static android.view.View.VISIBLE; -public class UserCredentialsSettings extends InstrumentedFragment implements OnItemClickListener { +public class UserCredentialsSettings extends OptionsMenuFragment implements OnItemClickListener { private static final String TAG = "UserCredentialsSettings"; private View mRootView; diff --git a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java index daa0c82a2a4..a1c8bc5656a 100644 --- a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java @@ -25,7 +25,6 @@ import android.view.accessibility.AccessibilityManager; import android.widget.Switch; import com.android.internal.logging.MetricsProto.MetricsEvent; -import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SeekBarPreference; import com.android.settings.widget.SwitchBar;