Remove code that check for dashboard feature.

- remove DashboardFeatureProvider.isEnabled() and all relating code
and tests.

Bug: 35764802
Test: make RunSettingsRoboTests
Change-Id: If7796677abc8904b7436525836d50cdef38e37a4
This commit is contained in:
Doris Ling
2017-03-03 17:12:47 -08:00
parent 50aa0008fc
commit f2cf2aea37
53 changed files with 155 additions and 813 deletions

View File

@@ -1,76 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2008, 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.
*/
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/all_details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:orientation="vertical">
<!-- App snippet with buttons -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingTop="5dip"
android:paddingBottom="10dip"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<!-- Application snippet label, version and icon -->
<include
layout="@layout/app_item"
android:id="@+id/app_snippet" />
</FrameLayout>
<ImageView
android:id="@+id/gear"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center_vertical"
android:padding="12dp"
android:src="@drawable/ic_settings_24dp"
android:tint="?android:attr/colorAccent"
android:clickable="true"
android:background="?android:attr/selectableItemBackground" />
</LinearLayout>
<Space
android:layout_width="match_parent"
android:layout_height="5dp" />
<!-- Force stop and uninstall buttons -->
<include
layout="@layout/two_buttons_panel"
android:id="@+id/control_buttons_panel"/>
</LinearLayout>
</LinearLayout>

View File

@@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 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.
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/application_info_label">
<com.android.settings.applications.LayoutPreference
android:key="header_view"
android:layout="@layout/installed_app_details"
android:selectable="false" />
<Preference
android:key="storage_settings"
android:title="@string/storage_settings"
android:selectable="true" />
<Preference
android:key="data_settings"
android:title="@string/data_usage_summary_title"
android:selectable="true" />
<Preference
android:key="permission_settings"
android:title="@string/permissions_label"
android:selectable="true" />
<Preference
android:key="notification_settings"
android:title="@string/notifications_label"
android:selectable="true" />
<Preference
android:key="preferred_settings"
android:title="@string/launch_by_default"
android:selectable="true" />
<Preference
android:key="battery"
android:title="@string/power_usage_summary_title"
android:selectable="true" />
<Preference
android:key="memory"
android:title="@string/memory_settings_title"
android:enabled="false"
android:selectable="true" />
</PreferenceScreen>

View File

