Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c0cee41 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fork SecuritySettings page and hide behind a feature flag."

parents 9c3d329d f314494f
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -1287,6 +1287,28 @@
                android:value="true" />
        </activity>

        <!-- TODO(32953042) Merge with Settings$SecuritySettingsActivity -->
        <activity android:name="Settings$SecuritySettingsActivityV2"
                  android:label="@string/security_settings_title"
                  android:icon="@drawable/ic_settings_security"
                  android:enabled="false"
                  android:configChanges="orientation|keyboardHidden|screenSize"
                  android:taskAffinity=""
                  android:parentActivityName="Settings">
            <intent-filter android:priority="-1">
                <action android:name="android.settings.SECURITY_SETTINGS" />
                <action android:name="android.credentials.UNLOCK" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter android:priority="4">
                <action android:name="com.android.settings.action.SETTINGS" />
            </intent-filter>
            <meta-data android:name="com.android.settings.category"
                       android:value="com.android.settings.category.ia.homepage" />
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.security.SecuritySettingsV2" />
        </activity>

        <activity android:name="MonitoringCertInfoActivity"
                android:label=""
                android:theme="@style/Transparent"
+100 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2018 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.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  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.
  -->

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:key="security_dashboard_page"
    android:title="@string/security_settings_title"
    settings:initialExpandedChildrenCount="9">

    <!-- security_settings_status.xml -->
    <PreferenceCategory
        android:key="security_status"
        android:title="@string/security_status_title" />

    <!-- TODO Need security section -->

    <!-- security_settings_misc.xml -->
    <PreferenceCategory
        android:key="security_settings_misc_category"
        android:title="@string/security_passwords_title">

        <Preference
            android:key="location"
            android:title="@string/location_settings_title"
            android:fragment="com.android.settings.location.LocationSettings">
        </Preference>

        <SwitchPreference
            android:key="show_password"
            android:title="@string/show_password"
            android:summary="@string/show_password_summary"/>

    </PreferenceCategory>

    <PreferenceCategory
        android:key="security_settings_device_admin_category">

        <Preference android:key="manage_device_admin"
                    android:title="@string/manage_device_admin"
                    android:persistent="false"
                    android:fragment="com.android.settings.DeviceAdminSettings"/>

        <Preference android:key="enterprise_privacy"
                    android:title="@string/enterprise_privacy_settings"
                    android:persistent="false"
                    android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings"/>

    </PreferenceCategory>

    <Preference android:key="sim_lock_settings"
                android:title="@string/sim_lock_settings_category"
                android:persistent="false">

        <intent android:action="android.intent.action.MAIN"
                android:targetPackage="com.android.settings"
                android:targetClass="com.android.settings.Settings$IccLockSettingsActivity"/>

    </Preference>

    <Preference
        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.security.EncryptionAndCredential"/>

    <Preference android:key="manage_trust_agents"
                android:title="@string/manage_trust_agents"
                android:persistent="false"
                android:fragment="com.android.settings.security.trustagent.TrustAgentSettings"/>

    <Preference
        android:key="screen_pinning_settings"
        android:title="@string/screen_pinning_title"
        android:summary="@string/switch_off_text"
        android:fragment="com.android.settings.security.ScreenPinningSettings"/>

    <Preference android:key="security_misc_usage_access"
                android:title="@string/usage_access_title"
                android:fragment="com.android.settings.applications.manageapplications.ManageApplications">
        <extra
            android:name="classname"
            android:value="com.android.settings.Settings$UsageAccessSettingsActivity" />
    </Preference>

</PreferenceScreen>
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ public class Settings extends SettingsActivity {
    public static class AccessibilityContrastSettingsActivity extends SettingsActivity { /* empty */ }
    public static class AccessibilityDaltonizerSettingsActivity extends SettingsActivity { /* empty */ }
    public static class SecuritySettingsActivity extends SettingsActivity { /* empty */ }
    public static class SecuritySettingsActivityV2 extends SettingsActivity { /* empty */ }
    public static class UsageAccessSettingsActivity extends SettingsActivity { /* empty */ }
    public static class LocationSettingsActivity extends SettingsActivity { /* empty */ }
    public static class PrivacySettingsActivity extends SettingsActivity { /* empty */ }
+16 −1
Original line number Diff line number Diff line
@@ -751,6 +751,7 @@ public class SettingsActivity extends SettingsDrawerActivity
        PackageManager pm = getPackageManager();
        final UserManager um = UserManager.get(this);
        final boolean isAdmin = um.isAdminUser();
        final FeatureFactory featureFactory = FeatureFactory.getFactory(this);
        boolean somethingChanged = false;
        String packageName = getPackageName();
        somethingChanged = setTileEnabled(
@@ -805,12 +806,26 @@ public class SettingsActivity extends SettingsDrawerActivity
                !isConnectedDeviceV2Enabled && !UserManager.isDeviceInDemoMode(this) /* enabled */,
                isAdmin) || somethingChanged;

        final boolean isSecurityV2Enabled = featureFactory.getSecurityFeatureProvider()
                .isSecuritySettingsV2Enabled(this);

        // Enable new security page if v2 enabled
        somethingChanged = setTileEnabled(
                new ComponentName(packageName,Settings.SecuritySettingsActivityV2.class.getName()),
                isSecurityV2Enabled,
                isAdmin) || somethingChanged;
        // Enable old security page if v2 disabled
        somethingChanged = setTileEnabled(
                new ComponentName(packageName,Settings.SecuritySettingsActivity.class.getName()),
                !isSecurityV2Enabled,
                isAdmin) || somethingChanged;

        somethingChanged = setTileEnabled(new ComponentName(packageName,
                        Settings.SimSettingsActivity.class.getName()),
                Utils.showSimCardTile(this), isAdmin)
                || somethingChanged;

        final boolean isBatterySettingsV2Enabled = FeatureFactory.getFactory(this)
        final boolean isBatterySettingsV2Enabled = featureFactory
                .getPowerUsageFeatureProvider(this)
                .isBatteryV2Enabled();
        // Enable new battery page if v2 enabled
+1 −0
Original line number Diff line number Diff line
@@ -26,4 +26,5 @@ public class FeatureFlags {
    public static final String CONNECTED_DEVICE_V2 = "settings_connected_device_v2";
    public static final String BATTERY_SETTINGS_V2 = "settings_battery_v2";
    public static final String BATTERY_DISPLAY_APP_LIST = "settings_battery_display_app_list";
    public static final String SECURITY_SETTINGS_V2 = "settings_security_settings_v2";
}
Loading