Keep EnterprisePrivacySettingsActivity always enabled

The existing code checks during Settings startup whether the device is
managed. If it is not, EnterprisePrivacySettingsActivity is disabled.
If the device then becomes managed, Settings will not notice until
the next restart, causing any attempt to launch this Activity via an
Intent to crash.

This CL changes things so that the Activity is always enabled but
simply does nothing when launched on a non-managed device.

Bug: 34122104
Test: Integration test coming in a separate CL
Change-Id: I0a1dfcb41b405d981309696d97678df6787b4f72
This commit is contained in:
Bartosz Fabianowski
2017-03-24 18:04:31 +01:00
parent 7495b52960
commit 92d25fb5f3
2 changed files with 12 additions and 6 deletions

View File

@@ -61,7 +61,6 @@ import com.android.settings.core.instrumentation.SharedPreferencesLogger;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.DashboardSummary;
import com.android.settings.development.DevelopmentSettings;
import com.android.settings.enterprise.EnterprisePrivacySettings;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.DynamicIndexableContentMonitor;
import com.android.settings.search2.SearchFeatureProvider;
@@ -865,10 +864,6 @@ public class SettingsActivity extends SettingsDrawerActivity
BackupSettingsActivity.class.getName()), true,
isAdmin || Utils.isCarrierDemoUser(this));
setTileEnabled(new ComponentName(packageName,
Settings.EnterprisePrivacySettingsActivity.class.getName()),
EnterprisePrivacySettings.isPageEnabled(this), isAdmin);
setTileEnabled(new ComponentName(packageName,
Settings.WifiDisplaySettingsActivity.class.getName()),
WifiDisplaySettings.isAvailable(this), isAdmin);