@@ -16,21 +16,9 @@
package com.android.settings;
import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.applications.AppInfoBase;
import com.android.settings.applications.InstalledAppDetails;
public class AppHeader {
@@ -38,77 +26,6 @@ public class AppHeader {
// constant value that can be used to check return code from sub activity.
private static final int INSTALLED_APP_DETAILS = 1;
public static void createAppHeader(SettingsPreferenceFragment fragment, Drawable icon,
CharSequence label, String pkgName, int uid) {
createAppHeader(fragment, icon, label, pkgName, uid, 0, null);
}
public static void createAppHeader(SettingsPreferenceFragment fragment, Drawable icon,
CharSequence label, String pkgName, int uid, Intent externalSettings) {
createAppHeader(fragment, icon, label, pkgName, uid, 0, externalSettings);
}
public static void createAppHeader(Activity activity, Drawable icon, CharSequence label,
String pkgName, int uid, ViewGroup pinnedHeader) {
final View bar = activity.getLayoutInflater().inflate(R.layout.app_header,
pinnedHeader, false);
setupHeaderView(activity, icon, label, pkgName, uid, false, 0, bar, null);
pinnedHeader.addView(bar);
}
public static void createAppHeader(SettingsPreferenceFragment fragment, Drawable icon,
CharSequence label, String pkgName, int uid, int tintColorRes) {
createAppHeader(fragment, icon, label, pkgName, uid, tintColorRes, null);
}
public static void createAppHeader(SettingsPreferenceFragment fragment, Drawable icon,
CharSequence label, String pkgName, int uid, int tintColorRes,
Intent externalSettings) {
View bar = fragment.setPinnedHeaderView(R.layout.app_header);
setupHeaderView(fragment.getActivity(), icon, label, pkgName, uid, includeAppInfo(fragment),
tintColorRes, bar, externalSettings);
}
public static View setupHeaderView(final Activity activity, Drawable icon, CharSequence label,
final String pkgName, final int uid, final boolean includeAppInfo, int tintColorRes,
View bar, final Intent externalSettings) {
final ImageView appIcon = (ImageView) bar.findViewById(R.id.app_icon);
appIcon.setImageDrawable(icon);
if (tintColorRes != 0) {
appIcon.setImageTintList(ColorStateList.valueOf(activity.getColor(tintColorRes)));
}
final TextView appName = (TextView) bar.findViewById(R.id.app_name);
appName.setText(label);
if (pkgName != null && !pkgName.equals(Utils.OS_PKG)) {
bar.setClickable(true);
bar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (includeAppInfo) {
AppInfoBase.startAppInfoFragment(InstalledAppDetails.class,
R.string.application_info_label, pkgName, uid, activity,
INSTALLED_APP_DETAILS, MetricsProto.MetricsEvent.VIEW_UNKNOWN);
} else {
activity.finish();
}
}
});
if (externalSettings != null) {
final View appSettings = bar.findViewById(R.id.app_settings);
appSettings.setVisibility(View.VISIBLE);
appSettings.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
activity.startActivity(externalSettings);
}
});
}
}
return bar;
}
public static boolean includeAppInfo(final Fragment fragment) {
Bundle args = fragment.getArguments();
boolean showInfo = true;

View File

@@ -359,37 +359,33 @@ public class SecuritySettings extends SettingsPreferenceFragment
PreferenceGroup securityStatusPreferenceGroup =
(PreferenceGroup) root.findPreference(KEY_SECURITY_STATUS);
if (mDashboardFeatureProvider.isEnabled()) {
final List<Preference> tilePrefs = mDashboardFeatureProvider.getPreferencesForCategory(
getActivity(), getPrefContext(), getMetricsCategory(),
CategoryKey.CATEGORY_SECURITY);
int numSecurityStatusPrefs = 0;
if (tilePrefs != null && !tilePrefs.isEmpty()) {
for (Preference preference : tilePrefs) {
if (!TextUtils.isEmpty(preference.getKey())
&& preference.getKey().startsWith(SECURITY_STATUS_KEY_PREFIX)) {
// Injected security status settings are placed under the Security status
// category.
securityStatusPreferenceGroup.addPreference(preference);
numSecurityStatusPrefs++;
} else {
// Other injected settings are placed under the Security preference screen.
root.addPreference(preference);
}
final List<Preference> tilePrefs = mDashboardFeatureProvider.getPreferencesForCategory(
getActivity(), getPrefContext(), getMetricsCategory(),
CategoryKey.CATEGORY_SECURITY);
int numSecurityStatusPrefs = 0;
if (tilePrefs != null && !tilePrefs.isEmpty()) {
for (Preference preference : tilePrefs) {
if (!TextUtils.isEmpty(preference.getKey())
&& preference.getKey().startsWith(SECURITY_STATUS_KEY_PREFIX)) {
// Injected security status settings are placed under the Security status
// category.
securityStatusPreferenceGroup.addPreference(preference);
numSecurityStatusPrefs++;
} else {
// Other injected settings are placed under the Security preference screen.
root.addPreference(preference);
}
}
}
if (numSecurityStatusPrefs == 0) {
root.removePreference(securityStatusPreferenceGroup);
} else if (numSecurityStatusPrefs > 0) {
// Update preference data with tile data. Security feature provider only updates the
// data if it actually needs to be changed.
mSecurityFeatureProvider.updatePreferences(getActivity(), root,
mDashboardFeatureProvider.getTilesForCategory(
CategoryKey.CATEGORY_SECURITY));
}
} else {
root.removePreference(root.findPreference(KEY_SECURITY_STATUS));
if (numSecurityStatusPrefs == 0) {
root.removePreference(securityStatusPreferenceGroup);
} else if (numSecurityStatusPrefs > 0) {
// Update preference data with tile data. Security feature provider only updates the
// data if it actually needs to be changed.
mSecurityFeatureProvider.updatePreferences(getActivity(), root,
mDashboardFeatureProvider.getTilesForCategory(
CategoryKey.CATEGORY_SECURITY));
}
for (int i = 0; i < SWITCH_PREFERENCE_KEYS.length; i++) {
@@ -1202,8 +1198,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
Settings.Secure.PACKAGE_VERIFIER_STATE, 0);
DashboardFeatureProvider dashboardFeatureProvider =
FeatureFactory.getFactory(mContext).getDashboardFeatureProvider(mContext);
if (dashboardFeatureProvider.isEnabled()
&& (packageVerifierState == PACKAGE_VERIFIER_STATE_ENABLED)) {
if (packageVerifierState == PACKAGE_VERIFIER_STATE_ENABLED) {
// Calling the feature provider could potentially be slow, so do this on a separate
// thread so as to not block the loading of Settings.
Executors.newSingleThreadExecutor().execute(new Runnable() {

View File

@@ -49,9 +49,7 @@ import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.core.lifecycle.LifecycleObserver;
import com.android.settings.core.lifecycle.events.OnPause;
import com.android.settings.core.lifecycle.events.OnResume;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.Index;
import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.search2.SearchFeatureProviderImpl;
import com.android.settingslib.RestrictedPreference;
@@ -89,7 +87,6 @@ public class AccountPreferenceController extends PreferenceController
private SettingsPreferenceFragment mParent;
private int mAccountProfileOrder = ORDER_ACCOUNT_PROFILES;
private AccountRestrictionHelper mHelper;
private DashboardFeatureProvider mDashboardFeatureProvider;
private MetricsFeatureProvider mMetricsFeatureProvider;
/**
@@ -138,7 +135,6 @@ public class AccountPreferenceController extends PreferenceController
mAuthoritiesCount = mAuthorities.length;
}
final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
mDashboardFeatureProvider = featureFactory.getDashboardFeatureProvider(mContext);
mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
mHelper = helper;
}

View File

@@ -28,7 +28,6 @@ import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.drawer.Tile;
@@ -121,10 +120,6 @@ public class UserAndAccountDashboardFragment extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.user_and_accounts_settings;
return Arrays.asList(sir);

View File

@@ -23,7 +23,6 @@ import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import java.util.Arrays;
@@ -58,10 +57,6 @@ public class AppAndNotificationDashboardFragment extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.app_and_notification;
return Arrays.asList(sir);

View File

@@ -21,7 +21,6 @@ import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.util.Log;
import com.android.settings.AppHeader;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.applications.AppUtils;
@@ -41,24 +40,17 @@ public abstract class AppInfoWithHeader extends AppInfoBase {
mCreated = true;
if (mPackageInfo == null) return;
final Activity activity = getActivity();
if (!FeatureFactory.getFactory(activity)
.getDashboardFeatureProvider(activity).isEnabled()) {
AppHeader.createAppHeader(this, mPackageInfo.applicationInfo.loadIcon(mPm),
mPackageInfo.applicationInfo.loadLabel(mPm), mPackageName,
mPackageInfo.applicationInfo.uid, 0);
} else {
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, null /* appHeader */)
.setIcon(mPackageInfo.applicationInfo.loadIcon(mPm))
.setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
.setSummary(mPackageInfo)
.setIsInstantApp(AppUtils.isInstant(mPackageInfo.applicationInfo))
.setPackageName(mPackageName)
.setUid(mPackageInfo.applicationInfo.uid)
.setButtonActions(ActionType.ACTION_APP_INFO, ActionType.ACTION_NONE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, null /* appHeader */)
.setIcon(mPackageInfo.applicationInfo.loadIcon(mPm))
.setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
.setSummary(mPackageInfo)
.setIsInstantApp(AppUtils.isInstant(mPackageInfo.applicationInfo))
.setPackageName(mPackageName)
.setUid(mPackageInfo.applicationInfo.uid)
.setButtonActions(ActionType.ACTION_APP_INFO, ActionType.ACTION_NONE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
}

View File

@@ -86,7 +86,6 @@ import com.android.settings.applications.defaultapps.DefaultEmergencyPreferenceC
import com.android.settings.applications.defaultapps.DefaultHomePreferenceController;
import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController;
import com.android.settings.applications.defaultapps.DefaultSmsPreferenceController;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.datausage.AppDataUsage;
import com.android.settings.datausage.DataUsageList;
import com.android.settings.datausage.DataUsageSummary;
@@ -158,8 +157,6 @@ public class InstalledAppDetails extends AppInfoBase
private final HashSet<String> mHomePackages = new HashSet<>();
private DashboardFeatureProvider mDashboardFeatureProvider;
private boolean mInitialized;
private boolean mShowUninstalled;
private LayoutPreference mHeader;
@@ -320,20 +317,14 @@ public class InstalledAppDetails extends AppInfoBase
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
final Activity activity = getActivity();
mDashboardFeatureProvider =
FeatureFactory.getFactory(activity).getDashboardFeatureProvider(activity);
setHasOptionsMenu(true);
addPreferencesFromResource(mDashboardFeatureProvider.isEnabled()
? R.xml.installed_app_details_ia
: R.xml.installed_app_details);
addPreferencesFromResource(R.xml.installed_app_details_ia);
addDynamicPrefs();
if (mDashboardFeatureProvider.isEnabled()) {
mFooter = new LayoutPreference(getPrefContext(), R.layout.app_action_buttons);
mFooter.setOrder(-9999);
mFooter.setKey(KEY_FOOTER);
getPreferenceScreen().addPreference(mFooter);
}
mFooter = new LayoutPreference(getPrefContext(), R.layout.app_action_buttons);
mFooter.setOrder(-9999);
mFooter.setKey(KEY_FOOTER);
getPreferenceScreen().addPreference(mFooter);
if (Utils.isBandwidthControlEnabled()) {
INetworkStatsService statsService = INetworkStatsService.Stub.asInterface(
ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
@@ -389,20 +380,16 @@ public class InstalledAppDetails extends AppInfoBase
if (mFinishing) {
return;
}
if (!mDashboardFeatureProvider.isEnabled()) {
handleHeader();
} else {
final Activity activity = getActivity();
mHeader = (LayoutPreference) findPreference(KEY_HEADER);
FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, mHeader.findViewById(R.id.app_snippet))
.setPackageName(mPackageName)
.setButtonActions(AppHeaderController.ActionType.ACTION_STORE_DEEP_LINK,
AppHeaderController.ActionType.ACTION_APP_PREFERENCE)
.bindAppHeaderButtons();
prepareUninstallAndStop();
}
final Activity activity = getActivity();
mHeader = (LayoutPreference) findPreference(KEY_HEADER);
FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, mHeader.findViewById(R.id.app_snippet))
.setPackageName(mPackageName)
.setButtonActions(AppHeaderController.ActionType.ACTION_STORE_DEEP_LINK,
AppHeaderController.ActionType.ACTION_APP_PREFERENCE)
.bindAppHeaderButtons();
prepareUninstallAndStop();
mNotificationPreference = findPreference(KEY_NOTIFICATION);
mNotificationPreference.setOnPreferenceClickListener(this);
@@ -439,32 +426,6 @@ public class InstalledAppDetails extends AppInfoBase
refreshUi();
}
private void handleHeader() {
mHeader = (LayoutPreference) findPreference(KEY_HEADER);
// Get Control button panel
View btnPanel = mHeader.findViewById(R.id.control_buttons_panel);
mForceStopButton = (Button) btnPanel.findViewById(R.id.right_button);
mForceStopButton.setText(R.string.force_stop);
mUninstallButton = (Button) btnPanel.findViewById(R.id.left_button);
mForceStopButton.setEnabled(false);
View gear = mHeader.findViewById(R.id.gear);
Intent i = new Intent(Intent.ACTION_APPLICATION_PREFERENCES);
i.setPackage(mPackageName);
final Intent intent = resolveIntent(i);
if (intent != null) {
gear.setVisibility(View.VISIBLE);
gear.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(intent);
}
});
} else {
gear.setVisibility(View.GONE);
}
}
private void prepareUninstallAndStop() {
mForceStopButton = (Button) mFooter.findViewById(R.id.right_button);
mForceStopButton.setText(R.string.force_stop);
@@ -540,21 +501,16 @@ public class InstalledAppDetails extends AppInfoBase
private void setAppLabelAndIcon(PackageInfo pkgInfo) {
final View appSnippet = mHeader.findViewById(R.id.app_snippet);
mState.ensureIcon(mAppEntry);
if (mDashboardFeatureProvider.isEnabled()) {
final Activity activity = getActivity();
FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, appSnippet)
.setLabel(mAppEntry)
.setIcon(mAppEntry)
.setSummary(getString(getInstallationStatus(mAppEntry.info)))
.setIsInstantApp(AppUtils.isInstant(mPackageInfo.applicationInfo))
.done(false /* rebindActions */);
mVersionPreference.setSummary(getString(R.string.version_text, pkgInfo.versionName));
} else {
setupAppSnippet(appSnippet, mAppEntry.label, mAppEntry.icon,
pkgInfo != null ? pkgInfo.versionName : null);
}
final Activity activity = getActivity();
FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, appSnippet)
.setLabel(mAppEntry)
.setIcon(mAppEntry)
.setSummary(getString(getInstallationStatus(mAppEntry.info)))
.setIsInstantApp(AppUtils.isInstant(mPackageInfo.applicationInfo))
.done(false /* rebindActions */);
mVersionPreference.setSummary(getString(R.string.version_text, pkgInfo.versionName));
}
@VisibleForTesting
@@ -1119,6 +1075,9 @@ public class InstalledAppDetails extends AppInfoBase
}
}
/**
* @deprecated app info pages should use {@link AppHeaderController} to show the app header.
*/
public static void setupAppSnippet(View appSnippet, CharSequence label, Drawable icon,
CharSequence versionName) {
LayoutInflater.from(appSnippet.getContext()).inflate(R.layout.widget_text_views,

View File

@@ -56,7 +56,6 @@ import android.widget.Spinner;
import android.widget.TextView;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
import com.android.settings.R;
import com.android.settings.Settings.AllApplicationsActivity;
import com.android.settings.Settings.GamesStorageActivity;
@@ -80,7 +79,6 @@ import com.android.settings.notification.AppNotificationSettings;
import com.android.settings.notification.ConfigureNotificationSettings;
import com.android.settings.notification.NotificationBackend;
import com.android.settings.notification.NotificationBackend.AppRow;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.HelpUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
@@ -265,7 +263,6 @@ public class ManageApplications extends InstrumentedPreferenceFragment
private NotificationBackend mNotifBackend;
private ResetAppsHelper mResetAppsHelper;
private String mVolumeUuid;
private String mVolumeName;
private int mStorageType;
@Override
@@ -289,7 +286,6 @@ public class ManageApplications extends InstrumentedPreferenceFragment
} else if (className.equals(StorageUseActivity.class.getName())) {
if (args != null && args.containsKey(EXTRA_VOLUME_UUID)) {
mVolumeUuid = args.getString(EXTRA_VOLUME_UUID);
mVolumeName = args.getString(EXTRA_VOLUME_NAME);
mStorageType = args.getInt(EXTRA_STORAGE_TYPE, STORAGE_TYPE_DEFAULT);
mListType = LIST_TYPE_STORAGE;
} else {
@@ -423,22 +419,6 @@ public class ManageApplications extends InstrumentedPreferenceFragment
}
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (mListType == LIST_TYPE_STORAGE) {
final Activity activity = getActivity();
final boolean isNewIAEnabled = FeatureFactory.getFactory(activity)
.getDashboardFeatureProvider(activity)
.isEnabled();
if (!isNewIAEnabled) {
FrameLayout pinnedHeader = (FrameLayout) mRootView.findViewById(R.id.pinned_header);
AppHeader.createAppHeader(getActivity(), null, mVolumeName, null, -1, pinnedHeader);
}
}
}
private int getDefaultFilter() {
switch (mListType) {
case LIST_TYPE_USAGE_ACCESS:
@@ -627,12 +607,7 @@ public class ManageApplications extends InstrumentedPreferenceFragment
return;
}
final Context context = getActivity();
if (FeatureFactory.getFactory(context).getDashboardFeatureProvider(context).isEnabled()) {
mOptionsMenu.findItem(R.id.advanced).setVisible(false);
} else {
mOptionsMenu.findItem(R.id.advanced).setVisible(
mListType == LIST_TYPE_MAIN || mListType == LIST_TYPE_NOTIFICATION);
}
mOptionsMenu.findItem(R.id.advanced).setVisible(false);
mOptionsMenu.findItem(R.id.sort_order_alpha).setVisible(mListType == LIST_TYPE_STORAGE
&& mSortOrder != R.id.sort_order_alpha);

View File

@@ -44,7 +44,6 @@ import android.view.MenuItem;
import android.view.View;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
import com.android.settings.CancellablePreference;
import com.android.settings.CancellablePreference.OnCancelListener;
import com.android.settings.R;
@@ -126,28 +125,20 @@ public class ProcessStatsDetail extends SettingsPreferenceFragment {
return;
}
final Activity activity = getActivity();
if (!FeatureFactory.getFactory(activity)
.getDashboardFeatureProvider(activity).isEnabled()) {
AppHeader.createAppHeader(this, mApp.mUiTargetApp != null
? mApp.mUiTargetApp.loadIcon(mPm)
: new ColorDrawable(0),
mApp.mUiLabel, mApp.mPackage, mApp.mUiTargetApp.uid);
} else {
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, null /* appHeader */)
.setIcon(mApp.mUiTargetApp != null
? mApp.mUiTargetApp.loadIcon(mPm)
: new ColorDrawable(0))
.setLabel(mApp.mUiLabel)
.setPackageName(mApp.mPackage)
.setUid(mApp.mUiTargetApp != null
? mApp.mUiTargetApp.uid
: UserHandle.USER_NULL)
.setButtonActions(ActionType.ACTION_APP_INFO, ActionType.ACTION_NONE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, null /* appHeader */)
.setIcon(mApp.mUiTargetApp != null
? mApp.mUiTargetApp.loadIcon(mPm)
: new ColorDrawable(0))
.setLabel(mApp.mUiLabel)
.setPackageName(mApp.mPackage)
.setUid(mApp.mUiTargetApp != null
? mApp.mUiTargetApp.uid
: UserHandle.USER_NULL)
.setButtonActions(ActionType.ACTION_APP_INFO, ActionType.ACTION_NONE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
@Override

View File

@@ -27,7 +27,6 @@ import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.deviceinfo.UsbBackend;
import com.android.settings.nfc.NfcPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
@@ -82,10 +81,6 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.connected_devices;
return Arrays.asList(sir);

View File

@@ -146,8 +146,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
List<Tile> suggestions) {
// TODO: Better place for tinting?
final TypedArray a = mContext.obtainStyledAttributes(new int[]{
mDashboardFeatureProvider.isEnabled()
? android.R.attr.colorControlNormal : android.R.attr.colorAccent});
android.R.attr.colorControlNormal});
int tintColor = a.getColor(0, mContext.getColor(android.R.color.white));
a.recycle();
for (int i = 0; i < categories.size(); i++) {

View File

@@ -30,11 +30,6 @@ import java.util.List;
*/
public interface DashboardFeatureProvider {
/**
* Whether or not this feature is enabled.
*/
boolean isEnabled();
/**
* Get tiles (wrapped in {@link DashboardCategory}) for key defined in CategoryKey.
*/

View File

@@ -68,11 +68,6 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
}
@Override
public boolean isEnabled() {
return true;
}
@Override
public DashboardCategory getTilesForCategory(String key) {
return mCategoryManager.getTilesByCategory(mContext, key);
@@ -81,9 +76,6 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
@Override
public List<Preference> getPreferencesForCategory(Activity activity, Context context,
int sourceMetricsCategory, String key) {
if (!isEnabled()) {
return null;
}
final DashboardCategory category = getTilesForCategory(key);
if (category == null) {
Log.d(TAG, "NO dashboard tiles for " + TAG);
@@ -177,7 +169,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
@Override
public ProgressiveDisclosureMixin getProgressiveDisclosureMixin(Context context,
DashboardFragment fragment) {
return new ProgressiveDisclosureMixin(context, this, mMetricsFeatureProvider, fragment);
return new ProgressiveDisclosureMixin(context, mMetricsFeatureProvider, fragment);
}
@Override

View File

@@ -309,8 +309,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
mSummaryLoader = new SummaryLoader(getActivity(), getCategoryKey());
mSummaryLoader.setSummaryConsumer(this);
final TypedArray a = context.obtainStyledAttributes(new int[]{
mDashboardFeatureProvider.isEnabled() ? android.R.attr.colorControlNormal
: android.R.attr.colorAccent});
android.R.attr.colorControlNormal});
final int tintColor = a.getColor(0, context.getColor(android.R.color.white));
a.recycle();
final String pkgName = context.getPackageName();

View File

@@ -30,7 +30,6 @@ import android.view.ViewGroup;
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.dashboard.conditional.Condition;
import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
@@ -87,12 +86,7 @@ public class DashboardSummary extends InstrumentedFragment
mSuggestionFeatureProvider = FeatureFactory.getFactory(activity)
.getSuggestionFeatureProvider(activity);
if (mDashboardFeatureProvider.isEnabled()) {
mSummaryLoader = new SummaryLoader(activity, CategoryKey.CATEGORY_HOMEPAGE);
} else {
mSummaryLoader = new SummaryLoader(activity,
((SettingsActivity) getActivity()).getDashboardCategories());
}
mSummaryLoader = new SummaryLoader(activity, CategoryKey.CATEGORY_HOMEPAGE);
mConditionManager = ConditionManager.get(activity, false);
mSuggestionParser = new SuggestionParser(activity,
@@ -279,20 +273,15 @@ public class DashboardSummary extends InstrumentedFragment
return;
}
if (mDashboardFeatureProvider.isEnabled()) {
// Temporary hack to wrap homepage category into a list. Soon we will create adapter
// API that takes a single category.
List<DashboardCategory> categories = new ArrayList<>();
categories.add(mDashboardFeatureProvider.getTilesForCategory(
CategoryKey.CATEGORY_HOMEPAGE));
if (suggestions != null) {
mAdapter.setCategoriesAndSuggestions(categories, suggestions);
} else {
mAdapter.setCategory(categories);
}
// Temporary hack to wrap homepage category into a list. Soon we will create adapter
// API that takes a single category.
List<DashboardCategory> categories = new ArrayList<>();
categories.add(mDashboardFeatureProvider.getTilesForCategory(
CategoryKey.CATEGORY_HOMEPAGE));
if (suggestions != null) {
mAdapter.setCategoriesAndSuggestions(categories, suggestions);
} else {
mAdapter.setCategoriesAndSuggestions(
((SettingsActivity) activity).getDashboardCategories(), suggestions);
mAdapter.setCategory(categories);
}
}
}

View File

@@ -46,7 +46,6 @@ public class ProgressiveDisclosureMixin implements Preference.OnPreferenceClickL
private static final int DEFAULT_TILE_LIMIT = 300;
private final Context mContext;
private final DashboardFeatureProvider mDashboardFeatureProvider;
// Collapsed preference sorted by order.
private final List<Preference> mCollapsedPrefs = new ArrayList<>();
private final MetricsFeatureProvider mMetricsFeatureProvider;
@@ -57,14 +56,12 @@ public class ProgressiveDisclosureMixin implements Preference.OnPreferenceClickL
private boolean mUserExpanded;
public ProgressiveDisclosureMixin(Context context,
DashboardFeatureProvider dashboardFeatureProvider,
MetricsFeatureProvider metricsFeatureProvider,
PreferenceFragment fragment) {
mContext = context;
mFragment = fragment;
mExpandButton = new ExpandPreference(context);
mExpandButton.setOnPreferenceClickListener(this);
mDashboardFeatureProvider = dashboardFeatureProvider;
mMetricsFeatureProvider = metricsFeatureProvider;
}
@@ -122,8 +119,7 @@ public class ProgressiveDisclosureMixin implements Preference.OnPreferenceClickL
* Whether the screen should be collapsed.
*/
public boolean shouldCollapse(PreferenceScreen screen) {
return mDashboardFeatureProvider.isEnabled() && screen.getPreferenceCount() >= mTileLimit
&& !mUserExpanded;
return screen.getPreferenceCount() >= mTileLimit && !mUserExpanded;
}
/**

View File

@@ -116,23 +116,8 @@ public class SummaryLoader {
@Override
public void run() {
final Tile tile;
if (mDashboardFeatureProvider.isEnabled()) {
tile = getTileFromCategory(
mDashboardFeatureProvider.getTilesForCategory(mCategoryKey), component);
} else {
// Since tiles are not always cached (like on locale change for instance),
// we need to always get the latest one.
if (!(mActivity instanceof SettingsDrawerActivity)) {
if (DEBUG) {
Log.d(TAG, "Can't get category list.");
}
return;
}
tile = getTileFromCategory(
((SettingsDrawerActivity) mActivity).getDashboardCategories(),
component);
}
final Tile tile = getTileFromCategory(
mDashboardFeatureProvider.getTilesForCategory(mCategoryKey), component);
if (tile == null) {
if (DEBUG) {

View File

@@ -42,7 +42,6 @@ import android.view.View;
import android.widget.AdapterView;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
import com.android.settings.R;
import com.android.settings.applications.AppHeaderController;
import com.android.settings.applications.AppInfoBase;
@@ -354,24 +353,17 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
}
final Activity activity = getActivity();
if (!FeatureFactory.getFactory(activity)
.getDashboardFeatureProvider(activity).isEnabled()) {
View header = setPinnedHeaderView(R.layout.app_header);
AppHeader.setupHeaderView(getActivity(), mIcon, mLabel,
pkg, uid, AppHeader.includeAppInfo(this), 0, header, null);
} else {
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, null /* appHeader */)
.setIcon(mIcon)
.setLabel(mLabel)
.setPackageName(pkg)
.setUid(uid)
.setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
AppHeaderController.ActionType.ACTION_NONE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, null /* appHeader */)
.setIcon(mIcon)
.setLabel(mLabel)
.setPackageName(pkg)
.setUid(uid)
.setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
AppHeaderController.ActionType.ACTION_NONE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
@Override

