From 9679dba668c169b7518383fb15ec766a79aa21ca Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Tue, 31 Oct 2017 14:27:18 -0700 Subject: [PATCH] Convert EncryptionAndCredential into DashboardFragment The logic still lives in fragment for now. They will be moved into PrefControllers in follow-up changes. Bug: 32953042 Test: RoboTests Change-Id: I2b03d26b5f4e6bbb37b42f9dc83a9464eb169868 --- res/xml/security_settings_misc.xml | 2 +- .../settings/dashboard/DashboardFragment.java | 3 +++ .../search/SearchIndexableResources.java | 2 +- .../EncryptionAndCredential.java | 26 ++++++++++++------- .../EncryptionAndCredentialTest.java | 8 +++--- 5 files changed, 26 insertions(+), 15 deletions(-) rename src/com/android/settings/{ => security}/EncryptionAndCredential.java (93%) rename tests/robotests/src/com/android/settings/{ => security}/EncryptionAndCredentialTest.java (95%) diff --git a/res/xml/security_settings_misc.xml b/res/xml/security_settings_misc.xml index ee2c5340b62..6a71033ea8c 100644 --- a/res/xml/security_settings_misc.xml +++ b/res/xml/security_settings_misc.xml @@ -64,7 +64,7 @@ android:key="encryption_and_credential" android:title="@string/encryption_and_credential_settings_title" android:summary="@string/encryption_and_credential_settings_summary" - android:fragment="com.android.settings.EncryptionAndCredential"/> + android:fragment="com.android.settings.security.EncryptionAndCredential"/> T getPreferenceController(Class clazz) { AbstractPreferenceController controller = mPreferenceControllers.get(clazz); return (T) controller; diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java index cb399705c04..69b2f9fa5d3 100644 --- a/src/com/android/settings/search/SearchIndexableResources.java +++ b/src/com/android/settings/search/SearchIndexableResources.java @@ -23,7 +23,6 @@ import android.support.annotation.XmlRes; import com.android.settings.DateTimeSettings; import com.android.settings.DeviceInfoSettings; import com.android.settings.DisplaySettings; -import com.android.settings.EncryptionAndCredential; import com.android.settings.LegalSettings; import com.android.settings.ScreenPinningSettings; import com.android.settings.SecuritySettings; @@ -75,6 +74,7 @@ import com.android.settings.notification.ZenModeAutomationSettings; import com.android.settings.notification.ZenModeBehaviorSettings; import com.android.settings.notification.ZenModeSettings; import com.android.settings.print.PrintSettingsFragment; +import com.android.settings.security.EncryptionAndCredential; import com.android.settings.security.LockscreenDashboardFragment; import com.android.settings.sim.SimSettings; import com.android.settings.support.SupportDashboardActivity; diff --git a/src/com/android/settings/EncryptionAndCredential.java b/src/com/android/settings/security/EncryptionAndCredential.java similarity index 93% rename from src/com/android/settings/EncryptionAndCredential.java rename to src/com/android/settings/security/EncryptionAndCredential.java index 4892f7ef389..0972e3e6e47 100644 --- a/src/com/android/settings/EncryptionAndCredential.java +++ b/src/com/android/settings/security/EncryptionAndCredential.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 The Android Open Source Project + * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,13 +14,11 @@ * limitations under the License. */ -package com.android.settings; +package com.android.settings.security; -import android.app.Activity; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.content.Intent; -import android.os.Bundle; import android.os.UserHandle; import android.os.UserManager; import android.provider.SearchIndexableResource; @@ -30,11 +28,12 @@ import android.support.v7.preference.PreferenceScreen; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.widget.LockPatternUtils; +import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.search.BaseSearchIndexProvider; -import com.android.settings.search.Indexable; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedPreference; +import com.android.settingslib.core.AbstractPreferenceController; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ import java.util.List; * Encryption and Credential settings. * TODO: Extends this from {@link DashboardFragment} instead */ -public class EncryptionAndCredential extends SettingsPreferenceFragment implements Indexable { +public class EncryptionAndCredential extends DashboardFragment { private static final String TAG = "EncryptionAndCredential"; @@ -69,12 +68,19 @@ public class EncryptionAndCredential extends SettingsPreferenceFragment implemen } @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + protected String getLogTag() { + return TAG; + } - final Activity activity = getActivity(); + @Override + protected List getPreferenceControllers(Context context) { + mUm = (UserManager) context.getSystemService(Context.USER_SERVICE); + return null; + } - mUm = UserManager.get(activity); + @Override + protected int getPreferenceScreenResId() { + return 0; } /** diff --git a/tests/robotests/src/com/android/settings/EncryptionAndCredentialTest.java b/tests/robotests/src/com/android/settings/security/EncryptionAndCredentialTest.java similarity index 95% rename from tests/robotests/src/com/android/settings/EncryptionAndCredentialTest.java rename to tests/robotests/src/com/android/settings/security/EncryptionAndCredentialTest.java index 7a3875e8128..c87c96476ca 100644 --- a/tests/robotests/src/com/android/settings/EncryptionAndCredentialTest.java +++ b/tests/robotests/src/com/android/settings/security/EncryptionAndCredentialTest.java @@ -11,14 +11,14 @@ * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and - * limitations under the License + * limitations under the License. */ -package com.android.settings; +package com.android.settings.security; import static android.app.admin.DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE; import static android.app.admin.DevicePolicyManager.ENCRYPTION_STATUS_INACTIVE; -import static com.android.settings.EncryptionAndCredential.SEARCH_INDEX_DATA_PROVIDER; +import static com.android.settings.security.EncryptionAndCredential.SEARCH_INDEX_DATA_PROVIDER; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; @@ -28,6 +28,8 @@ import android.os.UserManager; import android.provider.SearchIndexableResource; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; +import com.android.settings.R; +import com.android.settings.TestConfig; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.testutils.SettingsRobolectricTestRunner;