Loading src/com/android/settings/SettingsActivity.java +36 −24 Original line number Diff line number Diff line Loading @@ -63,7 +63,6 @@ import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.gateway.SettingsGateway; import com.android.settings.dashboard.DashboardFeatureProvider; import com.android.settings.dashboard.DashboardSummary; import com.android.settings.development.DevelopmentSettingsDashboardFragment; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.DeviceIndexFeatureProvider; import com.android.settings.wfd.WifiDisplaySettings; Loading @@ -83,7 +82,7 @@ public class SettingsActivity extends SettingsDrawerActivity PreferenceFragment.OnPreferenceStartFragmentCallback, ButtonBarHandler, FragmentManager.OnBackStackChangedListener { private static final String LOG_TAG = "Settings"; private static final String LOG_TAG = "SettingsActivity"; // Constants for state save/restore private static final String SAVE_KEY_CATEGORIES = ":settings:categories"; Loading Loading @@ -234,6 +233,7 @@ public class SettingsActivity extends SettingsDrawerActivity @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); Log.d(LOG_TAG, "Starting onCreate"); long startTime = System.currentTimeMillis(); final FeatureFactory factory = FeatureFactory.getFactory(this); Loading Loading @@ -396,6 +396,7 @@ public class SettingsActivity extends SettingsDrawerActivity } private void setTitleFromIntent(Intent intent) { Log.d(LOG_TAG, "Starting to set activity title"); final int initialTitleResId = intent.getIntExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, -1); if (initialTitleResId > 0) { mInitialTitle = null; Loading Loading @@ -423,6 +424,7 @@ public class SettingsActivity extends SettingsDrawerActivity mInitialTitle = (initialTitle != null) ? initialTitle : getTitle(); setTitle(mInitialTitle); } Log.d(LOG_TAG, "Done setting title"); } @Override Loading Loading @@ -577,6 +579,7 @@ public class SettingsActivity extends SettingsDrawerActivity */ private Fragment switchToFragment(String fragmentName, Bundle args, boolean validate, boolean addToBackStack, int titleResId, CharSequence title, boolean withTransition) { Log.d(LOG_TAG, "Switching to fragment " + fragmentName); if (validate && !isValidFragment(fragmentName)) { throw new IllegalArgumentException("Invalid fragment for this activity: " + fragmentName); Loading @@ -597,6 +600,7 @@ public class SettingsActivity extends SettingsDrawerActivity } transaction.commitAllowingStateLoss(); getFragmentManager().executePendingTransactions(); Log.d(LOG_TAG, "Executed frag manager pendingTransactions"); return f; } Loading Loading @@ -626,12 +630,13 @@ public class SettingsActivity extends SettingsDrawerActivity final boolean isAdmin = um.isAdminUser(); final FeatureFactory featureFactory = FeatureFactory.getFactory(this); boolean somethingChanged = false; String packageName = getPackageName(); somethingChanged = setTileEnabled( final String packageName = getPackageName(); final StringBuilder changedList = new StringBuilder(); somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, WifiSettingsActivity.class.getName()), pm.hasSystemFeature(PackageManager.FEATURE_WIFI), isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.BluetoothSettingsActivity.class.getName()), pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH), isAdmin) || somethingChanged; Loading @@ -639,51 +644,51 @@ public class SettingsActivity extends SettingsDrawerActivity // Enable DataUsageSummaryActivity if the data plan feature flag is turned on otherwise // enable DataPlanUsageSummaryActivity. somethingChanged = setTileEnabled( somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DataUsageSummaryActivity.class.getName()), Utils.isBandwidthControlEnabled() /* enabled */, isAdmin) || somethingChanged; somethingChanged = setTileEnabled( somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.ConnectedDeviceDashboardActivity.class.getName()), !UserManager.isDeviceInDemoMode(this) /* enabled */, isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.SimSettingsActivity.class.getName()), Utils.showSimCardTile(this), isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.PowerUsageSummaryActivity.class.getName()), mBatteryPresent, isAdmin) || somethingChanged; final boolean isDataUsageSettingsV2Enabled = FeatureFlagUtils.isEnabled(this, FeatureFlags.DATA_USAGE_SETTINGS_V2); // Enable new data usage page if v2 enabled somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DataUsageSummaryActivity.class.getName()), Utils.isBandwidthControlEnabled() && isDataUsageSettingsV2Enabled, isAdmin) || somethingChanged; // Enable legacy data usage page if v2 disabled somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DataUsageSummaryLegacyActivity.class.getName()), Utils.isBandwidthControlEnabled() && !isDataUsageSettingsV2Enabled, isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.UserSettingsActivity.class.getName()), UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers() && !Utils.isMonkeyRunning(), isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.NetworkDashboardActivity.class.getName()), !UserManager.isDeviceInDemoMode(this), isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DateTimeSettingsActivity.class.getName()), !UserManager.isDeviceInDemoMode(this), isAdmin) || somethingChanged; Loading @@ -691,17 +696,17 @@ public class SettingsActivity extends SettingsDrawerActivity final boolean showDev = DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(this) && !Utils.isMonkeyRunning(); final boolean isAdminOrDemo = um.isAdminUser() || um.isDemoUser(); somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DevelopmentSettingsDashboardActivity.class.getName()), showDev, isAdminOrDemo) || somethingChanged; // Enable/disable backup settings depending on whether the user is admin. somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, BackupSettingsActivity.class.getName()), true, isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.WifiDisplaySettingsActivity.class.getName()), WifiDisplaySettings.isAvailable(this), isAdmin) || somethingChanged; Loading @@ -710,11 +715,11 @@ public class SettingsActivity extends SettingsDrawerActivity final boolean aboutPhoneV2Enabled = featureFactory .getAccountFeatureProvider() .isAboutPhoneV2Enabled(this); somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.MyDeviceInfoActivity.class.getName()), aboutPhoneV2Enabled, isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DeviceInfoSettingsActivity.class.getName()), !aboutPhoneV2Enabled, isAdmin) || somethingChanged; Loading @@ -735,7 +740,8 @@ public class SettingsActivity extends SettingsDrawerActivity .equals(name)); if (packageName.equals(component.getPackageName()) && !isEnabledForRestricted) { somethingChanged = setTileEnabled(component, false, isAdmin) somethingChanged = setTileEnabled(changedList, component, false, isAdmin) || somethingChanged; } } Loading @@ -745,7 +751,8 @@ public class SettingsActivity extends SettingsDrawerActivity // Final step, refresh categories. if (somethingChanged) { Log.d(LOG_TAG, "Enabled state changed for some tiles, reloading all categories"); Log.d(LOG_TAG, "Enabled state changed for some tiles, reloading all categories " + changedList.toString()); updateCategories(); } else { Log.d(LOG_TAG, "No enabled state changed, skipping updateCategory call"); Loading @@ -755,13 +762,18 @@ public class SettingsActivity extends SettingsDrawerActivity /** * @return whether or not the enabled state actually changed. */ private boolean setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin) { private boolean setTileEnabled(StringBuilder changedList, ComponentName component, boolean enabled, boolean isAdmin) { if (UserHandle.MU_ENABLED && !isAdmin && getPackageName().equals(component.getPackageName()) && !ArrayUtils.contains(SettingsGateway.SETTINGS_FOR_RESTRICTED, component.getClassName())) { enabled = false; } return setTileEnabled(component, enabled); boolean changed = setTileEnabled(component, enabled); if (changed) { changedList.append(component.toShortString()).append(","); } return changed; } private void getMetaData() { Loading src/com/android/settings/dashboard/DashboardSummary.java +1 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ public class DashboardSummary extends InstrumentedFragment public void onCreate(Bundle savedInstanceState) { long startTime = System.currentTimeMillis(); super.onCreate(savedInstanceState); Log.d(TAG, "Starting DashboardSummary"); final Activity activity = getActivity(); mDashboardFeatureProvider = FeatureFactory.getFactory(activity) .getDashboardFeatureProvider(activity); Loading Loading
src/com/android/settings/SettingsActivity.java +36 −24 Original line number Diff line number Diff line Loading @@ -63,7 +63,6 @@ import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.gateway.SettingsGateway; import com.android.settings.dashboard.DashboardFeatureProvider; import com.android.settings.dashboard.DashboardSummary; import com.android.settings.development.DevelopmentSettingsDashboardFragment; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.DeviceIndexFeatureProvider; import com.android.settings.wfd.WifiDisplaySettings; Loading @@ -83,7 +82,7 @@ public class SettingsActivity extends SettingsDrawerActivity PreferenceFragment.OnPreferenceStartFragmentCallback, ButtonBarHandler, FragmentManager.OnBackStackChangedListener { private static final String LOG_TAG = "Settings"; private static final String LOG_TAG = "SettingsActivity"; // Constants for state save/restore private static final String SAVE_KEY_CATEGORIES = ":settings:categories"; Loading Loading @@ -234,6 +233,7 @@ public class SettingsActivity extends SettingsDrawerActivity @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); Log.d(LOG_TAG, "Starting onCreate"); long startTime = System.currentTimeMillis(); final FeatureFactory factory = FeatureFactory.getFactory(this); Loading Loading @@ -396,6 +396,7 @@ public class SettingsActivity extends SettingsDrawerActivity } private void setTitleFromIntent(Intent intent) { Log.d(LOG_TAG, "Starting to set activity title"); final int initialTitleResId = intent.getIntExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, -1); if (initialTitleResId > 0) { mInitialTitle = null; Loading Loading @@ -423,6 +424,7 @@ public class SettingsActivity extends SettingsDrawerActivity mInitialTitle = (initialTitle != null) ? initialTitle : getTitle(); setTitle(mInitialTitle); } Log.d(LOG_TAG, "Done setting title"); } @Override Loading Loading @@ -577,6 +579,7 @@ public class SettingsActivity extends SettingsDrawerActivity */ private Fragment switchToFragment(String fragmentName, Bundle args, boolean validate, boolean addToBackStack, int titleResId, CharSequence title, boolean withTransition) { Log.d(LOG_TAG, "Switching to fragment " + fragmentName); if (validate && !isValidFragment(fragmentName)) { throw new IllegalArgumentException("Invalid fragment for this activity: " + fragmentName); Loading @@ -597,6 +600,7 @@ public class SettingsActivity extends SettingsDrawerActivity } transaction.commitAllowingStateLoss(); getFragmentManager().executePendingTransactions(); Log.d(LOG_TAG, "Executed frag manager pendingTransactions"); return f; } Loading Loading @@ -626,12 +630,13 @@ public class SettingsActivity extends SettingsDrawerActivity final boolean isAdmin = um.isAdminUser(); final FeatureFactory featureFactory = FeatureFactory.getFactory(this); boolean somethingChanged = false; String packageName = getPackageName(); somethingChanged = setTileEnabled( final String packageName = getPackageName(); final StringBuilder changedList = new StringBuilder(); somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, WifiSettingsActivity.class.getName()), pm.hasSystemFeature(PackageManager.FEATURE_WIFI), isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.BluetoothSettingsActivity.class.getName()), pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH), isAdmin) || somethingChanged; Loading @@ -639,51 +644,51 @@ public class SettingsActivity extends SettingsDrawerActivity // Enable DataUsageSummaryActivity if the data plan feature flag is turned on otherwise // enable DataPlanUsageSummaryActivity. somethingChanged = setTileEnabled( somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DataUsageSummaryActivity.class.getName()), Utils.isBandwidthControlEnabled() /* enabled */, isAdmin) || somethingChanged; somethingChanged = setTileEnabled( somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.ConnectedDeviceDashboardActivity.class.getName()), !UserManager.isDeviceInDemoMode(this) /* enabled */, isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.SimSettingsActivity.class.getName()), Utils.showSimCardTile(this), isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.PowerUsageSummaryActivity.class.getName()), mBatteryPresent, isAdmin) || somethingChanged; final boolean isDataUsageSettingsV2Enabled = FeatureFlagUtils.isEnabled(this, FeatureFlags.DATA_USAGE_SETTINGS_V2); // Enable new data usage page if v2 enabled somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DataUsageSummaryActivity.class.getName()), Utils.isBandwidthControlEnabled() && isDataUsageSettingsV2Enabled, isAdmin) || somethingChanged; // Enable legacy data usage page if v2 disabled somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DataUsageSummaryLegacyActivity.class.getName()), Utils.isBandwidthControlEnabled() && !isDataUsageSettingsV2Enabled, isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.UserSettingsActivity.class.getName()), UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers() && !Utils.isMonkeyRunning(), isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.NetworkDashboardActivity.class.getName()), !UserManager.isDeviceInDemoMode(this), isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DateTimeSettingsActivity.class.getName()), !UserManager.isDeviceInDemoMode(this), isAdmin) || somethingChanged; Loading @@ -691,17 +696,17 @@ public class SettingsActivity extends SettingsDrawerActivity final boolean showDev = DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(this) && !Utils.isMonkeyRunning(); final boolean isAdminOrDemo = um.isAdminUser() || um.isDemoUser(); somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DevelopmentSettingsDashboardActivity.class.getName()), showDev, isAdminOrDemo) || somethingChanged; // Enable/disable backup settings depending on whether the user is admin. somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, BackupSettingsActivity.class.getName()), true, isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.WifiDisplaySettingsActivity.class.getName()), WifiDisplaySettings.isAvailable(this), isAdmin) || somethingChanged; Loading @@ -710,11 +715,11 @@ public class SettingsActivity extends SettingsDrawerActivity final boolean aboutPhoneV2Enabled = featureFactory .getAccountFeatureProvider() .isAboutPhoneV2Enabled(this); somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.MyDeviceInfoActivity.class.getName()), aboutPhoneV2Enabled, isAdmin) || somethingChanged; somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, Settings.DeviceInfoSettingsActivity.class.getName()), !aboutPhoneV2Enabled, isAdmin) || somethingChanged; Loading @@ -735,7 +740,8 @@ public class SettingsActivity extends SettingsDrawerActivity .equals(name)); if (packageName.equals(component.getPackageName()) && !isEnabledForRestricted) { somethingChanged = setTileEnabled(component, false, isAdmin) somethingChanged = setTileEnabled(changedList, component, false, isAdmin) || somethingChanged; } } Loading @@ -745,7 +751,8 @@ public class SettingsActivity extends SettingsDrawerActivity // Final step, refresh categories. if (somethingChanged) { Log.d(LOG_TAG, "Enabled state changed for some tiles, reloading all categories"); Log.d(LOG_TAG, "Enabled state changed for some tiles, reloading all categories " + changedList.toString()); updateCategories(); } else { Log.d(LOG_TAG, "No enabled state changed, skipping updateCategory call"); Loading @@ -755,13 +762,18 @@ public class SettingsActivity extends SettingsDrawerActivity /** * @return whether or not the enabled state actually changed. */ private boolean setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin) { private boolean setTileEnabled(StringBuilder changedList, ComponentName component, boolean enabled, boolean isAdmin) { if (UserHandle.MU_ENABLED && !isAdmin && getPackageName().equals(component.getPackageName()) && !ArrayUtils.contains(SettingsGateway.SETTINGS_FOR_RESTRICTED, component.getClassName())) { enabled = false; } return setTileEnabled(component, enabled); boolean changed = setTileEnabled(component, enabled); if (changed) { changedList.append(component.toShortString()).append(","); } return changed; } private void getMetaData() { Loading
src/com/android/settings/dashboard/DashboardSummary.java +1 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ public class DashboardSummary extends InstrumentedFragment public void onCreate(Bundle savedInstanceState) { long startTime = System.currentTimeMillis(); super.onCreate(savedInstanceState); Log.d(TAG, "Starting DashboardSummary"); final Activity activity = getActivity(); mDashboardFeatureProvider = FeatureFactory.getFactory(activity) .getDashboardFeatureProvider(activity); Loading