View File

@@ -39,7 +39,6 @@ import com.android.settings.deviceinfo.storage.SecondaryUserController;
import com.android.settings.deviceinfo.storage.StorageAsyncLoader;
import com.android.settings.deviceinfo.storage.StorageItemPreferenceController;
import com.android.settings.deviceinfo.storage.StorageSummaryDonutPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settingslib.applications.StorageStatsSource;
@@ -174,10 +173,6 @@ public class StorageDashboardFragment extends DashboardFragment
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.storage_dashboard_fragment;
return Arrays.asList(sir);

View File

@@ -16,7 +16,6 @@ package com.android.settings.fuelgauge;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Process;
import android.provider.SearchIndexableResource;
import android.support.annotation.ColorInt;
import android.support.annotation.IntDef;
@@ -40,10 +39,8 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class PowerUsageAdvanced extends PowerUsageBase {
private static final String TAG = "AdvancedBatteryUsage";
@@ -267,10 +264,6 @@ public class PowerUsageAdvanced extends PowerUsageBase {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.power_usage_advanced;
return Arrays.asList(sir);

View File

@@ -62,7 +62,6 @@ import com.android.settings.core.PreferenceController;
import com.android.settings.location.LocationSettings;
import com.android.settings.network.NetworkDashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.wifi.WifiSettings;
import java.io.PrintWriter;
@@ -327,13 +326,11 @@ public class PowerUsageDetail extends PowerUsageBase implements Button.OnClickLi
private PackageManager mPm;
private DevicePolicyManager mDpm;
private int mUsageSince;
private int[] mTypes;
private int mUid;
private double[] mValues;
private Button mForceStopButton;
private Button mReportButton;
private long mStartTime;
private BatterySipper.DrainType mDrainType;
private double mNoCoverage; // Percentage of time that there was no coverage
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
@@ -379,7 +376,6 @@ public class PowerUsageDetail extends PowerUsageBase implements Button.OnClickLi
@Override
public void onResume() {
super.onResume();
mStartTime = android.os.Process.getElapsedCpuTime();
checkForceStop();
if (mHighPower != null) {
mHighPower.setSummary(HighPowerDetail.getSummary(getActivity(), mApp.packageName));
@@ -414,7 +410,6 @@ public class PowerUsageDetail extends PowerUsageBase implements Button.OnClickLi
private void createDetails() {
final Bundle args = getArguments();
Context context = getActivity();
mUsageSince = args.getInt(EXTRA_USAGE_SINCE, USAGE_SINCE_UNPLUGGED);
mUid = args.getInt(EXTRA_UID, 0);
mPackages = context.getPackageManager().getPackagesForUid(mUid);
mDrainType = (BatterySipper.DrainType) args.getSerializable(EXTRA_DRAIN_TYPE);
@@ -514,29 +509,23 @@ public class PowerUsageDetail extends PowerUsageBase implements Button.OnClickLi
if (pkg == null && mPackages != null) {
pkg = mPackages[0];
}
if (!FeatureFactory.getFactory(activity)
.getDashboardFeatureProvider(activity).isEnabled()) {
AppHeader.createAppHeader(this, appIcon, title, pkg, uid,
mDrainType != DrainType.APP ? android.R.color.white : 0);
} else {
final PreferenceScreen screen = getPreferenceScreen();
final Preference appHeaderPref =
findPreference(AppHeaderController.PREF_KEY_APP_HEADER);
if (appHeaderPref != null) {
return;
}
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, null /* appHeader */)
.setIcon(appIcon)
.setLabel(title)
.setPackageName(pkg)
.setUid(uid)
.setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
AppHeaderController.ActionType.ACTION_NONE)
.done(getPrefContext());
screen.addPreference(pref);
final PreferenceScreen screen = getPreferenceScreen();
final Preference appHeaderPref =
findPreference(AppHeaderController.PREF_KEY_APP_HEADER);
if (appHeaderPref != null) {
return;
}
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this, null /* appHeader */)
.setIcon(appIcon)
.setLabel(title)
.setPackageName(pkg)
.setUid(uid)
.setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
AppHeaderController.ActionType.ACTION_NONE)
.done(getPrefContext());
screen.addPreference(pref);
}
@Override

View File

@@ -733,10 +733,6 @@ public class PowerUsageSummary extends PowerUsageBase {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.power_usage_summary;
return Arrays.asList(sir);

View File

@@ -24,7 +24,6 @@ import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import java.util.ArrayList;
@@ -67,10 +66,6 @@ public class AssistGestureSettings extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.assist_gesture_settings;
return Arrays.asList(sir);

View File

@@ -24,7 +24,6 @@ import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import java.util.ArrayList;
@@ -67,10 +66,6 @@ public class DoubleTapPowerSettings extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.double_tap_power_settings;
return Arrays.asList(sir);

View File

@@ -26,7 +26,6 @@ import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import java.util.ArrayList;
@@ -70,10 +69,6 @@ public class DoubleTapScreenSettings extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.double_tap_screen_settings;
return Arrays.asList(sir);

View File

@@ -24,7 +24,6 @@ import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import java.util.ArrayList;
@@ -67,10 +66,6 @@ public class DoubleTwistGestureSettings extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.double_twist_gesture_settings;
return Arrays.asList(sir);

View File

@@ -26,7 +26,6 @@ import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import java.util.ArrayList;
@@ -70,10 +69,6 @@ public class PickupGestureSettings extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.pick_up_gesture_settings;
return Arrays.asList(sir);

View File

@@ -24,7 +24,6 @@ import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import java.util.ArrayList;
@@ -67,10 +66,6 @@ public class SwipeToNotificationSettings extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.swipe_to_notification_settings;
return Arrays.asList(sir);

View File

@@ -36,7 +36,6 @@ import com.android.settings.gestures.PickupGesturePreferenceController;
import com.android.settings.inputmethod.GameControllerPreferenceController;
import com.android.settings.inputmethod.SpellCheckerPreferenceController;
import com.android.settings.gestures.SwipeToNotificationPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import java.util.ArrayList;
@@ -110,10 +109,6 @@ public class LanguageAndInputSettings extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.language_and_input;
return Arrays.asList(sir);

View File

@@ -138,10 +138,6 @@ public class NetworkDashboardFragment extends DashboardFragment implements
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.network_and_internet;
return Arrays.asList(sir);

View File

@@ -68,17 +68,10 @@ public class NfcPreferenceController extends PreferenceController
mNfcEnabler = new NfcEnabler(mContext, mNfcPreference, mBeamPreference);
String toggleable = Settings.Global.getString(mContext.getContentResolver(),
Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
final boolean useNewIA = FeatureFactory.getFactory(mContext)
.getDashboardFeatureProvider(mContext).isEnabled();
// Manually set dependencies for NFC when not toggleable.
if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_NFC)) {
if (useNewIA) {
mAirplaneModeObserver = new AirplaneModeObserver();
updateNfcPreference();
} else {
mNfcPreference.setDependency(AirplaneModePreferenceController.KEY_TOGGLE_AIRPLANE);
mBeamPreference.setDependency(AirplaneModePreferenceController.KEY_TOGGLE_AIRPLANE);
}
mAirplaneModeObserver = new AirplaneModeObserver();
updateNfcPreference();
}
}

