Merge "Lockdown settings in retail demo mode" into nyc-mr1-dev

This commit is contained in:
Fyodor Kupolov
2016-06-28 23:08:46 +00:00
committed by Android (Google) Code Review
4 changed files with 42 additions and 2 deletions

View File

@@ -28,6 +28,8 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserManager;
import android.provider.SearchIndexableResource;
import android.provider.Settings; import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException; import android.provider.Settings.SettingNotFoundException;
import android.support.v14.preference.SwitchPreference; import android.support.v14.preference.SwitchPreference;
@@ -38,17 +40,21 @@ import android.widget.DatePicker;
import android.widget.TimePicker; import android.widget.TimePicker;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.dashboard.SummaryLoader; import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.datetime.ZoneGetter; import com.android.settingslib.datetime.ZoneGetter;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List;
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
public class DateTimeSettings extends SettingsPreferenceFragment public class DateTimeSettings extends SettingsPreferenceFragment
implements OnTimeSetListener, OnDateSetListener, OnPreferenceChangeListener { implements OnTimeSetListener, OnDateSetListener, OnPreferenceChangeListener, Indexable {
private static final String HOURS_12 = "12"; private static final String HOURS_12 = "12";
private static final String HOURS_24 = "24"; private static final String HOURS_24 = "24";
@@ -380,4 +386,26 @@ public class DateTimeSettings extends SettingsPreferenceFragment
return new SummaryProvider(activity, summaryLoader); return new SummaryProvider(activity, summaryLoader);
} }
}; };
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new DateTimeSearchIndexProvider();
private static class DateTimeSearchIndexProvider extends BaseSearchIndexProvider {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
List<SearchIndexableResource> result = new ArrayList<>();
// Remove data/time settings from search in demo mode
if (UserManager.isDeviceInDemoMode(context)) {
return result;
}
SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.date_time_prefs;
result.add(sir);
return result;
}
}
} }

View File

@@ -1058,6 +1058,13 @@ public class SettingsActivity extends SettingsDrawerActivity
UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers() UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers()
&& !Utils.isMonkeyRunning(), isAdmin, pm); && !Utils.isMonkeyRunning(), isAdmin, pm);
setTileEnabled(new ComponentName(packageName,
Settings.WirelessSettingsActivity.class.getName()),
!UserManager.isDeviceInDemoMode(this), isAdmin, pm);
setTileEnabled(new ComponentName(packageName,
Settings.DateTimeSettingsActivity.class.getName()),
!UserManager.isDeviceInDemoMode(this), isAdmin, pm);
NfcAdapter adapter = NfcAdapter.getDefaultAdapter(this); NfcAdapter adapter = NfcAdapter.getDefaultAdapter(this);
setTileEnabled(new ComponentName(packageName, setTileEnabled(new ComponentName(packageName,
Settings.PaymentSettingsActivity.class.getName()), Settings.PaymentSettingsActivity.class.getName()),

View File

@@ -57,6 +57,7 @@ import com.android.settingslib.RestrictedPreference;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
public class WirelessSettings extends SettingsPreferenceFragment implements Indexable { public class WirelessSettings extends SettingsPreferenceFragment implements Indexable {
@@ -410,6 +411,10 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
@Override @Override
public List<SearchIndexableResource> getXmlResourcesToIndex( public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) { Context context, boolean enabled) {
// Remove wireless settings from search in demo mode
if (UserManager.isDeviceInDemoMode(context)) {
return Collections.emptyList();
}
SearchIndexableResource sir = new SearchIndexableResource(context); SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.wireless_settings; sir.xmlResId = R.xml.wireless_settings;
return Arrays.asList(sir); return Arrays.asList(sir);

View File

@@ -272,7 +272,7 @@ public final class SearchIndexableResources {
sResMap.put(DateTimeSettings.class.getName(), sResMap.put(DateTimeSettings.class.getName(),
new SearchIndexableResource( new SearchIndexableResource(
Ranking.getRankForClassName(DateTimeSettings.class.getName()), Ranking.getRankForClassName(DateTimeSettings.class.getName()),
R.xml.date_time_prefs, NO_DATA_RES_ID,
DateTimeSettings.class.getName(), DateTimeSettings.class.getName(),
R.drawable.ic_settings_date_time)); R.drawable.ic_settings_date_time));