Fix disabling of tiles that are not relevant
- Fix restricted user tiles being disabled - Call new better method in SettingsDrawerActivity for disabling Change-Id: I2fb6ddd3d505189d2b6d96c0a1039291b80a2f70 Fixes: 29080209
This commit is contained in:
@@ -1896,8 +1896,7 @@
|
|||||||
android:label="@string/development_settings_title"
|
android:label="@string/development_settings_title"
|
||||||
android:icon="@drawable/ic_settings_development"
|
android:icon="@drawable/ic_settings_development"
|
||||||
android:taskAffinity="com.android.settings"
|
android:taskAffinity="com.android.settings"
|
||||||
android:parentActivityName="Settings"
|
android:parentActivityName="Settings">
|
||||||
android:enabled="false">
|
|
||||||
<intent-filter android:priority="1">
|
<intent-filter android:priority="1">
|
||||||
<action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
|
<action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
|
||||||
<action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
|
<action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
|
||||||
@@ -2442,8 +2441,7 @@
|
|||||||
<activity android:name="Settings$PaymentSettingsActivity"
|
<activity android:name="Settings$PaymentSettingsActivity"
|
||||||
android:label="@string/nfc_payment_settings_title"
|
android:label="@string/nfc_payment_settings_title"
|
||||||
android:icon="@drawable/ic_settings_nfc_payment"
|
android:icon="@drawable/ic_settings_nfc_payment"
|
||||||
android:taskAffinity=""
|
android:taskAffinity="">
|
||||||
android:enabled="false">
|
|
||||||
<intent-filter android:priority="1">
|
<intent-filter android:priority="1">
|
||||||
<action android:name="android.settings.NFC_PAYMENT_SETTINGS" />
|
<action android:name="android.settings.NFC_PAYMENT_SETTINGS" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
@@ -2728,7 +2726,6 @@
|
|||||||
<activity android:name="Settings$SimSettingsActivity"
|
<activity android:name="Settings$SimSettingsActivity"
|
||||||
android:label="@string/sim_settings_title"
|
android:label="@string/sim_settings_title"
|
||||||
android:icon="@drawable/ic_settings_sim"
|
android:icon="@drawable/ic_settings_sim"
|
||||||
android:enabled="false"
|
|
||||||
android:taskAffinity="">
|
android:taskAffinity="">
|
||||||
<intent-filter android:priority="1">
|
<intent-filter android:priority="1">
|
||||||
<action android:name="com.android.settings.sim.SIM_SUB_INFO_SETTINGS" />
|
<action android:name="com.android.settings.sim.SIM_SUB_INFO_SETTINGS" />
|
||||||
|
@@ -1080,7 +1080,7 @@ public class SettingsActivity extends SettingsDrawerActivity
|
|||||||
for (DashboardCategory category : categories) {
|
for (DashboardCategory category : categories) {
|
||||||
for (Tile tile : category.tiles) {
|
for (Tile tile : category.tiles) {
|
||||||
ComponentName component = tile.intent.getComponent();
|
ComponentName component = tile.intent.getComponent();
|
||||||
if (packageName.equals(component)&& !ArrayUtils.contains(
|
if (packageName.equals(component.getPackageName()) && !ArrayUtils.contains(
|
||||||
SETTINGS_FOR_RESTRICTED, component.getClassName())) {
|
SETTINGS_FOR_RESTRICTED, component.getClassName())) {
|
||||||
setTileEnabled(component, false, isAdmin, pm);
|
setTileEnabled(component, false, isAdmin, pm);
|
||||||
}
|
}
|
||||||
@@ -1091,18 +1091,11 @@ public class SettingsActivity extends SettingsDrawerActivity
|
|||||||
|
|
||||||
private void setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin,
|
private void setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin,
|
||||||
PackageManager pm) {
|
PackageManager pm) {
|
||||||
if (UserHandle.MU_ENABLED && !isAdmin
|
if (UserHandle.MU_ENABLED && !isAdmin && getPackageName().equals(component.getPackageName())
|
||||||
&& !ArrayUtils.contains(SETTINGS_FOR_RESTRICTED, component.getClassName())) {
|
&& !ArrayUtils.contains(SETTINGS_FOR_RESTRICTED, component.getClassName())) {
|
||||||
enabled = false;
|
enabled = false;
|
||||||
}
|
}
|
||||||
int state = pm.getComponentEnabledSetting(component);
|
setTileEnabled(component, enabled);
|
||||||
boolean isEnabled = state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
|
|
||||||
if (isEnabled != enabled) {
|
|
||||||
pm.setComponentEnabledSetting(component, enabled
|
|
||||||
? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
|
|
||||||
: PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
|
|
||||||
PackageManager.DONT_KILL_APP);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getMetaData() {
|
private void getMetaData() {
|
||||||
|
Reference in New Issue
Block a user