View File

@@ -20,13 +20,9 @@ import static android.app.NotificationManager.IMPORTANCE_LOW;
import static android.app.NotificationManager.IMPORTANCE_NONE;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationChannelGroup;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ResolveInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.Settings;
@@ -42,11 +38,9 @@ import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.applications.AppHeaderController;
import com.android.settings.applications.AppInfoBase;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.notification.NotificationBackend.AppRow;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.MasterSwitchPreference;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.RestrictedSwitchPreference;
import java.text.Collator;
@@ -63,20 +57,9 @@ public class AppNotificationSettings extends NotificationSettingsBase {
private static final String KEY_BLOCK = "block";
private DashboardFeatureProvider mDashboardFeatureProvider;
private List<NotificationChannelGroup> mChannelGroupList;
private List<PreferenceCategory> mChannelGroups = new ArrayList();
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (mAppRow == null) return;
if (!mDashboardFeatureProvider.isEnabled()) {
AppHeader.createAppHeader(this, mAppRow.icon, mAppRow.label, mAppRow.pkg, mAppRow.uid,
mAppRow.settingsIntent);
}
}
@Override
public int getMetricsCategory() {
return MetricsEvent.NOTIFICATION_APP_NOTIFICATION;
@@ -91,8 +74,6 @@ public class AppNotificationSettings extends NotificationSettingsBase {
return;
}
final Activity activity = getActivity();
mDashboardFeatureProvider =
FeatureFactory.getFactory(activity).getDashboardFeatureProvider(activity);
addPreferencesFromResource(R.xml.app_notification_settings);
getPreferenceScreen().setOrderingAsAdded(true);
@@ -121,20 +102,18 @@ public class AppNotificationSettings extends NotificationSettingsBase {
}
}.execute();
}
if (mDashboardFeatureProvider.isEnabled()) {
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this /* fragment */, null /* appHeader */)
.setIcon(mAppRow.icon)
.setLabel(mAppRow.label)
.setPackageName(mAppRow.pkg)
.setUid(mAppRow.uid)
.setAppNotifPrefIntent(mAppRow.settingsIntent)
.setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
AppHeaderController.ActionType.ACTION_NOTIF_PREFERENCE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this /* fragment */, null /* appHeader */)
.setIcon(mAppRow.icon)
.setLabel(mAppRow.label)
.setPackageName(mAppRow.pkg)
.setUid(mAppRow.uid)
.setAppNotifPrefIntent(mAppRow.settingsIntent)
.setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
AppHeaderController.ActionType.ACTION_NOTIF_PREFERENCE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
@Override

