Lockdown settings in retail demo mode

When running in demo mode, additionally disable
the following settings screens:
- Date & Time
- More (network settings)

Bug: 27280140

Change-Id: I3132d0c46b24e1e9ca3842af058073eee3df0c90
This commit is contained in:
Fyodor Kupolov
2016-06-24 13:01:11 -07:00
parent 399251a0e7
commit ca060e3e98
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.IntentFilter;
import android.os.Bundle;
import android.os.UserManager;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.support.v14.preference.SwitchPreference;
@@ -38,17 +40,21 @@ import android.widget.DatePicker;
import android.widget.TimePicker;
import com.android.internal.logging.MetricsProto.MetricsEvent;
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.RestrictedSwitchPreference;
import com.android.settingslib.datetime.ZoneGetter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
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_24 = "24";
@@ -380,4 +386,26 @@ public class DateTimeSettings extends SettingsPreferenceFragment
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;
}
}
}