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

@@ -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);