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

Commit fda51369 authored by Neil Fuller's avatar Neil Fuller Committed by Gerrit Code Review
Browse files

Merge "Revert DevicePolicyManager time / zone changes"

parents b36f798f ccd5293c
Loading
Loading
Loading
Loading
+2 −20
Original line number Diff line number Diff line
@@ -133,10 +133,6 @@ import android.app.admin.StartInstallingUpdateCallback;
import android.app.admin.SystemUpdateInfo;
import android.app.admin.SystemUpdatePolicy;
import android.app.backup.IBackupManager;
import android.app.timedetector.ManualTimeSuggestion;
import android.app.timedetector.TimeDetector;
import android.app.timezonedetector.ManualTimeZoneSuggestion;
import android.app.timezonedetector.TimeZoneDetector;
import android.app.trust.TrustManager;
import android.app.usage.UsageStatsManagerInternal;
import android.content.ActivityNotFoundException;
@@ -1957,14 +1953,6 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
            return mContext.getSystemService(AlarmManager.class);
        }
        TimeDetector getTimeDetector() {
            return mContext.getSystemService(TimeDetector.class);
        }
        TimeZoneDetector getTimeZoneDetector() {
            return mContext.getSystemService(TimeZoneDetector.class);
        }
        ConnectivityManager getConnectivityManager() {
            return mContext.getSystemService(ConnectivityManager.class);
        }
@@ -10878,10 +10866,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
        if (mInjector.settingsGlobalGetInt(Global.AUTO_TIME, 0) == 1) {
            return false;
        }
        ManualTimeSuggestion manualTimeSuggestion = TimeDetector.createManualTimeSuggestion(
                millis, "DevicePolicyManagerService: setTime");
        mInjector.binderWithCleanCallingIdentity(
                () -> mInjector.getTimeDetector().suggestManualTime(manualTimeSuggestion));
        mInjector.binderWithCleanCallingIdentity(() -> mInjector.getAlarmManager().setTime(millis));
        return true;
    }
@@ -10893,11 +10878,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
        if (mInjector.settingsGlobalGetInt(Global.AUTO_TIME_ZONE, 0) == 1) {
            return false;
        }
        ManualTimeZoneSuggestion manualTimeZoneSuggestion =
                TimeZoneDetector.createManualTimeZoneSuggestion(
                        timeZone, "DevicePolicyManagerService: setTimeZone");
        mInjector.binderWithCleanCallingIdentity(() ->
                mInjector.getTimeZoneDetector().suggestManualTimeZone(manualTimeZoneSuggestion));
                mInjector.getAlarmManager().setTimeZone(timeZone));
        return true;
    }
+0 −12
Original line number Diff line number Diff line
@@ -22,8 +22,6 @@ import android.app.IActivityTaskManager;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.backup.IBackupManager;
import android.app.timedetector.TimeDetector;
import android.app.timezonedetector.TimeZoneDetector;
import android.app.usage.UsageStatsManagerInternal;
import android.content.Context;
import android.content.Intent;
@@ -218,16 +216,6 @@ public class DevicePolicyManagerServiceTestable extends DevicePolicyManagerServi
        @Override
        AlarmManager getAlarmManager() {return services.alarmManager;}

        @Override
        TimeDetector getTimeDetector() {
            return services.timeDetector;
        }

        @Override
        TimeZoneDetector getTimeZoneDetector() {
            return services.timeZoneDetector;
        }

        @Override
        LockPatternUtils newLockPatternUtils() {
            return services.lockPatternUtils;
+2 −19
Original line number Diff line number Diff line
@@ -63,9 +63,6 @@ import android.app.admin.DeviceAdminReceiver;
import android.app.admin.DevicePolicyManager;
import android.app.admin.DevicePolicyManagerInternal;
import android.app.admin.PasswordMetrics;
import android.app.timedetector.ManualTimeSuggestion;
import android.app.timezonedetector.ManualTimeZoneSuggestion;
import android.app.timezonedetector.TimeZoneDetector;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Intent;
@@ -3476,19 +3473,7 @@ public class DevicePolicyManagerTest extends DpmTestBase {
        mContext.binder.callingUid = DpmMockContext.CALLER_SYSTEM_USER_UID;
        setupDeviceOwner();
        dpm.setTime(admin1, 0);

        BaseMatcher<ManualTimeSuggestion> hasZeroTime = new BaseMatcher<ManualTimeSuggestion>() {
            @Override
            public boolean matches(Object item) {
                final ManualTimeSuggestion suggestion = (ManualTimeSuggestion) item;
                return suggestion.getUtcTime().getValue() == 0;
            }
            @Override
            public void describeTo(Description description) {
                description.appendText("ManualTimeSuggestion{utcTime.value=0}");
            }
        };
        verify(getServices().timeDetector).suggestManualTime(argThat(hasZeroTime));
        verify(getServices().alarmManager).setTime(0);
    }

    public void testSetTimeFailWithPO() throws Exception {
@@ -3508,9 +3493,7 @@ public class DevicePolicyManagerTest extends DpmTestBase {
        mContext.binder.callingUid = DpmMockContext.CALLER_SYSTEM_USER_UID;
        setupDeviceOwner();
        dpm.setTimeZone(admin1, "Asia/Shanghai");
        ManualTimeZoneSuggestion suggestion =
                TimeZoneDetector.createManualTimeZoneSuggestion("Asia/Shanghai", "Test debug info");
        verify(getServices().timeZoneDetector).suggestManualTimeZone(suggestion);
        verify(getServices().alarmManager).setTimeZone("Asia/Shanghai");
    }

    public void testSetTimeZoneFailWithPO() throws Exception {
+0 −2
Original line number Diff line number Diff line
@@ -207,8 +207,6 @@ public class DpmMockContext extends MockContext {
        switch (name) {
            case Context.ALARM_SERVICE:
                return mMockSystemServices.alarmManager;
            case Context.TIME_DETECTOR_SERVICE:
                return mMockSystemServices.timeDetector;
            case Context.USER_SERVICE:
                return mMockSystemServices.userManager;
            case Context.POWER_SERVICE:
+0 −6
Original line number Diff line number Diff line
@@ -31,8 +31,6 @@ import android.app.IActivityManager;
import android.app.IActivityTaskManager;
import android.app.NotificationManager;
import android.app.backup.IBackupManager;
import android.app.timedetector.TimeDetector;
import android.app.timezonedetector.TimeZoneDetector;
import android.app.usage.UsageStatsManagerInternal;
import android.content.BroadcastReceiver;
import android.content.ContentValues;
@@ -109,8 +107,6 @@ public class MockSystemServices {
    public final TelephonyManager telephonyManager;
    public final AccountManager accountManager;
    public final AlarmManager alarmManager;
    public final TimeDetector timeDetector;
    public final TimeZoneDetector timeZoneDetector;
    public final KeyChain.KeyChainConnection keyChainConnection;
    /** Note this is a partial mock, not a real mock. */
    public final PackageManager packageManager;
@@ -150,8 +146,6 @@ public class MockSystemServices {
        telephonyManager = mock(TelephonyManager.class);
        accountManager = mock(AccountManager.class);
        alarmManager = mock(AlarmManager.class);
        timeDetector = mock(TimeDetector.class);
        timeZoneDetector = mock(TimeZoneDetector.class);
        keyChainConnection = mock(KeyChain.KeyChainConnection.class, RETURNS_DEEP_STUBS);

        // Package manager is huge, so we use a partial mock instead.