View File

@@ -40,11 +40,9 @@ import android.util.Log;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.AppHeader;
import com.android.settings.R;
import com.android.settings.RingtonePreference;
import com.android.settings.applications.AppHeaderController;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedSwitchPreference;
@@ -69,18 +67,6 @@ public class ChannelNotificationSettings extends NotificationSettingsBase {
protected RestrictedSwitchPreference mPriority;
protected RestrictedDropDownPreference mVisibilityOverride;
private DashboardFeatureProvider mDashboardFeatureProvider;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (mAppRow == null || mChannel == null) return;
if (!mDashboardFeatureProvider.isEnabled()) {
AppHeader.createAppHeader(
this, mAppRow.icon, mChannel.getName(), mAppRow.pkg, mAppRow.uid);
}
}
@Override
public int getMetricsCategory() {
return MetricsEvent.NOTIFICATION_TOPIC_NOTIFICATION;
@@ -95,8 +81,6 @@ public class ChannelNotificationSettings extends NotificationSettingsBase {
return;
}
final Activity activity = getActivity();
mDashboardFeatureProvider =
FeatureFactory.getFactory(activity).getDashboardFeatureProvider(activity);
addPreferencesFromResource(R.xml.channel_notification_settings);
// load settings intent
@@ -125,21 +109,19 @@ public class ChannelNotificationSettings extends NotificationSettingsBase {
setupBlockAndImportance();
updateDependents();
}
if (mDashboardFeatureProvider.isEnabled()) {
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this /* fragment */, null /* appHeader */)
.setIcon(mAppRow.icon)
.setLabel(getNotificationChannelLabel(mChannel))
.setSummary(mAppRow.label)
.setPackageName(mAppRow.pkg)
.setUid(mAppRow.uid)
.setAppNotifPrefIntent(mAppRow.settingsIntent)
.setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
AppHeaderController.ActionType.ACTION_NOTIF_PREFERENCE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
final Preference pref = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newAppHeaderController(this /* fragment */, null /* appHeader */)
.setIcon(mAppRow.icon)
.setLabel(getNotificationChannelLabel(mChannel))
.setSummary(mAppRow.label)
.setPackageName(mAppRow.pkg)
.setUid(mAppRow.uid)
.setAppNotifPrefIntent(mAppRow.settingsIntent)
.setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
AppHeaderController.ActionType.ACTION_NOTIF_PREFERENCE)
.done(getPrefContext());
getPreferenceScreen().addPreference(pref);
}
@Override

