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
(cherry picked from commit 92d25fb5f3
)
This commit is contained in:
@@ -16,7 +16,10 @@
|
|||||||
|
|
||||||
package com.android.settings;
|
package com.android.settings;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.android.settings.applications.AppOpsSummary;
|
import com.android.settings.applications.AppOpsSummary;
|
||||||
|
import com.android.settings.enterprise.EnterprisePrivacySettings;
|
||||||
import com.android.settings.fingerprint.FingerprintEnrollIntroduction;
|
import com.android.settings.fingerprint.FingerprintEnrollIntroduction;
|
||||||
import com.android.settings.fingerprint.FingerprintSettings;
|
import com.android.settings.fingerprint.FingerprintSettings;
|
||||||
|
|
||||||
@@ -154,7 +157,15 @@ public class Settings extends SettingsActivity {
|
|||||||
public static class TestingSettingsActivity extends SettingsActivity { /* empty */ }
|
public static class TestingSettingsActivity extends SettingsActivity { /* empty */ }
|
||||||
public static class WifiAPITestActivity extends SettingsActivity { /* empty */ }
|
public static class WifiAPITestActivity extends SettingsActivity { /* empty */ }
|
||||||
public static class WifiInfoActivity extends SettingsActivity { /* empty */ }
|
public static class WifiInfoActivity extends SettingsActivity { /* empty */ }
|
||||||
public static class EnterprisePrivacySettingsActivity extends SettingsActivity { /* empty */ }
|
public static class EnterprisePrivacySettingsActivity extends SettingsActivity {
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
if (!EnterprisePrivacySettings.isPageEnabled(this)) {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
public static class WebViewAppPickerActivity extends SettingsActivity { /* empty */ }
|
public static class WebViewAppPickerActivity extends SettingsActivity { /* empty */ }
|
||||||
|
|
||||||
// Top level categories for new IA
|
// Top level categories for new IA
|
||||||
|
@@ -61,7 +61,6 @@ import com.android.settings.core.instrumentation.SharedPreferencesLogger;
|
|||||||
import com.android.settings.dashboard.DashboardFeatureProvider;
|
import com.android.settings.dashboard.DashboardFeatureProvider;
|
||||||
import com.android.settings.dashboard.DashboardSummary;
|
import com.android.settings.dashboard.DashboardSummary;
|
||||||
import com.android.settings.development.DevelopmentSettings;
|
import com.android.settings.development.DevelopmentSettings;
|
||||||
import com.android.settings.enterprise.EnterprisePrivacySettings;
|
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.search.DynamicIndexableContentMonitor;
|
import com.android.settings.search.DynamicIndexableContentMonitor;
|
||||||
import com.android.settings.search2.SearchFeatureProvider;
|
import com.android.settings.search2.SearchFeatureProvider;
|
||||||
@@ -865,10 +864,6 @@ public class SettingsActivity extends SettingsDrawerActivity
|
|||||||
BackupSettingsActivity.class.getName()), true,
|
BackupSettingsActivity.class.getName()), true,
|
||||||
isAdmin || Utils.isCarrierDemoUser(this));
|
isAdmin || Utils.isCarrierDemoUser(this));
|
||||||
|
|
||||||
setTileEnabled(new ComponentName(packageName,
|
|
||||||
Settings.EnterprisePrivacySettingsActivity.class.getName()),
|
|
||||||
EnterprisePrivacySettings.isPageEnabled(this), isAdmin);
|
|
||||||
|
|
||||||
setTileEnabled(new ComponentName(packageName,
|
setTileEnabled(new ComponentName(packageName,
|
||||||
Settings.WifiDisplaySettingsActivity.class.getName()),
|
Settings.WifiDisplaySettingsActivity.class.getName()),
|
||||||
WifiDisplaySettings.isAvailable(this), isAdmin);
|
WifiDisplaySettings.isAvailable(this), isAdmin);
|
||||||
|
Reference in New Issue
Block a user