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

Commit 2e498c24 authored by James Lemieux's avatar James Lemieux Committed by Android (Google) Code Review
Browse files

Merge "Update settingslib tests to work with tot Robolectric"

parents dd7ea706 afa36931
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -254,7 +254,8 @@ public class ApplicationsState {
                                user.isAdmin() ? mAdminRetrieveFlags : mRetrieveFlags,
                                user.id);
                mApplications.addAll(list.getList());
            } catch (RemoteException e) {
            } catch (Exception e) {
                Log.e(TAG, "Error during doResumeIfNeededLocked", e);
            }
        }

+1 −25
Original line number Diff line number Diff line
@@ -16,18 +16,11 @@

package com.android.settingslib.license;

import static com.android.settingslib.license.LicenseHtmlLoaderCompat.generateHtmlFile;
import static com.android.settingslib.license.LicenseHtmlLoaderCompat.getCachedHtmlFile;
import static com.android.settingslib.license.LicenseHtmlLoaderCompat.getVaildXmlFiles;
import static com.android.settingslib.license.LicenseHtmlLoaderCompat.isCachedHtmlFileOutdated;

import android.content.Context;
import android.util.Log;

import com.android.settingslib.utils.AsyncLoader;

import java.io.File;
import java.util.List;

/**
 * LicenseHtmlLoader is a loader which loads a license html file from default license xml files.
@@ -44,27 +37,10 @@ public class LicenseHtmlLoader extends AsyncLoader<File> {

    @Override
    public File loadInBackground() {
        return generateHtmlFromDefaultXmlFiles();
        return new LicenseHtmlLoaderCompat(mContext).loadInBackground();
    }

    @Override
    protected void onDiscardResult(File f) {
    }

    private File generateHtmlFromDefaultXmlFiles() {
        final List<File> xmlFiles = getVaildXmlFiles();
        if (xmlFiles.isEmpty()) {
            Log.e(TAG, "No notice file exists.");
            return null;
        }

        File cachedHtmlFile = getCachedHtmlFile(mContext);
        if (!isCachedHtmlFileOutdated(xmlFiles, cachedHtmlFile)
                || generateHtmlFile(mContext, xmlFiles, cachedHtmlFile)) {
            return cachedHtmlFile;
        }

        return null;
    }

}
+4 −4
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ public class LicenseHtmlLoaderCompat extends AsyncLoaderCompat<File> {
        return null;
    }

    static List<File> getVaildXmlFiles() {
    private List<File> getVaildXmlFiles() {
        final List<File> xmlFiles = new ArrayList();
        for (final String xmlPath : DEFAULT_LICENSE_XML_PATHS) {
            File file = new File(xmlPath);
@@ -84,11 +84,11 @@ public class LicenseHtmlLoaderCompat extends AsyncLoaderCompat<File> {
        return xmlFiles;
    }

    static File getCachedHtmlFile(Context context) {
    private File getCachedHtmlFile(Context context) {
        return new File(context.getCacheDir(), NOTICE_HTML_FILE_NAME);
    }

    static boolean isCachedHtmlFileOutdated(List<File> xmlFiles, File cachedHtmlFile) {
    private boolean isCachedHtmlFileOutdated(List<File> xmlFiles, File cachedHtmlFile) {
        boolean outdated = true;
        if (cachedHtmlFile.exists() && cachedHtmlFile.length() != 0) {
            outdated = false;
@@ -102,7 +102,7 @@ public class LicenseHtmlLoaderCompat extends AsyncLoaderCompat<File> {
        return outdated;
    }

    static boolean generateHtmlFile(Context context, List<File> xmlFiles, File htmlFile) {
    private boolean generateHtmlFile(Context context, List<File> xmlFiles, File htmlFile) {
        return LicenseHtmlGeneratorFromXml.generateHtml(xmlFiles, htmlFile,
                context.getString(R.string.notice_header));
    }
+11 −10
Original line number Diff line number Diff line
@@ -86,21 +86,21 @@ public class ApplicationsStateRoboTest {
    @Mock
    private StorageStatsManager mStorageStatsManager;

    @Implements(value = IconDrawableFactory.class, inheritImplementationMethods = true)
    @Implements(value = IconDrawableFactory.class)
    public static class ShadowIconDrawableFactory {

        @Implementation
        public Drawable getBadgedIcon(ApplicationInfo appInfo) {
        protected Drawable getBadgedIcon(ApplicationInfo appInfo) {
            return new ColorDrawable(0);
        }
    }

    @Implements(value = ApplicationPackageManager.class, inheritImplementationMethods = true)
    @Implements(value = ApplicationPackageManager.class)
    public static class ShadowPackageManager extends
            org.robolectric.shadows.ShadowApplicationPackageManager {

        @Implementation
        public ComponentName getHomeActivities(List<ResolveInfo> outActivities) {
        protected ComponentName getHomeActivities(List<ResolveInfo> outActivities) {
            ResolveInfo resolveInfo = new ResolveInfo();
            resolveInfo.activityInfo = new ActivityInfo();
            resolveInfo.activityInfo.packageName = HOME_PACKAGE_NAME;
@@ -139,6 +139,7 @@ public class ApplicationsStateRoboTest {
        when(mStorageStatsManager.queryStatsForPackage(ArgumentMatchers.any(UUID.class),
                anyString(), ArgumentMatchers.any(UserHandle.class))).thenReturn(storageStats);

        ApplicationsState.sInstance = null;
        mApplicationsState = ApplicationsState.getInstance(RuntimeEnvironment.application);
        mApplicationsState.clearEntries();
    }
+8 −9
Original line number Diff line number Diff line
@@ -18,11 +18,14 @@ package com.android.settingslib.development;

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

import android.os.UserManager;
import android.content.Context;
import android.provider.Settings;

import com.android.settingslib.SettingsLibRobolectricTestRunner;
import com.android.settingslib.testutils.shadow.ShadowUserManager;

import org.robolectric.shadows.ShadowUserManager;
import org.robolectric.shadow.api.Shadow;

import org.junit.After;
import org.junit.Before;
@@ -32,20 +35,16 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;

@RunWith(SettingsLibRobolectricTestRunner.class)
@Config(shadows = ShadowUserManager.class)
public class DevelopmentSettingsEnablerTest {

    private Context mContext;
    private ShadowUserManager mUserManager;

    @Before
    public void setUp() {
        mContext = RuntimeEnvironment.application;
        ShadowUserManager.getShadow().setIsAdminUser(true);
    }

    @After
    public void tearDown() {
        ShadowUserManager.getShadow().reset();
        mUserManager = Shadow.extract(mContext.getSystemService(UserManager.class));
        mUserManager.setIsAdminUser(true);
    }

    @Test
@@ -76,7 +75,7 @@ public class DevelopmentSettingsEnablerTest {
    public void isEnabled_settingsOn_noRestriction_notAdmin_shouldReturnFalse() {
        Settings.Global.putInt(mContext.getContentResolver(),
                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
        ShadowUserManager.getShadow().setIsAdminUser(false);
        mUserManager.setIsAdminUser(false);

        assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse();
    }
Loading