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

Commit f1255b42 authored by Ayush Sharma's avatar Ayush Sharma
Browse files

Enable Encryption & Creds UI for Secondary users

Bug: 123211155
Test: Manual,m -j RunSettingsRoboTests
Change-Id: Ic669102c72a5270423f000d5326b48c91901a0ed
parent 1985e024
Loading
Loading
Loading
Loading
+1 −4
Original line number Original line Diff line number Diff line
@@ -20,7 +20,6 @@ import static com.android.settings.security.EncryptionStatusPreferenceController


import android.app.settings.SettingsEnums;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Context;
import android.os.UserManager;


import com.android.settings.R;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.DashboardFragment;
@@ -96,9 +95,7 @@ public class EncryptionAndCredential extends DashboardFragment {


                @Override
                @Override
                protected boolean isPageSearchEnabled(Context context) {
                protected boolean isPageSearchEnabled(Context context) {
                    final UserManager um = (UserManager) context.getSystemService(
                    return true;
                            Context.USER_SERVICE);
                    return um.isAdminUser();
                }
                }
            };
            };
}
}
+2 −2
Original line number Original line Diff line number Diff line
@@ -48,7 +48,7 @@ public class EncryptionStatusPreferenceController extends BasePreferenceControll
            return UNSUPPORTED_ON_DEVICE;
            return UNSUPPORTED_ON_DEVICE;
        }
        }


        return mUserManager.isAdminUser() ? AVAILABLE : DISABLED_FOR_USER;
        return AVAILABLE;
    }
    }


    @Override
    @Override
+0 −24
Original line number Original line Diff line number Diff line
@@ -16,19 +16,13 @@


package com.android.settings.security;
package com.android.settings.security;


import static com.android.settings.security.EncryptionAndCredential.SEARCH_INDEX_DATA_PROVIDER;

import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;


import static org.mockito.Mockito.when;

import android.app.admin.DevicePolicyManager;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.Context;
import android.os.UserManager;
import android.os.UserManager;
import android.provider.SearchIndexableResource;


import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.search.BaseSearchIndexProvider;


import org.junit.Before;
import org.junit.Before;
import org.junit.Test;
import org.junit.Test;
@@ -39,9 +33,6 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadows.ShadowApplication;
import org.robolectric.shadows.ShadowApplication;


import java.util.ArrayList;
import java.util.List;

@RunWith(RobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class EncryptionAndCredentialTest {
public class EncryptionAndCredentialTest {


@@ -67,19 +58,4 @@ public class EncryptionAndCredentialTest {
        assertThat(fragment.getMetricsCategory()).isEqualTo(MetricsEvent.ENCRYPTION_AND_CREDENTIAL);
        assertThat(fragment.getMetricsCategory()).isEqualTo(MetricsEvent.ENCRYPTION_AND_CREDENTIAL);
    }
    }


    @Test
    public void getNonIndexableKeys_pageIsDisabled_shouldReturnAllKeysAsNonIndexable() {
        when(mUserManager.isAdminUser()).thenReturn(false);

        final List<SearchIndexableResource> index =
                SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(mContext, true /* enabled */);
        final List<String> expectedKeys = new ArrayList<>();
        for (SearchIndexableResource res : index) {
            expectedKeys.addAll(((BaseSearchIndexProvider) SEARCH_INDEX_DATA_PROVIDER)
                    .getNonIndexableKeysFromXml(mContext, res.xmlResId, true /* suppressAll */));
        }
        final List<String> keys = SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);

        assertThat(keys).containsExactlyElementsIn(expectedKeys);
    }
}
}
+0 −15
Original line number Original line Diff line number Diff line
@@ -56,20 +56,6 @@ public class EncryptionStatusPreferenceControllerTest {
        mPreference = new Preference(mContext);
        mPreference = new Preference(mContext);
    }
    }


    @Test
    public void isAvailable_admin_true() {
        mShadowUserManager.setIsAdminUser(true);

        assertThat(mController.isAvailable()).isTrue();
    }

    @Test
    public void isAvailable_notAdmin_false() {
        mShadowUserManager.setIsAdminUser(false);

        assertThat(mController.isAvailable()).isFalse();
    }

    @Test
    @Test
    @Config(qualifiers = "mcc999")
    @Config(qualifiers = "mcc999")
    public void isAvailable_notVisible_false() {
    public void isAvailable_notVisible_false() {
@@ -82,7 +68,6 @@ public class EncryptionStatusPreferenceControllerTest {
        mController = new EncryptionStatusPreferenceController(mContext,
        mController = new EncryptionStatusPreferenceController(mContext,
                PREF_KEY_ENCRYPTION_SECURITY_PAGE);
                PREF_KEY_ENCRYPTION_SECURITY_PAGE);


        mShadowUserManager.setIsAdminUser(true);
        assertThat(mController.isAvailable()).isTrue();
        assertThat(mController.isAvailable()).isTrue();
    }
    }