View File

@@ -17,14 +17,12 @@
package com.android.settings.notification;
import android.content.Context;
import android.os.Bundle;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.gestures.SwipeToNotificationPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import java.util.ArrayList;
import java.util.List;
@@ -62,16 +60,4 @@ public class ConfigureNotificationSettings extends DashboardFragment {
controllers.add(mLockScreenNotificationController);
return controllers;
}
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
super.onCreatePreferences(savedInstanceState, rootKey);
final Context context = getContext();
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context).isEnabled()) {
final String prefKey = getPreferenceController(
SwipeToNotificationPreferenceController.class)
.getPreferenceKey();
removePreference(prefKey);
}
}
}

View File

@@ -25,7 +25,6 @@ import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.deviceinfo.AdditionalSystemUpdatePreferenceController;
import com.android.settings.deviceinfo.SystemUpdatePreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
@@ -33,7 +32,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class SystemDashboardFragment extends DashboardFragment {
private static final String TAG = "SystemDashboardFrag";
@@ -73,10 +71,6 @@ public class SystemDashboardFragment extends DashboardFragment {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
.isEnabled()) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.system_dashboard_fragment;
return Arrays.asList(sir);

View File

@@ -19,14 +19,11 @@ package com.android.settings;
import android.app.ActivityManager;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
@@ -45,8 +42,6 @@ import static org.mockito.Mockito.when;
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SettingsActivityTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
@Mock
private FragmentManager mFragmentManager;
@Mock
@@ -58,10 +53,6 @@ public class SettingsActivityTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mActivity = spy(new SettingsActivity());
doReturn(mBitmap).when(mActivity).getBitmapFromXmlResource(anyInt());

View File

@@ -33,7 +33,6 @@ import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowAccountManager;
import com.android.settings.testutils.shadow.ShadowContentResolver;
@@ -55,7 +54,6 @@ import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -76,7 +74,6 @@ public class AccountPreferenceControllerTest {
@Mock(answer = RETURNS_DEEP_STUBS)
private AccountRestrictionHelper mAccountHelper;
private FakeFeatureFactory mFactory;
private Context mContext;
private AccountPreferenceController mController;
@@ -86,11 +83,8 @@ public class AccountPreferenceControllerTest {
ShadowApplication shadowContext = ShadowApplication.getInstance();
shadowContext.setSystemService(Context.USER_SERVICE, mUserManager);
shadowContext.setSystemService(Context.ACCOUNT_SERVICE, mAccountManager);
mContext = spy(shadowContext.getApplicationContext());
FakeFeatureFactory.setupForTest(mContext);
mFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
mContext = shadowContext.getApplicationContext();
when(mFactory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
when(mFragment.getPreferenceScreen()).thenReturn(mScreen);
when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(

View File

@@ -16,7 +16,6 @@
package com.android.settings.accounts;
import android.app.Activity;
import android.content.Context;
import android.content.pm.UserInfo;
import android.os.Bundle;
import android.os.UserManager;
@@ -25,14 +24,12 @@ import android.provider.SearchIndexableResource;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.drawer.Tile;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
@@ -54,8 +51,6 @@ public class UserAndAccountDashboardFragmentTest {
private static final String METADATA_CATEGORY = "com.android.settings.category";
private static final String METADATA_ACCOUNT_TYPE = "com.android.settings.ia.account";
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
@Mock
private UserManager mUserManager;
private UserAndAccountDashboardFragment mFragment;
@@ -63,10 +58,6 @@ public class UserAndAccountDashboardFragmentTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mFragment = new UserAndAccountDashboardFragment();
}

View File

@@ -72,7 +72,6 @@ public class AppInfoWithHeaderTest {
ShadowApplication.getInstance().getApplicationContext(),
mAppInfoWithHeader,
null);
when(mFactory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
when(mFactory.applicationFeatureProvider.newAppHeaderController(mAppInfoWithHeader, null))
.thenReturn(appHeaderController);
mAppInfoWithHeader.onActivityCreated(null);

View File

@@ -15,44 +15,30 @@
*/
package com.android.settings.connecteddevice;
import android.content.Context;
import android.provider.SearchIndexableResource;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.drawer.CategoryKey;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import java.util.List;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class ConnectedDeviceDashboardFragmentTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
private ConnectedDeviceDashboardFragment mFragment;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mFragment = new ConnectedDeviceDashboardFragment();
}

View File

@@ -57,7 +57,6 @@ import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.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 static org.robolectric.Shadows.shadowOf;
@@ -267,25 +266,13 @@ public class DashboardFeatureProviderImplTest {
.isEqualTo(MetricsProto.MetricsEvent.SETTINGS_GESTURES);
}
@Test
public void getPreferences_notEnabled_shouldReturnNull() {
final DashboardFeatureProviderImpl mSpy = spy(mImpl);
when(mSpy.isEnabled()).thenReturn(false);
assertThat(mSpy.getPreferencesForCategory(null, null,
MetricsProto.MetricsEvent.SETTINGS_GESTURES, CategoryKey.CATEGORY_HOMEPAGE))
.isNull();
}
@Test
public void getPreferences_noCategory_shouldReturnNull() {
mImpl = new DashboardFeatureProviderImpl(mActivity, mCategoryManager);
final DashboardFeatureProviderImpl mSpy = spy(mImpl);
when(mSpy.isEnabled()).thenReturn(true);
when(mCategoryManager.getTilesByCategory(mActivity, CategoryKey.CATEGORY_HOMEPAGE))
.thenReturn(null);
assertThat(mSpy.getPreferencesForCategory(null, null,
assertThat(mImpl.getPreferencesForCategory(null, null,
MetricsProto.MetricsEvent.SETTINGS_GESTURES, CategoryKey.CATEGORY_HOMEPAGE))
.isNull();
}
@@ -293,12 +280,10 @@ public class DashboardFeatureProviderImplTest {
@Test
public void getPreferences_noTileForCategory_shouldReturnNull() {
mImpl = new DashboardFeatureProviderImpl(mActivity, mCategoryManager);
final DashboardFeatureProviderImpl mSpy = spy(mImpl);
when(mSpy.isEnabled()).thenReturn(true);
when(mCategoryManager.getTilesByCategory(mActivity, CategoryKey.CATEGORY_HOMEPAGE))
.thenReturn(new DashboardCategory());
assertThat(mSpy.getPreferencesForCategory(null, null,
assertThat(mImpl.getPreferencesForCategory(null, null,
MetricsProto.MetricsEvent.SETTINGS_GESTURES, CategoryKey.CATEGORY_HOMEPAGE))
.isNull();
}
@@ -306,15 +291,13 @@ public class DashboardFeatureProviderImplTest {
@Test
public void getPreferences_hasTileForCategory_shouldReturnPrefList() {
mImpl = new DashboardFeatureProviderImpl(mActivity, mCategoryManager);
final DashboardFeatureProviderImpl mSpy = spy(mImpl);
when(mSpy.isEnabled()).thenReturn(true);
final DashboardCategory category = new DashboardCategory();
category.tiles.add(new Tile());
when(mCategoryManager
.getTilesByCategory(any(Context.class), eq(CategoryKey.CATEGORY_HOMEPAGE)))
.thenReturn(category);
assertThat(mSpy.getPreferencesForCategory(mActivity,
assertThat(mImpl.getPreferencesForCategory(mActivity,
ShadowApplication.getInstance().getApplicationContext(),
MetricsProto.MetricsEvent.SETTINGS_GESTURES,
CategoryKey.CATEGORY_HOMEPAGE).isEmpty())

View File

@@ -75,7 +75,6 @@ public class DashboardSummaryTest {
@Test
public void updateCategoryAndSuggestion_shouldGetCategoryFromFeatureProvider() {
doReturn(mock(Activity.class)).when(mSummary).getActivity();
when(mDashboardFeatureProvider.isEnabled()).thenReturn(true);
mSummary.updateCategoryAndSuggestion(null);
verify(mDashboardFeatureProvider).getTilesForCategory(CategoryKey.CATEGORY_HOMEPAGE);
}

View File

@@ -77,13 +77,11 @@ public class ProgressiveDisclosureTest {
mAppContext = ShadowApplication.getInstance().getApplicationContext();
mFakeFeatureFactory = (FakeFeatureFactory) FeatureFactory.getFactory(mContext);
mMixin = new ProgressiveDisclosureMixin(mAppContext,
mFakeFeatureFactory.dashboardFeatureProvider,
mFakeFeatureFactory.metricsFeatureProvider,
mPreferenceFragment);
ReflectionHelpers.setField(mMixin, "mExpandButton", mExpandButton);
mPreference = new Preference(mAppContext);
mPreference.setKey("test");
when(mFakeFeatureFactory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
}
@Test
@@ -97,7 +95,6 @@ public class ProgressiveDisclosureTest {
@Test
public void shouldCollapse_morePreferenceThanLimit() {
when(mFakeFeatureFactory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
when(mScreen.getPreferenceCount()).thenReturn(5);
mMixin.setTileLimit(3);

View File

@@ -15,7 +15,6 @@
*/
package com.android.settings.deviceinfo;
import android.content.Context;
import android.os.Bundle;
import android.os.storage.DiskInfo;
import android.os.storage.StorageManager;
@@ -24,7 +23,6 @@ import android.provider.SearchIndexableResource;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.drawer.CategoryKey;
import org.junit.Before;
@@ -46,8 +44,6 @@ import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class StorageDashboardFragmentTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private StorageManager mStorageManager;
@@ -57,10 +53,6 @@ public class StorageDashboardFragmentTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mFragment = new StorageDashboardFragment();
}

View File

@@ -23,12 +23,10 @@ import com.android.settings.R;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.core.PreferenceController;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@@ -42,17 +40,13 @@ import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class AssistGestureSettingsTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
@Mock
private Context mContext;
private AssistGestureSettings mSettings;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mSettings = new AssistGestureSettings();
}

View File

@@ -16,43 +16,29 @@
package com.android.settings.gestures;
import android.content.Context;
import android.provider.SearchIndexableResource;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import java.util.List;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DoubleTapPowerSettingsTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
private DoubleTapPowerSettings mSettings;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mSettings = new DoubleTapPowerSettings();
}

View File

@@ -16,43 +16,29 @@
package com.android.settings.gestures;
import android.content.Context;
import android.provider.SearchIndexableResource;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import java.util.List;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DoubleTapScreenSettingsTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
private DoubleTapScreenSettings mSettings;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mSettings = new DoubleTapScreenSettings();
}

View File

@@ -16,19 +16,14 @@
package com.android.settings.gestures;
import android.content.Context;
import android.provider.SearchIndexableResource;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
@@ -40,18 +35,11 @@ import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DoubleTwistGestureSettingsTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
private DoubleTwistGestureSettings mSettings;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mSettings = new DoubleTwistGestureSettings();
}

View File

@@ -16,19 +16,14 @@
package com.android.settings.gestures;
import android.content.Context;
import android.provider.SearchIndexableResource;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
@@ -41,18 +36,10 @@ import static org.mockito.Mockito.when;
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class PickupGestureSettingsTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
private PickupGestureSettings mSettings;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mSettings = new PickupGestureSettings();
}

View File

@@ -23,12 +23,10 @@ import com.android.settings.R;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.core.PreferenceController;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@@ -43,17 +41,13 @@ import static org.mockito.Mockito.when;
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SwipeToNotificationSettingsTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
@Mock
private Context mContext;
private SwipeToNotificationSettings mFragment;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mFragment = new SwipeToNotificationSettings();
}

View File

@@ -15,21 +15,16 @@
*/
package com.android.settings.network;
import android.content.Context;
import android.provider.SearchIndexableResource;
import android.view.Menu;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.drawer.CategoryKey;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import org.robolectric.util.ReflectionHelpers;
@@ -40,24 +35,15 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class NetworkDashboardFragmentTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
private NetworkDashboardFragment mFragment;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
final FakeFeatureFactory factory =
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
mFragment = new NetworkDashboardFragment();
}