Migrate more settings to use SubSettingsLauncher
Bug: 73250851 Test: robotests Change-Id: I08f6f380489646231d6d8ceb1488e2efb036bf69
This commit is contained in:
@@ -56,6 +56,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.password.ConfirmLockPattern;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
@@ -156,12 +157,15 @@ public class MasterClear extends InstrumentedFragment {
|
||||
|
||||
@VisibleForTesting
|
||||
void showFinalConfirmation() {
|
||||
Bundle args = new Bundle();
|
||||
final Bundle args = new Bundle();
|
||||
args.putBoolean(ERASE_EXTERNAL_EXTRA, mExternalStorage.isChecked());
|
||||
args.putBoolean(ERASE_ESIMS_EXTRA, mEsimStorage.isChecked());
|
||||
((SettingsActivity) getActivity()).startPreferencePanel(
|
||||
this, MasterClearConfirm.class.getName(),
|
||||
args, R.string.master_clear_confirm_title, null, null, 0);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(MasterClearConfirm.class.getName())
|
||||
.setArguments(args)
|
||||
.setTitle(R.string.master_clear_confirm_title)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
@@ -44,6 +44,7 @@ import android.widget.TextView;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.telephony.PhoneConstants;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.password.ConfirmLockPattern;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
@@ -118,9 +119,12 @@ public class ResetNetwork extends InstrumentedFragment {
|
||||
args.putInt(PhoneConstants.SUBSCRIPTION_KEY, subscription.getSubscriptionId());
|
||||
}
|
||||
args.putBoolean(MasterClear.ERASE_ESIMS_EXTRA, mEsimCheckbox.isChecked());
|
||||
((SettingsActivity) getActivity()).startPreferencePanel(
|
||||
this, ResetNetworkConfirm.class.getName(),
|
||||
args, R.string.reset_network_confirm_title, null, null, 0);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(ResetNetworkConfirm.class.getName())
|
||||
.setArguments(args)
|
||||
.setTitle(R.string.reset_network_confirm_title)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -66,6 +66,7 @@ import com.android.settings.dashboard.DashboardSummary;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wfd.WifiDisplaySettings;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.core.instrumentation.SharedPreferencesLogger;
|
||||
import com.android.settingslib.development.DevelopmentSettingsEnabler;
|
||||
@@ -200,7 +201,14 @@ public class SettingsActivity extends SettingsDrawerActivity
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
|
||||
startPreferencePanel(caller, pref.getFragment(), pref.getExtras(), -1, null, null, 0);
|
||||
new SubSettingLauncher(this)
|
||||
.setDestination(pref.getFragment())
|
||||
.setArguments(pref.getExtras())
|
||||
.setSourceMetricsCategory(caller instanceof Instrumentable
|
||||
? ((Instrumentable) caller).getMetricsCategory()
|
||||
: Instrumentable.METRICS_CATEGORY_UNKNOWN)
|
||||
.setTitle(-1)
|
||||
.launch();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -594,6 +602,7 @@ public class SettingsActivity extends SettingsDrawerActivity
|
||||
* @param resultRequestCode If resultTo is non-null, this is the caller's
|
||||
* request code to be received with the result.
|
||||
*/
|
||||
@Deprecated
|
||||
public void startPreferencePanel(Fragment caller, String fragmentClass, Bundle args,
|
||||
int titleRes, CharSequence titleText, Fragment resultTo, int resultRequestCode) {
|
||||
String title = null;
|
||||
|
@@ -47,10 +47,10 @@ import android.util.SparseArray;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.AccessiblePreferenceCategory;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.search.SearchIndexableRaw;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
@@ -246,19 +246,19 @@ public class AccountPreferenceController extends AbstractPreferenceController
|
||||
if (preference == profileData.managedProfilePreference) {
|
||||
Bundle arguments = new Bundle();
|
||||
arguments.putParcelable(Intent.EXTRA_USER, profileData.userInfo.getUserHandle());
|
||||
((SettingsActivity) mParent.getActivity()).startPreferencePanel(mParent,
|
||||
ManagedProfileSettings.class.getName(), arguments,
|
||||
R.string.managed_profile_settings_title, null, null, 0);
|
||||
new SubSettingLauncher(mContext)
|
||||
.setSourceMetricsCategory(mParent.getMetricsCategory())
|
||||
.setDestination(ManagedProfileSettings.class.getName())
|
||||
.setTitle(R.string.managed_profile_settings_title)
|
||||
.setArguments(arguments)
|
||||
.launch();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
SparseArray<ProfileData> getProfileData() {
|
||||
return mProfiles;
|
||||
}
|
||||
|
||||
private void updateUi() {
|
||||
if (!isAvailable()) {
|
||||
// This should not happen
|
||||
|
@@ -38,10 +38,11 @@ import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.location.LocationSettings;
|
||||
import com.android.settings.utils.LocalClassLoaderContextThemeWrapper;
|
||||
import com.android.settingslib.accounts.AuthenticatorHelper;
|
||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||
|
||||
/**
|
||||
* Class to load the preference screen to be added to the settings page for the specific account
|
||||
@@ -230,8 +231,15 @@ public class AccountTypePreferenceLoader {
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
((SettingsActivity) mFragment.getActivity()).startPreferencePanel(mFragment,
|
||||
mClass, null, mTitleRes, null, null, 0);
|
||||
final int metricsCategory = (mFragment instanceof Instrumentable)
|
||||
? ((Instrumentable) mFragment).getMetricsCategory()
|
||||
: Instrumentable.METRICS_CATEGORY_UNKNOWN;
|
||||
new SubSettingLauncher(preference.getContext())
|
||||
.setTitle(mTitleRes)
|
||||
.setDestination(mClass)
|
||||
.setSourceMetricsCategory(metricsCategory)
|
||||
.launch();
|
||||
|
||||
// Hack: announce that the Google account preferences page is launching the location
|
||||
// settings
|
||||
if (mClass.equals(LocationSettings.class.getName())) {
|
||||
|
@@ -27,15 +27,14 @@ import android.widget.Button;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
|
||||
/* Class to prompt for conversion of userdata to file based encryption
|
||||
*/
|
||||
public class ConvertToFbe extends InstrumentedFragment {
|
||||
static final String TAG = "ConvertToFBE";
|
||||
static final String CONVERT_FBE_EXTRA = "ConvertFBE";
|
||||
private static final int KEYGUARD_REQUEST = 55;
|
||||
|
||||
private boolean runKeyguardConfirmation(int request) {
|
||||
@@ -56,13 +55,11 @@ public class ConvertToFbe extends InstrumentedFragment {
|
||||
Bundle savedInstanceState) {
|
||||
View rootView = inflater.inflate(R.layout.convert_fbe, null);
|
||||
|
||||
final Button button = (Button) rootView.findViewById(R.id.button_convert_fbe);
|
||||
button.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
final Button button = rootView.findViewById(R.id.button_convert_fbe);
|
||||
button.setOnClickListener(v -> {
|
||||
if (!runKeyguardConfirmation(KEYGUARD_REQUEST)) {
|
||||
convert();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return rootView;
|
||||
@@ -84,9 +81,11 @@ public class ConvertToFbe extends InstrumentedFragment {
|
||||
}
|
||||
|
||||
private void convert() {
|
||||
SettingsActivity sa = (SettingsActivity) getActivity();
|
||||
sa.startPreferencePanel(this, ConfirmConvertToFbe.class.getName(), null,
|
||||
R.string.convert_to_file_encryption, null, null, 0);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(ConfirmConvertToFbe.class.getName())
|
||||
.setTitle(R.string.convert_to_file_encryption)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -28,6 +28,8 @@ import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.applications.ProcStatsData.MemInfo;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||
|
||||
public abstract class ProcessStatsBase extends SettingsPreferenceFragment
|
||||
implements OnItemSelectedListener {
|
||||
@@ -137,7 +139,11 @@ public abstract class ProcessStatsBase extends SettingsPreferenceFragment
|
||||
args.putDouble(ProcessStatsDetail.EXTRA_MAX_MEMORY_USAGE,
|
||||
memInfo.usedWeight * memInfo.weightToRam);
|
||||
args.putDouble(ProcessStatsDetail.EXTRA_TOTAL_SCALE, memInfo.totalScale);
|
||||
activity.startPreferencePanel(null, ProcessStatsDetail.class.getName(), args,
|
||||
R.string.memory_usage, null, null, 0);
|
||||
new SubSettingLauncher(activity)
|
||||
.setDestination(ProcessStatsDetail.class.getName())
|
||||
.setTitle(R.string.memory_usage)
|
||||
.setArguments(args)
|
||||
.setSourceMetricsCategory(Instrumentable.METRICS_CATEGORY_UNKNOWN)
|
||||
.launch();
|
||||
}
|
||||
}
|
||||
|
@@ -18,7 +18,6 @@ package com.android.settings.applications;
|
||||
|
||||
import android.app.ActivityManager;
|
||||
import android.app.Dialog;
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Bundle;
|
||||
@@ -41,8 +40,9 @@ import android.widget.TextView;
|
||||
|
||||
import com.android.internal.util.MemInfoReader;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.widget.LinearColorBar;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -64,7 +64,7 @@ public class RunningProcessesView extends FrameLayout
|
||||
|
||||
RunningState mState;
|
||||
|
||||
Fragment mOwner;
|
||||
SettingsPreferenceFragment mOwner;
|
||||
|
||||
Runnable mDataAvail;
|
||||
|
||||
@@ -411,9 +411,12 @@ public class RunningProcessesView extends FrameLayout
|
||||
args.putInt(RunningServiceDetails.KEY_USER_ID, mi.mUserId);
|
||||
args.putBoolean(RunningServiceDetails.KEY_BACKGROUND, mAdapter.mShowBackground);
|
||||
|
||||
SettingsActivity sa = (SettingsActivity) mOwner.getActivity();
|
||||
sa.startPreferencePanel(mOwner, RunningServiceDetails.class.getName(), args,
|
||||
R.string.runningservicedetails_settings_title, null, null, 0);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(RunningServiceDetails.class.getName())
|
||||
.setArguments(args)
|
||||
.setTitle(R.string.runningservicedetails_settings_title)
|
||||
.setSourceMetricsCategory(mOwner.getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -466,7 +469,7 @@ public class RunningProcessesView extends FrameLayout
|
||||
mOwner = null;
|
||||
}
|
||||
|
||||
public boolean doResume(Fragment owner, Runnable dataAvail) {
|
||||
public boolean doResume(SettingsPreferenceFragment owner, Runnable dataAvail) {
|
||||
mOwner = owner;
|
||||
mState.resume(this);
|
||||
if (mState.hasData()) {
|
||||
|
@@ -51,6 +51,7 @@ import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.applications.manageapplications.ManageApplications;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.widget.PreferenceCategoryController;
|
||||
@@ -513,10 +514,13 @@ public class AppInfoDashboardFragment extends DashboardFragment
|
||||
}
|
||||
args.putString(ARG_PACKAGE_NAME, appEntry.info.packageName);
|
||||
args.putInt(ARG_PACKAGE_UID, appEntry.info.uid);
|
||||
|
||||
final SettingsActivity sa = (SettingsActivity) caller.getActivity();
|
||||
sa.startPreferencePanel(caller, fragment.getName(), args, title, null, caller,
|
||||
SUB_INFO_FRAGMENT);
|
||||
new SubSettingLauncher(caller.getContext())
|
||||
.setDestination(fragment.getName())
|
||||
.setArguments(args)
|
||||
.setTitle(title)
|
||||
.setResultListener(caller, SUB_INFO_FRAGMENT)
|
||||
.setSourceMetricsCategory(caller.getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
|
||||
void handleUninstallButtonClick() {
|
||||
|
@@ -78,18 +78,18 @@ import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.applications.AppInfoBase;
|
||||
import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
|
||||
import com.android.settings.applications.AppStateBaseBridge;
|
||||
import com.android.settings.applications.AppStateDirectoryAccessBridge;
|
||||
import com.android.settings.applications.AppStateInstallAppsBridge;
|
||||
import com.android.settings.applications.AppStateNotificationBridge;
|
||||
import com.android.settings.applications.AppStateOverlayBridge;
|
||||
import com.android.settings.applications.AppStatePowerBridge;
|
||||
import com.android.settings.applications.AppStateDirectoryAccessBridge;
|
||||
import com.android.settings.applications.AppStateUsageBridge;
|
||||
import com.android.settings.applications.AppStateUsageBridge.UsageState;
|
||||
import com.android.settings.applications.AppStateWriteSettingsBridge;
|
||||
import com.android.settings.applications.AppStorageSettings;
|
||||
import com.android.settings.applications.DefaultAppSettings;
|
||||
import com.android.settings.applications.InstalledAppCounter;
|
||||
import com.android.settings.applications.DirectoryAccessDetails;
|
||||
import com.android.settings.applications.InstalledAppCounter;
|
||||
import com.android.settings.applications.UsageAccessDetails;
|
||||
import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
|
||||
import com.android.settings.applications.appinfo.AppNotificationPreferenceController;
|
||||
@@ -97,6 +97,7 @@ import com.android.settings.applications.appinfo.DrawOverlayDetails;
|
||||
import com.android.settings.applications.appinfo.ExternalSourcesDetails;
|
||||
import com.android.settings.applications.appinfo.WriteSettingsDetails;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.fuelgauge.HighPowerDetail;
|
||||
import com.android.settings.notification.AppNotificationSettings;
|
||||
@@ -628,14 +629,19 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
||||
return true;
|
||||
case R.id.advanced:
|
||||
if (mListType == LIST_TYPE_NOTIFICATION) {
|
||||
((SettingsActivity) getActivity()).startPreferencePanel(this,
|
||||
ConfigureNotificationSettings.class.getName(), null,
|
||||
R.string.configure_notification_settings, null, this,
|
||||
ADVANCED_SETTINGS);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(ConfigureNotificationSettings.class.getName())
|
||||
.setTitle(R.string.configure_notification_settings)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.setResultListener(this, ADVANCED_SETTINGS)
|
||||
.launch();
|
||||
} else {
|
||||
((SettingsActivity) getActivity()).startPreferencePanel(this,
|
||||
DefaultAppSettings.class.getName(), null, R.string.configure_apps,
|
||||
null, this, ADVANCED_SETTINGS);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(DefaultAppSettings.class.getName())
|
||||
.setTitle(R.string.configure_apps)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.setResultListener(this, ADVANCED_SETTINGS)
|
||||
.launch();
|
||||
}
|
||||
return true;
|
||||
default:
|
||||
|
@@ -21,11 +21,12 @@ import android.os.Bundle;
|
||||
import android.os.SystemProperties;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.connecteddevice.DevicePreferenceCallback;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.widget.GearPreference;
|
||||
import com.android.settingslib.bluetooth.A2dpProfile;
|
||||
import com.android.settingslib.bluetooth.BluetoothCallback;
|
||||
@@ -39,8 +40,6 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
* Update the bluetooth devices. It gets bluetooth event from {@link LocalBluetoothManager} using
|
||||
* {@link BluetoothCallback}. It notifies the upper level whether to add/remove the preference
|
||||
@@ -73,10 +72,13 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback {
|
||||
final Bundle args = new Bundle();
|
||||
args.putString(BluetoothDeviceDetailsFragment.KEY_DEVICE_ADDRESS,
|
||||
device.getDevice().getAddress());
|
||||
final SettingsActivity activity = (SettingsActivity) mFragment.getActivity();
|
||||
activity.startPreferencePanel(mFragment,
|
||||
BluetoothDeviceDetailsFragment.class.getName(), args,
|
||||
R.string.device_details_title, null, null, 0);
|
||||
|
||||
new SubSettingLauncher(mFragment.getContext())
|
||||
.setDestination(BluetoothDeviceDetailsFragment.class.getName())
|
||||
.setArguments(args)
|
||||
.setTitle(R.string.device_details_title)
|
||||
.setSourceMetricsCategory(mFragment.getMetricsCategory())
|
||||
.launch();
|
||||
|
||||
};
|
||||
|
||||
|
@@ -39,6 +39,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.LinkifyUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.location.ScanningSettings;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
@@ -248,11 +249,11 @@ public class BluetoothSettings extends DeviceListPreferenceFragment implements I
|
||||
LinkifyUtils.linkify(emptyView, contentBuilder, new LinkifyUtils.OnClickListener() {
|
||||
@Override
|
||||
public void onClick() {
|
||||
final SettingsActivity activity =
|
||||
(SettingsActivity) BluetoothSettings.this.getActivity();
|
||||
activity.startPreferencePanel(BluetoothSettings.this,
|
||||
ScanningSettings.class.getName(), null,
|
||||
R.string.location_scanning_screen_title, null, null, 0);
|
||||
new SubSettingLauncher(getActivity())
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.setDestination(ScanningSettings.class.getName())
|
||||
.setTitle(R.string.location_scanning_screen_title)
|
||||
.launch();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -322,11 +323,12 @@ public class BluetoothSettings extends DeviceListPreferenceFragment implements I
|
||||
// New version - uses a separate screen.
|
||||
args.putString(BluetoothDeviceDetailsFragment.KEY_DEVICE_ADDRESS,
|
||||
device.getDevice().getAddress());
|
||||
final SettingsActivity activity =
|
||||
(SettingsActivity) BluetoothSettings.this.getActivity();
|
||||
activity.startPreferencePanel(this,
|
||||
BluetoothDeviceDetailsFragment.class.getName(), args,
|
||||
R.string.device_details_title, null, null, 0);
|
||||
new SubSettingLauncher(context)
|
||||
.setDestination(BluetoothDeviceDetailsFragment.class.getName())
|
||||
.setArguments(args)
|
||||
.setTitle(R.string.device_details_title)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -16,13 +16,11 @@
|
||||
package com.android.settings.connecteddevice.usb;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.support.v14.preference.PreferenceFragment;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.connecteddevice.DevicePreferenceCallback;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.widget.GearPreference;
|
||||
|
||||
@@ -30,7 +28,7 @@ import com.android.settings.widget.GearPreference;
|
||||
* Controller to maintain connected usb device
|
||||
*/
|
||||
public class ConnectedUsbDeviceUpdater {
|
||||
private PreferenceFragment mFragment;
|
||||
private DashboardFragment mFragment;
|
||||
private UsbBackend mUsbBackend;
|
||||
private DevicePreferenceCallback mDevicePreferenceCallback;
|
||||
@VisibleForTesting
|
||||
@@ -81,11 +79,11 @@ public class ConnectedUsbDeviceUpdater {
|
||||
mUsbPreference.setSelectable(false);
|
||||
mUsbPreference.setOnGearClickListener((GearPreference p) -> {
|
||||
// New version - uses a separate screen.
|
||||
final Bundle args = new Bundle();
|
||||
final SettingsActivity activity = (SettingsActivity) mFragment.getContext();
|
||||
activity.startPreferencePanel(mFragment,
|
||||
UsbDetailsFragment.class.getName(), args,
|
||||
R.string.device_details_title, null /* titleText */, null /* resultTo */, 0);
|
||||
new SubSettingLauncher(mFragment.getContext())
|
||||
.setDestination(UsbDetailsFragment.class.getName())
|
||||
.setTitle(R.string.device_details_title)
|
||||
.setSourceMetricsCategory(mFragment.getMetricsCategory())
|
||||
.launch();
|
||||
});
|
||||
|
||||
forceUpdate();
|
||||
|
@@ -108,7 +108,7 @@ public class SubSettingLauncher {
|
||||
}
|
||||
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT, mLaunchRequest.destinationName);
|
||||
|
||||
if (mLaunchRequest.sourceMetricsCategory <= 0) {
|
||||
if (mLaunchRequest.sourceMetricsCategory < 0) {
|
||||
throw new IllegalArgumentException("Source metrics category must be set");
|
||||
}
|
||||
intent.putExtra(VisibilityLoggerMixin.EXTRA_SOURCE_METRICS_CATEGORY,
|
||||
|
@@ -14,7 +14,6 @@
|
||||
|
||||
package com.android.settings.fuelgauge;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.support.v7.preference.Preference;
|
||||
@@ -24,6 +23,8 @@ import com.android.settings.Settings;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.applications.manageapplications.ManageApplications;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
|
||||
|
||||
@@ -37,12 +38,12 @@ public class BatteryOptimizationPreferenceController extends AbstractPreferenceC
|
||||
|
||||
|
||||
private PowerWhitelistBackend mBackend;
|
||||
private Fragment mFragment;
|
||||
private DashboardFragment mFragment;
|
||||
private SettingsActivity mSettingsActivity;
|
||||
private String mPackageName;
|
||||
|
||||
public BatteryOptimizationPreferenceController(SettingsActivity settingsActivity,
|
||||
Fragment fragment, String packageName) {
|
||||
DashboardFragment fragment, String packageName) {
|
||||
super(settingsActivity);
|
||||
mFragment = fragment;
|
||||
mSettingsActivity = settingsActivity;
|
||||
@@ -52,7 +53,7 @@ public class BatteryOptimizationPreferenceController extends AbstractPreferenceC
|
||||
|
||||
@VisibleForTesting
|
||||
BatteryOptimizationPreferenceController(SettingsActivity settingsActivity,
|
||||
Fragment fragment, String packageName, PowerWhitelistBackend backend) {
|
||||
DashboardFragment fragment, String packageName, PowerWhitelistBackend backend) {
|
||||
super(settingsActivity);
|
||||
mFragment = fragment;
|
||||
mSettingsActivity = settingsActivity;
|
||||
@@ -82,11 +83,16 @@ public class BatteryOptimizationPreferenceController extends AbstractPreferenceC
|
||||
return false;
|
||||
}
|
||||
|
||||
Bundle args = new Bundle(1);
|
||||
final Bundle args = new Bundle();
|
||||
args.putString(ManageApplications.EXTRA_CLASSNAME,
|
||||
Settings.HighPowerApplicationsActivity.class.getName());
|
||||
mSettingsActivity.startPreferencePanel(mFragment, ManageApplications.class.getName(), args,
|
||||
R.string.high_power_apps, null, null, 0);
|
||||
new SubSettingLauncher(mSettingsActivity)
|
||||
.setDestination(ManageApplications.class.getName())
|
||||
.setArguments(args)
|
||||
.setTitle(R.string.high_power_apps)
|
||||
.setSourceMetricsCategory(mFragment.getMetricsCategory())
|
||||
.launch();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -54,6 +54,7 @@ import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.applications.LayoutPreference;
|
||||
import com.android.settings.applications.manageapplications.ManageApplications;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.display.AmbientDisplayPreferenceController;
|
||||
import com.android.settings.display.AutoBrightnessPreferenceController;
|
||||
@@ -365,8 +366,12 @@ public class PowerUsageSummaryLegacy extends PowerUsageBase implements
|
||||
Bundle args = new Bundle();
|
||||
args.putString(ManageApplications.EXTRA_CLASSNAME,
|
||||
HighPowerApplicationsActivity.class.getName());
|
||||
sa.startPreferencePanel(this, ManageApplications.class.getName(), args,
|
||||
R.string.high_power_apps, null, null, 0);
|
||||
new SubSettingLauncher(context)
|
||||
.setDestination(ManageApplications.class.getName())
|
||||
.setArguments(args)
|
||||
.setTitle(R.string.high_power_apps)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
metricsFeatureProvider.action(context,
|
||||
MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_OPTIMIZATION);
|
||||
return true;
|
||||
|
@@ -42,9 +42,9 @@ import android.widget.SimpleCursorAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||
import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
|
||||
|
||||
@@ -187,10 +187,14 @@ public class UserDictionarySettings extends ListFragment implements Instrumentab
|
||||
args.putString(UserDictionaryAddWordContents.EXTRA_WORD, editingWord);
|
||||
args.putString(UserDictionaryAddWordContents.EXTRA_SHORTCUT, editingShortcut);
|
||||
args.putString(UserDictionaryAddWordContents.EXTRA_LOCALE, mLocale);
|
||||
SettingsActivity sa = (SettingsActivity) getActivity();
|
||||
sa.startPreferencePanel(this,
|
||||
com.android.settings.inputmethod.UserDictionaryAddWordFragment.class.getName(),
|
||||
args, R.string.user_dict_settings_add_dialog_title, null, null, 0);
|
||||
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(UserDictionaryAddWordFragment.class.getName())
|
||||
.setArguments(args)
|
||||
.setTitle(R.string.user_dict_settings_add_dialog_title)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
|
||||
}
|
||||
|
||||
private String getWord(final int position) {
|
||||
|
@@ -61,9 +61,9 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.util.UserIcons;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.password.ChooseLockGeneric;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
@@ -484,9 +484,12 @@ public class UserSettings extends SettingsPreferenceFragment
|
||||
if (userId == UserPreference.USERID_GUEST_DEFAULTS) {
|
||||
Bundle extras = new Bundle();
|
||||
extras.putBoolean(UserDetailsSettings.EXTRA_USER_GUEST, true);
|
||||
((SettingsActivity) getActivity()).startPreferencePanel(this,
|
||||
UserDetailsSettings.class.getName(),
|
||||
extras, R.string.user_guest, null, null, 0);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(UserDetailsSettings.class.getName())
|
||||
.setArguments(extras)
|
||||
.setTitle(R.string.user_guest)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
return;
|
||||
}
|
||||
UserInfo info = mUserManager.getUserInfo(userId);
|
||||
@@ -494,23 +497,24 @@ public class UserSettings extends SettingsPreferenceFragment
|
||||
Bundle extras = new Bundle();
|
||||
extras.putInt(RestrictedProfileSettings.EXTRA_USER_ID, userId);
|
||||
extras.putBoolean(RestrictedProfileSettings.EXTRA_NEW_USER, newUser);
|
||||
((SettingsActivity) getActivity()).startPreferencePanel(this,
|
||||
RestrictedProfileSettings.class.getName(),
|
||||
extras, R.string.user_restrictions_title, null,
|
||||
null, 0);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(RestrictedProfileSettings.class.getName())
|
||||
.setArguments(extras)
|
||||
.setTitle(R.string.user_restrictions_title)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
} else if (info.id == UserHandle.myUserId()) {
|
||||
// Jump to owner info panel
|
||||
OwnerInfoSettings.show(this);
|
||||
} else if (mUserCaps.mIsAdmin) {
|
||||
Bundle extras = new Bundle();
|
||||
final Bundle extras = new Bundle();
|
||||
extras.putInt(UserDetailsSettings.EXTRA_USER_ID, userId);
|
||||
((SettingsActivity) getActivity()).startPreferencePanel(this,
|
||||
UserDetailsSettings.class.getName(),
|
||||
extras,
|
||||
-1, /* No title res id */
|
||||
info.name, /* title */
|
||||
null, /* resultTo */
|
||||
0 /* resultRequestCode */);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(UserDetailsSettings.class.getName())
|
||||
.setArguments(extras)
|
||||
.setTitle(info.name)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -30,7 +30,6 @@ import android.net.NetworkInfo;
|
||||
import android.net.NetworkInfo.State;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.net.wifi.WpsInfo;
|
||||
import android.nfc.NfcAdapter;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
@@ -52,6 +51,7 @@ import com.android.settings.LinkifyUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.RestrictedSettingsFragment;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.location.ScanningSettings;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
@@ -861,10 +861,12 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
pref.setOnPreferenceClickListener(preference -> {
|
||||
pref.getAccessPoint().saveWifiState(pref.getExtras());
|
||||
|
||||
SettingsActivity activity = (SettingsActivity) WifiSettings.this.getActivity();
|
||||
activity.startPreferencePanel(this,
|
||||
WifiNetworkDetailsFragment.class.getName(), pref.getExtras(),
|
||||
-1 /* resId */, pref.getTitle(), null, 0 /* resultRequestCode */);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitle(pref.getTitle())
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(pref.getExtras())
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -922,15 +924,12 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1;
|
||||
final CharSequence description = wifiScanningMode ? getText(R.string.wifi_scan_notify_text)
|
||||
: getText(R.string.wifi_scan_notify_text_scanning_off);
|
||||
final LinkifyUtils.OnClickListener clickListener = new LinkifyUtils.OnClickListener() {
|
||||
@Override
|
||||
public void onClick() {
|
||||
final SettingsActivity activity = (SettingsActivity) getActivity();
|
||||
activity.startPreferencePanel(WifiSettings.this,
|
||||
ScanningSettings.class.getName(),
|
||||
null, R.string.location_scanning_screen_title, null, null, 0);
|
||||
}
|
||||
};
|
||||
final LinkifyUtils.OnClickListener clickListener =
|
||||
() -> new SubSettingLauncher(getContext())
|
||||
.setDestination(ScanningSettings.class.getName())
|
||||
.setTitle(R.string.location_scanning_screen_title)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
mStatusMessagePreference.setText(title, description, clickListener);
|
||||
removeConnectedAccessPointPreference();
|
||||
mAccessPointsPreferenceCategory.removeAll();
|
||||
|
@@ -23,6 +23,7 @@ import static org.mockito.Mockito.any;
|
||||
import static org.mockito.Mockito.eq;
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -48,12 +49,14 @@ import android.widget.CheckBox;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ScrollView;
|
||||
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.testutils.shadow.ShadowUtils;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.Robolectric;
|
||||
@@ -97,27 +100,12 @@ public class MasterClearTest {
|
||||
private Activity mActivity;
|
||||
private View mContentView;
|
||||
|
||||
private class ActivityForTest extends SettingsActivity {
|
||||
private Bundle mArgs;
|
||||
|
||||
@Override
|
||||
public void startPreferencePanel(Fragment caller, String fragmentClass, Bundle args,
|
||||
int titleRes, CharSequence titleText, Fragment resultTo, int resultRequestCode) {
|
||||
mArgs = args;
|
||||
}
|
||||
|
||||
public Bundle getArgs() {
|
||||
return mArgs;
|
||||
}
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mMasterClear = spy(new MasterClear());
|
||||
mActivity = Robolectric.setupActivity(Activity.class);
|
||||
mShadowActivity = shadowOf(mActivity);https://stackoverflow.com/questions/14889951/how-to-verify-a-method-is-called-two-times-with-mockito-verify
|
||||
// mShadowAccountManager = shadowOf(AccountManager.get(mActivity));
|
||||
mShadowActivity = shadowOf(mActivity);
|
||||
mContentView = LayoutInflater.from(mActivity).inflate(R.layout.master_clear, null);
|
||||
|
||||
// Make scrollView only have one child
|
||||
@@ -127,27 +115,36 @@ public class MasterClearTest {
|
||||
|
||||
@Test
|
||||
public void testShowFinalConfirmation_eraseEsimChecked() {
|
||||
ActivityForTest testActivity = new ActivityForTest();
|
||||
when(mMasterClear.getActivity()).thenReturn(testActivity);
|
||||
final Context context = mock(Context.class);
|
||||
when(mMasterClear.getContext()).thenReturn(context);
|
||||
|
||||
mMasterClear.mEsimStorage = mContentView.findViewById(R.id.erase_esim);
|
||||
mMasterClear.mExternalStorage = mContentView.findViewById(R.id.erase_external);
|
||||
mMasterClear.mEsimStorage.setChecked(true);
|
||||
mMasterClear.showFinalConfirmation();
|
||||
assertThat(testActivity.getArgs().getBoolean(MasterClear.ERASE_ESIMS_EXTRA, false))
|
||||
|
||||
final ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
|
||||
|
||||
verify(context).startActivity(intent.capture());
|
||||
assertThat(intent.getValue().getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)
|
||||
.getBoolean(MasterClear.ERASE_ESIMS_EXTRA, false))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowFinalConfirmation_eraseEsimUnchecked() {
|
||||
ActivityForTest testActivity = new ActivityForTest();
|
||||
when(mMasterClear.getActivity()).thenReturn(testActivity);
|
||||
final Context context = mock(Context.class);
|
||||
when(mMasterClear.getContext()).thenReturn(context);
|
||||
|
||||
mMasterClear.mEsimStorage = mContentView.findViewById(R.id.erase_esim);
|
||||
mMasterClear.mExternalStorage = mContentView.findViewById(R.id.erase_external);
|
||||
mMasterClear.mEsimStorage.setChecked(false);
|
||||
mMasterClear.showFinalConfirmation();
|
||||
assertThat(testActivity.getArgs().getBoolean(MasterClear.ERASE_ESIMS_EXTRA, true))
|
||||
final ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
|
||||
|
||||
verify(context).startActivity(intent.capture());
|
||||
assertThat(intent.getValue().getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)
|
||||
.getBoolean(MasterClear.ERASE_ESIMS_EXTRA, false))
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
|
@@ -325,6 +325,7 @@ public final class AppInfoDashboardFragmentTest {
|
||||
final SettingsPreferenceFragment caller = mock(SettingsPreferenceFragment.class);
|
||||
final SettingsActivity sa = mock (SettingsActivity.class);
|
||||
when(caller.getActivity()).thenReturn(sa);
|
||||
when(caller.getContext()).thenReturn(sa);
|
||||
final AppEntry appEntry = mock(AppEntry.class);
|
||||
appEntry.info = mock(ApplicationInfo.class);
|
||||
|
||||
@@ -337,6 +338,7 @@ public final class AppInfoDashboardFragmentTest {
|
||||
final SettingsPreferenceFragment caller = mock(SettingsPreferenceFragment.class);
|
||||
final SettingsActivity sa = mock (SettingsActivity.class);
|
||||
when(caller.getActivity()).thenReturn(sa);
|
||||
when(caller.getContext()).thenReturn(sa);
|
||||
final AppEntry appEntry = mock(AppEntry.class);
|
||||
appEntry.info = mock(ApplicationInfo.class);
|
||||
|
||||
@@ -346,11 +348,14 @@ public final class AppInfoDashboardFragmentTest {
|
||||
AppInfoDashboardFragment.startAppInfoFragment(AppInfoDashboardFragment.class, 0, bundle,
|
||||
caller, appEntry);
|
||||
|
||||
final ArgumentCaptor<Bundle> captor = ArgumentCaptor.forClass(Bundle.class);
|
||||
verify(sa).startPreferencePanel(any(), anyString(), captor.capture(), anyInt(), any(),
|
||||
any(), anyInt());
|
||||
final ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
|
||||
|
||||
assertThat(captor.getValue().containsKey("test"));
|
||||
assertThat(captor.getValue().containsKey(ARG_PACKAGE_NAME));
|
||||
verify(sa).startActivityForResult(intent.capture(), any(Integer.class));
|
||||
assertThat(intent.getValue().getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)
|
||||
.containsKey("test"))
|
||||
.isTrue();
|
||||
assertThat(intent.getValue().getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)
|
||||
.containsKey(ARG_PACKAGE_NAME))
|
||||
.isTrue();
|
||||
}
|
||||
}
|
||||
|
@@ -16,15 +16,14 @@
|
||||
|
||||
package com.android.settings.applications.appinfo;
|
||||
|
||||
import static com.android.settings.applications.appinfo.AppInfoDashboardFragment.SUB_INFO_FRAGMENT;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.Preference;
|
||||
@@ -68,6 +67,7 @@ public class AppInfoPreferenceControllerBaseTest {
|
||||
final String key = mController.getPreferenceKey();
|
||||
when(mScreen.findPreference(key)).thenReturn(mPreference);
|
||||
when(mPreference.getKey()).thenReturn(key);
|
||||
when(mFragment.getContext()).thenReturn(mActivity);
|
||||
when(mFragment.getActivity()).thenReturn(mActivity);
|
||||
}
|
||||
|
||||
@@ -91,13 +91,11 @@ public class AppInfoPreferenceControllerBaseTest {
|
||||
when(mFragment.getAppEntry()).thenReturn(appEntry);
|
||||
|
||||
mController.handlePreferenceTreeClick(mPreference);
|
||||
final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
|
||||
|
||||
ArgumentCaptor<Bundle> captor = ArgumentCaptor.forClass(Bundle.class);
|
||||
verify(mActivity).startPreferencePanel(any(),
|
||||
eq(mController.getDetailFragmentClass().getName()), captor.capture(), anyInt(),
|
||||
any(), any(), anyInt());
|
||||
|
||||
assertThat(captor.getValue().containsKey("test"));
|
||||
verify(mActivity).startActivityForResult(intentCaptor.capture(), eq(SUB_INFO_FRAGMENT));
|
||||
assertThat(intentCaptor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
|
||||
.isEqualTo(mController.getDetailFragmentClass().getName());
|
||||
}
|
||||
|
||||
private class TestPreferenceController extends AppInfoPreferenceControllerBase {
|
||||
|
@@ -17,21 +17,17 @@
|
||||
package com.android.settings.applications.appinfo;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.provider.Settings;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.applications.ProcStatsData;
|
||||
@@ -43,6 +39,7 @@ import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
@@ -128,8 +125,11 @@ public class AppMemoryPreferenceControllerTest {
|
||||
|
||||
mController.handlePreferenceTreeClick(mPreference);
|
||||
|
||||
verify(mActivity).startPreferencePanel(any(), eq(ProcessStatsDetail.class.getName()), any(),
|
||||
eq(R.string.memory_usage), any(), any(), anyInt());
|
||||
final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
|
||||
|
||||
verify(mActivity).startActivity(intentCaptor.capture());
|
||||
assertThat(intentCaptor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
|
||||
.isEqualTo(ProcessStatsDetail.class.getName());
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -16,18 +16,16 @@
|
||||
package com.android.settings.bluetooth;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.support.v7.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.connecteddevice.DevicePreferenceCallback;
|
||||
@@ -38,6 +36,7 @@ import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
@@ -117,12 +116,13 @@ public class BluetoothDeviceUpdaterTest {
|
||||
|
||||
@Test
|
||||
public void testDeviceProfilesListener_click_startBluetoothDeviceDetailPage() {
|
||||
doReturn(mSettingsActivity).when(mDashboardFragment).getActivity();
|
||||
doReturn(mSettingsActivity).when(mDashboardFragment).getContext();
|
||||
|
||||
final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
|
||||
mBluetoothDeviceUpdater.mDeviceProfilesListener.onGearClick(mPreference);
|
||||
|
||||
verify(mSettingsActivity).startPreferencePanel(eq(mDashboardFragment),
|
||||
eq(BluetoothDeviceDetailsFragment.class.getName()), any(),
|
||||
eq(R.string.device_details_title), eq(null), eq(null), eq(0));
|
||||
verify(mSettingsActivity).startActivity(intentCaptor.capture());
|
||||
assertThat(intentCaptor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
|
||||
.isEqualTo(BluetoothDeviceDetailsFragment.class.getName());
|
||||
}
|
||||
}
|
||||
|
@@ -17,23 +17,21 @@
|
||||
package com.android.settings.fuelgauge;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.nullable;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.content.Intent;
|
||||
import android.support.v14.preference.SwitchPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -54,7 +52,7 @@ public class BatteryOptimizationPreferenceControllerTest {
|
||||
@Mock
|
||||
private SettingsActivity mSettingsActivity;
|
||||
@Mock
|
||||
private Fragment mFragment;
|
||||
private DashboardFragment mFragment;
|
||||
@Mock
|
||||
private TestPowerWhitelistBackend mBackend;
|
||||
|
||||
@@ -82,9 +80,7 @@ public class BatteryOptimizationPreferenceControllerTest {
|
||||
final boolean handled = mController.handlePreferenceTreeClick(mPreference);
|
||||
|
||||
assertThat(handled).isTrue();
|
||||
verify(mSettingsActivity).startPreferencePanel(nullable(Fragment.class),
|
||||
nullable(String.class), nullable(Bundle.class), anyInt(),
|
||||
nullable(CharSequence.class), nullable(Fragment.class), anyInt());
|
||||
verify(mSettingsActivity).startActivity(any(Intent.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -94,9 +90,7 @@ public class BatteryOptimizationPreferenceControllerTest {
|
||||
final boolean handled = mController.handlePreferenceTreeClick(mPreference);
|
||||
|
||||
assertThat(handled).isFalse();
|
||||
verify(mSettingsActivity, never()).startPreferencePanel(nullable(Fragment.class),
|
||||
nullable(String.class), nullable(Bundle.class), anyInt(),
|
||||
nullable(CharSequence.class), nullable(Fragment.class), anyInt());
|
||||
verify(mSettingsActivity, never()).startActivity(any(Intent.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -29,8 +29,10 @@ import android.support.test.runner.AndroidJUnit4;
|
||||
import android.support.test.uiautomator.UiDevice;
|
||||
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -85,8 +87,12 @@ public class BluetoothDeviceDetailsRotationTest {
|
||||
SettingsActivity activity = (SettingsActivity) mInstrumentation.startActivitySync(intent);
|
||||
Bundle args = new Bundle(1);
|
||||
args.putString(BluetoothDeviceDetailsFragment.KEY_DEVICE_ADDRESS, mDeviceAddress);
|
||||
activity.startPreferencePanel(null, BluetoothDeviceDetailsFragment.class.getName(), args,
|
||||
0, null, null, 0);
|
||||
new SubSettingLauncher(activity)
|
||||
.setDestination(BluetoothDeviceDetailsFragment.class.getName())
|
||||
.setTitle("test")
|
||||
.setArguments(args)
|
||||
.setSourceMetricsCategory(Instrumentable.METRICS_CATEGORY_UNKNOWN)
|
||||
.launch();
|
||||
try {
|
||||
mUiDevice.setOrientationLeft();
|
||||
mUiDevice.setOrientationNatural();
|
||||
|
Reference in New Issue
Block a user